# keccak-asm
Simple wrappers for SHA-3 algorithms written in assembly.
Forked from OpenSSL, [Cryptogams](https://github.com/dot-asm/cryptogams), and [RustCrypto's `sha3`](https://github.com/RustCrypto/hashes/tree/master/sha3).
> [!WARNING]
> Code is somewhat [tested](./tests/test.rs) and [benchmarked](https://github.com/DaniPopes/bench-keccak256).
> Use at your own risk.
## Support
| x86 | ❌ | ❌ | ❌ |
| x86_64 | ✅ | ✅ | ✅ |
| aarch64 | ✅ | ✅ | 🟨 |
| powerpc{,64} | ✅ | N/A | N/A |
| powerpc64le | ❌ | N/A | N/A |
| riscv32 | ✅ | N/A | N/A |
| riscv64 | ✅ | N/A | N/A |
| mips{,el} | ✅ | N/A | N/A |
- ❌: Currently not supported.
- 🟨: Compiles, but is only built, not tested in CI. Should still work normally.
- ✅: Fully supported, with full CI coverage for the most popular target triples,
e.g. `x86_64-unknown-linux-gnu`, `aarch64-apple-darwin`, `x86_64-pc-windows-msvc`.
## License
Cryptogams is either licensed under [BSD-3-Clause](https://spdx.org/licenses/BSD-3-Clause.html) (the "new" BSD license, as specified [here](https://www.openssl.org/~appro/cryptogams/)), or the Linux Kernel's license [GPL-2.0-only](https://spdx.org/licenses/GPL-2.0-only.html).
See the [LICENSE](./LICENSE) file for more information.