tor在建立虛電路以後,需要與路徑上的節點商量金鑰用於後續分組(packet)內容的多層加密。
使用對稱加密演算法時,金鑰交換是個大難題,因此tor採用的是deffie-hellman 金鑰交換演算法
。
先對deffie-hellman 金鑰交換演算法做了簡單介紹以及應用場景的介紹,然後介紹了該演算法的原理,舉了乙個例子進行說明。
deffie-hellman 金鑰交換演算法是一種安全協議。它可以讓雙方在完全沒有對方任何預先資訊的條件下通過不安全通道建立起乙個金鑰。這個金鑰可以在後續的通訊中作為對稱金鑰來加密通訊內容。deffie-hellman 金鑰交換演算法是一種金鑰交換演算法。也就是說兩個節點可以通過該演算法交換金鑰,但是後續的訊息加密要用其他的演算法來進行。– wikipedia
deffie-hellman 金鑰交換演算法基於乙個數學難題:離散對數問題。簡單的說:
a =g
amod
pa=g^a \ mod \ p
a=gamo
dp, 已知g,a
,pg,a,p
g,a,
p ,求a
aa的話容易,直接代入計算即可。但如果要從a,g
,pa, g, p
a,g,
p反向推導出a
aa的話則很難。deffie-hellman 金鑰交換演算法中,金鑰就是這裡的aaa。
下面用乙個例子來說明這個演算法的原理和過程。
假設現在alice和bob在通訊前需要交換金鑰,用於後續資料報的加密。
選取大素數,並公開
alice: 選取大素數p
ap_a
pa,公開
bob: 選取大素數pb,
pbp_b, p_bpb
,pb
,公開
選取大隨機數,計算key
alice:
bob:
計算金鑰
alice的金鑰:ka=
ybxa
modp
aka = y_b^ \ mod \ p_a
ka=ybx
amo
dpa
bob的金鑰:kb=
公開的:pa,
pb,y
a,yb
p_a, p_b, y_a, y_b
pa,pb
,ya
,yb
保密的:xa,
xb,k
x_a, x_b, k
xa,xb
,k
缺點:儘管有一些缺點,但是由於該演算法能在透明的通道中安全地交換金鑰,因此tor網路中需要交換金鑰的時候採用的是該演算法。
Deffie Hellman 金鑰交換演算法
deffie hellman 簡稱 dh 金鑰交換是最早的金鑰交換演算法之一,它使得通訊的雙方能在非安全的通道中安全的交換金鑰,用於加密後續的通訊訊息。whitfield diffie 和 martin hellman 於 1976 提出該演算法,之後被應用於安全領域,比如 https 協議的 ts...
什麼是主金鑰 工作金鑰 會話金鑰 PIN金鑰?
主秘鑰,即 terminal master key tmk,主要作用是用來驗證工作秘鑰是否合法,以及加密tpk 終端pin金鑰 保證tpk在傳輸線路上的安全性。一般情況下是人工在pos設定或者通過ic卡匯入,tmk被寫入金鑰保護晶元,也就是我們說的se,其具有開機程式自毀功能,能很好的保護tmk的安...
公有金鑰 私有金鑰加密
如果你的朋友給你傳送了一封郵件,老朋友多日未見說了些寒暄的話,最後你的朋友又來了一句,今天晚上六點我請你到北京飯店吃飯吧,怎麼樣?你可能對這句話比較懷疑,這小子今天頭腦是不是有問題?在看看這封郵件的位址,還真是他的郵件位址,但認識這小子很多年了,從來沒請我吃過飯。今天?一連串的問號在你的頭腦中。如果...