最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年05月12日 08:56:37   投稿:junjie  
這篇文章主要介紹了迪菲-赫爾曼密鑰交換(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為例:

<?php
include 'DiffieHellman.php';
 
/*
 *   Alice: prime = 563
 *       generator = 5
 *       private key = 9
 *   Bob:  prime = 563
 *       generator = 5
 *       private key = 14
 */
 
$p = 563;
$g = 5;
$alice = new Crypt_DiffieHellman($p, $g, 9);
$alice_pubKey = $alice->generateKeys()->getPublicKey();
 
$bob = new Crypt_DiffieHellman($p, $g, 14);
$bob_pubKey = $bob->generateKeys()->getPublicKey();
 
$alice_computeKey = $alice->computeSecretKey($bob_pubKey)->getSharedSecretKey();
$bob_computeKey = $bob->computeSecretKey($alice_pubKey)->getSharedSecretKey();
 
echo "{$alice_pubKey}-{$bob_pubKey}-{$alice_computeKey}-{$bob_computeKey}"; //78-534-117-117

相關(guān)文章

最新評(píng)論

芷江| 丽水市| 五莲县| 南部县| 武乡县| 湟源县| 上栗县| 米易县| 溧水县| 武强县| 凤城市| 连江县| 白银市| 文登市| 常宁市| 花莲县| 铁岭市| 多伦县| 延寿县| 曲水县| 尼勒克县| 尖扎县| 辽源市| 吴江市| 晴隆县| 南充市| 深圳市| 德清县| 南宫市| 汽车| 青神县| 嵊泗县| 伊吾县| 韶山市| 喀喇沁旗| 宁河县| 营山县| 敖汉旗| 雷州市| 合肥市| 淅川县|