您的位置:首页 > 其它

密码学之密匙交换

2015-12-13 19:35 225 查看
最近在学习网易公开课上可汗学院现代密码学的课程,整理了一下自己的笔记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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: