mirage / hacl

Archived. Curve25519 support has been integrated into mirage-crypto-ec (via fiat-crypto). Hacl bindings are available from the hacl-star opam package. OCaml bindings for HACL* elliptic curves
https://github.com/mirage/mirage-crypto
Other
20 stars 5 forks source link

Ed25519 support #35

Closed hannesm closed 4 years ago

hannesm commented 4 years ago

this PR adds Hacl_ed25519, and imports the C source from the same commit and branch. Ed25519 can be used by at least ssh private keys and X.509 certificates -- here the primitives "generate key", "sign", and "verify" are provided, to be used by libraries doing actual decoding / encoding.

The tests from RFC 8032 are copy and pasted into a separate test module (I did not understand how the current test suite is supposed to be run / executed).

Sponsored by Nitrokey GmbH

hannesm commented 4 years ago

@dinosaure this is the minimum path for ed25519 support (using the very same commit of extracted hacl as done in curve_25519), it does not fix 32 bit support, neither use an updated extraction from hacl. I agree that this could be done, but IMHO deserves a separate PR. I agree that #19 and #20 should be improved. The test vectors from 8032 - part of this PR - are useful for updating the extraction as well.

dinosaure commented 4 years ago

Ok, in any case, I did the extraction so I will integrate the new version of Ed25519 too in a separate PR.