monero-docs/docs/cryptography/keccak-256.md
2018-01-05 17:36:27 +01:00

1.4 KiB

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