习题讲解3-第四章hcy
所以,x ≡ 7560mod 527可写成 x 7560 mod17
x
7560
mod31
化简: 7560 mod17= 7560mod16mod 17 = 1mod 17
① 费马定理
7560 mod31 = 7560mod30mod 31 =720 mod 31=5mod31
将①式化简为 x 1mod17 x 5mod31
韩彩芸
4-1 为什么要引用非对称密码体制?
答: 1 对称密码体制密钥管理的困难性: 对称密码体制中,任何两个用户间要进行保密通信就需要 一个密钥,不同用户间进行通信的时候必须使用不同的密钥 。密钥为发送方和接收方所共享,用于消息的加密和解密。
2 系统开放性问题: 对称密码体制的密钥分发方法要求密钥共享各方面的互相 信任,因此它不能解决陌生人之间的密钥传递问题。
c me mod n m cd mod n
解:由题意知:e=5,n=35,c=11 ∴ (35)=(5*7)=(5-1)*(7-1)=24 私钥d= e-1mod((n))=5-1mod 24
由扩展的欧几里得算法可以求得d,其算法 如下:
24=4×5+4; 5=1×4+1; ∴ gcd (5,24)=1 ∴ 1 =5-24-(4×5)=5×5-24; ∴ d=5-1mod 24=5
得到Leabharlann (c1,c2)=((8,3),(3,5))。
(3)接收方A收到密文(c1,c2)后进行解密,解密算法 如下:
Cm c2 d Ac1
将dA=5,c1=3G,c2=(3,5)代入得Cm=(7,9)
补充题1. 分别用孙子定理和平方-乘法计算:7560mod527
解: (1) 孙子定理
设 x ≡ 7560mod 527,由于527=17×31,且gcd(17,31)=1
为(c1,c2),且加密算法如下:
cc12
rG Pm
rPA
其中Pm为发送方 B欲发送的明文,r为用户B产生的随机数, G为椭圆曲线上的基点,且r=3,G=(2,7),Pm=(7,9),
PA=(3,6)故(c1,c2)计算如下:
cc12
3G Pm
8,3
3PA
7,9
33,6
各自根据椭圆曲线加法公式和椭圆曲线上加法公式可计算
c2 m yr mod p 3032 mod71 57
(2)由题意知:当另外取一个随机数r时
c1 r mod p 7r mod71 59
可以设7r 71 n 59
且满足 1<r<p-1,即1<r<70。 由上式可以求得:r=3,n=4,故可以得到密文c2:
c2 m yr mod p 30 33 mod 71 29
所以该用的私钥为3031。
4-10 在ElGamal密码体制中,设素数p=71,本原元α=7, (1)如果接收方B公钥y=3,发送方A选择的随机整数r=2,求明 文m=30所对应的密文二元组(c1,c2)。 (2)如果发送方A选择另一个随机整数r,使得明文m=30加密后 的密文(c1,c2)=(59,c2),求c2
对m7= 1724加密,c7 = 1724 13mod2537 = 2333
b3=1 z← z2×m71mod n=(12×1724)mod 2537= 1724 b2=1 z← z2×m71mod n=(17242×1724)mod 2537=1784 b1=0 z← z2×m70mod n=(17842×1)mod 2537=1258 b0=1 z← z2×m71mod n=(12582×1724)mod 2537=2333
对m4= 1004加密,c4 = 1004 13mod2537 = 1299
b3=1 z← z2×m41mod n=(12×1004)mod 2537= 1004 b2=1 z← z2×m41mod n=(10042×1004)mod 2537=709 b1=0 z← z2×m40mod n=(7092×1)mod 2537=355 b0=1 z← z2×m41mod n=(3552×1004)mod 2537=1299
逆向迭代: 1= 3−2=3−(5−3) = 3×2 − 5 = (13 − 5×2)×2 − 5 = 13×2 − 5×5 = 13×2 − 5×(2436 − 13×187) = 13×937 − 5×2436 ∴ d = e-1mod(n)=13-1mod 2436
=937
(2) 首先,将明文以两个字符为一组进行分组为,
对m5= 2404加密,c5 = 2404 13mod2537 = 1365
b3=1 z← z2×m51mod n=(12×2404)mod 2537= 2404 b2=1 z← z2×m51mod n=(24042×2404)mod 2537=1699 b1=0 z← z2×m50mod n=(16992×1)mod 2537=2032 b0=1 z← z2×m51mod n=(20322×2404)mod 2537=1365
圆曲线的基点,因为椭圆曲线可以表示为 Ep(a,b),对照题目得:a=1,b=6,p=11。
设:2G=2(x1,y1)=2(2,7)=(x3,y3)带入如下 椭圆曲线上倍点公式得:
x332x12ax1 2 y11 mod p
y3
x1
x3
y1 mod
p
把x1,y1,a带入可以求得λ=8,(x3,y3)=(5,2)=2G,然 后再用倍点公式求得4G为(10,2),
pu bl ic ke ye nc ry pt io ns 数字化编码:1520 0111 0802 1004 2404 1302 1724 1519 0814 1318 公钥为(13, 2537)
加密过程:c=me mod n,利用平方-乘法计算:e= 13=1101(B), z=1,n=2537 对m1=1520加密,c1 =152013mod2537 = 0095
补充题2. RSA公开密钥加密系统中,某用户选择p=43,
q=59,并取公开密钥e=13,计算:
(1)私有密钥中的指数d
(2)在Z26空间中对明文“public key encryptions”加
密,求出其密文数值序列
RSA加密体制: 设明文为m,密文为c,公钥(e , n),私钥d,满足以下关系:
对m6= 1302加密,c6 = 1302 13mod2537 = 1379
b3=1 z← z2×m61mod n=(12×1302)mod 2537= 1302 b2=1 z← z2×m61mod n=(13022×1302)mod 2537=1126 b1=0 z← z2×m60mod n=(11262×1)mod 2537=1913 b0=1 z← z2×m61mod n=(19132×1302)mod 2537=1379
解:由ElGamal密码体制可知: 设(p,α ,y)作为用户B的公开密钥,r作为用户A选择的 随机数,明文为m,密文为(c1,c2),则有以下等式成立:
cc12
r mod p
m yr mod
p
m c2
c1k
1
mod
p
(1)由题意知:p=71, α=7,y=3,r=2,m=30,
c1 r mod p 72 mod71 49
所以,明文 m = cd mod n
= 115mod 35 =16
4-9在RSA体制中,若给定某用户的公钥e=31, n=3599,那么该用户的私钥等于多少?
解:
n 3599 59 61 59 161 1 3480
d 311 mod(3599) 311 mod3480
449mod3480 3031
7560 mod 527 222
解: (2)平方-乘法
z zi21 abi mod n
560=1000110000(B),z=1,a=7,n=527
b9=1 z← z2×a1mod n=1×7mod 527=7 b8=0 z← z2×a0mod n=(72×1)mod 527=49 b7=0 z← z2×a0mod n=(492×1)mod 527=293 b6=0 z← z2×a0mod n=(2932×1)mod 527=475 b5=1 z← z2×a1mod n=(4752×7)mod 527=483 b4=1 z← z2×a1mod n=(4832×7)mod 527=377 b3=0 z← z2×a0mod n=(3772×1)mod 527=366 b2=0 z← z2×a0mod n=(3662×1)mod 527=98 b1=0 z← z2×a0mod n=(982×1)mod 527=118 b0=0 z← z2×a0mod n=(1182×1)mod 527=222
根据中国剩余定理,取 b1=1,b2=5,m1=17,m2=31 则 M=m1×m2=527,M1=M/m1=31, M2=M/m2=17
y1 M11 mod m1 311 mod17 141 mod17 11
y2
M
1 2
mod m2
171
mod31 11
x (b1 y1M1 b2 y2M2) modM (11131 51117) mod527 1276mod527 222
3 数字签名问题: 对称密码体制难以从机制上实现数字签名问题,也就不 能实现通信中的抗抵赖技术。
4-8设通信双方使用RSA加密接收方的公开密钥是 (5,35),接收到的密文是11,明文是多少?
RSA加密体制: 设明文为m,密文为c,公钥(e , n),私钥d,满 足以下关系:
d e1 mod n
d e1 mod n
c me mod n m cd mod n
解:由题意知:e=13,p=43,q=59 ∴ n=p*q=43×59=2537, ∴ (n)=(43×59)=(43-1)×(59-1)=2436