Diffie-Hellman

有限域離散對數密碼學標準

  • March 22, 2020

在有限域上進行 Diffie-Hellman 密鑰交換的NISTTLS標準都適用於 $ {\mathbb Z}_p^* $ 有素數 $ q $ , 在哪裡 $ p = 2q+1 $ . 另一方面,DSA 有一個更大的輔因子,即它在一個子組中起作用 $ {\mathbb Z}_p^* $ 有素數 $ q $ , 在哪裡 $ p = rq+1 $ 和 $ r \gg 2 $ . 後者是有道理的,因為它提供了更高的效率,同時仍然提供了針對已知攻擊的相同安全性。

那麼,為什麼 NIST/TLS 標準不允許輔因子大於 2?

那麼,為什麼 NIST/TLS 標準不允許輔因子大於 2?

實際上,NIST 確實允許更大的輔因子 - 參見 SP800-56A 中的表 1 - 它們允許子組 (q) 明顯小於模數 (p)。

至於 TLS,之前版本的 TLS(1.2 和更早版本)確實允許伺服器指定組(並且對輔因子沒有要求)。在 TLS 1.3 中,它們只允許使用少數特定組,所有組的輔因子為 2。是否有特定原因他們應該包含具有更大輔因子的組?

在 DH 密鑰交換的情況下避免非安全素數的一個可能原因是避免像 Valenta 等人在論文中確定的小型子組攻擊。(NDSS 2016)。

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