mirror of
https://github.com/monero-project/monero-docs.git
synced 2024-12-23 12:09:44 +00:00
1.5 KiB
1.5 KiB
title |
---|
Keccak-256 Hash Function |
Keccak-256 Hash Function
Monero employs Keccak as a hashing function. In most context specifically Keccak-256 is used, providing 32-byte hashes.
Keccak is the leading hashing function, designed by non-NSA designers. Keccak won NIST competition to become the official SHA3.
Use Cases
Monero does not employ Keccak for Proof-of-Work. Instead, Keccak is used for:
- random number generator
- block hashing
- transaction hashing
- stealth address private key image (for double spend protection)
- public address checksum
- RingCT
- multisig
- bulletproofs
...and likely a few other things.
Keccak-256 vs SHA3-256
SHA3-256 is Keccak-256, except NIST changed padding. For that reason original Keccak-256 gives in a different hash value than NIST SHA3-256.
Monero uses original Keccak-256. The NIST standard was only published on August 2015, while Monero went live on 18 April 2014.
Reference
- 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