mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-15 01:40:57 +00:00
fix comparison of points
This commit is contained in:
parent
abf7178319
commit
82ed3f31db
6
ecdsa.c
6
ecdsa.c
@ -460,9 +460,9 @@ int ecdsa_verify_digest(const uint8_t *pub_key, const uint8_t *sig, const uint8_
|
||||
for (j = 0; j < 30; j++) {
|
||||
if (i == 8 && (s.val[i] >> j) == 0) break;
|
||||
if (s.val[i] & (1u << j)) {
|
||||
bn_mod(&(pub.y), &prime256k1);
|
||||
bn_mod(&(res.y), &prime256k1);
|
||||
if (bn_is_equal(&(pub.y), &(res.y))) {
|
||||
bn_mod(&(pub.x), &prime256k1);
|
||||
bn_mod(&(res.x), &prime256k1);
|
||||
if (bn_is_equal(&(pub.x), &(res.x))) {
|
||||
// this is not a failure, but a very inprobable case
|
||||
// that we don't handle because of its inprobability
|
||||
return 4;
|
||||
|
Loading…
Reference in New Issue
Block a user