0


【密码学】实验一:Rabin、ElGamal公钥加密解密

使用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*, 计算hAa^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^*-XAhA^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-XAhAkmak-XAaXAkmak**-XA≡m mod p*, 恢复明文*m.

   通过实验,我学会了使用Maple软件初步编程;掌握Rabin公钥、ElGamal公钥的加密和解密原理,运用Maple软件求解拉宾公钥、ElGamal公钥的计算问题,学会用规范的方法书写实验报告。
标签: 密码学 网络

本文转载自: https://blog.csdn.net/weixin_49003900/article/details/128002889
版权归原作者 Fanlier_FENG 所有, 如有侵权,请联系我们删除。

“【密码学】实验一:Rabin、ElGamal公钥加密解密”的评论:

还没有评论