Monero使用keccak作为散列函数。在大多数情况下都专门使用了keccak-256,以提供32字节哈希。
Keccak是领先的哈希函数,由non-NSA设计师设计。Keccak赢得了 NIST competition ,以此成为正式的SHA3。
用例
Monero不使用Keccak作为工作证明。相反,Keccak用于:
- 随机数生成器
- 区块哈希
- 交易哈希
- 隐藏地址私钥映像 (预防双花)
- public address checksum
- RingCT
- multisig
- bulletproofs
...以及其他的功能.
Keccak-256 vs SHA3-256
sha3-256 就是keccak-256,但NIST更改了填充。因此,原始的keccak-256给出的哈希值与nist sha3-256不同。 Monero使用了原来的Keccak-256。NIST标准仅于2015年8月发布,Monero于2014年4月18日上线。
参考
- Keccak source code used in Monero
- SHA3 on Wikipedia
- Keccak-256 vs SHA3-256 explained on Ethereum stackexchange
- Online tool to calculate Keccak-256 and SHA3-256
本章内容由 JasonWan 翻译制作,欢迎打赏作者。 JasonWan 的门罗币钱包地址 为:
49UFRTW47HQ5dbpCPF5Ly36gP1s77Hg7j2Wcqe7VJ5wEW4fsywdyiR81x1Uey13pCWG26skGdj9CfG6Mk6xrKZmW7GKC35h