#assembly #sha-3 #keccak256 #primitive

no-std keccak-asm

Simple wrappers for SHA-3 algorithms written in assembly

5 releases

0.1.4 Sep 10, 2024
0.1.3 Aug 5, 2024
0.1.2 Aug 5, 2024
0.1.1 May 9, 2024
0.1.0 Dec 26, 2023

#140 in Cryptography

Download history 141146/week @ 2025-09-20 147184/week @ 2025-09-27 156929/week @ 2025-10-04 140225/week @ 2025-10-11 150471/week @ 2025-10-18 159644/week @ 2025-10-25 172609/week @ 2025-11-01 171169/week @ 2025-11-08 155598/week @ 2025-11-15 180608/week @ 2025-11-22 195350/week @ 2025-11-29 200714/week @ 2025-12-06 186697/week @ 2025-12-13 104340/week @ 2025-12-20 102414/week @ 2025-12-27 188210/week @ 2026-01-03

615,553 downloads per month
Used in 625 crates (3 directly)

BSD-3-Clause

2MB
60K SLoC

Perl 58K SLoC // 0.1% comments JavaScript 1K SLoC // 0.0% comments WebAssembly 584 SLoC // 0.1% comments GNU Style Assembly 559 SLoC // 0.0% comments Rust 396 SLoC // 0.1% comments C# 101 SLoC // 0.0% comments

keccak-asm

Simple wrappers for SHA-3 algorithms written in assembly.

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

[!WARNING] Code is somewhat tested and benchmarked. Use at your own risk.

Support

Architecture Linux macOS Windows
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 (the "new" BSD license, as specified here), or the Linux Kernel's license GPL-2.0-only. See the LICENSE file for more information.

Dependencies

~0.5–1MB
~22K SLoC