2018/12/10
5,298
和对称加密不同,公钥加密(非对称加密)的密钥分为加密密钥(公钥)和解密密钥(私钥)。 公钥是公开的,任何人都有可能知道公钥,并用公钥生成密文,而私钥是保密的,只有解密者才能知道私钥,用它来解密密文获得明文。在这里对使用最广泛的公钥密码算法-- RSA.
RSA 是发明此算法的三位科学家的姓氏的首字母(吐槽一下:外国人的命名真随意)
一. RSA 加密
在RSA中,明文,密钥和密文都是数字, RSA的加密过程可以用如下公式表达:
$$密文 = 明文^E \mod N$$
即: RSA 的密文是明文的 $E$ 次方求模 $N$ 的结果, 或者说,密文是明文的 $E$ 次方除以 $N$ 的余数。这就是整个加密过程,它非常简洁。因此,如果知道了 $E$ 和 $N$ ,那么任何人都可以进行加密运算,也就是说,
$$ E 和 N 是公钥$$
在实际使用中, E 和 N 是经精心计算的数字。
二. RSA 解密
RSA 解密公式如下:
$$ 明文= 密文^D \mod N$$
即,对密文的 $D$ 次方求模 $N$ 运算,就可以得到明文。这里是
$$D 和 N 是私钥 $$