Elliptic-Curves
可以直接使用原始 ECDH 共享密鑰進行加密嗎?
如果兩方計算 ECDH 共享密鑰,假設底層密鑰和 ECDH 大小匹配,他們能否(沒有安全漏洞)直接使用這個原始值作為加密密鑰?
此外,我特別關注使用靜態 ECC 密鑰而不是臨時密鑰的情況,但我也很好奇在使用臨時密鑰時是否可以使用原始 ECDH 值進行加密。我確實理解將 KDF 應用於 ECDH 機密是微不足道的,但我正在評估現有系統。系統使用
p256r1
並正在使用生成的 x 座標作為共享密鑰。
如果兩方計算 ECDH 共享密鑰,他們(沒有安全漏洞)可以直接使用這個原始值作為加密密鑰嗎?
如果 ECDH 曲線大小足夠大,那麼是的,沒有直接的安全漏洞。這會導致理論家們胃口大開(因為對稱密鑰應該是統一選擇的,而在這種情況下並非如此),但是攻擊者沒有實用的方法來利用它。
舉個例子:假設 ECDH 是在 P256 上完成的,並且您使用 x 座標作為共享密鑰;並且您使用該共享密鑰來加密 AES-256。
然後,攻擊者知道(大約)一半可能的 AES-256 密鑰是不可能的(因為它們不能是 P256 點的 x 座標);但是仍然有大約 $ 2^{255} $ 鍵可能是可能的值,並且搜尋那麼大的空間仍然是不切實際的。