The ciphersuite to use (must support rerandomization)
The signing package from the coordinator
The signer's nonces generated in round 1
The signer's key package containing their secret share
The randomizer seed bytes from the coordinator
The signature share
// Coordinator side:
const [randomizedParams, randomizerSeed] = RandomizedParams.newFromCommitments(
ciphersuite,
groupVerifyingKey,
signingCommitments,
rng,
);
// Send randomizerSeed to participants via confidential channel
// Participant side:
const signatureShare = signWithRandomizerSeed(
ciphersuite,
signingPackage,
signerNonces,
keyPackage,
randomizerSeed,
);
Re-randomized FROST signing using the given
randomizerSeed, which should be sent from the Coordinator using a confidential channel.This is the recommended signing function for re-randomized FROST. The Coordinator should call
RandomizedParams.newFromCommitments()and send the generated randomizer seed to all participants along with the regular SigningPackage.