【学习笔记】加密技术之公钥与RSA

来源:互联网 发布:淘宝紫檀手串真假 编辑:程序博客网 时间:2024/04/28 03:42

前面一篇文章介绍了私钥,但是私钥需要双方沟通前就一起确认使用的私钥,这在互联网时代太不可思仪了。淘宝总不能跟每个访问他的客户端约定一个私钥吧,重要的是其他人还不能知道。

我们现在就介绍一下公钥(public key)。比如,RAS,每个参与沟通的人,都有一个属于自己的公钥,并且告知全世界。其他人给他发消息的时候,使用这个公钥加密就可以了。同时,他又拥有一个只有自己知道的解码钥匙。所以,只有他自己才能将这种消息解密。怎么做到的呢?需要感谢很多数学家:

【定理】:取两个质数p和q,并且使N=pq。对于任意一个与(p-1)(q-1)互质的e:

若d是e的反数(mod (p-1)(q-1)),那么对于任意x = {1,2,....,N-1},(x^e)^d 是 x 的反数(mod N)

也就是说,如果将e作为公钥发不出去,那么我获取到的数据是x^e,通过这个公式就可以解码出原来的x。

这里面用到一些数论的知识,包括之前文章中提到的 费马小定理。

0 0