这里写目录标题
RSA算法描述
RSA( Rivest-Shamir-Adleman )是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA 的加密和解密
密钥对:公钥:( e , n ) ; 私钥:( d , n ) 。e: encryption d: decryption n: number
加密: c = m e m o d n c = m^e \ mod \ n c=me mod n
解密: m = c d m o d n m = c^d \ mod \ n m=cd mod n
生成密钥对
n = p ⋅ q n = p \cdot q n=p⋅q
φ ( n ) = ( p − 1 ) ⋅ ( q − 1 ) \varphi (n) = (p - 1) \cdot (q - 1) φ(n)=(p−1)⋅(q−1)
加密钥 e 满足 g c d ( e , φ ( n ) ) = 1 gcd(e,\ \varphi(n) ) = 1 gcd(e, φ(n))=1 且 e 是素数
解密钥 d 满足 e ⋅ d m o d φ ( n ) = 1 e\cdot d\ mod\ \varphi(\,n\,) = 1 e⋅d mod φ(n)=1 , 即 e 在模 m 上的逆元
RSA 算法证明
(1)m 和 n 互素
利用欧拉定理证明:
c = m e m o d n c = m^e \ mod \ n c=me mod