Skip to content

Commit 2df81f4

Browse files
committed
use keygen_id in pop
1 parent e8e4fae commit 2df81f4

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

schnorr_fun/src/frost.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,10 @@ impl<H: Digest<OutputSize = U32> + Clone, NG: AddTag + NonceGen> Frost<H, NG> {
340340
scalar_poly: ScalarPoly,
341341
) -> (Vec<Scalar<Secret, Zero>>, Signature) {
342342
let key_pair = self.schnorr.new_keypair(scalar_poly.0[0].clone());
343-
let pop = self
344-
.schnorr
345-
.sign(&key_pair, Message::<Public>::plain("frost-pop", b""));
343+
let pop = self.schnorr.sign(
344+
&key_pair,
345+
Message::<Public>::plain("frost-pop", &KeyGen.keygen_id.to_bytes()),
346+
);
346347

347348
let shares = (1..=KeyGen.point_polys.len())
348349
.map(|i| scalar_poly.eval(i as u32))
@@ -358,12 +359,12 @@ impl<H: Digest<OutputSize = U32> + Clone, NG: AddTag> Frost<H, NG> {
358359
/// ## Return value
359360
///
360361
/// Returns `bool` true if the proof of possession matches this point poly,
361-
fn verify_pop(&self, point_poly: &PointPoly, pop: Signature) -> bool {
362+
fn verify_pop(&self, KeyGen: &KeyGen, point_poly: &PointPoly, pop: Signature) -> bool {
362363
let (even_poly_point, _) = point_poly.0[0].into_point_with_even_y();
363364

364365
self.schnorr.verify(
365366
&even_poly_point,
366-
Message::<Public>::plain("frost-pop", b""),
367+
Message::<Public>::plain("frost-pop", &KeyGen.keygen_id.to_bytes()),
367368
&pop,
368369
)
369370
}
@@ -460,7 +461,7 @@ impl<H: Digest<OutputSize = U32> + Clone, NG: AddTag> Frost<H, NG> {
460461
.zip(proofs_of_possession)
461462
.enumerate()
462463
{
463-
if !self.verify_pop(poly, pop) {
464+
if !self.verify_pop(&KeyGen, poly, pop) {
464465
return Err(FinishKeyGenError::InvalidProofOfPossession(i));
465466
}
466467
}

0 commit comments

Comments
 (0)