DH方式金鑰交換四種表達方式

2021-07-30 10:31:04 字數 1499 閱讀 6936

一、理論化的表達方式

1、alice與bob確定兩個大素數p和g,這兩個數不用保密

2、alice選擇另乙個大隨機數a,並計算a如下:

a=ga mod p

3、alice將a發給bob

4、bob  選擇另乙個大隨機數b,並計算b如下:

b=gb mod p

5、bob將b發給alice

6、計算秘密金鑰k1如下:k1=ba mod p

7、計算秘密金鑰k2如下:k2=ab mod p

k1=k2,因此alice和bob可以用其進行加解密

二、數位化的表達方式

1、通訊方alice和通訊方bob約定g=5,p=23,g和p是公開的

2、alice生成乙個隨機數a,a是保密的,如a=6

3、alice計算g^a%p傳送給bob,g^a%p=5^6%23=8

4、bob生成乙個隨機數b,b是保密的,如b=15

5、bob計算g^b%p傳送給alice,g^b%p=5^15%23=19

6、alice接收到g^b%p後,再使用保密的a,計算(g^b%p)^a%p=19^6%23=2

7、bob接收到g^a%p後,再使用保密的b,計算(g^a%p)^b%p=8^15%23=2

8、這樣通訊方alice和bob得到乙個相同的金鑰:2

三、實踐化的表達方式

1、server key exchange訊息

server端:用dh演算法產生整數p,g,pubkey(即

a=ga mod p),將這三個引數放到server key exchange訊息中。為了防止訊息被惡意篡改,server key exchange訊息中還要包含乙個對公鑰引數的簽名signature。

client端:收到此訊息後,會把訊息中的 p,g,

pubkey

(即a=ga mod p

)三個引數記錄下來,有了這些,可以依據

pubkey

(即a=ga mod p

)和 private(即b)計算出 pre-master。

2、client key exchange訊息

client端:把產生的

pubkey(即

b=gb mod p)放入

client key exchange訊息

中發給 server 。

server端:

收到此訊息後,會把訊息中的

pubkey

(即b=gb mod p

)記錄下來,可以依據

pubkey

(即b=gb mod p

)和 private(即a)計算出 pre-master。

四、圖形化表達方式

大小: 486.5 kb

DH方式金鑰交換四種表達方式

一 理論化的表達方式 1 alice與bob確定兩個大素數p和g,這兩個數不用保密 2 alice選擇另乙個大隨機數a,並計算a如下 a ga mod p 3 alice將a發給bob 4 bob 選擇另乙個大隨機數b,並計算b如下 b gb mod p 5 bob將b發給alice 6 計算秘密金...

四種定址方式

直接在指令中給出運算元,不需要儲存單元,執行速度快,但是顯然資料也不能冗長,通用型性差,一般用來指定一些要求不高的整形整數。運算元 於暫存器,結果也寫回暫存器。顯然這個主要用到暫存器,這也是他的名字的由來。指令給出有效位址,這使得位址碼會很長,通用性也差。指令中給出的是運算元位址的位址,顯然就是要根...

四種監控方式

四種方式 logging tracing metrics healthcheck 1 研發成本來說 logging 比較低 metrics 一般 tracing比較高 2 運維成本來說 logging 比較高 3 相應能力來 metrics 比較好 4 解決問題來說 tracing 比較好 logg...