HomeFreeBSD

Implement SHA-512 truncated (224 and 256 bits)

Description

Implement SHA-512 truncated (224 and 256 bits)

This implements SHA-512/256, which generates a 256 bit hash by
calculating the SHA-512 then truncating the result. A different initial
value is used, making the result different from the first 256 bits of
the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on
64bit platforms, so the result is a faster 256 bit hash.

The main goal of this implementation is to enable support for this
faster hashing algorithm in ZFS. The feature was introduced into ZFS
in r289422, but is disconnected because SHA-512/256 support was missing.
A further commit will enable it in ZFS.

This is the follow on to r292782

Reviewed by: cem
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D6061

Details

Provenance
allanjudeAuthored on
Reviewer
cem
Differential Revision
D6061: Implement SHA-512 truncated (224 and 256 bits)
Parents
rS300902: Don't panic in hwpmc when stopping sampling.
Branches
Unknown
Tags
Unknown