This module implements Keccak-f1600 sponge permutation and high-level APIs for various modes of it, including SHA-3 hashes.
SHA-3 standard is not finalized, so actual output values are not stable yet. This implementation is up-to-date with Apr-2014 draft of FIPS-202. (Although it's unlikely that final SHA-3 changes hash parameters or padding again, instead they might add more modes.)
Features:
- Hashing (SHA3), PRNG, Stream cipher, AEAD cipher (SpongeWrap).
- Optimized-C implementation from Keccak reference code, with separate paths for 64- and 32-bit CPUs.
- Works with both Python 2.x and 3.x.
Todo:
- Sync with final SHA-3.
- Optimized ASM implementations.
- Other Keccak permutation sizes.
- Other sponge algorithms.
- Other sponge modes.
Links:
- Documentation
- Downloads
- Git repo