侵权投诉
订阅
纠错
加入自媒体

浅谈智能家居无线技术保安与Z-Wave S2技术

2017-08-08 15:17
来源: 数智网

阅读延伸:

关于Diffie-Hellman 密钥交换机制

Diffie-Hellman 密钥交换机制是采用公共密钥(Public key) 与私人密钥(Private key)去实现:

1.一开始A与B双方会先交换公共密钥(Kp),我们假设C一直在旁截听,所以C也收到这个公共密钥;公共密钥包含了质数底数G(Generator)和质数模P(Prime Modulus)。然后A与B他们自己各自会生成一个私人的随机密钥(分别为Ka 和Kb) ,这个私人密钥不会告知对方,因此C没法截听而得知;

2.A和B会把自己的私人密钥Kx和收到的公共密钥匙(含G和P)作模算术(modular arithmetic)生成一个余数Rx,再发给对方,故 A从B收到的信息是B通过公共密钥Kp取得的底数G和质数模P,再以私人密钥Kb作为G的指数(exponent)通过模算术求出mod P的余数Rb;同样B也从A那里收到A以相同方式算出来的余数Ra;

算式是: GKx mod P = Rx, x是a或b

Kx是双方自己随机生成的私人密钥(Private Key), mod是求余算法。

假设G是3,P是17,Ka是10,Kb是6

那么A的算式是:310 mod 17 = 8(Ra);B的算式是:36 mod 17 = 15(Rb)

3.最后一步,双方把从对方获得的余数Rx作为底数G,以自己私人密钥作为指数再用模算术求余算出一个最终的余数出来。双方算出来的结果R会是一致的,就是双方以后使用的密钥。

算式是: RxKx mod P = R

因此A的算式是: 1510 mod 17 = 4 ;B的算式是: 86 mod 17 = 4

两者得出的余数R皆是4,这就是双方以后加密数据用的密钥,而由于Ka和Kb从来没有在空气中交换过,所以C无法得悉(C只截听到G、P、Ra、Rb),因而无法算出R。

模算术的优点是其单向性(one way function),G与P都是质数,没法用算式把余数与底数反向求出指数Kx,只能一个一个去试(Trial and error),只要G和P的数值足够大,要一个一个去试的时间会很长,例如达几百位的10进数,用目前最快的超级电脑去试的话都需要几十年以上。这就堵塞了交换密钥的保安风险。

<上一页  1  2  3  
声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号