使用Maple 18 软件进行计算。
实验内容:
拉宾公钥加密解密
1****.拉宾公钥加解密原理
Alice要求Bob将信息m加密传送回.
(1) 密钥生成: Alice找到大素数p,q, 令n=pq, 然后将n 作为公钥发送给Bob, 这里p,q是私钥, 解密用.
(2) 加密: Bob将明文m分段使m<n,计算m2 ≡C (mod* n*), 并将密文C传送给 Alice.
(3) 解密: Alice收到后,求解 x2 ≡C (mod p), x2 ≡ C(mod q), 得到解x ≡±b1(mod p),
x ≡ ± b2(mod* q*), 然后用孙子定理求得4解, 其中之一为明文m.
2****.拉宾公钥加解密实验内容
拉宾公钥密码加密解密:
P=11,q=19, 则*n *=209为公钥;
加密:明文*m *=102, 求密文.
解密:若*n =11∙19, 密文C *=163, 求明文.
公钥:
p := 11; q := 19; n := p*q;
加密:
解密:
ElGamal****公钥加密解密
1****.加解密原理
Alice要求Bob将信息m加密传送回.
(1)密钥生成: Alice找到大素数p, p的原根a, 正整数XA, 1*<XA<p*, 计算hA≡a^X**Amod(p), 将p,a,hA作为公钥发送给Bob, 这里XA是私钥,解密用.
(2)加密: Bob将明文m分段使m<p,取k∈{1,2,···,p-1},计算*u≡a^k mod p,v≡hA^k*m mod p,并将密文(u,v)传送给 Alice.
(3)解密: Alice收到后, 计算 vu^*-XA≡hA^km(a^k)^-XA≡(a^XA)^km(a^k)^**-XA≡m mod p*, 恢复明文m.
2.ElGamal公钥加解密实验内容
密钥生成: Alice取p=13, 13的一原根为2, XA=11, hA≡(mod13),算出公钥,p=13,g=2, hA=7。
加密:Bob收到p=13,g=2, hA=7, 取k=9, 明文m=10, 求密文(u, v).
解密:p=13, 13的一原根g=2, XA=11, 收到密文(u, v)=(5, 2), 求明文m
总结:(CV)
通过本次学习,掌握了拉宾公钥加密解密以及拉宾公钥加解密原理,主要过程有Alice要求Bob将信息*m*加密传送回,首先,密钥生成: Alice找到大素数p,*q,* 令*n*=*pq*, 然后将*n *作为公钥发送给Bob, 这里*p*,*q*是私钥, 解密用的,再加密: Bob将明文*m*分段使*m*<*n*,计算*m*2 ≡C (mod* n*), 并将密文*C*传送给 Alice。最后通过解密: Alice收到后,求解 *x*2 ≡*C (*mod *p*), *x*2 ≡ *C*(mod *q*), 得到解*x* ≡±*b*1(mod *p*)。*x* ≡ ± *b*2(mod* q*), 然后用孙子定理求得4解, 其中之一为明文*m。* 还掌握了ElGamal公钥加密解密以及加解密原理,主要过程是Alice要求Bob将信息*m*加密传送回。首先,密钥生成: Alice找到大素数*p*, *p*的原根*a*, 正整数*XA*, 1*<XA<p*, 计算*h**A**≡**a**X**Amod(p)*, 将*p*,*a*,*hA*作为公钥发送给Bob, 这里*XA*是私钥,解密用,然后加密: Bob将明文*m*分段使*m*<*p*,取*k*∈{1,2,···,*p*-1},计算*u≡**a**k**mod**p**,v≡**h**A**k**m modp*,并将密文(*u*,*v*)传送给 Alice.
最后通过解密: Alice收到后, 计算 vu-XA≡hAkmak-XA≡aXAkmak**-XA≡m mod p*, 恢复明文*m.
通过实验,我学会了使用Maple软件初步编程;掌握Rabin公钥、ElGamal公钥的加密和解密原理,运用Maple软件求解拉宾公钥、ElGamal公钥的计算问题,学会用规范的方法书写实验报告。
版权归原作者 Fanlier_FENG 所有, 如有侵权,请联系我们删除。