https://github.com/rustcrypto/universal-hashes
Collection of universal hashing functions
https://github.com/rustcrypto/universal-hashes
Last synced: 8 months ago
JSON representation
Collection of universal hashing functions
- Host: GitHub
- URL: https://github.com/rustcrypto/universal-hashes
- Owner: RustCrypto
- Created: 2019-08-30T17:34:19.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-24T13:26:14.000Z (11 months ago)
- Last Synced: 2025-05-10T20:25:49.943Z (9 months ago)
- Language: Rust
- Size: 403 KB
- Stars: 29
- Watchers: 5
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# RustCrypto: Universal Hash Functions
[![Project Chat][chat-image]][chat-link]
[![dependency status][deps-image]][deps-link]
![Apache2/MIT licensed][license-image]
[![HAZMAT][hazmat-image]][hazmat-link]
Collection of [Universal Hash Functions] written in pure Rust.
## Crates
| Name | Crates.io | Documentation | MSRV |
|--------------|:---------:|:-------------:|:----:|
| [`ghash`] | [](https://crates.io/crates/ghash) | [](https://docs.rs/ghash) | ![MSRV 1.85][msrv-1.85] |
| [`poly1305`] | [](https://crates.io/crates/poly1305) | [](https://docs.rs/poly1305) | ![MSRV 1.85][msrv-1.85] |
| [`polyval`] | [](https://crates.io/crates/polyval) | [](https://docs.rs/polyval) | ![MSRV 1.85][msrv-1.85] |
## ⚠️ Security Warning: [Hazmat!][hazmat-link]
Universal hash functions have subtle security properties and are primarily intended as a
building block for constructions like AEAD algorithms.
USE AT YOUR OWN RISK!
## Usage
Crates functionality is expressed in terms of traits defined in the [`universal-hash`] crate.
## License
All crates licensed under either of
* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
* [MIT license](http://opensource.org/licenses/MIT)
at your option.
### Contribution
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.
[//]: # (badges)
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/channel/260051-universal-hashes
[deps-image]: https://deps.rs/repo/github/RustCrypto/universal-hashes/status.svg
[deps-link]: https://deps.rs/repo/github/RustCrypto/universal-hashes
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0-red.svg
[hazmat-link]: https://github.com/RustCrypto/meta/blob/master/HAZMAT.md
[msrv-1.85]: https://img.shields.io/badge/rustc-1.85.0+-blue.svg
[//]: # (crates)
[`ghash`]: https://github.com/RustCrypto/universal-hashes/tree/master/ghash
[`poly1305`]: https://github.com/RustCrypto/universal-hashes/tree/master/poly1305
[`polyval`]: https://github.com/RustCrypto/universal-hashes/tree/master/polyval
[//]: # (footnotes)
[Universal Hash Functions]: https://en.wikipedia.org/wiki/Universal_hashing
[`universal-hash`]: https://docs.rs/universal-hash