• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libgcrypt-1.5.0/random/

Lines Matching defs:rng_ctx

179 static void x931_reseed (rng_context_t rng_ctx);
180 static void get_random (void *buffer, size_t length, rng_context_t rng_ctx);
240 setup_guards (rng_context_t rng_ctx)
243 rng_ctx->guard_0[0] = 17;
244 rng_ctx->guard_1[0] = 42;
245 rng_ctx->guard_2[0] = 137;
246 rng_ctx->guard_3[0] = 252;
250 check_guards (rng_context_t rng_ctx)
252 if ( rng_ctx->guard_0[0] != 17
253 || rng_ctx->guard_1[0] != 42
254 || rng_ctx->guard_2[0] != 137
255 || rng_ctx->guard_3[0] != 252 )
256 log_fatal ("memory corruption detected in RNG context %p\n", rng_ctx);
277 x931_get_dt (unsigned char *buffer, size_t length, rng_context_t rng_ctx)
285 if (rng_ctx->test_dt_ptr
286 && rng_ctx != nonce_context
287 && rng_ctx != std_rng_context
288 && rng_ctx != strong_rng_context)
290 memcpy (buffer, rng_ctx->test_dt_ptr, 16);
291 buffer[12] = (rng_ctx->test_dt_counter >> 24);
292 buffer[13] = (rng_ctx->test_dt_counter >> 16);
293 buffer[14] = (rng_ctx->test_dt_counter >> 8);
294 buffer[15] = rng_ctx->test_dt_counter;
295 rng_ctx->test_dt_counter++;
444 x931_aes_driver (unsigned char *output, size_t length, rng_context_t rng_ctx)
451 gcry_assert (rng_ctx->cipher_hd);
452 gcry_assert (rng_ctx->is_seeded);
464 if (!rng_ctx->test_dt_ptr && rng_ctx->use_counter > SEED_TTL)
466 x931_reseed (rng_ctx);
467 rng_ctx->use_counter = 0;
477 x931_get_dt (datetime_DT, 16, rng_ctx);
479 datetime_DT, rng_ctx->seed_V, rng_ctx->cipher_hd,
481 rng_ctx->use_counter++;
483 if (rng_ctx->test_no_dup_check
484 && rng_ctx->test_dt_ptr
485 && rng_ctx != nonce_context
486 && rng_ctx != std_rng_context
487 && rng_ctx != strong_rng_context)
495 if (!rng_ctx->compare_value_valid)
498 memcpy (rng_ctx->compare_value, result_buffer, 16);
499 rng_ctx->compare_value_valid = 1;
502 if (!memcmp (rng_ctx->compare_value, result_buffer, 16))
511 memcpy (rng_ctx->compare_value, result_buffer, 16);
662 x931_reseed (rng_context_t rng_ctx)
666 if (rng_ctx == nonce_context)
670 get_random (rng_ctx->seed_V, 16, std_rng_context);
671 rng_ctx->is_seeded = 1;
672 rng_ctx->seed_init_pid = getpid ();
677 x931_generate_seed (rng_ctx->seed_V, 16);
678 rng_ctx->is_seeded = 1;
679 rng_ctx->seed_init_pid = getpid ();
689 get_random (void *buffer, size_t length, rng_context_t rng_ctx)
692 gcry_assert (rng_ctx);
694 check_guards (rng_ctx);
697 if (!rng_ctx->cipher_hd)
699 if (rng_ctx == nonce_context)
700 rng_ctx->cipher_hd = x931_generate_key (1);
702 rng_ctx->cipher_hd = x931_generate_key (0);
703 if (!rng_ctx->cipher_hd)
705 rng_ctx->key_init_pid = getpid ();
709 if (!rng_ctx->is_seeded)
710 x931_reseed (rng_ctx);
712 if (rng_ctx->key_init_pid != getpid ()
713 || rng_ctx->seed_init_pid != getpid ())
724 if (x931_aes_driver (buffer, length, rng_ctx))
727 check_guards (rng_ctx);