You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This point validates in OpenSSL and Crypto++ but not in Botan. secp112r2 is the only curve I've observed this for.
When I manually derive the Y coordinate (3035790070451486434651648738331985) from the X coordinate (3442185213147111329368355265766312), I get the expected result, which also implies the point is valid:
#include<botan/bigint.h>
#include<botan/numthry.h>
#include<cassert>intmain(void)
{
usingnamespaceBotan;const BigInt P("4451685225093714772084598273548427");
const BigInt A("1970543761890640310119143205433388");
const BigInt B("1660538572255285715897238774208265");
assert(P % 4 == 3);
/* x to find y for */const BigInt x("3442185213147111329368355265766312");
const BigInt expected_y("3035790070451486434651648738331985");
const BigInt Z = ((x*x*x) + (A*x) + B) % P;
const BigInt y = power_mod(Z, (P+1) / 4, P);
assert(y == expected_y);
return0;
}
Am I overlooking something?
The text was updated successfully, but these errors were encountered:
This point validates in OpenSSL and Crypto++ but not in Botan. secp112r2 is the only curve I've observed this for.
When I manually derive the Y coordinate (3035790070451486434651648738331985) from the X coordinate (3442185213147111329368355265766312), I get the expected result, which also implies the point is valid:
Am I overlooking something?
The text was updated successfully, but these errors were encountered: