mirror of
https://github.com/saymrwulf/curve25519-dalek-source.git
synced 2026-09-03 20:13:48 +00:00
Patched source for Aeneas/Charon formal verification transpilation
* Replace recompute_R with a separate RCompute This struct can be use to implement verifiers with incremental updates * Add raw_sign_byupdate and raw_verify_byupdate These allow signing/verifying a non-prehashed message but don't require the whole message to be provided at once. * Tests for raw_sign_byupdate, raw_verify_byupdate * Add StreamVerifier * Make StreamVerifier use RCompute This allows it to use the same implementation as non-stream signature verification. * Guard StreamVerifier behind hazmat feature * docs: disambiguate unsafety Co-authored-by: Tony Arcieri <bascule@gmail.com> * chore: relax F bounds on raw_verify_byupdate * chore: remove raw_sign_byupdate and raw_verify_byupdate * chore: address clippy lints within new code * docs: fixup changelog * test: invert new chunked test * chore: revert raw_sign --------- Co-authored-by: Matt Johnston <matt@ucc.asn.au> Co-authored-by: Tony Arcieri <bascule@gmail.com> |
||
|---|---|---|
| .github/workflows | ||
| curve25519-dalek | ||
| curve25519-dalek-derive | ||
| docs/assets | ||
| ed25519-dalek | ||
| x25519-dalek | ||
| .gitignore | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| README.md | ||
Dalek elliptic curve cryptography
This repo contains pure-Rust crates for elliptic curve cryptography:
| Crate | Description | Crates.io | Docs | CI |
|---|---|---|---|---|
curve25519‑dalek |
A library for arithmetic over the Curve25519 and Ristretto elliptic curves and their associated scalars. | |||
ed25519‑dalek |
An implementation of the EdDSA digital signature scheme over Curve25519. | |||
x25519‑dalek |
An implementation of elliptic curve Diffie-Hellman key exchange over Curve25519. |
There is also the curve25519-dalek-derive crate, which is just a helper crate with some macros that make curve25519-dalek easier to write.
Contributing
Please see CONTRIBUTING.md.
Code of Conduct
We follow the Rust Code of Conduct, with the following additional clauses:
- We respect the rights to privacy and anonymity for contributors and people in the community. If someone wishes to contribute under a pseudonym different to their primary identity, that wish is to be respected by all contributors.