#crypto #sha2 #asm

no-std sha2-asm

Assembly implementation of SHA-2 compression functions

15 releases

0.6.3 Aug 7, 2023
0.6.2 Jul 16, 2021
0.6.1 May 5, 2021
0.6.0 Feb 9, 2021
0.3.0 Jun 12, 2017

#2459 in Cryptography

Download history 15880/week @ 2023-08-10 31470/week @ 2023-08-17 64504/week @ 2023-08-24 50528/week @ 2023-08-31 87960/week @ 2023-09-07 74481/week @ 2023-09-14 73254/week @ 2023-09-21 89670/week @ 2023-09-28 91884/week @ 2023-10-05 90559/week @ 2023-10-12 90725/week @ 2023-10-19 99475/week @ 2023-10-26 94778/week @ 2023-11-02 105647/week @ 2023-11-09 52900/week @ 2023-11-16 16598/week @ 2023-11-23

287,070 downloads per month
Used in 83 crates (8 directly)

MIT license


GNU Style Assembly 1K SLoC // 0.2% comments Rust 51 SLoC

RustCrypto: ASM hashes Rust Version Project Chat dependency status

Assembly implementations of hash functions core functionality based on code from Project Nayuki.

Crates in this repository provide only core compression functions, for full hash functionality please refer to the crates from RustCrypto/hashes repository. With enabled asm feature md5, sha-1, sha2 and whirlpool crates will use code from this repository.

NOTE: this repo is in maintenance mode only

Now that inline assembly is stable (as of Rust 1.59), assembly should be added directly to the relevant crates at https://github.com/RustCrypto/hashes.

For more information, see #45.

Supported Platforms

All crates are tested on the following platforms:

  • Linux (32-bit and 64-bit x86)
  • Windows (64-bit x86, GNU only)
  • ARM64 (except md5, which is x86 only)

Windows MSVC builds are known to be broken. See #17.

Minimum Supported Rust Version

All crates in this repository support Rust 1.43 or higher.

In the future when the minimum supported Rust version is changed, it will be accompanied by a minor version bump.


All crates licensed under the MIT license.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


Assembly implementation of the SHA-2 compression functions.

This crate is not intended for direct use, most users should prefer the sha2 crate with enabled asm feature instead.

Only x86, x86-64, and (partially) AArch64 architectures are currently supported.

No runtime deps