作业答案 联系客服

发布时间 : 星期五 文章作业答案更新完毕开始阅读2a2ea5b9960590c69ec37602

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

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值

kkk71mod71=7,72mod71=49,73mod71=59

所以k可判定为3

又k=(YB)modq=33mod71=27

kC2=kmodq=27*30mod71=29

10.8根据实数域上椭圆曲线算术中的规则(5),要计算点Q得两倍,则画一条切线并找出另一交点S。那么Q+Q=2Q=—S。若该切线不是垂直的,则恰好只有一个交点。但是若切线是垂直的,那么在这种情况下,2Q的值是多少?3Q的值是多少?

若斜线是垂直的则2Q=0,3Q=Q+(-Q)+Q=0

10.10点(4,7)在椭圆曲线y2=x2-5x+5(定义在实数域上)上吗?

如果点(4,7)在椭圆曲线上,则必满足方程y2=x2-5x+5 X=4,x2-5x=43-20+5=49 Y=7,y2=49

49=49 所以点(4,7)在椭圆曲线y2=x2-5x+5上

10.11设实数域上的椭圆曲线为y2=x3-36x,令P=(3,9),Q=(-2,8),计算P+Q和2P。

解答: λ=

y2?y1?2?(?3)modp=modp=-1

x2?x18?9X3=λ2-x1-x2=(-1)2-(-3)-(-2)=6 y3=λ(x1-x3)-y1=-1(-3-6)-9=0

因为P+Q=R 所以R为(6,0)

因p,q不等,为椭圆曲线y2=x3-36x的两相异点, 2p即为一个点与自身相加P+P=2P=R yp=q≠0 有xR=(3x2p?α2yp23?(3)?(-36)22—2xp=()—2×(-3)=0.25+6=6.25 )2?9yR=(3x2p?α2yp(xp-xR)—yp=(-0.25)((-3)-6.25)-9=-4.375 )所以2p=(6.25,-4.375)

ECC:推导椭圆曲线的加法公式:计算P+Q,2P 解:

椭圆曲线的方程为:y2=x3+ax+b

椭圆曲线上的点P(x1,y1),Q(x2,y2),求P(+)Q=(x3,y3) 由P(+)Q的定义,设y=аβ