Lines Matching refs:hash

73     PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
74 EVP_MD_CTX *ctx = hash->ctx;
75 unsigned char *vtmp = hash->vtmp;
103 if (!(EVP_DigestInit_ex(ctx, ossl_prov_digest_md(&hash->digest), NULL)
110 if (outlen < hash->blocklen) {
114 OPENSSL_cleanse(vtmp, hash->blocklen);
120 outlen -= hash->blocklen;
125 out += hash->blocklen;
178 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
179 EVP_MD_CTX *ctx = hash->ctx;
181 return EVP_DigestInit_ex(ctx, ossl_prov_digest_md(&hash->digest), NULL)
183 && EVP_DigestUpdate(ctx, hash->V, drbg->seedlen)
185 && EVP_DigestFinal(ctx, hash->vtmp, NULL)
186 && add_bytes(drbg, hash->V, hash->vtmp, hash->blocklen);
209 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
214 memcpy(hash->vtmp, hash->V, drbg->seedlen);
216 if (!EVP_DigestInit_ex(hash->ctx, ossl_prov_digest_md(&hash->digest),
218 || !EVP_DigestUpdate(hash->ctx, hash->vtmp, drbg->seedlen))
221 if (outlen < hash->blocklen) {
222 if (!EVP_DigestFinal(hash->ctx, hash->vtmp, NULL))
224 memcpy(out, hash->vtmp, outlen);
227 if (!EVP_DigestFinal(hash->ctx, out, NULL))
229 outlen -= hash->blocklen;
232 out += hash->blocklen;
234 add_bytes(drbg, hash->vtmp, &one, 1);
253 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
255 EVP_MD_CTX_free(hash->ctx);
256 hash->ctx = EVP_MD_CTX_new();
259 return hash->ctx != NULL
260 && hash_df(drbg, hash->V, INBYTE_IGNORE,
263 && hash_df1(drbg, hash->C, 0x00, hash->V, drbg->seedlen);
292 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
296 if (!hash_df(drbg, hash->C, 0x01, hash->V, drbg->seedlen, ent, ent_len,
299 memcpy(hash->V, hash->C, drbg->seedlen);
301 return hash_df1(drbg, hash->C, 0x00, hash->V, drbg->seedlen);
327 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
336 return hash->ctx != NULL
347 && add_bytes(drbg, hash->V, hash->C, drbg->seedlen)
349 && add_bytes(drbg, hash->V, counter, 4);
364 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
366 OPENSSL_cleanse(hash->V, sizeof(hash->V));
367 OPENSSL_cleanse(hash->C, sizeof(hash->C));
368 OPENSSL_cleanse(hash->vtmp, sizeof(hash->vtmp));
380 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
382 PROV_DRBG_VERYIFY_ZEROIZATION(hash->V);
383 PROV_DRBG_VERYIFY_ZEROIZATION(hash->C);
384 PROV_DRBG_VERYIFY_ZEROIZATION(hash->vtmp);
390 PROV_DRBG_HASH *hash;
392 hash = OPENSSL_secure_zalloc(sizeof(*hash));
393 if (hash == NULL) {
398 ctx->data = hash;
421 PROV_DRBG_HASH *hash;
423 if (drbg != NULL && (hash = (PROV_DRBG_HASH *)drbg->data) != NULL) {
424 EVP_MD_CTX_free(hash->ctx);
425 ossl_prov_digest_reset(&hash->digest);
426 OPENSSL_secure_clear_free(hash, sizeof(*hash));
434 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data;
440 md = ossl_prov_digest_md(&hash->digest);
462 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)ctx->data;
466 if (!ossl_prov_digest_load_from_params(&hash->digest, params, libctx))
469 md = ossl_prov_digest_md(&hash->digest);
477 hash->blocklen = EVP_MD_get_size(md);
479 ctx->strength = 64 * (hash->blocklen >> 3);
482 if (hash->blocklen > MAX_BLOCKLEN_USING_SMALL_SEEDLEN)