rsa 加密原理 - GreenFaith/GreenFaith.github.io GitHub Wiki
rsa 加密原理
-
互质
如果两个正整数,除了1以外,没有其他公因子,我们就称这两个数是互质关系(coprime)。
比如,15和32 -
欧拉函数
任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?
(比如,在1到8之中,有多少个数与8构成互质关系?
如果n是质数,则 φ(n)=n-1 -
欧拉定理
如果两个正整数a和n互质,则n的欧拉函数 φ(n)
a的φ(n)次方减去1,可以被n整除。
比如,3和7互质,而7的欧拉函数φ(7)等于6,所以3的6次方(729)减去1,可以被7整除(728/7=104)。 -
非对称加密
(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
(2)甲方获取乙方的公钥,然后用它对信息加密。
(3)乙方得到加密后的信息,用私钥解密。 -
整数分解
给出两个大质数,很容易就能将它们两个相乘。但是,给出它们的乘积,找出它们的因子就显得不是那么容易了。这就是许多现代密码系统的关键所在。如果能够找到解决整数分解问题的快速方法,几个重要的密码系统将会被攻破,包括RSA公钥算法和Blum Blum Shub随机数发生器。
### 从头开始推导 ![] (https://cloud.githubusercontent.com/assets/4478309/3997881/20a5a042-2943-11e4-981a-71a28d177d22.jpeg)