Lines Matching +full:offset +full:- +full:y
2 * keyraw.c - raw key operations and conversions
4 * (c) NLnet Labs, 2004-2008
75 return (len - exp - 3)*8;
81 return (len-exp-1)*8;
119 memmove(&ac16, key + keysize - 3, 2);
149 meth = EVP_PKEY_asn1_find_str(NULL, "gost2001", -1);
173 meth = EVP_PKEY_asn1_find_str(&e, "gost2001", -1);
202 BIGNUM** q, BIGNUM** g, BIGNUM** y)
206 uint16_t offset;
212 offset = 1;
220 *q = BN_bin2bn(key+offset, SHA_DIGEST_LENGTH, NULL);
221 offset += SHA_DIGEST_LENGTH;
223 *p = BN_bin2bn(key+offset, (int)length, NULL);
224 offset += length;
226 *g = BN_bin2bn(key+offset, (int)length, NULL);
227 offset += length;
229 *y = BN_bin2bn(key+offset, (int)length, NULL);
231 if(!*q || !*p || !*g || !*y) {
235 BN_free(*y);
246 BIGNUM *Q=NULL, *P=NULL, *G=NULL, *Y=NULL;
247 if(!sldns_key_dsa_buf_bignum(key, len, &P, &Q, &G, &Y)) {
257 dsa->p = P;
258 dsa->q = Q;
259 dsa->g = G;
260 dsa->pub_key = Y;
271 BN_free(Y);
274 if (!DSA_set0_key(dsa, Y, NULL)) {
277 BN_free(Y);
291 BIGNUM *p=NULL, *q=NULL, *g=NULL, *y=NULL;
294 if(!sldns_key_dsa_buf_bignum(key, len, &p, &q, &g, &y)) {
303 BN_free(y);
309 !OSSL_PARAM_BLD_push_BN(param_bld, "pub", y)) {
314 BN_free(y);
326 BN_free(y);
335 BN_free(y);
344 BN_free(y);
353 BN_free(y);
381 uint16_t offset;
392 offset = 3;
395 offset = 1;
399 if(len < (size_t)offset + exp + 1)
405 (void) BN_bin2bn(key+offset, (int)exp, *e);
406 offset += exp;
415 (void) BN_bin2bn(key+offset, (int)(len - offset), *n);
437 rsa->n = modulus;
438 rsa->e = exponent;
578 group = "P-384";