638 B
638 B
RSA 算法有:指数模、CRT 两种不同的实现方法。
RSA 核心公式(指数模)
-
密钥生成:
- 选择两个大素数
p和q,计算模数n = p * q - 计算欧拉函数
φ(n) = (p-1) * (q-1) - 选择公钥指数
e,满足1 < e < φ(n)且gcd(e, φ(n)) = 1 - 计算私钥指数
d = e⁻¹ mod φ(n)(模逆元)
- 选择两个大素数
-
加密/解密:
- 加密:
c = m^e mod n(明文m,密文c) - 解密:
m = c^d mod n
- 加密:
-
签名/验签:
- 签名:
s = m^d mod n - 验签:
m' = s^e mod n,检查m' == m
- 签名: