Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for supporting ECDH and EdDSA #199

Open
2 of 8 tasks
brycx opened this issue Apr 28, 2021 · 0 comments
Open
2 of 8 tasks

Tracking issue for supporting ECDH and EdDSA #199

brycx opened this issue Apr 28, 2021 · 0 comments
Labels
new feature New feature or request

Comments

@brycx
Copy link
Member

brycx commented Apr 28, 2021

We'd like orion to support this by utilizing https://github.com/mit-plv/fiat-crypto. fiat-crypto is able to generate formally verified code which, in other words, means the field arithmetic from fiat-crypto has had its correctness proven by the Coq theorem prover.

Using fiat-crypto means:

  • Greater confidence in the implementations offered by orion
  • Less work required to maintain the implementations
  • Less work required to audit the implementations

(the same motivation for #198)

Based on popularity and usage in for example TLS 1.3, the curve that will be supported is Curve25519. Additionally, this will also mean X25519 in terms of ECDH and Ed25519 in terms of EdDSA. Both these are also used in TLS 1.3. Using X25519 also allows us to build a higher-level key-exchange API that is compatible with libsodium's.

Initial work for X25519 and integration of fiat's Curve25519 arithmetic has been started in #197.

This will serve more as a tracking issue, since this will require a substantial amount of work.

TODO:

@brycx brycx added the new feature New feature or request label Apr 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant