The Coordinator should call RandomizedParams.newFromCommitments()
and send the generated randomizer seed (the second returned value) to all
participants, using a confidential channel, along with the regular
SigningPackage;
Each participant should regenerate the RandomizedParams by calling
RandomizedParams.regenerateFromSeedAndCommitments(), which they
should pass to signWithRandomizerSeed() and send the resulting
SignatureShare back to the Coordinator;
FROST implementation supporting re-randomizable keys.
To sign with re-randomized FROST:
Do Round 1 the same way as regular FROST;
The Coordinator should call
RandomizedParams.newFromCommitments()and send the generated randomizer seed (the second returned value) to all participants, using a confidential channel, along with the regular SigningPackage;Each participant should regenerate the RandomizedParams by calling
RandomizedParams.regenerateFromSeedAndCommitments(), which they should pass tosignWithRandomizerSeed()and send the resulting SignatureShare back to the Coordinator;The Coordinator should then call
aggregate().