rust-bitcoin-unsafe-fast/chacha20_poly1305
Nick Johnson 415945cd2b
chacha20_poly1305: avoid duplicate block work
* The keystream function is creating two state block on every call,
but just to handle a corner case. Break up the function
into separate methods so that the corner case is handled by itself,
avoiding unnecessary work most of the time.
* Handle offset state internally. While not strictly necessary due to
the cipher's use in BIP324, it makes the library much easier to work
with (the bug above would probably have been avoided) if the cipher
handles the offset state.
2025-02-24 15:29:29 -08:00
..
contrib Add the ChaCha20Poly1305 AEAD crate 2024-10-14 20:55:03 -07:00
src chacha20_poly1305: avoid duplicate block work 2025-02-24 15:29:29 -08:00
CHANGELOG.md Prep the chacha20-poly1305 crate for release 2024-11-09 07:23:45 -08:00
Cargo.toml add chacha20 benchmarks 2025-02-17 21:00:40 -05:00
README.md Add callouts to the chacha20-poly1305 public docs 2024-11-08 10:56:36 -08:00

README.md

ChaCha20-Poly1305

An authenticated encryption with associated data (AEAD) algorithm implemented with the ChaCha20 stream cipher and the Poly1305 message authentication code (MAC).

This implementation is maintained by the rust-bitcoin community and has a focus on a bare-bones API suitable for the bitcoin ecosystem.

Minimum Supported Rust Version (MSRV)

This library should always compile with any combination of features on Rust 1.63.0.