From bcadea7e501d1710096d8b418f2284a0c242bfb3 Mon Sep 17 00:00:00 2001 From: somehybrid Date: Sun, 28 Jul 2024 18:35:19 +0700 Subject: [PATCH 1/2] Added recommendation badges --- README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index bf56003a..45a61fbc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + # RustCrypto: Authenticated Encryption with Associated Data (AEAD) Algorithms [![Dependency Status][deps-image]][deps-link] @@ -16,17 +17,17 @@ crate. ## Crates -| Name | Algorithm | Crates.io | Documentation | MSRV | -|----------------------|------------------------------|-----------|---------------|-------| -| [`aes-gcm-siv`] | [AES-GCM-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-gcm-siv.svg)](https://crates.io/crates/aes-gcm-siv) | [![Documentation](https://docs.rs/aes-gcm-siv/badge.svg)](https://docs.rs/aes-gcm-siv) | 1.51 | -| [`aes-gcm`] | [AES-GCM] | [![crates.io](https://img.shields.io/crates/v/aes-gcm.svg)](https://crates.io/crates/aes-gcm) | [![Documentation](https://docs.rs/aes-gcm/badge.svg)](https://docs.rs/aes-gcm) | 1.51 | -| [`aes-siv`] | [AES-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-siv.svg)](https://crates.io/crates/aes-siv) | [![Documentation](https://docs.rs/aes-siv/badge.svg)](https://docs.rs/aes-siv) | 1.51 | -| [`ascon-aead`] | [Ascon] | [![crates.io](https://img.shields.io/crates/v/ascon-aead.svg)](https://crates.io/crates/ascon-aead) | [![Documentation](https://docs.rs/ascon-aead/badge.svg)](https://docs.rs/ascon-aead) | 1.56 | -| [`ccm`] | [CCM] | [![crates.io](https://img.shields.io/crates/v/ccm.svg)](https://crates.io/crates/ccm) | [![Documentation](https://docs.rs/ccm/badge.svg)](https://docs.rs/ccm) | 1.41 | -| [`chacha20poly1305`] | [(X)ChaCha20Poly1305] | [![crates.io](https://img.shields.io/crates/v/chacha20poly1305.svg)](https://crates.io/crates/chacha20poly1305) | [![Documentation](https://docs.rs/chacha20poly1305/badge.svg)](https://docs.rs/chacha20poly1305) | 1.56 | -| [`deoxys`] | [Deoxys-I/II] | [![crates.io](https://img.shields.io/crates/v/deoxys.svg)](https://crates.io/crates/deoxys) | [![Documentation](https://docs.rs/deoxys/badge.svg)](https://docs.rs/deoxys) | 1.51 | -| [`eax`] | [EAX] | [![crates.io](https://img.shields.io/crates/v/eax.svg)](https://crates.io/crates/eax) | [![Documentation](https://docs.rs/eax/badge.svg)](https://docs.rs/eax) | 1.41 | -| [`mgm`] | [MGM] | [![crates.io](https://img.shields.io/crates/v/mgm.svg)](https://crates.io/crates/mgm) | [![Documentation](https://docs.rs/mgm/badge.svg)](https://docs.rs/mgm) | 1.41 | +| Name | Algorithm | Crates.io | Documentation | MSRV | Recommended | +| -------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`aes-gcm-siv`] | [AES-GCM-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-gcm-siv.svg)](https://crates.io/crates/aes-gcm-siv) | [![Documentation](https://docs.rs/aes-gcm-siv/badge.svg)](https://docs.rs/aes-gcm-siv) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`aes-gcm`] | [AES-GCM] | [![crates.io](https://img.shields.io/crates/v/aes-gcm.svg)](https://crates.io/crates/aes-gcm) | [![Documentation](https://docs.rs/aes-gcm/badge.svg)](https://docs.rs/aes-gcm) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`aes-siv`] | [AES-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-siv.svg)](https://crates.io/crates/aes-siv) | [![Documentation](https://docs.rs/aes-siv/badge.svg)](https://docs.rs/aes-siv) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`ascon-aead`] | [Ascon] | [![crates.io](https://img.shields.io/crates/v/ascon-aead.svg)](https://crates.io/crates/ascon-aead) | [![Documentation](https://docs.rs/ascon-aead/badge.svg)](https://docs.rs/ascon-aead) | 1.56 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`ccm`] | [CCM] | [![crates.io](https://img.shields.io/crates/v/ccm.svg)](https://crates.io/crates/ccm) | [![Documentation](https://docs.rs/ccm/badge.svg)](https://docs.rs/ccm) | 1.41 | ![Recommendation](https://camo.githubusercontent.com/a13783201769b4f01ff2f1d9a736b0419787614a16ef60edf9fc7dc854346f6c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d6e65757472616c2d696e6163746976652e737667) | +| [`chacha20poly1305`] | [(X)ChaCha20Poly1305] | [![crates.io](https://img.shields.io/crates/v/chacha20poly1305.svg)](https://crates.io/crates/chacha20poly1305) | [![Documentation](https://docs.rs/chacha20poly1305/badge.svg)](https://docs.rs/chacha20poly1305) | 1.56 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`deoxys`] | [Deoxys-I/II] | [![crates.io](https://img.shields.io/crates/v/deoxys.svg)](https://crates.io/crates/deoxys) | [![Documentation](https://docs.rs/deoxys/badge.svg)](https://docs.rs/deoxys) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`eax`] | [EAX] | [![crates.io](https://img.shields.io/crates/v/eax.svg)](https://crates.io/crates/eax) | [![Documentation](https://docs.rs/eax/badge.svg)](https://docs.rs/eax) | 1.41 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | +| [`mgm`] | [MGM] | [![crates.io](https://img.shields.io/crates/v/mgm.svg)](https://crates.io/crates/mgm) | [![Documentation](https://docs.rs/mgm/badge.svg)](https://docs.rs/mgm) | 1.41 | ![Recommendation](https://camo.githubusercontent.com/a13783201769b4f01ff2f1d9a736b0419787614a16ef60edf9fc7dc854346f6c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d6e65757472616c2d696e6163746976652e737667) | ## MSRV Policy @@ -85,3 +86,4 @@ dual licensed as above, without any additional terms or conditions. [EAX]: https://en.wikipedia.org/wiki/EAX_mode [MGM]: https://eprint.iacr.org/2019/123.pdf [(X)ChaCha20Poly1305]: https://tools.ietf.org/html/rfc8439 + From bbc06ec3dabd0d0c30660e490d1d81991a749d0f Mon Sep 17 00:00:00 2001 From: somehybrid Date: Thu, 1 Aug 2024 17:45:26 +0700 Subject: [PATCH 2/2] Switched from badges to hearts --- README.md | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 45a61fbc..d4e3238e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # RustCrypto: Authenticated Encryption with Associated Data (AEAD) Algorithms [![Dependency Status][deps-image]][deps-link] @@ -17,17 +16,25 @@ crate. ## Crates -| Name | Algorithm | Crates.io | Documentation | MSRV | Recommended | -| -------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`aes-gcm-siv`] | [AES-GCM-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-gcm-siv.svg)](https://crates.io/crates/aes-gcm-siv) | [![Documentation](https://docs.rs/aes-gcm-siv/badge.svg)](https://docs.rs/aes-gcm-siv) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`aes-gcm`] | [AES-GCM] | [![crates.io](https://img.shields.io/crates/v/aes-gcm.svg)](https://crates.io/crates/aes-gcm) | [![Documentation](https://docs.rs/aes-gcm/badge.svg)](https://docs.rs/aes-gcm) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`aes-siv`] | [AES-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-siv.svg)](https://crates.io/crates/aes-siv) | [![Documentation](https://docs.rs/aes-siv/badge.svg)](https://docs.rs/aes-siv) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`ascon-aead`] | [Ascon] | [![crates.io](https://img.shields.io/crates/v/ascon-aead.svg)](https://crates.io/crates/ascon-aead) | [![Documentation](https://docs.rs/ascon-aead/badge.svg)](https://docs.rs/ascon-aead) | 1.56 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`ccm`] | [CCM] | [![crates.io](https://img.shields.io/crates/v/ccm.svg)](https://crates.io/crates/ccm) | [![Documentation](https://docs.rs/ccm/badge.svg)](https://docs.rs/ccm) | 1.41 | ![Recommendation](https://camo.githubusercontent.com/a13783201769b4f01ff2f1d9a736b0419787614a16ef60edf9fc7dc854346f6c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d6e65757472616c2d696e6163746976652e737667) | -| [`chacha20poly1305`] | [(X)ChaCha20Poly1305] | [![crates.io](https://img.shields.io/crates/v/chacha20poly1305.svg)](https://crates.io/crates/chacha20poly1305) | [![Documentation](https://docs.rs/chacha20poly1305/badge.svg)](https://docs.rs/chacha20poly1305) | 1.56 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`deoxys`] | [Deoxys-I/II] | [![crates.io](https://img.shields.io/crates/v/deoxys.svg)](https://crates.io/crates/deoxys) | [![Documentation](https://docs.rs/deoxys/badge.svg)](https://docs.rs/deoxys) | 1.51 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`eax`] | [EAX] | [![crates.io](https://img.shields.io/crates/v/eax.svg)](https://crates.io/crates/eax) | [![Documentation](https://docs.rs/eax/badge.svg)](https://docs.rs/eax) | 1.41 | ![Recommendation](https://camo.githubusercontent.com/6e4d5830e5bfeedf8460f2dae30ccc24a1d55c96284a2ad833dcba1f0b38aace/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d7965732d737563636573732e737667) | -| [`mgm`] | [MGM] | [![crates.io](https://img.shields.io/crates/v/mgm.svg)](https://crates.io/crates/mgm) | [![Documentation](https://docs.rs/mgm/badge.svg)](https://docs.rs/mgm) | 1.41 | ![Recommendation](https://camo.githubusercontent.com/a13783201769b4f01ff2f1d9a736b0419787614a16ef60edf9fc7dc854346f6c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7265636f6d6d656e6465642d6e65757472616c2d696e6163746976652e737667) | +| Name | Algorithm | Crates.io | Documentation | MSRV | Security | +| -------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---- | -------- | +| [`aes-gcm-siv`] | [AES-GCM-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-gcm-siv.svg)](https://crates.io/crates/aes-gcm-siv) | [![Documentation](https://docs.rs/aes-gcm-siv/badge.svg)](https://docs.rs/aes-gcm-siv) | 1.51 | 💚 | +| [`aes-gcm`] | [AES-GCM] | [![crates.io](https://img.shields.io/crates/v/aes-gcm.svg)](https://crates.io/crates/aes-gcm) | [![Documentation](https://docs.rs/aes-gcm/badge.svg)](https://docs.rs/aes-gcm) | 1.51 | 💚 | +| [`aes-siv`] | [AES-SIV] | [![crates.io](https://img.shields.io/crates/v/aes-siv.svg)](https://crates.io/crates/aes-siv) | [![Documentation](https://docs.rs/aes-siv/badge.svg)](https://docs.rs/aes-siv) | 1.51 | 💚 | +| [`ascon-aead`] | [Ascon] | [![crates.io](https://img.shields.io/crates/v/ascon-aead.svg)](https://crates.io/crates/ascon-aead) | [![Documentation](https://docs.rs/ascon-aead/badge.svg)](https://docs.rs/ascon-aead) | 1.56 | 💚 | +| [`ccm`] | [CCM] | [![crates.io](https://img.shields.io/crates/v/ccm.svg)](https://crates.io/crates/ccm) | [![Documentation](https://docs.rs/ccm/badge.svg)](https://docs.rs/ccm) | 1.41 | 🤍 | +| [`chacha20poly1305`] | [(X)ChaCha20Poly1305] | [![crates.io](https://img.shields.io/crates/v/chacha20poly1305.svg)](https://crates.io/crates/chacha20poly1305) | [![Documentation](https://docs.rs/chacha20poly1305/badge.svg)](https://docs.rs/chacha20poly1305) | 1.56 | 💚 | +| [`deoxys`] | [Deoxys-I/II] | [![crates.io](https://img.shields.io/crates/v/deoxys.svg)](https://crates.io/crates/deoxys) | [![Documentation](https://docs.rs/deoxys/badge.svg)](https://docs.rs/deoxys) | 1.51 | 💚 | +| [`eax`] | [EAX] | [![crates.io](https://img.shields.io/crates/v/eax.svg)](https://crates.io/crates/eax) | [![Documentation](https://docs.rs/eax/badge.svg)](https://docs.rs/eax) | 1.41 | 💚 | +| [`mgm`] | [MGM] | [![crates.io](https://img.shields.io/crates/v/mgm.svg)](https://crates.io/crates/mgm) | [![Documentation](https://docs.rs/mgm/badge.svg)](https://docs.rs/mgm) | 1.41 | 🤍 | + +### Security Level Legend +| Heart | Description | +| ----- | --------------------------------------------------------- | +| 💚 | No successful attacks | +| 🤍 | Obsoleted by another algorithm | +| 💛 | Theoretical break: security lower than claimed | +| 💔 | Attack demonstrated in practice: avoid if at all possible | ## MSRV Policy @@ -86,4 +93,3 @@ dual licensed as above, without any additional terms or conditions. [EAX]: https://en.wikipedia.org/wiki/EAX_mode [MGM]: https://eprint.iacr.org/2019/123.pdf [(X)ChaCha20Poly1305]: https://tools.ietf.org/html/rfc8439 -