Skip to content

Commit ddbf70b

Browse files
authored
Add hazmat warnings (#199)
Closes RustCrypto/traits#1327
1 parent 4e7d04f commit ddbf70b

File tree

4 files changed

+56
-8
lines changed

4 files changed

+56
-8
lines changed

README.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RustCrypto: Universal Hash Functions ![Rust Version][rustc-image] [![dependency status][deps-image]][deps-link]
1+
# RustCrypto: Universal Hash Functions ![Rust Version][rustc-image] [![dependency status][deps-image]][deps-link] [![HAZMAT][hazmat-image]][hazmat-link]
22

33
Collection of [Universal Hash Functions][1] written in pure Rust.
44

@@ -10,18 +10,25 @@ Collection of [Universal Hash Functions][1] written in pure Rust.
1010
| [`poly1305`] | [![crates.io](https://img.shields.io/crates/v/poly1305.svg)](https://crates.io/crates/poly1305) | [![Documentation](https://docs.rs/poly1305/badge.svg)](https://docs.rs/poly1305) | ![build](https://github.com/RustCrypto/universal-hashes/workflows/poly1305/badge.svg?branch=master&event=push) |
1111
| [`polyval`] | [![crates.io](https://img.shields.io/crates/v/polyval.svg)](https://crates.io/crates/polyval) | [![Documentation](https://docs.rs/polyval/badge.svg)](https://docs.rs/polyval) | ![build](https://github.com/RustCrypto/universal-hashes/workflows/polyval/badge.svg?branch=master&event=push) |
1212

13-
### Minimum Supported Rust Version
13+
## ⚠️ Security Warning: [Hazmat!][hazmat-link]
1414

15-
All crates in this repository support **Rust 1.56** or higher.
15+
Universal hash functions have subtle security properties and are primarily intended as a
16+
building block for constructions like AEAD algorithms.
1617

17-
In the future, we reserve the right to change the Minimum Supported Rust
18-
Version, but it will be done with the minor version bump.
18+
USE AT YOUR OWN RISK!
1919

2020
## Usage
2121

2222
Crates functionality is expressed in terms of traits defined in the [`universal-hash`][2]
2323
crate.
2424

25+
### Minimum Supported Rust Version
26+
27+
All crates in this repository support **Rust 1.56** or higher.
28+
29+
In the future, we reserve the right to change the Minimum Supported Rust
30+
Version, but it will be done with the minor version bump.
31+
2532
## License
2633

2734
All crates licensed under either of
@@ -42,6 +49,8 @@ dual licensed as above, without any additional terms or conditions.
4249
[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg
4350
[deps-image]: https://deps.rs/repo/github/RustCrypto/universal-hashes/status.svg
4451
[deps-link]: https://deps.rs/repo/github/RustCrypto/universal-hashes
52+
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0-red.svg
53+
[hazmat-link]: https://github.com/RustCrypto/meta/blob/master/HAZMAT.md
4554

4655
[//]: # (crates)
4756

ghash/README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
![Apache2/MIT licensed][license-image]
66
![Rust Version][rustc-image]
77
[![Build Status][build-image]][build-link]
8+
[![HAZMAT][hazmat-image]][hazmat-link]
89

910
[GHASH][1] is a [universal hash function][2] which operates over GF(2^128) and
1011
can be used for constructing a [Message Authentication Code (MAC)][3].
@@ -13,7 +14,17 @@ Its primary intended use is for implementing [AES-GCM][4].
1314

1415
[Documentation][docs-link]
1516

16-
## Security Notes
17+
## Security
18+
19+
### ⚠️ Warning: [Hazmat!][hazmat-link]
20+
21+
Universal hash functions have subtle security properties and using them
22+
correctly is difficult. See the [toplevel README.md](../README.md) for more
23+
information.
24+
25+
USE AT YOUR OWN RISK!
26+
27+
### Notes
1728

1829
This crate has received one [security audit by NCC Group][5], with no significant
1930
findings. We would like to thank [MobileCoin][6] for funding the audit.
@@ -52,6 +63,8 @@ dual licensed as above, without any additional terms or conditions.
5263
[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg
5364
[build-image]: https://github.com/RustCrypto/universal-hashes/workflows/ghash/badge.svg?branch=master&event=push
5465
[build-link]: https://github.com/RustCrypto/universal-hashes/actions?query=workflow%3Aghash
66+
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0-red.svg
67+
[hazmat-link]: https://github.com/RustCrypto/meta/blob/master/HAZMAT.md
5568

5669
[//]: # (footnotes)
5770

poly1305/README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
![Apache2/MIT licensed][license-image]
66
![Rust Version][rustc-image]
77
[![Build Status][build-image]][build-link]
8+
[![HAZMAT][hazmat-image]][hazmat-link]
89

910
[Poly1305][1] is a [universal hash function][2] which, when combined with a cipher,
1011
can be used as a [Message Authentication Code (MAC)][3].
@@ -15,7 +16,17 @@ In practice, Poly1305 is primarily combined with ciphers from the
1516

1617
[Documentation][docs-link]
1718

18-
## Security Notes
19+
## Security
20+
21+
### ⚠️ Warning: [Hazmat!][hazmat-link]
22+
23+
Universal hash functions have subtle security properties and using them
24+
correctly is difficult. See the [toplevel README.md](../README.md) for more
25+
information.
26+
27+
USE AT YOUR OWN RISK!
28+
29+
### Notes
1930

2031
This crate has received one [security audit by NCC Group][7], with no significant
2132
findings. We would like to thank [MobileCoin][8] for funding the audit.
@@ -56,6 +67,8 @@ dual licensed as above, without any additional terms or conditions.
5667
[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg
5768
[build-image]: https://github.com/RustCrypto/universal-hashes/workflows/poly1305/badge.svg?branch=master&event=push
5869
[build-link]: https://github.com/RustCrypto/universal-hashes/actions?query=workflow%3Apoly1305
70+
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0-red.svg
71+
[hazmat-link]: https://github.com/RustCrypto/meta/blob/master/HAZMAT.md
5972

6073
[//]: # (footnotes)
6174

polyval/README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
[![Build Status][build-image]][build-link]
66
![Apache2/MIT licensed][license-image]
77
![Rust Version][rustc-image]
8+
[![HAZMAT][hazmat-image]][hazmat-link]
89

910
[POLYVAL][1] ([RFC 8452][2]) is a [universal hash function][3] which operates
1011
over GF(2^128) and can be used for constructing a
@@ -16,7 +17,17 @@ closely related to [GHASH][6] and therefore can also be used to implement
1617

1718
[Documentation][docs-link]
1819

19-
## Security Notes
20+
## Security
21+
22+
### ⚠️ Warning: [Hazmat!][hazmat-link]
23+
24+
Universal hash functions have subtle security properties and using them
25+
correctly is difficult. See the [toplevel README.md](../README.md) for more
26+
information.
27+
28+
USE AT YOUR OWN RISK!
29+
30+
### Notes
2031

2132
This crate has received one [security audit by NCC Group][8], with no significant
2233
findings. We would like to thank [MobileCoin][9] for funding the audit.
@@ -55,6 +66,8 @@ dual licensed as above, without any additional terms or conditions.
5566
[build-link]: https://github.com/RustCrypto/universal-hashes/actions?query=workflow%3Apolyval
5667
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
5768
[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg
69+
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0-red.svg
70+
[hazmat-link]: https://github.com/RustCrypto/meta/blob/master/HAZMAT.md
5871

5972
[//]: # (footnotes)
6073

0 commit comments

Comments
 (0)