Skip to content

Commit

Permalink
Add README.mds to all crates
Browse files Browse the repository at this point in the history
  • Loading branch information
tarcieri committed May 28, 2020
1 parent 84fe760 commit c0c585c
Show file tree
Hide file tree
Showing 13 changed files with 563 additions and 19 deletions.
3 changes: 2 additions & 1 deletion aes-ctr/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
[package]
name = "aes-ctr"
version = "0.3.0"
description = "AES-CTR stream ciphers"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
description = "AES-CTR stream ciphers"
documentation = "https://docs.rs/aes-ctr"
repository = "https://github.com/RustCrypto/stream-ciphers"
keywords = ["crypto", "stream-cipher", "trait"]
categories = ["cryptography", "no-std"]
readme = "README.md"

[dependencies]
stream-cipher = "0.3"
Expand Down
80 changes: 80 additions & 0 deletions aes-ctr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# RustCrypto: AES-CTR

[![Crate][crate-image]][crate-link]
[![Docs][docs-image]][docs-link]
![Apache2/MIT licensed][license-image]
![Rust Version][rustc-image]
[![Build Status][build-image]][build-link]
[![HAZMAT][hazmat-image]][hazmat-link]

Pure Rust implementation of the [Advanced Encryption Standard (AES)][1]
in [Counter Mode][2].

Provides a high-performance implementation based on AES-NI and other x86(-64)
CPU intrinsics when available, or otherwise falls back on a bitsliced software
implementation and the [`ctr`][3] crate.

[Documentation][docs-link]

### ⚠️ Security Warning: [Hazmat!][hazmat-link]

This crate does not ensure ciphertexts are authentic (i.e. by using a MAC to
verify ciphertext integerity), which can lead to serious vulnerabilities
if used incorrectly!

To avoid this, use an [AEAD][4] mode based on AES, such as [AES-GCM][5] or
[AES-GCM-SIV][6].

See the [RustCrypto/AEADs][7] repository for more information.

USE AT YOUR OWN RISK!

## Minimum Supported Rust Version

Rust **1.41** or higher.

Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.

## SemVer Policy

- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above

## License

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)

[crate-image]: https://img.shields.io/crates/v/aes-ctr.svg
[crate-link]: https://crates.io/crates/aes-ctr
[docs-image]: https://docs.rs/aes-ctr/badge.svg
[docs-link]: https://docs.rs/aes-ctr/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0%EF%B8%8F-red.svg
[hazmat-link]: https://github.com/RustCrypto/meta/wiki/About-%22hazmat%22-crates
[build-image]: https://github.com/RustCrypto/stream-ciphers/workflows/aes-ctr/badge.svg?branch=master&event=push
[build-link]: https://github.com/RustCrypto/stream-ciphers/actions?query=workflow%3Aaes-ctr

[//]: # (general links)

[1]: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
[2]: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_(CTR)
[3]: https://github.com/RustCrypto/stream-ciphers/tree/master/ctr
[4]: https://en.wikipedia.org/wiki/Authenticated_encryption
[5]: https://github.com/RustCrypto/AEADs/tree/master/aes-gcm
[6]: https://github.com/RustCrypto/AEADs/tree/master/aes-gcm-siv
[7]: https://github.com/RustCrypto/AEADs
3 changes: 2 additions & 1 deletion cfb-mode/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
[package]
name = "cfb-mode"
version = "0.3.2"
description = "Generic Cipher Feedback (CFB) mode implementation."
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
description = "Generic Cipher Feedback (CFB) mode implementation."
documentation = "https://docs.rs/cfb-mode"
repository = "https://github.com/RustCrypto/stream-ciphers"
keywords = ["crypto", "stream-cipher", "block-mode"]
categories = ["cryptography", "no-std"]
readme = "README.md"

[dependencies]
stream-cipher = "0.3"
Expand Down
72 changes: 72 additions & 0 deletions cfb-mode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# RustCrypto: Cipher Feedback Mode (CFB)

[![Crate][crate-image]][crate-link]
[![Docs][docs-image]][docs-link]
![Apache2/MIT licensed][license-image]
![Rust Version][rustc-image]
[![Build Status][build-image]][build-link]
[![HAZMAT][hazmat-image]][hazmat-link]

Generic [Cipher Feedback (CFB)][1] mode implementation as a
[self-synchronizing stream cipher][2].

[Documentation][docs-link]

![Diagram](https://github.com/RustCrypto/meta/blob/master/img/stream-ciphers/cfb.png?raw=true)

## ⚠️ Security Warning: [Hazmat!][hazmat-link]

This crate does not ensure ciphertexts are authentic (i.e. by using a MAC to
verify ciphertext integerity), which can lead to serious vulnerabilities
if used incorrectly!

No security audits of this crate have ever been performed, and it has not been
thoroughly assessed to ensure its operation is constant-time on common CPU
architectures.

USE AT YOUR OWN RISK!

## Minimum Supported Rust Version

Rust **1.41** or higher.

Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.

## SemVer Policy

- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above

## License

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)

[crate-image]: https://img.shields.io/crates/v/cfb-mode.svg
[crate-link]: https://crates.io/crates/cfb-mode
[docs-image]: https://docs.rs/cfb-mode/badge.svg
[docs-link]: https://docs.rs/cfb-mode/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0%EF%B8%8F-red.svg
[hazmat-link]: https://github.com/RustCrypto/meta/wiki/About-%22hazmat%22-crates
[build-image]: https://github.com/RustCrypto/stream-ciphers/workflows/cfb-mode/badge.svg?branch=master&event=push
[build-link]: https://github.com/RustCrypto/stream-ciphers/actions?query=workflow%3Acfb-mode

[//]: # (footnotes)

[1]: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#CFB
[2]: https://en.wikipedia.org/wiki/Stream_cipher#Self-synchronizing_stream_ciphers
3 changes: 2 additions & 1 deletion cfb8/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
[package]
name = "cfb8"
version = "0.3.2"
description = "Generic 8-bit Cipher Feedback (CFB8) mode implementation."
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
description = "Generic 8-bit Cipher Feedback (CFB8) mode implementation."
documentation = "https://docs.rs/cfb8"
repository = "https://github.com/RustCrypto/stream-ciphers"
keywords = ["crypto", "stream-cipher", "block-mode"]
categories = ["cryptography", "no-std"]
readme = "README.md"

[dependencies]
stream-cipher = "0.3"
Expand Down
70 changes: 70 additions & 0 deletions cfb8/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# RustCrypto: CFB8

[![Crate][crate-image]][crate-link]
[![Docs][docs-image]][docs-link]
![Apache2/MIT licensed][license-image]
![Rust Version][rustc-image]
[![Build Status][build-image]][build-link]
[![HAZMAT][hazmat-image]][hazmat-link]

Generic [8-bit Cipher Feedback (CFB8)][1] mode implementation as a
[self-synchronizing stream cipher][2].

[Documentation][docs-link]

## ⚠️ Security Warning: [Hazmat!][hazmat-link]

This crate does not ensure ciphertexts are authentic (i.e. by using a MAC to
verify ciphertext integerity), which can lead to serious vulnerabilities
if used incorrectly!

No security audits of this crate have ever been performed, and it has not been
thoroughly assessed to ensure its operation is constant-time on common CPU
architectures.

USE AT YOUR OWN RISK!

## Minimum Supported Rust Version

Rust **1.41** or higher.

Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.

## SemVer Policy

- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above

## License

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)

[crate-image]: https://img.shields.io/crates/v/cfb8.svg
[crate-link]: https://crates.io/crates/cfb8
[docs-image]: https://docs.rs/cfb8/badge.svg
[docs-link]: https://docs.rs/cfb8/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0%EF%B8%8F-red.svg
[hazmat-link]: https://github.com/RustCrypto/meta/wiki/About-%22hazmat%22-crates
[build-image]: https://github.com/RustCrypto/stream-ciphers/workflows/cfb8/badge.svg?branch=master&event=push
[build-link]: https://github.com/RustCrypto/stream-ciphers/actions?query=workflow%3Acfb8

[//]: # (footnotes)

[1]: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#CFB
[2]: https://en.wikipedia.org/wiki/Stream_cipher#Self-synchronizing_stream_ciphers
50 changes: 34 additions & 16 deletions chacha20/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
# RustCrypto: ChaCha20

[![crate][crate-image]][crate-link]
[![Crate][crate-image]][crate-link]
[![Docs][docs-image]][docs-link]
![Apache2/MIT licensed][license-image]
![Rust Version][rustc-image]
[![Build Status][build-image]][build-link]
[![HAZMAT][hazmat-image]][hazmat-link]

Pure Rust implementation of the [ChaCha20 Stream Cipher][1].

[Documentation][docs-link]

## About

[ChaCha20][1] is a [stream cipher][2] which is designed to support
high-performance software implementations.
Expand All @@ -16,8 +23,6 @@ This crate also contains an implementation of [XChaCha20][4]: a variant
of ChaCha20 with an extended 192-bit (24-byte) nonce, gated under the
`xchacha20` Cargo feature (on-by-default).

[Documentation][docs-link]

## Implementations

This crate contains the following implementations of ChaCha20, all of which
Expand All @@ -31,19 +36,30 @@ work on stable Rust with the following `RUSTFLAGS`:

NOTE: cpb = cycles per byte (smaller is better)

## Security Warning
## ⚠️ Security Warning: [Hazmat!][hazmat-link]

This crate does not ensure ciphertexts are authentic! Thus ciphertext integrity
is not verified, which can lead to serious vulnerabilities! To avoid this, use
the [ChaCha20Poly1305][5] Authenticated Encryption with Associated Data (AEAD)
algorithm instead.
This crate does not ensure ciphertexts are authentic (i.e. by using a MAC to
verify ciphertext integerity), which can lead to serious vulnerabilities
if used incorrectly!

No security audits of this crate have ever been performed, and it has not been
thoroughly assessed to ensure its operation is constant-time on common CPU
architectures.

USE AT YOUR OWN RISK!

## Minimum Supported Rust Version

Rust **1.41** or higher.

Minimum supported Rust version can be changed in the future, but it will be
done with a minor version bump.

## SemVer Policy

- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above

## License

Licensed under either of:
Expand All @@ -61,16 +77,18 @@ dual licensed as above, without any additional terms or conditions.

[//]: # (badges)

[crate-image]: https://img.shields.io/crates/v/chacha20.svg
[crate-link]: https://crates.io/crates/chacha20
[docs-image]: https://docs.rs/chacha20/badge.svg
[docs-link]: https://docs.rs/chacha20/
[crate-image]: https://img.shields.io/crates/v/cfb-mode.svg
[crate-link]: https://crates.io/crates/cfb-mode
[docs-image]: https://docs.rs/cfb-mode/badge.svg
[docs-link]: https://docs.rs/cfb-mode/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[rustc-image]: https://img.shields.io/badge/rustc-1.34+-blue.svg
[build-image]: https://travis-ci.org/RustCrypto/stream-ciphers.svg?branch=master
[build-link]: https://travis-ci.org/RustCrypto/stream-ciphers
[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg
[hazmat-image]: https://img.shields.io/badge/crypto-hazmat%E2%9A%A0%EF%B8%8F-red.svg
[hazmat-link]: https://github.com/RustCrypto/meta/wiki/About-%22hazmat%22-crates
[build-image]: https://github.com/RustCrypto/stream-ciphers/workflows/cfb-mode/badge.svg?branch=master&event=push
[build-link]: https://github.com/RustCrypto/stream-ciphers/actions?query=workflow%3Acfb-mode

[//]: # (general links)
[//]: # (footnotes)

[1]: https://en.wikipedia.org/wiki/Salsa20#ChaCha_variant
[2]: https://en.wikipedia.org/wiki/Stream_cipher
Expand Down
Loading

0 comments on commit c0c585c

Please sign in to comment.