Lines Matching defs:ecParams

241 ec_NewKey(ECParams *ecParams, ECPrivateKey **privKey, 
255 if (!ecParams || !privKey || !privKeyBytes || (privKeyLen < 0)) {
278 key->ecParams.arena = arena;
279 key->ecParams.type = ecParams->type;
280 key->ecParams.fieldID.size = ecParams->fieldID.size;
281 key->ecParams.fieldID.type = ecParams->fieldID.type;
282 if (ecParams->fieldID.type == ec_field_GFp) {
283 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.fieldID.u.prime,
284 &ecParams->fieldID.u.prime, kmflag));
286 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.fieldID.u.poly,
287 &ecParams->fieldID.u.poly, kmflag));
289 key->ecParams.fieldID.k1 = ecParams->fieldID.k1;
290 key->ecParams.fieldID.k2 = ecParams->fieldID.k2;
291 key->ecParams.fieldID.k3 = ecParams->fieldID.k3;
292 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.curve.a,
293 &ecParams->curve.a, kmflag));
294 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.curve.b,
295 &ecParams->curve.b, kmflag));
296 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.curve.seed,
297 &ecParams->curve.seed, kmflag));
298 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.base,
299 &ecParams->base, kmflag));
300 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.order,
301 &ecParams->order, kmflag));
302 key->ecParams.cofactor = ecParams->cofactor;
303 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.DEREncoding,
304 &ecParams->DEREncoding, kmflag));
305 key->ecParams.name = ecParams->name;
306 CHECK_SEC_OK(SECITEM_CopyItem(arena, &key->ecParams.curveOID,
307 &ecParams->curveOID, kmflag));
309 len = (ecParams->fieldID.size + 7) >> 3;
311 len = ecParams->order.len;
328 rv = ec_points_mul(ecParams, &k, NULL, NULL, &(key->publicValue), kmflag);
352 EC_NewKeyFromSeed(ECParams *ecParams, ECPrivateKey **privKey,
356 rv = ec_NewKey(ecParams, privKey, seed, seedlen, kmflag);
425 EC_NewKey(ECParams *ecParams, ECPrivateKey **privKey, int kmflag)
431 if (!ecParams) {
436 len = ecParams->order.len;
437 privKeyBytes = ec_GenerateRandomPrivateKey(ecParams->order.data, len,
441 CHECK_SEC_OK( ec_NewKey(ecParams, privKey, privKeyBytes, len, kmflag) );
462 EC_ValidatePublicKey(ECParams *ecParams, SECItem *publicValue, int kmflag)
470 if (!ecParams || !publicValue) {
475 len = (ecParams->fieldID.size + 7) >> 3;
493 group = ECGroup_fromName(ecParams->name, kmflag);
496 * ECGroup_fromName fails if ecParams->name is not a valid
498 * for other reasons. Unfortunately if ecParams->name is a
504 if ((ecParams->name <= ECCurve_noName) ||
505 (ecParams->name >= ECCurve_pastLastCurve)) {
548 ECParams *ecParams,
564 if (!publicValue || !ecParams || !privateValue ||
569 if ((rv = EC_ValidatePublicKey(ecParams, publicValue, kmflag)) !=
575 len = (ecParams->fieldID.size + 7) >> 3;
584 if (withCofactor && (ecParams->cofactor != 1)) {
588 mp_set(&cofactor, ecParams->cofactor);
593 if ((ec_points_mul(ecParams, NULL, &k, publicValue, &pointQ, kmflag) != SECSuccess) ||
636 ECParams *ecParams = NULL;
660 ecParams = &(key->ecParams);
661 flen = (ecParams->fieldID.size + 7) >> 3;
662 olen = ecParams->order.len;
681 SECITEM_TO_MPINT( ecParams->order, &n );
705 (ec_points_mul(ecParams, &k, NULL, NULL, &kGpoint, kmflag)
744 if (digest->len*8 > ecParams->fieldID.size) {
745 mpl_rsh(&s,&s,digest->len*8 - ecParams->fieldID.size);
839 len = key->ecParams.order.len;
840 kBytes = ec_GenerateRandomPrivateKey(key->ecParams.order.data, len,
873 ECParams *ecParams = NULL;
901 ecParams = &(key->ecParams);
902 flen = (ecParams->fieldID.size + 7) >> 3;
903 olen = ecParams->order.len;
935 SECITEM_TO_MPINT(ecParams->order, &n);
959 if (digest->len*8 > ecParams->fieldID.size) { /* u1 = HASH(M') */
960 mpl_rsh(&u1,&u1,digest->len*8- ecParams->fieldID.size);
990 if (ec_points_mul(ecParams, &u1, &u2, &key->publicValue, &pointC, kmflag)
1097 EC_FreeParams(ECParams *ecParams, boolean_t freeit)
1099 if (ecParams == NULL)
1102 SECITEM_FreeItem(&ecParams->fieldID.u.prime, freeit);
1103 SECITEM_FreeItem(&ecParams->fieldID.u.poly, freeit);
1104 SECITEM_FreeItem(&ecParams->curve.a, freeit);
1105 SECITEM_FreeItem(&ecParams->curve.b, freeit);
1106 SECITEM_FreeItem(&ecParams->curve.seed, freeit);
1107 SECITEM_FreeItem(&ecParams->base, freeit);
1108 SECITEM_FreeItem(&ecParams->order, freeit);
1109 SECITEM_FreeItem(&ecParams->DEREncoding, freeit);
1110 SECITEM_FreeItem(&ecParams->curveOID, freeit);
1113 PORT_Free(ecParams, sizeof (ECParams));