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:
parent
d2bc03fb59
commit
e929313f53
7
bip32.c
7
bip32.c
@ -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;
|
||||||
|
3
bip32.h
3
bip32.h
@ -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);
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user