Luke Parker
fb7e966b94
Only participate once per key, not once per key share
2024-08-02 00:53:24 -04:00
Luke Parker
65efbf46c7
Support participating multiple times in the eVRF DKG
2024-08-02 00:53:23 -04:00
Luke Parker
c5cc0dc883
Add Ristretto eVRF trait impls
2024-08-02 00:53:23 -04:00
Luke Parker
a6775d7dc5
Implement eVRF traits, all the way up to the DKG, for secp256k1/ed25519
2024-08-02 00:53:23 -04:00
Luke Parker
681010f422
Ban zero ECDH keys, document non-zero requirements
2024-08-02 00:53:23 -04:00
Luke Parker
f93bd42b99
Resolve various TODOs
...
Supports recovering multiple key shares from the eVRF DKG.
Inlines two loops to save 2**16 iterations.
Adds support for creating a constant time representation of scalars < NUM_BITS.
2024-08-02 00:53:23 -04:00
Luke Parker
c960d6baaf
Start using a proper error for the eVRF DKG
2024-08-02 00:53:23 -04:00
Luke Parker
31ac0ac299
Improve eVRF DKG
...
Updates how we calculcate verification shares, improves performance when
extracting multiple sets of keys, and adds more to the test for it.
2024-08-02 00:53:23 -04:00
Luke Parker
4bd0d71406
Add initial eVRF DKG test
2024-08-02 00:53:23 -04:00
Luke Parker
ef68885600
Finish routing the eVRF functionality
...
Still needs errors and serialization, along with a few other TODOs.
2024-08-02 00:53:23 -04:00
Luke Parker
00dc3087bd
Update to the new eVRF proof
2024-08-02 00:53:23 -04:00
Luke Parker
eca82f3f7b
Add paragraph claiming robustness
2024-08-02 00:53:23 -04:00
Luke Parker
05c26d7818
Add documentation to the eVRF-based DKG
2024-08-02 00:53:23 -04:00
Luke Parker
96175e115d
Inline the eVRF into the DKG library
...
Due to how we're handling share encryption, we'd either need two circuits or to
dedicate this circuit to the DKG. The latter makes sense at this time.
2024-08-02 00:53:23 -04:00