密码学之密匙交换

来源:互联网 发布:免费区 无敌淘宝王 编辑:程序博客网 时间:2024/05/27 20:54

最近在学习网易公开课上可汗学院现代密码学的课程,整理了一下自己的笔记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 0