Lines Matching refs:key

22 static void _ecc_oid_lookup(ecc_key *key)  in _ecc_oid_lookup()  argument
27 key->dp.oidlen = 0; in _ecc_oid_lookup()
30 if (_ecc_cmp_hex_bn(curve->prime, key->dp.prime, bn) != 1) continue; in _ecc_oid_lookup()
31 if (_ecc_cmp_hex_bn(curve->order, key->dp.order, bn) != 1) continue; in _ecc_oid_lookup()
32 if (_ecc_cmp_hex_bn(curve->A, key->dp.A, bn) != 1) continue; in _ecc_oid_lookup()
33 if (_ecc_cmp_hex_bn(curve->B, key->dp.B, bn) != 1) continue; in _ecc_oid_lookup()
34 if (_ecc_cmp_hex_bn(curve->Gx, key->dp.base.x, bn) != 1) continue; in _ecc_oid_lookup()
35 if (_ecc_cmp_hex_bn(curve->Gy, key->dp.base.y, bn) != 1) continue; in _ecc_oid_lookup()
36 if (key->dp.cofactor != curve->cofactor) continue; in _ecc_oid_lookup()
41 key->dp.oidlen = 16; /* size of key->dp.oid */ in _ecc_oid_lookup()
42 pk_oid_str_to_num(curve->OID, key->dp.oid, &key->dp.oidlen); in _ecc_oid_lookup()
46 int ecc_copy_curve(const ecc_key *srckey, ecc_key *key) in ecc_copy_curve() argument
51 LTC_ARGCHK(key != NULL); in ecc_copy_curve()
54 if ((err = mp_init_multi(&key->dp.prime, &key->dp.order, &key->dp.A, &key->dp.B, in ecc_copy_curve()
55 &key->dp.base.x, &key->dp.base.y, &key->dp.base.z, in ecc_copy_curve()
56 &key->pubkey.x, &key->pubkey.y, &key->pubkey.z, &key->k, in ecc_copy_curve()
62 if ((err = mp_copy(srckey->dp.prime, key->dp.prime )) != CRYPT_OK) { goto error; } in ecc_copy_curve()
63 if ((err = mp_copy(srckey->dp.order, key->dp.order )) != CRYPT_OK) { goto error; } in ecc_copy_curve()
64 if ((err = mp_copy(srckey->dp.A, key->dp.A )) != CRYPT_OK) { goto error; } in ecc_copy_curve()
65 if ((err = mp_copy(srckey->dp.B, key->dp.B )) != CRYPT_OK) { goto error; } in ecc_copy_curve()
66 if ((err = ltc_ecc_copy_point(&srckey->dp.base, &key->dp.base)) != CRYPT_OK) { goto error; } in ecc_copy_curve()
68 key->dp.cofactor = srckey->dp.cofactor; in ecc_copy_curve()
69 key->dp.size = srckey->dp.size; in ecc_copy_curve()
72 key->dp.oidlen = srckey->dp.oidlen; in ecc_copy_curve()
73 for (i = 0; i < key->dp.oidlen; i++) key->dp.oid[i] = srckey->dp.oid[i]; in ecc_copy_curve()
76 _ecc_oid_lookup(key); /* try to find OID in ltc_ecc_curves */ in ecc_copy_curve()
82 ecc_free(key); in ecc_copy_curve()
86 …id *a, void *b, void *prime, void *order, void *gx, void *gy, unsigned long cofactor, ecc_key *key) in ecc_set_curve_from_mpis() argument
90 LTC_ARGCHK(key != NULL); in ecc_set_curve_from_mpis()
98 if ((err = mp_init_multi(&key->dp.prime, &key->dp.order, &key->dp.A, &key->dp.B, in ecc_set_curve_from_mpis()
99 &key->dp.base.x, &key->dp.base.y, &key->dp.base.z, in ecc_set_curve_from_mpis()
100 &key->pubkey.x, &key->pubkey.y, &key->pubkey.z, &key->k, in ecc_set_curve_from_mpis()
106 if ((err = mp_copy(prime, key->dp.prime )) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
107 if ((err = mp_copy(order, key->dp.order )) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
108 if ((err = mp_copy(a, key->dp.A )) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
109 if ((err = mp_copy(b, key->dp.B )) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
110 if ((err = mp_copy(gx, key->dp.base.x)) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
111 if ((err = mp_copy(gy, key->dp.base.y)) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
112 if ((err = mp_set(key->dp.base.z, 1)) != CRYPT_OK) { goto error; } in ecc_set_curve_from_mpis()
114 key->dp.cofactor = cofactor; in ecc_set_curve_from_mpis()
115 key->dp.size = mp_unsigned_bin_size(prime); in ecc_set_curve_from_mpis()
117 _ecc_oid_lookup(key); in ecc_set_curve_from_mpis()
122 ecc_free(key); in ecc_set_curve_from_mpis()