Lines Matching refs:fortuna_state
104 static struct fortuna_state { struct
120 } fortuna_state; argument
292 fortuna_state.fs_minpoolsize = RANDOM_FORTUNA_DEFPOOLSIZE; in random_fortuna_init_alg()
294 fortuna_state.fs_lasttime = 0; in random_fortuna_init_alg()
302 &fortuna_state.fs_minpoolsize, RANDOM_FORTUNA_DEFPOOLSIZE, in random_fortuna_init_alg()
305 KASSERT(fortuna_state.fs_minpoolsize > 0, ("random: Fortuna threshold must be > 0 at startup")); in random_fortuna_init_alg()
319 randomdev_hash_init(&fortuna_state.fs_pool[i].fsp_hash); in random_fortuna_init_alg()
320 fortuna_state.fs_pool[i].fsp_length = 0; in random_fortuna_init_alg()
322 fortuna_state.fs_reseedcount = 0; in random_fortuna_init_alg()
328 fortuna_state.fs_counter = UINT128_ZERO; in random_fortuna_init_alg()
329 explicit_bzero(&fortuna_state.fs_key, sizeof(fortuna_state.fs_key)); in random_fortuna_init_alg()
380 randomdev_hash_iterate(&fortuna_state.fs_pool[pl].fsp_hash, in random_fortuna_process_event()
382 randomdev_hash_iterate(&fortuna_state.fs_pool[pl].fsp_hash, in random_fortuna_process_event()
390 fortuna_state.fs_pool[pl].fsp_length = MIN(RANDOM_FORTUNA_MAXPOOLSIZE, in random_fortuna_process_event()
391 fortuna_state.fs_pool[pl].fsp_length + in random_fortuna_process_event()
418 randomdev_getkey(&fortuna_state.fs_key, &keymaterial, &keysz); in random_fortuna_reseed_internal()
436 randomdev_encrypt_init(&fortuna_state.fs_key, hash); in random_fortuna_reseed_internal()
439 if (uint128_is_zero(fortuna_state.fs_counter)) in random_fortuna_reseed_internal()
441 uint128_increment(&fortuna_state.fs_counter); in random_fortuna_reseed_internal()
461 KASSERT(fortuna_state.fs_minpoolsize > 0, ("random: Fortuna threshold must be > 0")); in random_fortuna_pre_read()
468 if (fortuna_state.fs_pool[0].fsp_length < fortuna_state.fs_minpoolsize in random_fortuna_pre_read()
474 || (__predict_true(fortuna_state.fs_lasttime != 0) && in random_fortuna_pre_read()
475 now - fortuna_state.fs_lasttime <= SBT_1S/10) in random_fortuna_pre_read()
495 fortuna_state.fs_lasttime = now; in random_fortuna_pre_read()
499 fortuna_state.fs_reseedcount++; in random_fortuna_pre_read()
503 if ((fortuna_state.fs_reseedcount % (1 << i)) == 0) { in random_fortuna_pre_read()
509 randomdev_hash_finish(&fortuna_state.fs_pool[i].fsp_hash, temp); in random_fortuna_pre_read()
510 randomdev_hash_init(&fortuna_state.fs_pool[i].fsp_hash); in random_fortuna_pre_read()
511 fortuna_state.fs_pool[i].fsp_length = 0; in random_fortuna_pre_read()
519 …SDT_PROBE2(random, fortuna, event_processor, debug, fortuna_state.fs_reseedcount, fortuna_state.fs… in random_fortuna_pre_read()
715 KASSERT(!uint128_is_zero(fortuna_state.fs_counter), ("FS&K: C != 0")); in random_fortuna_read_concurrent()
721 memcpy(&counter_copy, &fortuna_state.fs_counter, sizeof(counter_copy)); in random_fortuna_read_concurrent()
722 memcpy(&key_copy, &fortuna_state.fs_key, sizeof(key_copy)); in random_fortuna_read_concurrent()
729 uint128_add64(&fortuna_state.fs_counter, blockcount); in random_fortuna_read_concurrent()
739 randomdev_keystream(&fortuna_state.fs_key, &fortuna_state.fs_counter, in random_fortuna_read_concurrent()
741 randomdev_encrypt_init(&fortuna_state.fs_key, newkey); in random_fortuna_read_concurrent()
777 KASSERT(!uint128_is_zero(fortuna_state.fs_counter), ("FS&K: C != 0")); in random_fortuna_read()
780 &fortuna_state.fs_counter, &fortuna_state.fs_key, FORTUNA_LOCKED); in random_fortuna_read()
800 return (!uint128_is_zero(fortuna_state.fs_counter)); in random_fortuna_seeded_internal()