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

Adding VRF-based computation of labels #34

Closed
1 of 4 tasks
Jasleen1 opened this issue Aug 17, 2021 · 2 comments · Fixed by #122 or #153
Closed
1 of 4 tasks

Adding VRF-based computation of labels #34

Jasleen1 opened this issue Aug 17, 2021 · 2 comments · Fixed by #122 or #153
Assignees
Labels
implementation Need to implement something

Comments

@Jasleen1
Copy link
Contributor

Jasleen1 commented Aug 17, 2021

We want to use a VRF to compute labels in seemless_directory.rs and then verify these VRFs in lookup_verify, key_history_verify etc.

See: https://crates.io/crates/vrf for one option. Below is a starting checklist of things to consider:

  • We will need to convert the output of the VRF into NodeLabel type. We may want to change the NodeLabel type as a result, or implement a trait instead.
  • VRF keys need to be stored in some sort of config file, so that the server can generate VRF values.
  • In the Java implementation of SEEMless, we used BouncyCastle, and at the time, we had to hash to the curve from strings/bytearrays. We need to hash to the correct space in this case as well.
  • If we hash to a curve and later hash the output value, we should be careful about the security guarantees offered by the various parameter sizes. Would be helpful to add documentation for this.
@Jasleen1 Jasleen1 added the implementation Need to implement something label Aug 17, 2021
@kevinlewi kevinlewi assigned Jasleen1 and unassigned kevinlewi Dec 9, 2021
@kevinlewi kevinlewi linked a pull request Dec 9, 2021 that will close this issue
3 tasks
@slawlor slawlor closed this as completed Mar 3, 2022
@slawlor
Copy link
Contributor

slawlor commented Mar 3, 2022

Implementation merged based on ECVRF-ED25519-SHA512-TAI reference. See linked PRs.

@Jasleen1 what's left on the checklist to be done with the landing of VRFs?

@kevinlewi
Copy link
Contributor

I believe this should be done and this can be closed (finally!), but @Jasleen1 to confirm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
implementation Need to implement something
Projects
None yet
3 participants