RSA加密算法是一种非对称加密算法,它由三个步骤组成:密钥生成、加密和解密。
1. 密钥生成:
- 随机选择两个大不相等的质数p和q,计算它们的乘积n=p*q。
- 计算n的欧拉函数φ(n)=(p-1)*(q-1)。
- 选择一个小于φ(n)且与φ(n)互质的整数e作为公钥指数。
- 计算与e关于模φ(n)的乘法逆元d,作为私钥指数。
2. 加密:
- 将明文消息M转换为一个整数m,确保m小于n。
- 计算密文C = m^e mod n。
3. 解密:
- 接收到密文C后,计算明文消息m = C^d mod n。
RSA加密算法的安全性基于两个数的大质因数分解的难题,因此需要大的质数来保证安全性。并且,RSA算法还可以用于数字签名和密钥交换。