RSA加密算法简介¶
RSA是一种非对称加密算法。
其加密系统的密钥分为 公钥 和 私钥 。
其中公钥用于加密,是公开的。私钥用于解密,是私有的。
加密过程¶
- 随机选取两个质数 \( p \) 、 \( q \)
- 计算 \( n = p \times q \)
- 选取一个与 \( \phi(n)=(p-1)(q-1) \) 互质的数 \( e \)
- 对模 \( \phi(n) \) ,计算 \( e \) 的逆元 \( d \) ,满足 \( (e \times d) \% \phi(n) = 1 \)
- 则公钥为 \( (e,n) \) ;私钥为 \( (d,n) \)
- 加密过程: \( c = (m^e) \% n \)
- 解密过程: \( m = (c^d) \% n \)