Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SleepingShell/noir-chacha20
https://github.com/SleepingShell/noir-chacha20
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/SleepingShell/noir-chacha20
- Owner: SleepingShell
- Created: 2023-10-06T03:33:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-10T18:39:06.000Z (over 1 year ago)
- Last Synced: 2024-08-03T16:09:56.496Z (6 months ago)
- Language: Rust
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-noir - ChaCha20 Implementation - a Noir implementation of ChaCha20 as defined by [RFC7539](https://www.rfc-editor.org/rfc/rfc7539) (Libraries / Cryptography)
README
![Test workflow](https://github.com/sleepingshell/noir-chacha20/actions/workflows/ci.yaml/badge.svg)
# Noir-Chacha20This is a Noir implementation of ChaCha20 as defined by [RFC7539](https://www.rfc-editor.org/rfc/rfc7539).
> [!IMPORTANT]
> This implementation works on 4-byte words, as opposed to the RFC working with 1-byte words.Due to the above, the tests provided are adopted to 4-byte words
The `crates/chacha20_example` provides a small binary implementation to measure circuit size.
```
+------------------+------------------------+--------------+----------------------+
| Package | Language | ACIR Opcodes | Backend Circuit Size |
+------------------+------------------------+--------------+----------------------+
| chacha20_example | PLONKCSat { width: 3 } | 23969 | 34201 |
+------------------+------------------------+--------------+----------------------+
```On a Ryzen 7 7700X, proving a single 32-byte message encryption took `42s`.