Lines Matching refs:params
76 * params The LMOTS parameter set, I and q values which
83 static unsigned short lmots_checksum_calculate(const mbedtls_lmots_parameters_t *params,
89 for (idx = 0; idx < MBEDTLS_LMOTS_N_HASH_LEN(params->type); idx++) {
101 * params The LMOTS parameter set, I and q values which
119 static int create_digit_array_with_checksum(const mbedtls_lmots_parameters_t *params,
135 status = psa_hash_update(&op, params->I_key_identifier,
141 status = psa_hash_update(&op, params->q_leaf_identifier,
153 MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(params->type));
164 MBEDTLS_LMOTS_N_HASH_LEN(params->type),
170 checksum = lmots_checksum_calculate(params, out);
171 MBEDTLS_PUT_UINT16_BE(checksum, out, MBEDTLS_LMOTS_N_HASH_LEN(params->type));
186 * params The LMOTS parameter set, I and q values which
208 static int hash_digit_array(const mbedtls_lmots_parameters_t *params,
226 i_digit_idx < MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(params->type);
230 &x_digit_array[i_digit_idx * MBEDTLS_LMOTS_N_HASH_LEN(params->type)],
231 MBEDTLS_LMOTS_N_HASH_LEN(params->type));
247 params->I_key_identifier,
254 params->q_leaf_identifier,
273 MBEDTLS_LMOTS_N_HASH_LEN(params->type));
287 memcpy(&output[i_digit_idx * MBEDTLS_LMOTS_N_HASH_LEN(params->type)],
288 tmp_hash, MBEDTLS_LMOTS_N_HASH_LEN(params->type));
303 * params The LMOTS parameter set, I and q values which describe
313 static int public_key_from_hashed_digit_array(const mbedtls_lmots_parameters_t *params,
327 params->I_key_identifier,
333 status = psa_hash_update(&op, params->q_leaf_identifier,
345 MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(params->type) *
346 MBEDTLS_LMOTS_N_HASH_LEN(params->type));
352 MBEDTLS_LMOTS_N_HASH_LEN(params->type),
400 ctx->params.type = (mbedtls_lmots_algorithm_type_t)
403 if (key_len != MBEDTLS_LMOTS_PUBLIC_KEY_LEN(ctx->params.type)) {
407 memcpy(ctx->params.I_key_identifier,
411 memcpy(ctx->params.q_leaf_identifier,
417 MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type));
428 if (key_size < MBEDTLS_LMOTS_PUBLIC_KEY_LEN(ctx->params.type)) {
436 MBEDTLS_PUT_UINT32_BE(ctx->params.type, key, MBEDTLS_LMOTS_SIG_TYPE_OFFSET);
439 ctx->params.I_key_identifier,
443 ctx->params.q_leaf_identifier,
447 MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type));
450 *key_len = MBEDTLS_LMOTS_PUBLIC_KEY_LEN(ctx->params.type);
456 int mbedtls_lmots_calculate_public_key_candidate(const mbedtls_lmots_parameters_t *params,
473 if (sig_size != MBEDTLS_LMOTS_SIG_LEN(params->type) ||
474 out_size < MBEDTLS_LMOTS_N_HASH_LEN(params->type)) {
478 ret = create_digit_array_with_checksum(params, msg, msg_size,
485 ret = hash_digit_array(params,
486 sig + MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET(params->type),
492 ret = public_key_from_hashed_digit_array(params,
500 *out_len = MBEDTLS_LMOTS_N_HASH_LEN(params->type);
521 if (ctx->params.type != MBEDTLS_LMOTS_SHA256_N32_W8) {
533 ret = mbedtls_lmots_calculate_public_key_candidate(&ctx->params,
536 MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type),
585 ctx->params.type = type;
587 memcpy(ctx->params.I_key_identifier,
589 sizeof(ctx->params.I_key_identifier));
591 MBEDTLS_PUT_UINT32_BE(q_leaf_identifier, ctx->params.q_leaf_identifier, 0);
594 i_digit_idx < MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(ctx->params.type);
602 ctx->params.I_key_identifier,
603 sizeof(ctx->params.I_key_identifier));
609 ctx->params.q_leaf_identifier,
633 MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type),
661 ret = hash_digit_array(&priv_ctx->params,
668 ret = public_key_from_hashed_digit_array(&priv_ctx->params,
675 memcpy(&ctx->params, &priv_ctx->params,
676 sizeof(ctx->params));
707 if (sig_size < MBEDTLS_LMOTS_SIG_LEN(ctx->params.type)) {
717 MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type));
722 ret = create_digit_array_with_checksum(&ctx->params,
730 ret = hash_digit_array(&ctx->params, (unsigned char *) ctx->private_key,
736 MBEDTLS_PUT_UINT32_BE(ctx->params.type, sig, MBEDTLS_LMOTS_SIG_TYPE_OFFSET);
758 MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(ctx->params.type));
760 memcpy(sig + MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET(ctx->params.type), tmp_sig,
761 MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(ctx->params.type)
762 * MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type));
765 *sig_len = MBEDTLS_LMOTS_SIG_LEN(ctx->params.type);