密码学之密匙交换

最近在学习网易公开课上可汗学院现代密码学的课程,整理了一下自己的笔记2

迪菲.赫尔曼密匙交换
迪菲.赫尔曼密匙交换利用了单向函数正向求解很简单,反向求解很复杂的特性。
(n^x) mod m=s,已知n、x、m求s简单,已知n、m、s求x很难。此时也可以求,用穷举遍历法,但是当数字很大时,耗时很长代价很大,信息的价值就不大了。

过程如下:
A:有一个公匙n、m,私匙a。例如:3、17、15
B:有一个公匙n、m,私匙b。例如:3、17、13
C:偷听者,知道公匙n、m。例如:3、17

A:计算s1=(n^a) mod m得到s1,发送s1给B。例如:(3^15) mod 17=6。

C:截获s1

B:
第一步:收到s1,计算s2=(n^b) mod m得到s2,发送s2给A。例如:(3^13) mod 17=12。
第二步:计算s=(s1^b) mod m得到公匙 s。例如:(6^13) mod 17=10。

C:截获s2,此时C只有n、m、s1、s2,很难求a、b、s。

A:收到s2,计算s=(s2^a) mod m得到公匙s。例如:(12^13) mod 17=10。

完成:此时A、B都获得的共同的密匙s。

计算原理:
s1=(n^a) mod m,s2=(n^b) mod m
s=(s1^b) mod m=((n^a) ^b) mod m
  =(s2^a) mod m=((n^b) ^a) mod m
  =(n^ab) mod m


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值