Lines Matching refs:prop
90 static int rsa_mod_exp_hw(struct key_prop *prop, const uint8_t *sig, in rsa_mod_exp_hw() argument
116 rsa_convert_big_endian(rsa_key.n, (uint32_t *)prop->modulus, in rsa_mod_exp_hw()
118 rsa_convert_big_endian(rsa_key.e, (uint32_t *)prop->public_exponent_BN, in rsa_mod_exp_hw()
121 rsa_convert_big_endian(rsa_key.c, (uint32_t *)prop->factor_c, in rsa_mod_exp_hw()
124 rsa_convert_big_endian(rsa_key.c, (uint32_t *)prop->factor_np, in rsa_mod_exp_hw()
397 struct key_prop *prop, const uint8_t *sig, in rsa_verify_key() argument
406 if (!prop || !sig || !hash || !checksum) in rsa_verify_key()
409 if (sig_len != (prop->num_bits / 8)) { in rsa_verify_key()
427 ret = rsa_mod_exp_hw(prop, sig, sig_len, key_len, buf); in rsa_verify_key()
437 ret = rsa_mod_exp(mod_exp_dev, sig, sig_len, prop, buf); in rsa_verify_key()
440 ret = rsa_mod_exp_sw(sig, sig_len, prop, buf); in rsa_verify_key()
456 static int rsa_get_key_prop(struct key_prop *prop, struct image_sign_info *info, int node) in rsa_get_key_prop() argument
467 if (!prop) { in rsa_get_key_prop()
472 prop->burn_key = fdtdec_get_int(blob, node, "burn-key-hash", 0); in rsa_get_key_prop()
474 prop->num_bits = fdtdec_get_int(blob, node, "rsa,num-bits", 0); in rsa_get_key_prop()
476 prop->n0inv = fdtdec_get_int(blob, node, "rsa,n0-inverse", 0); in rsa_get_key_prop()
478 prop->public_exponent = fdt_getprop(blob, node, "rsa,exponent", &length); in rsa_get_key_prop()
479 if (!prop->public_exponent || length < sizeof(uint64_t)) in rsa_get_key_prop()
480 prop->public_exponent = NULL; in rsa_get_key_prop()
482 prop->exp_len = sizeof(uint64_t); in rsa_get_key_prop()
483 prop->modulus = fdt_getprop(blob, node, "rsa,modulus", NULL); in rsa_get_key_prop()
484 prop->public_exponent_BN = fdt_getprop(blob, node, "rsa,exponent-BN", NULL); in rsa_get_key_prop()
485 prop->rr = fdt_getprop(blob, node, "rsa,r-squared", NULL); in rsa_get_key_prop()
492 prop->hash = fdt_getprop(blob, hash_node, "value", NULL); in rsa_get_key_prop()
494 if (!prop->num_bits || !prop->modulus) { in rsa_get_key_prop()
500 prop->factor_c = fdt_getprop(blob, node, "rsa,c", NULL); in rsa_get_key_prop()
501 if (!prop.factor_c) in rsa_get_key_prop()
504 prop->factor_np = fdt_getprop(blob, node, "rsa,np", NULL); in rsa_get_key_prop()
505 if (!prop->factor_np) in rsa_get_key_prop()
531 struct key_prop prop; in rsa_verify_with_keynode() local
533 if (rsa_get_key_prop(&prop, info, node)) in rsa_verify_with_keynode()
536 return rsa_verify_key(info, &prop, sig, sig_len, hash, in rsa_verify_with_keynode()
616 struct key_prop prop; in rsa_burn_key_hash() local
634 if (rsa_get_key_prop(&prop, info, node)) in rsa_burn_key_hash()
637 if (!(prop.burn_key)) in rsa_burn_key_hash()
657 if (!prop.hash || !prop.modulus || !prop.public_exponent_BN) in rsa_burn_key_hash()
660 if (!prop.factor_c) in rsa_burn_key_hash()
663 if (!prop.factor_np) in rsa_burn_key_hash()
678 rsa_convert_big_endian(n, (uint32_t *)prop.modulus, in rsa_burn_key_hash()
680 rsa_convert_big_endian(e, (uint32_t *)prop.public_exponent_BN, in rsa_burn_key_hash()
683 rsa_convert_big_endian(c, (uint32_t *)prop.factor_c, in rsa_burn_key_hash()
686 rsa_convert_big_endian(c, (uint32_t *)prop.factor_np, in rsa_burn_key_hash()
696 if (memcmp(digest_write, prop.hash, digest_len) != 0) { in rsa_burn_key_hash()