RSA
算法简è¿?/p>
1.
算法原理
RSA
体制用户
i
的公开加密变换
E
i
与保密的解密变换
D
i
的生æˆ?/p>
:
(1)
随机选取两个一百位
(
十进åˆ?/p>
)
以上的素æ•?/p>
p
i
å’?/p>
q
i
�/p>
(2)
计算
n
i
=p
i
q
i
,
Φ
(n
i
)=( p
i
-1)( q
i
-1)
�/p>
(3)
随机选取整数
e
i
,
满足
(e
i
,
Φ
(n
i
))=1
�/p>
(4)
利用欧几里得算法计算
d
i
,
满足
e
i
d
i
�/p>
1(mod
Φ
(n
i
))
�/p>
(5)
公布
n
i
e
i
作为
E
i
,
记为
E
i
=<n
i
,e
i
>
。保å¯?/p>
p
i
q
i
d
i
Φ
(n
i
)
作为
D
i
,
记为
D
i
=<p
i
,q
i
,d
i
,
Φ
(n
i
)>
�/p>
加密算法
:c=E
i
(m)=m
e
(mod n
i
)
�/p>
解密算法
:m=D
i
(c)=c
d
(mod n
i
)
�/p>
要证明加密解密过程是正确çš?/p>
,
只需证明解密运算
D
i
能恢复明æ–?/p>
,
�/p>
D
i
(c)=c exp(d
i
)=(m exp(e
i
))exp(d
i
)
�/p>
m(mod n
i
)
下面证明对任ä½?/p>
k
及任ä½?/p>
m< n
i
均有