From 2a106bc2dea2855c2fe1ab64a54c9292a0172280 Mon Sep 17 00:00:00 2001 From: Max Wickham Date: Mon, 6 Jan 2025 12:46:46 +0000 Subject: [PATCH 1/2] missing Px mod N --- src/libs/LibSchnorr.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/LibSchnorr.sol b/src/libs/LibSchnorr.sol index bc05a71..126c5df 100644 --- a/src/libs/LibSchnorr.sol +++ b/src/libs/LibSchnorr.sol @@ -79,7 +79,7 @@ library LibSchnorr { } // Set r = Pₓ - uint r = pubKey.x; + uint r = pubKey.x % LibSecp256k1.Q(); // Compute s = Q - (e * Pₓ) (mod Q) // From 3200f84c654b0a1c4ae8dc7a96d4ef2a28b542c9 Mon Sep 17 00:00:00 2001 From: Max Wickham Date: Mon, 6 Jan 2025 12:57:37 +0000 Subject: [PATCH 2/2] Update LibSchnorr.sol --- src/libs/LibSchnorr.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/LibSchnorr.sol b/src/libs/LibSchnorr.sol index 126c5df..1262893 100644 --- a/src/libs/LibSchnorr.sol +++ b/src/libs/LibSchnorr.sol @@ -78,7 +78,7 @@ library LibSchnorr { v = pubKey.yParity() + 27; } - // Set r = Pₓ + // Set r = Pₓ % Q uint r = pubKey.x % LibSecp256k1.Q(); // Compute s = Q - (e * Pₓ) (mod Q)