RSA算法是1977年由 Ron Rivest, Adi Shamir, Leonard Adleman 提出的公钥密码体制public-key cryptosystem
;公钥密码体制也称非对称密码体制asymmetric cryptosystem
在公钥密码体制中,加密密钥与解密密钥是不同的,加密密钥简称公钥public key
,解密密钥简称私钥private key
Note - 加密时明文$m$的位数应该与$N$相同
<aside> 📌 加密与解密时都没有用到:p、q、(p-1)*(q-1),只要n足够大,比如达到1024位,即2^1024,则在 短时间内无法把n分解成p、q的乘积
</aside>
设 $m$ 是明文,$c$ 是密文:$c=m^e\ mod\ n$,现要证明 $m=c^d\ mod\ n$
$\because ed = 1 \mod (p-1)(q-1)$,
$\therefore \exist k$ 使得 $ed = 1 + k(p-1)(q-1)$ 成立,于是
$\because\phi(n)= \phi(pq) = \phi(p)\phi(q)= (p-1)(q-1)$
$\therefore c^d = m^{ed} = m^{1 + k(p-1)(q-1)} = m * m^{k(p-1)(q-1)} = m * m^{\phi(n)k} (\mod n)$