算法导论-----数论-----RSA公钥加密系统

RSA 公钥加密系统

1.Alice :PA ,SA ;Bob PB,SB(P公钥,S密钥)

2.任何消息M 属于D

M=SA(PA(M));

M=PA(SA(M));

3.发送消息方案:

  1. Bob取得Alice 公钥PA

(2)Bob 计算出M密文C=PA(M),把C发送给Alice

(3)Alice收到密文后用SA恢复出原始信息M=SA(C);

4. 数字签名

            (1)Alice用SA计算出M`的数字签名σ=SA(M`)

            (2)把(M`,σ)发给Bob

            (3)Bob利用PA验证等式M`=PA(σ);

5. RSA加密

            (1)随机取两个大素数p,q

            (2)n=pq

            (3)φ(n)=(p-1)(q-1),取与φ(n)互质的小奇数e

            (4)对模φ(n)计算出e的乘法逆元d

            (5)P=(e,n)公钥

            (6)S=(d,n)密钥

                 加密:P(M)=(modn)

                 解密:S(C)=(modn)

    证明:逆变换成立M=SA(PA(M));M=PA(SA(M)),即证:=M(modn)

         P(S(M))=S(P(M))=(modn)

         ed=1+k(p-1)(q-1)

        (1)若M!=0(modp)

         =M=M(modp)

(2)若M=0(modp),成立

(3)类似,对q,= M(modq)

所以=M(modn)

posted on 2012-03-17 12:38  Inpeace7  阅读(396)  评论(0编辑  收藏  举报

导航