获取密钥步骤:
①取两个质数
p,q
p
,
q
,他们的乘积为
n
n
②随便选一个与互质的数
a
a
,并且求出在模
φ(n)
φ
(
n
)
的情况下的逆元
d
d
这样就得到了密钥
公钥:(n,a)
私钥:(n,d)
加密
对一个整数进行加密,比如
m
m
是某个字母的码
C=ma % n
C
=
m
a
%
n
只需要把 C C 发给对方
解密
为什么呢?
由加密那里得: C=ma+kn C = m a + k n
所以:
Cd % n C d % n
=(ma+kn)d % n = ( m a + k n ) d % n
展开之后只有首项不含因子 n n ,所以
=mad%φ(n) % n = m a d % φ ( n ) % n
=m1 % n = m 1 % n
=m = m