| /freebsd/crypto/openssl/crypto/slh_dsa/ |
| H A D | slh_xmss.c | 37 const uint8_t *pk_seed, uint8_t *adrs, in ossl_slh_xmss_node() argument 45 adrsf->set_type_and_clear(adrs, SLH_ADRS_TYPE_WOTS_HASH); in ossl_slh_xmss_node() 46 adrsf->set_keypair_address(adrs, node_id); in ossl_slh_xmss_node() 47 if (!ossl_slh_wots_pk_gen(ctx, sk_seed, pk_seed, adrs, in ossl_slh_xmss_node() 53 if (!ossl_slh_xmss_node(ctx, sk_seed, 2 * node_id, h - 1, pk_seed, adrs, in ossl_slh_xmss_node() 56 pk_seed, adrs, rnode, sizeof(rnode))) in ossl_slh_xmss_node() 58 adrsf->set_type_and_clear(adrs, SLH_ADRS_TYPE_TREE); in ossl_slh_xmss_node() 59 adrsf->set_tree_height(adrs, h); in ossl_slh_xmss_node() 60 adrsf->set_tree_index(adrs, node_id); in ossl_slh_xmss_node() 61 if (!key->hash_func->H(ctx, pk_seed, adrs, lnode, rnode, pk_out, pk_out_len)) in ossl_slh_xmss_node() [all …]
|
| H A D | slh_fors.c | 42 const uint8_t *pk_seed, uint8_t *adrs, uint32_t id, in slh_fors_sk_gen() argument 49 adrsf->copy(sk_adrs, adrs); in slh_fors_sk_gen() 51 adrsf->copy_keypair_address(sk_adrs, adrs); in slh_fors_sk_gen() 78 const uint8_t *pk_seed, uint8_t *adrs, uint32_t node_id, in slh_fors_node() argument 90 if (!slh_fors_sk_gen(ctx, sk_seed, pk_seed, adrs, node_id, sk, sizeof(sk))) in slh_fors_node() 92 adrsf->set_tree_height(adrs, 0); in slh_fors_node() 93 adrsf->set_tree_index(adrs, node_id); in slh_fors_node() 94 ret = key->hash_func->F(ctx, pk_seed, adrs, sk, n, node, node_len); in slh_fors_node() 98 if (!slh_fors_node(ctx, sk_seed, pk_seed, adrs, 2 * node_id, height - 1, in slh_fors_node() 100 || !slh_fors_node(ctx, sk_seed, pk_seed, adrs, 2 * node_id + 1, in slh_fors_node() [all …]
|
| H A D | slh_wots.c | 94 const uint8_t *pk_seed, uint8_t *adrs, WPACKET *wpkt) in slh_wots_chain() argument 112 set_hash_address(adrs, j++); in slh_wots_chain() 113 if (!F(ctx, pk_seed, adrs, in, n, tmp, tmp_len)) in slh_wots_chain() 118 set_hash_address(adrs, j); in slh_wots_chain() 119 if (!F(ctx, pk_seed, adrs, tmp, n, tmp, tmp_len)) in slh_wots_chain() 140 uint8_t *adrs, uint8_t *pk_out, size_t pk_out_len) in ossl_slh_wots_pk_gen() argument 160 adrsf->copy(sk_adrs, adrs); in ossl_slh_wots_pk_gen() 162 adrsf->copy_keypair_address(sk_adrs, adrs); in ossl_slh_wots_pk_gen() 169 set_chain_address(adrs, i); in ossl_slh_wots_pk_gen() 170 if (!slh_wots_chain(ctx, sk, 0, NIBBLE_MASK, pk_seed, adrs, tmp_wpkt)) in ossl_slh_wots_pk_gen() [all …]
|
| H A D | slh_adrs.c | 68 static void slh_adrs_set_layer_address(uint8_t *adrs, uint32_t layer) in slh_adrs_set_layer_address() argument 70 OPENSSL_store_u32_be(adrs + SLH_ADRS_OFF_LAYER_ADR, layer); in slh_adrs_set_layer_address() 72 static void slh_adrs_set_tree_address(uint8_t *adrs, uint64_t address) in slh_adrs_set_tree_address() argument 80 OPENSSL_store_u64_be(adrs + SLH_ADRS_OFF_TREE_ADR + 4, address); in slh_adrs_set_tree_address() 82 static void slh_adrs_set_type_and_clear(uint8_t *adrs, uint32_t type) in slh_adrs_set_type_and_clear() argument 84 OPENSSL_store_u32_be(adrs + SLH_ADRS_OFF_TYPE, type); in slh_adrs_set_type_and_clear() 85 memset(adrs + SLH_ADRS_OFF_TYPE + SLH_ADRS_SIZE_TYPE, 0, SLH_ADRS_SIZE_TYPECLEAR); in slh_adrs_set_type_and_clear() 87 static void slh_adrs_set_keypair_address(uint8_t *adrs, uint32_t in) in slh_adrs_set_keypair_address() argument 89 OPENSSL_store_u32_be(adrs + SLH_ADRS_OFF_KEYPAIR_ADDR, in); in slh_adrs_set_keypair_address() 96 static void slh_adrs_set_chain_address(uint8_t *adrs, uint32_t in) in slh_adrs_set_chain_address() argument [all …]
|
| H A D | slh_adrs.h | 41 typedef void(OSSL_SLH_ADRS_FUNC_zero)(uint8_t *adrs); 48 typedef void(OSSL_SLH_ADRS_FUNC_set_tree_address)(uint8_t *adrs, uint64_t in); 49 typedef void(OSSL_SLH_ADRS_FUNC_set_layer_address)(uint8_t *adrs, uint32_t layer); 50 typedef void(OSSL_SLH_ADRS_FUNC_set_type_and_clear)(uint8_t *adrs, uint32_t type); 51 typedef void(OSSL_SLH_ADRS_FUNC_set_keypair_address)(uint8_t *adrs, uint32_t in); 52 typedef void(OSSL_SLH_ADRS_FUNC_set_chain_address)(uint8_t *adrs, uint32_t in); 53 typedef void(OSSL_SLH_ADRS_FUNC_set_tree_height)(uint8_t *adrs, uint32_t in); 54 typedef void(OSSL_SLH_ADRS_FUNC_set_hash_address)(uint8_t *adrs, uint32_t in); 55 typedef void(OSSL_SLH_ADRS_FUNC_set_tree_index)(uint8_t *adrs, uint32_t in);
|
| H A D | slh_hypertree.c | 38 SLH_ADRS_DECLARE(adrs); in ossl_slh_ht_sign() 50 adrsf->zero(adrs); in ossl_slh_ht_sign() 68 adrsf->set_layer_address(adrs, layer); in ossl_slh_ht_sign() 69 adrsf->set_tree_address(adrs, tree_id); in ossl_slh_ht_sign() 71 if (!ossl_slh_xmss_sign(ctx, root, sk_seed, leaf_id, pk_seed, adrs, in ossl_slh_ht_sign() 84 pk_seed, adrs, root, sizeof(root))) in ossl_slh_ht_sign() 113 SLH_ADRS_DECLARE(adrs); in ossl_slh_ht_verify() 122 adrsf->zero(adrs); in ossl_slh_ht_verify() 126 adrsf->set_layer_address(adrs, layer); in ossl_slh_ht_verify() 127 adrsf->set_tree_address(adrs, tree_id); in ossl_slh_ht_verify() [all …]
|
| H A D | slh_dsa_local.h | 57 const uint8_t *pk_seed, uint8_t *adrs, 61 uint8_t *adrs, WPACKET *sig_wpkt); 64 const uint8_t *pk_seed, uint8_t *adrs, 69 const uint8_t *pk_seed, uint8_t *adrs, 73 const uint8_t *pk_seed, uint8_t *adrs, 77 const uint8_t *pk_seed, uint8_t *adrs, 91 uint8_t *adrs, WPACKET *sig_wpkt); 94 uint8_t *adrs,
|
| H A D | slh_hash.c | 81 const uint8_t *adrs, uint8_t *out, size_t out_len) in slh_prf_shake() argument 86 return xof_digest_3(ctx->md_ctx, pk_seed, n, adrs, SLH_ADRS_SIZE, in slh_prf_shake() 104 slh_f_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *pk_seed, const uint8_t *adrs, in slh_f_shake() argument 110 return xof_digest_3(ctx->md_ctx, pk_seed, n, adrs, SLH_ADRS_SIZE, m1, m1_len, out, n); in slh_f_shake() 114 slh_h_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *pk_seed, const uint8_t *adrs, in slh_h_shake() argument 120 return xof_digest_4(ctx->md_ctx, pk_seed, n, adrs, SLH_ADRS_SIZE, m1, n, m2, n, out, n); in slh_h_shake() 124 slh_t_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *pk_seed, const uint8_t *adrs, in slh_t_shake() argument 130 return xof_digest_3(ctx->md_ctx, pk_seed, n, adrs, SLH_ADRS_SIZE, ml, ml_len, out, n); in slh_t_shake() 212 do_hash(EVP_MD_CTX *ctx, size_t n, const uint8_t *pk_seed, const uint8_t *adrs, in do_hash() argument 219 ret = digest_4(ctx, pk_seed, n, zeros, b - n, adrs, SLH_ADRSC_SIZE, in do_hash() [all …]
|
| H A D | slh_dsa.c | 63 SLH_ADRS_DECLARE(adrs); in slh_sign_internal() 94 adrsf->zero(adrs); in slh_sign_internal() 107 adrsf->set_tree_address(adrs, tree_id); in slh_sign_internal() 108 adrsf->set_type_and_clear(adrs, SLH_ADRS_TYPE_FORS_TREE); in slh_sign_internal() 109 adrsf->set_keypair_address(adrs, leaf_id); in slh_sign_internal() 113 ret = ossl_slh_fors_sign(hctx, md, sk_seed, pk_seed, adrs, wpkt) in slh_sign_internal() 117 && ossl_slh_fors_pk_from_sig(hctx, rpkt, md, pk_seed, adrs, in slh_sign_internal() 154 SLH_ADRS_DECLARE(adrs); in slh_verify_internal() 181 adrsf->zero(adrs); in slh_verify_internal() 200 adrsf->set_tree_address(adrs, tree_id); in slh_verify_internal() [all …]
|
| H A D | slh_hash.h | 32 const uint8_t *sk_seed, const uint8_t *adrs, 41 const uint8_t *adrs, 46 const uint8_t *adrs, 51 const uint8_t *adrs,
|
| H A D | slh_dsa_key.c | 337 SLH_ADRS_DECLARE(adrs); in slh_dsa_compute_pk_root() 342 adrsf->zero(adrs); in slh_dsa_compute_pk_root() 343 adrsf->set_layer_address(adrs, params->d - 1); in slh_dsa_compute_pk_root() 349 SLH_DSA_PK_SEED(key), adrs, dst, n) in slh_dsa_compute_pk_root()
|