【密码学】实验一: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^XAmod(p), 将p,a,hA作为公钥发送给Bob, 这里XA是私钥,解密用.

(2)加密: Bob将明文m分段使m<p,取k∈{1,2,···,p-1},计算u≡a^mod p,v≡hA^km 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公钥加解密实验内容

密钥生成: Alicep=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,计算m2 ≡C (mod n), 并将密文C传送给 Alice。最后通过解密: Alice收到后,求解 x2 ≡C (mod p), x2 ≡  C(mod q), 得到解x ≡±b1(mod p)。x ≡ ± b2(mod q), 然后用孙子定理求得4解, 其中之一为明文m。

       还掌握了ElGamal公钥加密解密以及加解密原理,主要过程是Alice要求Bob将信息m加密传送回。首先,密钥生成: Alice找到大素数p, p的原根a, 正整数XA, 1<XA<p, 计算hAaXAmod(p), 将p,a,hA作为公钥发送给Bob, 这里XA是私钥,解密用,然后加密: Bob将明文m分段使m<p,取k∈{1,2,···,p-1},计算u≡akmodp,v≡hAkm modp,并将密文(u,v)传送给 Alice.

最后通过解密: Alice收到后,  计算 vu-XAhAkmak-XAaXAkmak-XA≡m mod p, 恢复明文m.

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

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值