Feat: ChaCha20-Poly1305 implementation.

Open
#145 0 comments 0 reactions 1 assignee View on GitHub

@officialfrancismendoza is already working on this.

Since Sep 20, 2026.

Assessment

This issue has not been assessed yet.

Description

This is on the OpenSSL compatibility list.

See https://www.rfc-editor.org/info/rfc8439/ - there's actually a couple of ways to implement ChaCha20 but this is the one that's required (the nonce/counter split is different from the original specification, so be sure to follow the RFC).

OpenSSL implement ChaCha20-Poly1305 as an AEAD cipher and implement Poly1305 separately as a MAC and ChaCha20 separately as a stream cipher. We should probably follow the pattern.

Note: there are also Wycheproof test vectors for this one, in addition to what's in the RFC. Both Bouncy Castle and OpenSSL can also be used to test against.

Dominant language
Rust
Stars
25
Forks
18
Avg merge
16h 38m
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bcgit/bc-rust

All issues in bcgit/bc-rust

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.