Patched source for Aeneas/Charon formal verification transpilation
Find a file
Iñigo Querejeta Azurmendi 015707ab4e
Add proper hash_to_curve. (#786)
* Rename hash_to_curve as encode_to_curve

* Implement the inline description of the standard.

* Generalise map_to_field to return an arbitrary number of field elements.

* Implement hash_to_curve as defined in the standard.

* Put elligator behind the "digest" feature.

* Add warning on non-uniformity of `encode_to_curve`.

* Remove the need of Vec for hash_to_field.

* Apply suggestions from code review

* Refactor expand_message_xmd out of hash_to_field

* Add hash-to-curve to benches

* Constraint COUNT to 1 or 2; add note on secure hash function usage

* Correct hash function usage in encode- and hash-to-curve

---------

Co-authored-by: Armando Faz <armfazh@users.noreply.github.com>
Co-authored-by: Michael Rosenberg <mrosenberg@cloudflare.com>
2025-08-26 20:51:39 +02:00
.github/workflows curve,ed,x: Bump rand_core to 0.9 (#777) 2025-07-07 15:36:11 -04:00
curve25519-dalek Add proper hash_to_curve. (#786) 2025-08-26 20:51:39 +02:00
curve25519-dalek-derive curve: rename FieldElement*::as_bytes => ::to_bytes (#767) 2025-06-06 15:10:29 -06:00
docs/assets Move CI & assets into workspace 2023-06-28 08:59:51 +00:00
ed25519-dalek workspace: use a global patch.crates-io to avoid duplicates (#793) 2025-07-18 08:26:13 -06:00
x25519-dalek workspace: use a global patch.crates-io to avoid duplicates (#793) 2025-07-18 08:26:13 -06:00
.gitignore Clean up backend features and vendor curve25519_dalek_derive (#531) 2023-06-22 01:46:27 -04:00
.typos.toml Add typos action and correct typos (#766) 2025-06-04 17:40:10 +02:00
Cargo.toml workspace: use a global patch.crates-io to avoid duplicates (#793) 2025-07-18 08:26:13 -06:00
CONTRIBUTING.md Add new workspace README and CONTRIBUTING 2023-06-28 09:40:52 +00:00
README.md README.md: remove broken image (#595) 2023-11-01 13:33:43 -04:00

dalek-cryptography logo: a dalek with edwards curves as sparkles coming out of its radar-schnozzley blaster thingies

Dalek elliptic curve cryptography

This repo contains pure-Rust crates for elliptic curve cryptography:

Crate Description Crates.io Docs CI
curve25519dalek A library for arithmetic over the Curve25519 and Ristretto elliptic curves and their associated scalars. CI
ed25519dalek An implementation of the EdDSA digital signature scheme over Curve25519. CI
x25519dalek An implementation of elliptic curve Diffie-Hellman key exchange over Curve25519. CI

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.