在 NIST 模數和密鑰大小建議中,“組”等效於模數,“鍵”等效於指數?
查看以下NIST對離散對數的建議,對於 2016-2030 年及以後,他們列出了 3072 位數字
group
和 256 位key
.如果使用 Diffie-Hellman,是否
group
等於建議的素數模數key
大小和建議的私鑰指數大小?
是的,當使用基於離散對數難度的密碼系統時 $ \Bbb Z_p^* $ 或其子組,3072 位組的密鑰大小建議意味著模 $ p $ 是 3072 位,而 256 位密鑰意味著私有指數(密鑰)是 256 位。
在某些(據我所知:全部)NIST 上下文中,256 位密鑰還意味著公共生成器的順序 $ g $ 是 256 位素數 $ q $ ,並且(因此) $ p-1 $ 有那個 256 位素數 $ q $ , 公鑰屬於 $ \Bbb Z_p^* $ 有秩序 $ q $ . 一代 $ p $ 和 $ q $ 在FIPS 186-4 附錄 A中進行了描述(Dave Thompson 的評論解釋了這適用於各種尺寸,包括 3072/256)。
在所有情況下,私有指數的寬度都應至少是安全級別(以位為單位)的兩倍,以防止Baby-step Giant-step和Pollard 的 rho。這是好的和習慣的 $ p-1 $ 有一個很大的素因數 $ q $ ,以及生成器的順序 $ g $ 是那個的倍數 $ q $ . 那 $ q $ 應該至少是安全級別的兩倍寬,以防止Pohlig-Hellman。
的寬度 $ p $ 是由對GNFS的離散日誌擴展的阻力決定的,這就是為什麼此參數的建議與 RSA 公共模數的建議相匹配的原因。
在 Diffie-Hellman 中,可以(但不必)選擇它 $ p $ 這樣 $ q=(p-1)/2 $ 是素數,因此 $ g $ 有秩序的 $ (p-1)/2 $ 或者 $ p-1 $ ,即使鍵更窄。