Lines Matching refs:prng
78 static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen, const uint8_t *add… in update() argument
84 tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); in update()
87 (void)tc_hmac_init(&prng->h); in update()
88 (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); in update()
89 (void)tc_hmac_update(&prng->h, &separator0, sizeof(separator0)); in update()
92 (void)tc_hmac_update(&prng->h, data, datalen); in update()
94 (void)tc_hmac_update(&prng->h, additional_data, additional_datalen); in update()
96 (void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h); in update()
99 (void)tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); in update()
102 (void)tc_hmac_init(&prng->h); in update()
103 (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); in update()
104 (void)tc_hmac_final(prng->v, sizeof(prng->v), &prng->h); in update()
110 tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); in update()
113 (void)tc_hmac_init(&prng->h); in update()
114 (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); in update()
115 (void)tc_hmac_update(&prng->h, &separator1, sizeof(separator1)); in update()
116 (void)tc_hmac_update(&prng->h, data, datalen); in update()
118 (void)tc_hmac_update(&prng->h, additional_data, additional_datalen); in update()
119 (void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h); in update()
122 (void)tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); in update()
125 (void)tc_hmac_init(&prng->h); in update()
126 (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); in update()
127 (void)tc_hmac_final(prng->v, sizeof(prng->v), &prng->h); in update()
130 int tc_hmac_prng_init(TCHmacPrng_t prng, in tc_hmac_prng_init() argument
136 if (prng == (TCHmacPrng_t) 0 || in tc_hmac_prng_init()
143 _set(prng->key, 0x00, sizeof(prng->key)); in tc_hmac_prng_init()
144 _set(prng->v, 0x01, sizeof(prng->v)); in tc_hmac_prng_init()
146 update(prng, personalization, plen, 0, 0); in tc_hmac_prng_init()
149 prng->countdown = 0; in tc_hmac_prng_init()
154 int tc_hmac_prng_reseed(TCHmacPrng_t prng, in tc_hmac_prng_reseed() argument
162 if (prng == (TCHmacPrng_t) 0 || in tc_hmac_prng_reseed()
179 update(prng, seed, seedlen, additional_input, additionallen); in tc_hmac_prng_reseed()
183 update(prng, seed, seedlen, 0, 0); in tc_hmac_prng_reseed()
187 prng->countdown = MAX_GENS; in tc_hmac_prng_reseed()
192 int tc_hmac_prng_generate(uint8_t *out, unsigned int outlen, TCHmacPrng_t prng) in tc_hmac_prng_generate() argument
198 prng == (TCHmacPrng_t) 0 || in tc_hmac_prng_generate()
202 } else if (prng->countdown == 0) { in tc_hmac_prng_generate()
206 prng->countdown--; in tc_hmac_prng_generate()
210 tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); in tc_hmac_prng_generate()
213 (void)tc_hmac_init(&prng->h); in tc_hmac_prng_generate()
214 (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); in tc_hmac_prng_generate()
215 (void)tc_hmac_final(prng->v, sizeof(prng->v), &prng->h); in tc_hmac_prng_generate()
219 (void)_copy(out, bufferlen, prng->v, bufferlen); in tc_hmac_prng_generate()
227 update(prng, 0, 0, 0, 0); in tc_hmac_prng_generate()