美文网首页ugChain技术团队以太坊实践笔记
以太坊环境下SHA3与Keccak256的区别

以太坊环境下SHA3与Keccak256的区别

作者: Buffalo_Lv | 来源:发表于2018-03-24 18:27 被阅读125次

     

    SHA3采用Keccak算法,在很多场合下Keccak和SHA3是同义词,但在2015年8月SHA3最终完成标准化时,NIST调整了填充算法,标准的SHA3和原先的Keccak算法就有所区别了。在早期的Ethereum相关代码中,普遍使用SHA3代指Keccak256,为了避免和NIST标准的SHA3混淆,现在的代码直接使用Keccak256作为函数名。

    总结为一句话:Ethereum和Solidity智能合约代码中的SHA3是指Keccak256,而不是标准的NIST-SHA3,为了避免混淆,直接在合约代码中写成Keccak256是最清晰的。

    参考:

    https://github.com/ethereum/EIPs/issues/59

    http://ethereum.stackexchange.com/questions/550/which-cryptographic-hash-function-does-ethereum-use

    http://emn178.github.io/online-tools/sha3_256.html

    https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf

    相关文章

      网友评论

        本文标题:以太坊环境下SHA3与Keccak256的区别

        本文链接:https://www.haomeiwen.com/subject/kexccftx.html