RSA加密的原理是欧拉定理与费马小定理

其计算过程如下:

取两个质数:

p=3

q=5

计算

n=pq=15

t=(p-1)
(q-1)=8

取一个e
e=3

计算满足e*d % t = 1的数

计算结果如下:

d=3,11,19,27,35……

由此可得

n=15

d=3,11,19,27,35……

e=3

可得到公钥(d,n)

(3,15),(11,15),(19,15),(27,15),(35,15)……

私钥(e,n)

(3,15)

——————————————————————————

示例:

消息m为7,使用公钥(11,15),私钥(3,15)

加密过程

c_en = m^d %15 = 7^11 %15 = 13

解密过程

c_de = c_en ^e % 15 = 13^3 %15 = 7

即可计算出原始消息m=7

——————————————————————————

需要注意的是,被加密的消息m必须满足0<=m
在现代加密系统中,都使用字节数组加密,m小于256,因此,必须选择n>256

(鉴于现代RSA算法要求密钥长度都要大于96bit,因此,该条件是一定满足的)

——————————————————————————

从上述结果看,一个私钥,可以生成多个公钥

——————————————————————————