更加安全的密钥生成方法Diffie-Hellman
更加安全的密鑰生成方法Diffie-Hellman
之前我們談到了密鑰配送的問(wèn)題,這個(gè)世界是如此的危險(xiǎn), 一不小心通信線(xiàn)路就會(huì)被監(jiān)聽(tīng),那么我們?cè)趺丛谶@種不安全的線(xiàn)路中傳遞密鑰呢?
這里我們介紹一下Diffie-Hellman密鑰交換算法。這個(gè)算法是由Whitfield Diffie和Martin Hellman在1976年共同發(fā)明的一種算法。
通過(guò)這個(gè)算法,雙方只需要交換某些共同的信息就可以生成出共享的密鑰。是不是很神奇?
我們看下具體的步驟:
上面的圖就是Diffie-Hellman密鑰交換算法,假如x要向y發(fā)送消息,如果采用上面的算法,那么需要如下幾個(gè)步驟:
P是一個(gè)非常大的質(zhì)數(shù),而G是P的生成元(生成元的乘方結(jié)果和1~P-1中的數(shù)字是一一對(duì)應(yīng)的)。
這兩個(gè)數(shù)G和P不需要保密。被竊取也沒(méi)關(guān)系。
我們可以看到6和7算出來(lái)的最終的密鑰是一樣的。
接下來(lái),我們探討下Diffie-Hellman算法的安全性:
在該算法中,暴露在外部的變量是P,G,GA mod P和GB mod P 這4個(gè)變量。
根據(jù)這四個(gè)變量來(lái)生成最終的GA*B mod P是非常困難的。
這個(gè)問(wèn)題涉及到了離散對(duì)數(shù)問(wèn)題,要解決是非常困難的。所以,我們可以相信Diffie-Hellman算法是非常安全的。
更多精彩內(nèi)容且看:
- 區(qū)塊鏈從入門(mén)到放棄系列教程-涵蓋密碼學(xué),超級(jí)賬本,以太坊,Libra,比特幣等持續(xù)更新
- Spring Boot 2.X系列教程:七天從無(wú)到有掌握Spring Boot-持續(xù)更新
- Spring 5.X系列教程:滿(mǎn)足你對(duì)Spring5的一切想象-持續(xù)更新
- java程序員從小工到專(zhuān)家成神之路(2020版)-持續(xù)更新中,附詳細(xì)文章教程
更多內(nèi)容請(qǐng)?jiān)L問(wèn) http://www.flydean.com/diffie-hellman/
超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪(fǎng):近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的更加安全的密钥生成方法Diffie-Hellman的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一文读懂密码学中的证书
- 下一篇: java 8 Streams简介