国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

迪菲-赫爾曼密鑰交換(Diffie–Hellman)算法原理和PHP實(shí)現(xiàn)版

2024-05-04 23:35:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了迪菲-赫爾曼密鑰交換(Diffie–Hellman)算法原理和PHP實(shí)現(xiàn)版,需要的朋友可以參考下

迪菲-赫爾曼(Diffie–Hellman)是一個(gè)可以讓雙方在不安全的公共信道上建立秘鑰的一種算法,雙方后期就可以利用這個(gè)秘鑰加密(如RC4)內(nèi)容。

迪菲-赫爾曼(Diffie–Hellman)算法原理很簡(jiǎn)單:

 

如上原理,最后很容易通過(guò)數(shù)學(xué)原理證明(g^b%p)^a%p = (g^a%p)^b%p,因此它們得到一個(gè)相同的密鑰。

上面除了a,b和最后得出的公共密鑰是秘密的,其它都是可以在公共信道上傳遞。實(shí)際運(yùn)用中p很大(300位以上),g通常取2或5。那么幾乎不可能從p,g和g^a%p算出a(離散數(shù)學(xué)問(wèn)題)。

很多語(yǔ)言都對(duì)該算法做了實(shí)現(xiàn),以PHP package中Crypt_DiffieHellman為例:

  1. <?php 
  2. include 'DiffieHellman.php'
  3.  
  4. /* 
  5. * Alice: prime = 563 
  6. * generator = 5 
  7. * private key = 9 
  8. * Bob: prime = 563 
  9. * generator = 5 
  10. * private key = 14 
  11. */ 
  12.  
  13. $p = 563; 
  14. $g = 5; 
  15. $alice = new Crypt_DiffieHellman($p$g, 9); 
  16. $alice_pubKey = $alice->generateKeys()->getPublicKey(); 
  17.  
  18. $bob = new Crypt_DiffieHellman($p$g, 14); 
  19. $bob_pubKey = $bob->generateKeys()->getPublicKey(); 
  20.  
  21. $alice_computeKey = $alice->computeSecretKey($bob_pubKey)->getSharedSecretKey(); 
  22. $bob_computeKey = $bob->computeSecretKey($alice_pubKey)->getSharedSecretKey(); 
  23.  
  24. echo "{$alice_pubKey}-{$bob_pubKey}-{$alice_computeKey}-{$bob_computeKey}"//78-534-117-117 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江城| 鸡西市| 宣恩县| 衡阳县| 盐边县| 佛山市| 孝感市| 屏东市| 来安县| 隆昌县| 大宁县| 长治县| 平山县| 沅江市| 乌审旗| 巴林右旗| 益阳市| 搜索| 绥江县| 汉源县| 东台市| 天峻县| 临沭县| 永胜县| 龙里县| 长春市| 上犹县| 襄樊市| 丹阳市| 阿坝| 剑阁县| 吴堡县| 安宁市| 绥芬河市| 四子王旗| 金塔县| 准格尔旗| 枣庄市| 揭东县| 城固县| 宜州市|