sha3
C11 implementations of the following SHA-3 algorithms from FIPS 202 and SP 800-185:
- SHA3-224
- SHA3-256
- SHA3-384
- SHA3-512
- HMAC-SHA3-224
- HMAC-SHA3-256
- HMAC-SHA3-384
- HMAC-SHA3-512
- SHAKE128 and SHAKE128-XOF
- SHAKE256 and SHAKE256-XOF
- cSHAKE128 and cSHAKE128-XOF
- cSHAKE256 and cSHAKE256-XOF
- KMAC128 and KMAC128-XOF
- KMAC256 and KMAC256-XOF
- TupleHash128 and TupleHash128-XOF
- TupleHash256 and TupleHash256-XOF
- ParallelHash128 and ParallelHash128-XOF
- ParallelHash256 and ParallelHash256-XOF
- TurboHash128 and TurboHash256 (incomplete)
Use make
to build a minimal test application, and make test
to run
the test suite.
References
- FIPS 202 - SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions
- NIST SP 800-185 - SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash, and ParallelHash
- FIPS 198-1 - The Keyed-Hash Message Authentication Code (HMAC)
- NIST CSRC: Cryptographic Standards and Guidelines: Examples with Intermediate Values