File tree 1 file changed +14
-4
lines changed
1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -224,15 +224,17 @@ where
224
224
if v <= u {
225
225
u = u - v;
226
226
if b < c {
227
- b = b + modulus;
227
+ b = modulus - c + b;
228
+ } else {
229
+ b = b - c;
228
230
}
229
- b = b - c;
230
231
} else {
231
232
v = v - u;
232
233
if c < b {
233
- c = c + modulus;
234
+ c = modulus - b + c;
235
+ } else {
236
+ c = c - b;
234
237
}
235
- c = c - b;
236
238
}
237
239
}
238
240
@@ -1243,6 +1245,14 @@ mod tests_u256_prime_fields {
1243
1245
assert_eq ! ( minus_3_pow_2, nine) ;
1244
1246
}
1245
1247
1248
+ #[ test]
1249
+ fn secp256k1_inv_works ( ) {
1250
+ let a = SecpMontElement :: from_hex_unchecked ( "0x456" ) ;
1251
+ let a_inv = a. inv ( ) . unwrap ( ) ;
1252
+
1253
+ assert_eq ! ( a * a_inv, SecpMontElement :: one( ) ) ;
1254
+ }
1255
+
1246
1256
#[ test]
1247
1257
fn test_cios_overflow_case ( ) {
1248
1258
let a = GoldilocksElement :: from ( 732582227915286439 ) ;
You can’t perform that action at this time.
0 commit comments