toposware / frost

A fork of frost-dalek, made WASM compatible, and upgraded to Static ICE-FROST
BSD 3-Clause "New" or "Revised" License
14 stars 2 forks source link

Integrate Static FROST #29

Closed Nashtare closed 2 years ago

Nashtare commented 2 years ago

This PR introduces the static version (i.e. the possibility of having a single group key for different sets of participants with resharing) of ICE-FROST.

It requires a distinction between the initial DKG protocol (similar to existing ICE-FROST DKG with no prior shares) and other DKGs where participants gather encrypted shares from participants of a previous set. There is also a distinction between participants, namely dealers (who can sign and distribute shares of their long-lived private signing key, or generate a new group key from scratch) and signers (who can sign and distribute shares of their long-lived private signing key, but cannot generate a new group key).

Documentation within the crate main and keygen modules has been added, detailing the process of key generation, shares redistribution, and key "regeneration" from another set of participants of different size. You can compile it with cargo doc and open locally the documentation file (located at frost/target/doc/frost_dalek/index.html) to navigate through the documentation related to Key Resharing.

The PR closes #1 as we now generate also encrypted shares for ourselves, hence making indexing easier