Hash

基於離散對數問題的散列

  • August 14, 2018

乍一看,可以使用橢圓曲線離散對數問題來授予單向性 $ H(x)=x*G $ (在哪裡 $ G $ 是循環子群的生成點)。

此外, $ H(x) $ 是同態的,因為 $ H(x+y)=H(x)+H(y) $ ,這在某些應用程序中可能被證明是雜湊函式的有用屬性。

使這種散列方案在實踐中不流行的一些缺點或漏洞是什麼?

基於離散對數問題的安全散列函式是 $ H(x|y)=x\cdot G+y\cdot P $ , 在哪裡 $ P $ 是離散對數未知的隨機點,並且“ $ | $ " 表示串聯;這由 Damgård 顯示。這可以在離散對數假設下證明是抗碰撞的(如果你能找到衝突,那麼這可以用來找到離散對數 $ P $ )。請注意,為了使其感興趣,輸出必須比輸入短。但是,對於大多數曲線,這很容易通過使用點壓縮來實現。一旦你有了這個函式,你就可以通過應用 Merkle-Damgård 變換得到一個通用的抗碰撞雜湊函式。

當然,這將是非常低效的,但它是離散對數問題的抗衝突雜湊函式。

介紹這一點的論文是Ivan Damgård 的無衝突雜湊函式和公鑰簽名方案。Katz-Lindell 教科書(第二版)的第 8.4.2 節也對此進行了描述。

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