1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-29 19:08:12 +00:00

small changes to cardano due to last commit

This commit is contained in:
Pavol Rusnak 2018-09-05 12:16:23 +02:00
parent d2bc03fb59
commit e929313f53
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
3 changed files with 11 additions and 13 deletions

View File

@ -46,9 +46,6 @@
#include "nem.h" #include "nem.h"
#endif #endif
#if USE_CARDANO #if USE_CARDANO
#include "ed25519-donna/modm-donna-32bit.h"
#include "blake2b.h"
#include "bip39.h"
#include "pbkdf2.h" #include "pbkdf2.h"
#endif #endif
#include "memzero.h" #include "memzero.h"
@ -367,8 +364,8 @@ int hdnode_private_ckd_cardano(HDNode *inout, uint32_t index)
return 1; return 1;
} }
int hdnode_from_seed_cardano(uint8_t *pass, int pass_len, uint8_t *seed, int seed_len, HDNode *out) { int hdnode_from_seed_cardano(const uint8_t *pass, int pass_len, const uint8_t *seed, int seed_len, HDNode *out) {
uint8_t secret[96]; static CONFIDENTIAL uint8_t secret[96];
pbkdf2_hmac_sha512(pass, pass_len, seed, seed_len, 4096, secret, 96); pbkdf2_hmac_sha512(pass, pass_len, seed, seed_len, 4096, secret, 96);
secret[0] &= 248; secret[0] &= 248;

View File

@ -61,9 +61,10 @@ int hdnode_from_seed(const uint8_t *seed, int seed_len, const char *curve, HDNod
#define hdnode_private_ckd_prime(X, I) hdnode_private_ckd((X), ((I) | 0x80000000)) #define hdnode_private_ckd_prime(X, I) hdnode_private_ckd((X), ((I) | 0x80000000))
int hdnode_private_ckd(HDNode *inout, uint32_t i); int hdnode_private_ckd(HDNode *inout, uint32_t i);
#if USE_CARDANO #if USE_CARDANO
int hdnode_private_ckd_cardano(HDNode *inout, uint32_t i); int hdnode_private_ckd_cardano(HDNode *inout, uint32_t i);
int hdnode_from_seed_cardano(uint8_t *pass, int pass_len, uint8_t *seed, int seed_len, HDNode *out); int hdnode_from_seed_cardano(const uint8_t *pass, int pass_len, const uint8_t *seed, int seed_len, HDNode *out);
#endif #endif
int hdnode_public_ckd_cp(const ecdsa_curve *curve, const curve_point *parent, const uint8_t *parent_chain_code, uint32_t i, curve_point *child, uint8_t *child_chain_code); int hdnode_public_ckd_cp(const ecdsa_curve *curve, const curve_point *parent, const uint8_t *parent_chain_code, uint32_t i, curve_point *child, uint8_t *child_chain_code);

View File

@ -80,7 +80,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_1)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
ck_assert_mem_eq(node.chain_code, fromhex("affbc325d9027c0f2d9f925b1dcf6c12bf5c1dd08904474066a4f2c00db56173"), 32); ck_assert_mem_eq(node.chain_code, fromhex("affbc325d9027c0f2d9f925b1dcf6c12bf5c1dd08904474066a4f2c00db56173"), 32);
ck_assert_mem_eq(node.private_key, fromhex("08a14df748e477a69d21c97c56db151fc19e2521f31dd0ac5360f269e5b6ea46"), 32); ck_assert_mem_eq(node.private_key, fromhex("08a14df748e477a69d21c97c56db151fc19e2521f31dd0ac5360f269e5b6ea46"), 32);
@ -97,7 +97,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_2)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
hdnode_private_ckd_cardano(&node, 0x80000000); hdnode_private_ckd_cardano(&node, 0x80000000);
@ -116,7 +116,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_3)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
hdnode_private_ckd_cardano(&node, 0x80000001); hdnode_private_ckd_cardano(&node, 0x80000001);
@ -135,7 +135,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_4)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
hdnode_private_ckd_cardano(&node, 0x80000000); hdnode_private_ckd_cardano(&node, 0x80000000);
hdnode_private_ckd_cardano(&node, 0x80000001); hdnode_private_ckd_cardano(&node, 0x80000001);
@ -155,7 +155,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_5)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
hdnode_private_ckd_cardano(&node, 0x80000000); hdnode_private_ckd_cardano(&node, 0x80000000);
hdnode_private_ckd_cardano(&node, 0x80000001); hdnode_private_ckd_cardano(&node, 0x80000001);
@ -176,7 +176,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_6)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
hdnode_private_ckd_cardano(&node, 0x80000000); hdnode_private_ckd_cardano(&node, 0x80000000);
hdnode_private_ckd_cardano(&node, 0x80000001); hdnode_private_ckd_cardano(&node, 0x80000001);
@ -198,7 +198,7 @@ START_TEST(test_bip32_cardano_hdnode_vector_7)
uint8_t seed[66]; uint8_t seed[66];
int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed); int seed_len = mnemonic_to_entropy("ring crime symptom enough erupt lady behave ramp apart settle citizen junk", seed);
ck_assert_int_eq(seed_len, 132); ck_assert_int_eq(seed_len, 132);
hdnode_from_seed_cardano(NULL, 0, seed, seed_len / 8, &node); hdnode_from_seed_cardano((const uint8_t *)"", 0, seed, seed_len / 8, &node);
hdnode_private_ckd_cardano(&node, 0x80000000); hdnode_private_ckd_cardano(&node, 0x80000000);
hdnode_private_ckd_cardano(&node, 0x80000001); hdnode_private_ckd_cardano(&node, 0x80000001);