Hash

keccak256和sha3的區別

  • November 19, 2021

我一直在審查遵循 FIPS 標準的 keccak256 實現和 sha3-256。海綿功能需要一段時間才能設置,但我注意到實現方式有所不同:

我注意到 web3.js 使用了 sha3 的 crypto-js 實現:https ://github.com/brix/crypto-js/blob/develop/src/sha3.js 從中我收集了 var LFSR = 0x01;

在 sha3-256 中設置為 0x06。我在這個觀察中正確嗎?

還有哪些不同之處?

從答案SHA-3 標準草案和 Keccak 送出的主要區別是什麼?

  1. 不,他們沒有,內部和安全級別從 Keccak 送出的草案中沒有改變,只有填充規則發生了變化。
  2. 填充變化是唯一的區別,這允許未來的樹散列模式以及目前的 SHAKE 輸出在給定相同的安全參數和消息輸入的情況下生成不同的摘要。最多添加 4 個額外的位,將完整的填充保持在字節邊界內,使得僅使用八位字節輸入的實現能夠從 Keccak 切換到 SHA-3,只需更改為一行程式碼。
  3. 填充更改對 SHA-3 的安全性沒有負面影響。

引用自:https://ethereum.stackexchange.com/questions/30369