1.寻找质数p,q
假定p = 3,q = 11(p,q都为任意值)。
2.计算公共模数N
N = p x q = 3 x 11 = 33
3.计算欧拉函数φ(N)
φ(N) = (p-1) x (q-1) = 2 x 10 = 20
4.计算公钥e
1 < e < φ(N) ,1< e < 20
e必须与φ(N) 互质,所以e的范围(3,7,9,11,13,17 ,19 )
随便选择一个数e = 7
5.计算私钥d
e * d % φ(N) = 1
7 * d % 20 = 1
7 x 3 = 21
可以得出d = 3
6.加密
假设加密的数为6,明文为A,密文为B
B = A^e % N = 6 ^ 7 % 33 = 279936 % 33 = 30
7.解密
A = B^d % N = 30 ^ 3 % 33 = 27000 % 33 = 6
同态加密
明文A1,A2加密得到的密文为B1,B2
B1 * B2 = A1^e * A2^e = (A1*A2)^e,于是其满足乘法同态特性。