Skip to main content

Crate keccak_asm

Crate keccak_asm 

Source
Expand description

§keccak-asm

Simple wrappers for SHA-3 algorithms written in assembly.

Forked from OpenSSL, Cryptogams, and RustCrypto’s sha3.

These crates have been extensively used in production as the main keccak256 backend in the Ethereum client Reth since v0.1.0-alpha.15 (January 2024).

Rust 1.89 or newer is required.

§Support

ArchitectureLinuxmacOSWindows
x86❌❌❌
x86_64✅✅✅
aarch64✅✅🟨
powerpc{,64}✅N/AN/A
powerpc64le❌N/AN/A
riscv32✅N/AN/A
riscv64✅N/AN/A
mips{,el}✅N/AN/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 (the “new” BSD license, as specified here), or the Linux Kernel’s license GPL-2.0-only. See the LICENSE file for more information.

Re-exports§

pub use self;

Structs§

Keccak224
Keccak-224 hasher state.
Keccak256
Keccak-256 hasher state.
Keccak384
Keccak-384 hasher state.
Keccak512
Keccak-512 hasher state.
Sha3_224
SHA-3-224 hasher state.
Sha3_256
SHA-3-256 hasher state.
Sha3_384
SHA-3-384 hasher state.
Sha3_512
SHA-3-512 hasher state.

Traits§

Digest
Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.