作业答案(3)

2020-03-26 19:23

RC4(v||k)? RC4(v||k)? m=m

b. RC4产生的密钥流是伪随机的 c= RC4(v||k)? m

k一定只当v相同时,可以部分确定使用。

c. k=2=2 d. 亦即2

9.2 用图9.6所示的RSA算法对下列数据实现加密和解密: a. p=3;q=11;e=7;M=5 b. p=5;q=11;e=3;M=5 c. p=7;q=11;e=17;M=9 d. p=11;q=13;e=17;M=7 e. p=17;q=31;e=7;M=2

提示解密不像你想象的那么难,请使用一些技巧。

RSA算法中有(p,q)=1则n=pq ?(n)=(p-1)(q-1) d≡e?1mod ?(n) 此时有加密C= memodn 解密M=Cdmodn

a. 加密:n=pq=3*11=33, ?(n)=(p-1)(q-1)=(3-1)(11-1)=20 de≡1(mod20) 即7d≡1(mod20) 所以d=3

m2mm2c=57mod33=(3125mod33)(25mod33)=78125mod33=14

解密:M=Cdmodn=14mod33=2744mod33=5

b. 加密n=pq=5*11255 ,?(n)=(p-1)(q-1)=(5-1)(11-1)=40 de≡1(mod40),即3d≡1(mod40),所以d=27 C= memodn=93modn=729mod55=14

解密:M=Cdmodn=14mod55=9 同理可得:

273c. n = 77; ?(n)= 60; d = 53; C = 57. d. n = 143; ?(n)= 120; d = 11; C = 106. e. n = 527; ?(n)= 480; d = 343; C = 128.

9.3在使用RSA的公钥体制中,已截获发给某用户的密文C=10,该用户的公钥e=5,n=35,那么明文M等于多少? 解答:

已知n=35,又因 n=pq, (p,q)=1 可知 p=5,q=7或p=7,q=5 ?(n)=(p-1)(q-1)=24

d≡e-1mod(?(n))= 5-1mod24=5

M=Cdmodn=105mod35={(103mod35)(102mod35)}mod35=(20*30)mod35=5

9.4

在RSA体制中,某给定用户的公钥为e=31,n=3599,那么该用户的私钥等于多少? 提示:首先用试探法决定p和q,然后用扩展欧几里得算法寻找31模?(n)的乘法逆。

解答:

n=3599,n=pq,又(p,q)=1

则假设p与q值进行推断,根据此数最后一位,则p与q的值最后一位为1,3,9

3599不能整除,所以q≠3; 33599若p=9则q=不能整除,所以q≠9;

93599若p=11则q=不能整除,所以q≠11;

11若p=3 则q=

…… ……

可推断出p=59,q=61,或p=61,q=59 所以?(n)= (p-1)(q-1)=(59-1)(61-1)=3480 de≡1(mod ?(n)) 3480=112*31+8 31=3*8+7 8=1*7+1 所以 1=8-7

=8-(-31-3*8) =4*8-31

=4*(3480-112*31)-31 =4*348+(-449)*31 所以d=3480-499=3031 即私钥为3031

9.5在使用RSA算法时,可以从少量的重复的编码中恢复出明文,其可能的原因是什么? 解答:

如果可以从少量重复的编码中恢复出明文则

Metet≡M(mod(n))

≡1(mod ?(n))

t?1ed=(mod ?(n))

e 的取值有问题(周期t小)

9.6假定我们已知若干个用RSA算法编码的分组但不知私钥,假设n=pq,e是公钥。若某人告诉我们说它知道其中的一个明文分组与n有公因子,这对我们 有帮助吗? 解答:

是有帮助的;

因为pq=n(p,q都为大素数)C=Memodn

说明明文中包含p或q的因子,而这个人已知道明文分组中有与n的公因子,表明明文块是p或q的倍数;可以测试每个组,如果互质则为p或q,如果不互质,则继续求它的因子得出p或q。

9.7在RSA公钥密码体制中,每个用户都有一个公钥e,一个私钥d,假定bob的私钥已泄密,bob决定产生新的公钥和新的私钥,而不是产生新的模数,请问这样安全吗? 解答: 不安全;

私钥泄密,则攻击者可以利用e,d和n按照加密公式C=M(modn)判断出p和q,易见?(n)

e也就知道了

又edmod ?(n)=1 当n不变时 d≡e?1mod ?(n)

所以可以解出密文 M=Cdmodn

9.8假设bob使用RSA密码体制,其中模数非常大以使得因子分解是不可行的。假设 alice给bob发消息,其中的字母表示为0到25(A→0,B→1,……,Z→25)。然后对每个字母用RSA算法单独加密,参数e和n都很大,这种方法安全吗?如果不安全,请给出最有效的攻击方法。 解答:

假定{A,B,……Z}符合相对应的整数代表字母符号在字母表中的位置,即形成一组信息块SM={0,1,2……25}这组信息对应的密文块SC={0emodn,1modn ……25emodn } 每个人都可以用公钥计算出来; 最有效地攻击方法是计算Meemodn,用密文创建一个查阅表作为索引,相应的明文是查阅

表中相应位置对应的值。

10.1用户A和用户B使用Diffie—Hellman密钥交换技术来交换密钥,设公用素数q=71,本原根α=7.

a.若用户A的私钥b.若用户B的私钥

XA=5,则A的公钥YA为多少? XB=12,则B的公钥YB为多少?

c.共享的密钥为多少?

解答: a. b.

YA= αXAmodq=75mod71=51

66YB=αXBmodq=712mod71=((7mod71)(7mod71))mod71=4

c.K=(YB)

5XAmodq=(YA)

XBmodq

=4mod71 =30

10.2设Diffe-Hellman方案中,公用素数q=11,本原根α=2。 a.证明2是11的本原本。

b.若用户A的公钥YA=9,则A的私钥XA为多少? c.若用户B的公钥YB=3,则共享的密钥K为多少?

解答: a.证明:

假设2是11的本原根,则有:

2,2,……2是(模11)各不相同的与11互素 -10与11互素 而

21021=2=2(mod11) 22=4=4(mod11) 23=8=8(mod11) 24=16=5(mod11)

25=32=10(mod11) 26=64=9(mod11) 27=128=7(mod11) 28=256=3(mod11) 29=512=6(mod11) 210=1024=1(mod11)

可见,2是11的本原根。

b.由YA= αq=2

c. 公钥 K=(YB)

XAXAmodq 可知

XAmod11 由α可推断出

XA=6

6modq=3modq=3mod11=3

6

10.7设EIGamal体制的公用素数q=71,其本原根α=7。

a.若B的公钥YB=3,A选择的随机整数k=2,则M=30的密文是什么? b.若A选择的k值使得M=30的密文为C=(59,C2),则整数C1是多少?

解答:

a. 由于EIGamal体制如题6所示 所以 K=(YB)modq=3mod71=9

k2C1=αmodq=7mod71=49

k2C2=αmodq=9*(30)mod71=57

所以密文为(C1,C2)=(49,57) B.由C1=αmodq可知 59=7mod71 尝试k值

kkk


作业答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:印度尼西亚人民银行(BRI)的小额信贷体系

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: