9.6 密鑰協商
密鑰協商是在兩個用戶之間建立一個共享秘密密鑰的協商過程,通過這種方式能夠確定一個共享秘密密鑰的值。
設密鑰協商雙方為A、B,雙方的密鑰對分別為(dA, QA)和(dB, QB),雙方需要獲得的密鑰數據的比特長度為klen。密鑰協商協議分為兩個階段。
第一階段:產生臨時密鑰對
用戶A:
調用生成密鑰算法產生臨時密鑰對(rA, RA),將RA和用戶A的用戶身份標識IDA發送給用戶B。
用戶B:
調用生成密鑰算法產生臨時密鑰對(rB, RB),將RB和用戶B的用戶身份標識IDB發送給用戶A。
第二階段:計算共享秘密密鑰
用戶A:
步驟:
a) 用IDA和QA作為輸入參數,調用預處理1得到ZA;
b) 用IDB和QB作為輸入參數,調用預處理1得到ZB;
c) 以klen、ZA、ZB、dA 、rA、RA、QB、RB為輸入參數,進行運算得到K。
步驟:
a) 用IDA和QA作為輸入參數,調用預處理1得到ZA;
b) 用IDB和QB作為輸入參數,調用預處理1得到ZB;
c) 以klen、ZA、ZB、dB 、rB、RB、QA、RA為輸入參數,進行運算得到K。
詳細的計算過程參見GB/T 32918和GB/T 32905。
推薦文章: