Hash the message before the challenge function in the Schnorr contract

Slightly more efficient.
This commit is contained in:
Luke Parker 2024-09-17 01:04:22 -04:00
parent cc75a92641
commit 7feb7aed22
3 changed files with 3 additions and 3 deletions

View file

@ -15,7 +15,7 @@ library Schnorr {
// message := the message signed
// c := Schnorr signature challenge
// s := Schnorr signature solution
function verify(bytes32 px, bytes memory message, bytes32 c, bytes32 s)
function verify(bytes32 px, bytes32 message, bytes32 c, bytes32 s)
internal
pure
returns (bool)

View file

@ -9,6 +9,6 @@ contract TestSchnorr {
pure
returns (bool)
{
return Schnorr.verify(public_key, message, c, s);
return Schnorr.verify(public_key, keccak256(message), c, s);
}
}

View file

@ -38,7 +38,7 @@ impl Signature {
&Keccak256::digest(x_and_y_coordinates)[12 ..]
});
hash.update(key.eth_repr());
hash.update(message);
hash.update(Keccak256::digest(message));
<Scalar as Reduce<KU256>>::reduce_bytes(&hash.finalize())
}