簡體   English   中英

如何使用Diffie-Hellman密鑰交換來保護客戶端和服務器之間的數據傳輸?

[英]How to use Diffie-Hellman key exchange to secure data transfer between a client and server?

我是一個初學者程序員。 我被要求使用Diffie-Hellman密鑰交換來保護客戶端和服務器之間的數據傳輸安全。 我已經在這個問題上進行了大量搜索,但是我剛剛找到了一些示例代碼,這些代碼找到大整數pg

問題是我不知道如何使用這些數字來確保信息傳輸。 我想通過客戶端和服務器之間的連接傳輸“字符串”,而不是整數。 這些數字對我有什么用? 我正在為這個課程修完課程的最后期限,真的可以使用一些幫助。

我建議閱讀並理解以下內容: http : //en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange

這是一個PHP代碼片段,將幫助您...

GENERATOR = 2和PRIME(300位素數)是常數

        // generate server secret
        $privateKey = 0;

        for ($i=0; $i<100; $i++) {
            if ($i==0) {
                $privateKey = mt_rand(1, 9);
            } else {
                $privateKey .= mt_rand(0, 9);
            }
        }

        // output server public key
        echo gmp_strval(gmp_powm(GENERATOR, $privateKey, PRIME));

        // calculate server secret key
        $secretKey = md5(
            gmp_strval(
                gmp_powm($_POST['public_key'], $privateKey, PRIME)
            )
        );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM