[ANN] `sha3` v0.10.7: now with `asm` feature and TurboSHAKE

Mini-release announcement for the sha3 crate:

The v0.10.7 release has two new features:

asm crate feature

The asm feature enables ARMv8 hardware acceleration when used on a supported platform, detected at runtime and falling back to the software implementation. Notable ARMv8 targets include Apple's A12-A16 iPhone CPUs and M1/M2 desktop/laptop CPUs, among others.

It leverages inline assembly as introduced in Rust 1.59, which means unlike some of our other crates with asm features it no longer complicates linking.


SHAKE is an eXtendable-Output Function (XOF), which works like a hash function but lets you get as much output as you want.

TurboSHAKE is a new reduced-round variant of SHAKE, extracted out of a more complex parallel hash function called KangarooTwelve. It's fast and simple, providing some of the best performance of any constructions in the (extended) SHA-3 family.

The v0.10.7 release includes support for TurboSHAKE, following the latest IETF draft specification.