From 2d0675341b19abd7680f3039b2d410f55a485b9f Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Tue, 8 Nov 2016 18:33:03 +0100 Subject: [PATCH] trezor.crypto: use 64-byte ecdsa signatures (for now) --- extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h | 4 ++-- extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h b/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h index 1c00006aa..54dde2832 100644 --- a/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h +++ b/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h @@ -77,7 +77,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Nist256p1_sign(mp_obj_t self, mp_obj_t secret_k mp_raise_ValueError("Invalid length of digest"); } vstr_t vstr; - vstr_init_len(&vstr, 65); + vstr_init_len(&vstr, 64); uint8_t pby; if (0 != ecdsa_sign_digest(&nist256p1, (const uint8_t *)sk.buf, (const uint8_t *)dig.buf, (uint8_t *)vstr.buf, &pby, NULL)) { // TODO: is_canonical mp_raise_ValueError("Signing failed"); @@ -100,7 +100,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Nist256p1_verify(size_t n_args, const mp_obj_t if (pk.len != 33 && pk.len != 65) { mp_raise_ValueError("Invalid length of public key"); } - if (sig.len != 65) { + if (sig.len != 64) { mp_raise_ValueError("Invalid length of signature"); } if (dig.len != 32) { diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h b/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h index c2ace29dd..9830a8f16 100644 --- a/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h +++ b/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h @@ -77,7 +77,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Secp256k1_sign(mp_obj_t self, mp_obj_t secret_k mp_raise_ValueError("Invalid length of digest"); } vstr_t vstr; - vstr_init_len(&vstr, 65); + vstr_init_len(&vstr, 64); uint8_t pby; if (0 != ecdsa_sign_digest(&secp256k1, (const uint8_t *)sk.buf, (const uint8_t *)dig.buf, (uint8_t *)vstr.buf, &pby, NULL)) { // TODO: is_canonical mp_raise_ValueError("Signing failed"); @@ -100,7 +100,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Secp256k1_verify(size_t n_args, const mp_obj_t if (pk.len != 33 && pk.len != 65) { mp_raise_ValueError("Invalid length of public key"); } - if (sig.len != 65) { + if (sig.len != 64) { mp_raise_ValueError("Invalid length of signature"); } if (dig.len != 32) {