ComSec作业三 RSA

1、证明RSA算法的加密和解密互逆

在这里插入图片描述

证明如下:
e d ≡ 1 ( m o d λ ( n ) ) ed \equiv 1 \pmod {\lambda (n)} ed1(modλ(n))

e d = k λ ( n ) + 1 ed=k\lambda(n)+1 ed=(n)+1

λ ( n ) = L C M ( p − 1 , q − 1 ) \lambda(n)=LCM(p-1,q-1) λ(n)=LCM(p1,q1)

p − 1 ∣ λ ( n ) , q − 1 ∣ λ ( n ) , 即 λ ( n ) = k ′ ( p − 1 ) p-1|\lambda(n),q-1|\lambda(n),即\lambda(n)=k'(p-1) p1∣λ(n),q1∣λ(n),λ(n)=k(p1)

e d = k k ′ ( p − 1 ) + 1 ed=kk'(p-1)+1 ed=kk(p1)+1

a p − 1 ≡ 1 ( m o d p ) , ( a p − 1 ) k ≡ 1 ( m o d p ) a^{p-1}\equiv 1 \pmod p,(a^{p-1})^k\equiv 1 \pmod p ap11(modp),(ap1)k1(modp)

m e d − 1 ≡ 1 m o d    p m^{ed-1} \equiv 1 \mod p med11modp

m e d ≡ m m o d    p m^{ed} \equiv m \mod p medmmodp

同理: m e d ≡ m m o d    q m^{ed} \equiv m \mod q medmmodq

{ m e d ≡ m m o d    p m e d ≡ m m o d    q \left \{ \begin{array}{c} m^{ed} \equiv m \mod p \\ m^{ed} \equiv m \mod q \end{array} \right. {medmmodpmedmmodq

m e d ≡ m m o d    ( p q ) m^{ed} \equiv m \mod (pq) medmmod(pq)

即∴ m e d ≡ m m o d    n m^{ed} \equiv m \mod n medmmodn

(想想CRT,这里就是一个简单的道理:两个互素的数能被某个数整除,则这个数是不是至少是它们两个的积)

m = m e d m o d    n = c d m o d    n m=m^{ed} \mod n =c^d \mod n m=medmodn=cdmodn,反过来也有 c = c e d m o d    n = m e m o d    n c=c^{ed} \mod n =m^e \mod n c=cedmodn=memodn

2、Perform encryption and decryption using the RSA algorithm, as in Figure 9.5, for the following:

a : p = 3 ; q = 7 ; e = 5 ; M = 10 a:p=3;q=7;e=5;M=10 ap=3q=7e=5M=10

解:

n = p q = 12 n=pq=12 n=pq=12

故密文为: C = M e m o d    n = 19 C=M^e \mod n=19 C=Memodn=19

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 12 \phi (n)=(p-1)(q-1)=12 ϕ(n)=(p1)(q1)=12

e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed1modϕ(n)

由egcd算法的: d = 5 d=5 d=5

所以解密为: M = C d m o d    n = 10 M=C^d \mod n =10 M=Cdmodn=10

b : p = 5 ; q = 13 ; e = 5 ; M = 8 b:p=5;q=13;e=5;M=8 bp=5q=13e=5M=8

解:

n = p q = 65 n=pq=65 n=pq=65

故密文为: C = M e m o d    n = 8 C=M^e \mod n=8 C=Memodn=8

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 48 \phi (n)=(p-1)(q-1)=48 ϕ(n)=(p1)(q1)=48

e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed1modϕ(n)

由egcd算法的: d = 29 d=29 d=29

所以解密为: M = C d m o d    n = 8 M=C^d \mod n =8 M=Cdmodn=8

c : p = 7 ; q = 17 ; e = 11 ; M = 11 c:p=7;q=17;e=11;M=11 cp=7q=17e=11M=11

解:

n = p q = 119 n=pq=119 n=pq=119

故密文为: C = M e m o d    n = 114 C=M^e \mod n=114 C=Memodn=114

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 96 \phi (n)=(p-1)(q-1)=96 ϕ(n)=(p1)(q1)=96

e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed1modϕ(n)

由egcd算法的: d = 35 d=35 d=35

所以解密为: M = C d m o d    n = 11 M=C^d \mod n =11 M=Cdmodn=11

d : p = 7 ; q = 13 ; e = 11 ; M = 2 d:p=7;q=13;e=11;M=2 dp=7q=13e=11M=2

解:

n = p q = 91 n=pq=91 n=pq=91

故密文为: C = M e m o d    n = 46 C=M^e \mod n=46 C=Memodn=46

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 72 \phi (n)=(p-1)(q-1)=72 ϕ(n)=(p1)(q1)=72

e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed1modϕ(n)

由egcd算法的: d = 59 d=59 d=59

所以解密为: M = C d m o d    n = 2 M=C^d \mod n =2 M=Cdmodn=2

e : p = 17 ; q = 23 ; e = 9 ; M = 7 e:p=17;q=23;e=9;M=7 ep=17q=23e=9M=7

解:

n = p q = 391 n=pq=391 n=pq=391

故密文为: C = M e m o d    n = 61 C=M^e \mod n=61 C=Memodn=61

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 352 \phi (n)=(p-1)(q-1)=352 ϕ(n)=(p1)(q1)=352

e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed1modϕ(n)

由egcd算法的: d = 313 d=313 d=313

所以解密为: M = C d m o d    n = 7 M=C^d \mod n =7 M=Cdmodn=7

3、In a public-key system using RSA, you intercept the ciphertext C = 20 sent to user whose public key is e=13, n=77. What is the plaintext M?

解:

n = 77 = p q = 7 ∗ 11 n=77=pq=7*11 n=77=pq=711

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 60 \phi (n)=(p-1)(q-1)=60 ϕ(n)=(p1)(q1)=60

e d ≡ 1 m o d    λ ( n ) ed \equiv 1 \mod {\lambda (n)} ed1modλ(n)

由egcd算法得: d = 37 d=37 d=37

故明文为: M = C d m o d    n = 2 0 37 m o d    77 M=C^d \mod n =20^{37} \mod 77 M=Cdmodn=2037mod77

由CRT得:

{ 2 0 37 m o d    7 2 0 37 m o d    11 \left \{ \begin{array}{c} 20^{37} \mod 7 \\ 20^{37} \mod 11 \end{array} \right. {2037mod72037mod11 = { 2 0 1 m o d    7 = 6 2 0 7 m o d    11 = ( − 2 ) 7 m o d    11 = 4 \left \{ \begin{array}{c} 20^{1} \mod 7 = 6 \\ 20^{7} \mod 11 = (-2)^{7} \mod 11 = 4\end{array} \right. {201mod7=6207mod11=(2)7mod11=4

{ M ≡ 6 m o d    7 M ≡ 4 m o d    11 \left \{ \begin{array}{c} M \equiv 6 \mod 7 \\ M \equiv 4 \mod 11 \end{array} \right. {M6mod7M4mod11

由egcd算法得: 7 ∗ 8 ≡ 1 m o d    11 , 11 ∗ 2 ≡ 1 m o d    7 7*8 \equiv 1 \mod 11,11*2 \equiv 1 \mod 7 781mod111121mod7

所以: M = ( 4 ∗ 7 ∗ 8 + 6 ∗ 11 ∗ 2 ) m o d    77 = 48 M=(4*7*8+6*11*2)\mod 77 = 48 M=(478+6112)mod77=48

4、In an RSA system, the public key of a given user is e=65, n=2881.What is the private key of this user?

解:

由 n = 2881 得: n = p q = 43 ∗ 67 由n=2881得:n=pq=43*67 n=2881得:n=pq=4367

ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 2772 \phi (n)=(p-1)(q-1)=2772 ϕ(n)=(p1)(q1)=2772

e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed1modϕ(n)

由egcd算法的: d = 725 d=725 d=725

故私钥为: P R = 725 , 2881 PR={725,2881} PR=725,2881

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值