最近自己捋顺了一遍RSA加密,记录一下。
RSA是一种非对称密钥加密算法
RSA由两条数学原理组成:模幂计算与欧拉函数(欧几里得证明)
(本文会直接而用这两条,烦请读者自行百度)
首先我们讲RSA加密的流程:
1.A随机选择两个不相等的质数p和q,值为61和53,乘积为n = 61×53 = 3233。
即:n = p×q………………………………式1;
2.计算n的欧拉函数φ(n)。
φ(3233)=60×52=3120。
即:φ(n) = (p-1)(q-1)…………………………式2;
3.随机选择一个整数e,也就是公钥当中用来加密的那个数字
条件是1< e < φ(n),且e与φ(n) 互质。
A随机选择了17
即:1< e < φ(n)…………………………不是式子;
4.计算e对于φ(n)的模反元素d。
也就是密钥当中用来解密的那个数字,所谓"模反元素"就是指有一个整数d,可以使得ed被φ(n)除的余数为1。ed mod φ(n)=1
A找到了2753,即17*2753 mode 3120 = 1
即:ed mod φ(n)=1…………………………式3;
5.将n和e封装成公钥,n和d封装成私钥。
即:A的公钥:(n,e)
私钥:(n,d)(实质是(p,q,d)&