combineMlDsaFromWire function
Future<Uint8List>
combineMlDsaFromWire({
- required MlDsaPublicKey publicKey,
- required Uint8List message,
- required Iterable<
MlDsaSigningMessage> round2Messages, - required Iterable<
MlDsaSigningMessage> round3Messages, - required List<
int> activePartyIdsZeroBased, - String? mithrilBridgePath,
Combines Round2 + Round3 wire dirs into an ML-DSA signature.
Implementation
Future<Uint8List> combineMlDsaFromWire({
required MlDsaPublicKey publicKey,
required Uint8List message,
required Iterable<MlDsaSigningMessage> round2Messages,
required Iterable<MlDsaSigningMessage> round3Messages,
required List<int> activePartyIdsZeroBased,
String? mithrilBridgePath,
}) async {
final active = [...activePartyIdsZeroBased]..sort();
final reveals = _orderedPayloads(round2Messages, active, MlDsaWireKind.round2);
final responses = _orderedPayloads(round3Messages, active, MlDsaWireKind.round3);
final wfinals = await mithrilAggregateWfinals(
t: publicKey.params.t,
n: publicKey.params.n,
round2Reveals: reveals,
executablePath: mithrilBridgePath,
);
return mithrilCombineWire(
t: publicKey.params.t,
n: publicKey.params.n,
publicKey: publicKey.bytes,
message: message,
wfinals: wfinals,
round3Responses: responses,
executablePath: mithrilBridgePath,
);
}