請教DH演算法在混合加密中,到底起什麼作用?

時間 2021-05-07 03:36:39

1樓:八里土人

DH演算法是用來保證更強的安全性,即「完美前向保密」用的,如果不在意這個,可以不用DH。用DH還要增加計算負荷呢。

具體來說,如果考慮到私鑰洩露,那麼按照最原始最簡單的RSA金鑰協議,即用B的公鑰加密對稱金鑰給B。

假設M在A-B通訊期間,截獲並儲存了所有的通訊過程。

那麼當B的私鑰洩露以後,M就可以解密所有資料,因為對稱金鑰在網上傳了。M可以拿B的私鑰解開得到,然後得到完整的通訊內容。

如果引入DH,那麼金鑰生成材料和最終使用的金鑰,都不出現在網上。即使獲得了B的私鑰,且截獲錄取了所有通話過程,也是無法解密通訊內容的。

當然,其中還要加入乙個強化措施,在A或B進行完DH過程後,立即銷毀金鑰生成材料。這樣金鑰生成材料在主機內出現的時間也是毫秒級的。同時,生成的金鑰不應該明文儲存在本地。

這樣,由於M獲取金鑰的時間窗很小,所以得到了「完美前向」: 即私鑰洩露前的通訊內容是安全的。

至於「後向」還能不能安全,這是乙個簡單的推理: 連A,B是誰都可以偽冒了,通訊金鑰算啥呢?

2樓:蔚藍

時至2023年2月2日,之前的答案都錯了。什麼中間人攻擊之類的都是錯的。杜絕中間人攻擊的是CA認證,而不僅僅是DH演算法就能搞定的。

題主問的是明明在混合加密中RSA已經可以實現金鑰交換了,為什麼還要DH演算法。

其實答案在https(ssl/tls)協議中很明顯地說明了,協議中定義了一系列密碼套件(Cipher suite)。

這些套件分別使用了RSA、DH、DHE(EDH,臨時DH)、ECDH(橢圓曲線版DH)作為金鑰交換演算法,而前兩者和後兩者的區別就是後兩者支援前向安全(Forward Secrecy,縮寫:FS),有時也被稱為完美前向安全(英語:Perfect Forward Secrecy,縮寫:

PFS)。也因此,不再推薦使用前兩者的密碼套件了。

即,RSA作為金鑰交換,只要私鑰洩露,如果以前的所有通訊內容被留存,那就可以得到對稱金鑰同時得到所有通訊明文。而DHE或者ECDH,因為是通訊時雙方共同算出的臨時對稱金鑰,則不存在此安全性問題。

3樓:Huaiqing Cheng

我覺得有一句話不嚴謹,RSA不能防止中間人攻擊。 應該說無論你用什麼當前的什麼秘鑰交換演算法,都存在中間人攻擊,除非你加上數字簽名進行身份認證。而RSA既可以用於秘鑰交換又可以用於數字簽名。

所以如果我只用RSA做秘鑰交換是防不住中間人攻擊的,但是同時也用RSA做數字簽名,兩種都用RSA,那我也可以說RSA是不怕中間人攻擊的。而DH可是不能進行數字簽名的,只能借助其他的簽名演算法了。

你可以發現在tls握手的cipher suite有這兩種Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) #需要借助另一種簽名演算法來實現數字簽名

Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c) #RSA既用於數字簽名,又用於秘鑰交換

4樓:王永剛

A和B保密通訊,當然兩者的金鑰產生器是夠安全的。 A可以產生乙個會話金鑰K,

E(PRb, E(PRa,K)),即對k先簽名,再用B的公鑰加密,再傳送給B, B可以解密並驗證簽名,就知道K是A發過來的。 由於加密了,攻擊者沒有B的私鑰,也就得不到K。 B可以認證A。

可是A如何認證B呢?

5樓:小飛飛

DH和RSA等公鑰演算法都可以用來交換對稱金鑰,但不能抵抗中間人攻擊,所以可以選擇用DH交換金鑰,用RSA對交換過程中的資料進行簽名以驗證通訊雙方的身份、抵抗中間人攻擊。。

6樓:Sails

DH能夠在不安全通道進行金鑰交換(對稱演算法的金鑰),但不能抵禦中間人攻擊。

A、B利用DH演算法交換金鑰後,通常還需要雙方對過程資料進行簽名驗證已防禦中間人攻擊。(ssl)

A直接生成金鑰發給B的方案存在下面問題:

1.B不參與金鑰生成,必須信任A的金鑰發生器足夠安全;

2.中間人攻擊,C偽裝成A傳送金鑰,B傻傻分不清。

3.服務端為了節約成本,金鑰不每次隨機生成,而是使用金鑰池。

網路密碼體制不光需要考慮資料的安全,還需要抵禦黑客攻擊、均衡計算負載並考慮人性。分析密碼體制的時候要有黑客精神,分析其攻擊的可利用點。

請教乙個演算法題,最優解應該怎麼做?

Yuanfei Bi 最優要看題目的具體情況。拓展下,如果是stream問題,即有新數字加入陣列的話,能不能很快找出新陣列的最大m個數?這時候可以用極小堆。 那羅延 先說結論,下面我要推薦的演算法,計算複雜度為 O n 這個計算複雜度可以秒殺排序演算法了,而且應該比select median要快 首...

齊次變換矩陣dh法的意義是什麼?

他鄉客 描述任意兩個座標系的相對位置關係可以用齊次矩陣來描述,但齊次矩陣總共12個引數,表示有點繁瑣,一般用乙個平移向量外加尤拉角總共6個引數來描述。dh法表示有兩個好處,一是通過限定z軸與x軸的位置 相當於加了兩個約束 使得兩個座標系間用4個引數就可以描述了。二是將移動副或旋轉副的運動量與dh裡的...

巔峰海盜戰能搶贏新版的DH嗎?

已登出 別吧,海盜體系上限太高了,狂野碰到過1費手牌打空跳一地的,也打過1費跳炮2費射4炮的,是真的嚇人,而且削弱前的瞎子yysy可不是快攻,主要致勝點在5 7費的直傷 場面的節奏壓制,你用對搶來描述這個對局太不合適了 行星齒輪 可以,巔峰海盜戰等於30血打29血 帕奇斯當年可是衝鋒,一血在快攻對局...