• Home
  • Raw
  • Download

Lines Matching refs:drbg

30 int CTR_DRBG_init(CTR_DRBG_STATE *drbg,  in CTR_DRBG_init()  argument
60 drbg->ctr = aes_ctr_set_key(&drbg->ks, NULL, &drbg->block, seed_material, 32); in CTR_DRBG_init()
61 OPENSSL_memcpy(drbg->counter.bytes, seed_material + 32, 16); in CTR_DRBG_init()
62 drbg->reseed_counter = 1; in CTR_DRBG_init()
72 static void ctr32_add(CTR_DRBG_STATE *drbg, uint32_t n) { in ctr32_add() argument
73 drbg->counter.words[3] = in ctr32_add()
74 CRYPTO_bswap4(CRYPTO_bswap4(drbg->counter.words[3]) + n); in ctr32_add()
77 static int CTR_DRBG_update(CTR_DRBG_STATE *drbg, const uint8_t *data, in CTR_DRBG_update() argument
88 ctr32_add(drbg, 1); in CTR_DRBG_update()
89 drbg->block(drbg->counter.bytes, temp + i, &drbg->ks); in CTR_DRBG_update()
96 drbg->ctr = aes_ctr_set_key(&drbg->ks, NULL, &drbg->block, temp, 32); in CTR_DRBG_update()
97 OPENSSL_memcpy(drbg->counter.bytes, temp + 32, 16); in CTR_DRBG_update()
102 int CTR_DRBG_reseed(CTR_DRBG_STATE *drbg, in CTR_DRBG_reseed() argument
122 if (!CTR_DRBG_update(drbg, entropy, CTR_DRBG_ENTROPY_LEN)) { in CTR_DRBG_reseed()
126 drbg->reseed_counter = 1; in CTR_DRBG_reseed()
131 int CTR_DRBG_generate(CTR_DRBG_STATE *drbg, uint8_t *out, size_t out_len, in CTR_DRBG_generate() argument
140 if (drbg->reseed_counter > kMaxReseedCount) { in CTR_DRBG_generate()
145 !CTR_DRBG_update(drbg, additional_data, additional_data_len)) { in CTR_DRBG_generate()
166 if (drbg->ctr) { in CTR_DRBG_generate()
168 ctr32_add(drbg, 1); in CTR_DRBG_generate()
169 drbg->ctr(out, out, num_blocks, &drbg->ks, drbg->counter.bytes); in CTR_DRBG_generate()
170 ctr32_add(drbg, num_blocks - 1); in CTR_DRBG_generate()
173 ctr32_add(drbg, 1); in CTR_DRBG_generate()
174 drbg->block(drbg->counter.bytes, out + i, &drbg->ks); in CTR_DRBG_generate()
184 ctr32_add(drbg, 1); in CTR_DRBG_generate()
185 drbg->block(drbg->counter.bytes, block, &drbg->ks); in CTR_DRBG_generate()
190 if (!CTR_DRBG_update(drbg, additional_data, additional_data_len)) { in CTR_DRBG_generate()
194 drbg->reseed_counter++; in CTR_DRBG_generate()
198 void CTR_DRBG_clear(CTR_DRBG_STATE *drbg) { in CTR_DRBG_clear() argument
199 OPENSSL_cleanse(drbg, sizeof(CTR_DRBG_STATE)); in CTR_DRBG_clear()