polyhash

Crates.iopolyhash
lib.rspolyhash
version0.1.2
sourcesrc
created_at2023-06-22 06:18:29.689192
updated_at2023-06-22 06:20:13.511602
descriptionPOLYVAL per RFC 8452.
homepage
repositoryhttps://github.com/ericlagergren/polyval-rs
max_upload_size
id896946
size56,163
Eric Lagergren (ericlagergren)

documentation

https://docs.rs/polyhash

README

polyhash

Docs

This crate implements POLYVAL per RFC 8452.

The universal hash function POLYVAL is the byte-wise reverse of GHASH.

Installation

[dependencies]
polyhash = "0.1"

Performance

The ARMv8 and x86-64 assembly backends run at about 0.17 cycles per byte. The x86-64 implementation requires SSE2 and PCLMULQDQ instructions. The ARMv8 implementation requires NEON and PMULL.

The defualt Rust implementation will be selected if the CPU does not support either assembly implementation. (This implementation can also be selected with the soft feature.) It is much slower at around 7 cycles per byte.

Security

Disclosure

This project uses full disclosure. If you find a security bug in an implementation, please e-mail me or create a GitHub issue.

Disclaimer

You should only use cryptography libraries that have been reviewed by cryptographers or cryptography engineers. While I am a cryptography engineer, I'm not your cryptography engineer, and I have not had this project reviewed by any other cryptographers.

Commit count: 1

cargo fmt