diff options
-rw-r--r-- | src/lib/math/numbertheory/ressol.cpp | 2 | ||||
-rw-r--r-- | src/tests/data/bn/ressol.vec | 43 |
2 files changed, 44 insertions, 1 deletions
diff --git a/src/lib/math/numbertheory/ressol.cpp b/src/lib/math/numbertheory/ressol.cpp index 127dc899e..2c83cb0e0 100644 --- a/src/lib/math/numbertheory/ressol.cpp +++ b/src/lib/math/numbertheory/ressol.cpp @@ -66,7 +66,7 @@ BigInt ressol(const BigInt& a, const BigInt& p) q = mod_p.square(q); ++i; - if(i > s) + if(i >= s) { return -BigInt(1); } diff --git a/src/tests/data/bn/ressol.vec b/src/tests/data/bn/ressol.vec index a16f08c42..c21c337af 100644 --- a/src/tests/data/bn/ressol.vec +++ b/src/tests/data/bn/ressol.vec @@ -16,3 +16,46 @@ Input = 20749193632488214633180774027217139706413443729200940480695355894185 Modulus = 26959946667150639794667015087019630673557916260026308143510066298881 Output = 1825097171398375765346899906888660610489759292065918530856859649959 +Input = 64 +Modulus = 85 +Output = -1 + +Input = 206 +Modulus = 153 +Output = -1 + +Input = 181 +Modulus = 217 +Output = -1 + +Input = 166 +Modulus = 85 +Output = -1 + +Input = 4225 +Modulus = 33153 +Output = -1 + +Input = 57700 +Modulus = 153 +Output = -1 + +Input = 2048 +Modulus = 31417 +Output = -1 + +Input = 65151 +Modulus = 2405 +Output = -1 + +Input = 2 +Modulus = 4369 +Output = -1 + +Input = 61508 +Modulus = 4141 +Output = -1 + +Input = 6553700 +Modulus = 33153 +Output = -1 |