Diffie-Hellman

Https 中的 Diffie-Hellman:質數是如何挑選的?

  • February 21, 2020

我試圖理解 https,因為我理解 https 使用 Diffie-Hellman 方法進行密鑰交換,然後使用 AES 進行加密。

但是 Diffie-Hellman 需要兩個素數,它們從何而來?

TLS 通常使用RFC7919中指定的 DH 組。RFC 選擇它指定的模數,以便 $ (p-1)/2 $ 也是素數(因此值 $ g $ 是選擇生成一個大的素數子組) - 這些素數具有許多其他很好的實用屬性。

在 TLS 1.2 中,客戶端可以指定它自己的組,但是不鼓勵這樣做(因為客戶端可能會出錯,並且因為它使伺服器難以進行有效性檢查)。

在 TLS 1.3 中,他們刪除了指定您自己的組的選項,因此 RFC7919 中的組(或橢圓曲線組或私有組)是您唯一的選擇。

引用自:https://crypto.stackexchange.com/questions/77756