26#ifdef HAVE_ADDRESS_BOOK
28bool address_book_generate_group_handle(
const path_bip32_t *bip32_path,
29 uint8_t group_handle[GROUP_HANDLE_SIZE]);
31bool address_book_verify_group_handle(
const path_bip32_t *bip32_path,
32 const uint8_t group_handle[GROUP_HANDLE_SIZE],
33 uint8_t gid_out[GID_SIZE]);
35bool address_book_compute_hmac_proof(
const path_bip32_t *bip32_path,
36 const uint8_t gid[GID_SIZE],
38 uint8_t hmac_out[CX_SHA256_SIZE]);
40bool address_book_verify_hmac_proof(
const path_bip32_t *bip32_path,
41 const uint8_t gid[GID_SIZE],
43 const uint8_t hmac_expected[CX_SHA256_SIZE]);
45bool address_book_compute_hmac_rest(
const path_bip32_t *bip32_path,
46 const uint8_t gid[GID_SIZE],
48 const uint8_t *identifier,
49 uint8_t identifier_len,
52 uint8_t hmac_out[CX_SHA256_SIZE]);
54bool address_book_verify_hmac_rest(
const path_bip32_t *bip32_path,
55 const uint8_t gid[GID_SIZE],
57 const uint8_t *identifier,
58 uint8_t identifier_len,
61 const uint8_t hmac_expected[CX_SHA256_SIZE]);
63#ifdef HAVE_ADDRESS_BOOK_LEDGER_ACCOUNT
65bool address_book_compute_hmac_proof_ledger_account(
const path_bip32_t *bip32_path,
69 uint8_t hmac_out[CX_SHA256_SIZE]);
71bool address_book_verify_hmac_proof_ledger_account(
const path_bip32_t *bip32_path,
75 const uint8_t hmac_expected[CX_SHA256_SIZE]);
80bool address_book_send_hmac_proof(uint8_t type,
const uint8_t hmac_proof[CX_SHA256_SIZE]);
83bool address_book_send_register_identity_response(
const uint8_t group_handle[GROUP_HANDLE_SIZE],
84 const uint8_t hmac_proof[CX_SHA256_SIZE],
85 const uint8_t hmac_rest[CX_SHA256_SIZE]);
Register / Edit Contact Name / Edit Scope / Edit Identifier.
SHA-2 (Secure Hash Algorithm 2)