Hash

在 MD4 的第 2 輪和第 3 輪中如何選擇常數?

  • May 1, 2021

只是閱讀Ron Rivest 對 MD4 的解釋,散列使用兩個圓形常量一個 $ \text{5A827999} $ 在回合 $ 2 $ 和另一個 $ \text{6ED9EBA1} $ 在回合 $ 3 $ .

我認為它們應該是平方根的十六進製表示 $ 2 $ 和 $ 3 $ . 但 $ \sqrt{2} = 1.\text{6A09E667F} $ 和

$ \sqrt{3} = 1.\text{BB67AE858} $

這與給定的值非常不同。有任何想法嗎?

我自己在這裡找到了解決方案

它說

SHA-1 由 NSA 設計,使用常量 5a827999、6ed9eba1、8f1bbcdc 和 ca62c1d6。如果您還沒有註意到,這些是十六進製表示 $ 2^{30} $ 乘以 2、3、5 和 10 的平方根。

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