RSA算法流程(假设A给B发消息):
p、q:找到两个质数p、q,比如 p = 3,q = 5
n:n = p ✖️ q = 15
φ(n):φ(n) =(p-1)✖️(p-1)= 2 ✖️ 4 = 8
公钥e:需满足俩条件:1️⃣、1 < e < φ(n) 2️⃣、e与n互为质数。比如取 e = 7
私钥d:需要满足条件:e ✖️ d ➗ φ(n) 余数为1,例如:7 ✖️ 15 ➗ 8 余数为1,取 d = 15
A方加密:假设发送的信息为数字 m = 2,加密公式为: m^e ➗ n 余数为 c,即 2^7 ➗ 15 余数为 8,即 c = 8
B方解密:解密公式:c^d ➗ n 余数就是 m(A传过来的数字),即 8^15 ➗ 15 余数为 m = 2 console.log(35184372088832)
1