Lines Matching full:random
76 /* size of random output generated in test_drbg_reseed() */
166 * Generates random output using rand_bytes() and rand_priv_bytes()
172 * |public_random|, |private_random|: generated random output
214 * step 2: generate random output in test_drbg_reseed()
220 /* Generate random output from the public and private DRBG */ in test_drbg_reseed()
288 unsigned char random[RANDOM_SIZE]; /* random output */ member
299 * This simplifies finding duplicate random output and makes
312 result = memcmp(l->random, r->random, RANDOM_SIZE); in compare_drbg_fork_result()
321 * Sort two-byte chunks of random data
332 * in the child after forking the process. Collect the random
344 unsigned char random[2 * RANDOM_SIZE]; in test_drbg_reseed_in_child() local
358 /* wait for children to terminate and collect their random output */ in test_drbg_reseed_in_child()
361 && TEST_true(read(fd[0], &random[0], sizeof(random)) in test_drbg_reseed_in_child()
362 == sizeof(random))) { in test_drbg_reseed_in_child()
364 /* random output of public drbg */ in test_drbg_reseed_in_child()
367 memcpy(result[0].random, &random[0], RANDOM_SIZE); in test_drbg_reseed_in_child()
369 /* random output of private drbg */ in test_drbg_reseed_in_child()
372 memcpy(result[1].random, &random[RANDOM_SIZE], RANDOM_SIZE); in test_drbg_reseed_in_child()
389 &random[0], &random[RANDOM_SIZE], in test_drbg_reseed_in_child()
391 && TEST_true(write(fd[1], random, sizeof(random)) in test_drbg_reseed_in_child()
392 == sizeof(random))) { in test_drbg_reseed_in_child()
414 unsigned char random[2 * RANDOM_SIZE]; in test_rand_reseed_on_fork() local
429 /* collect the random output of the children */ in test_rand_reseed_on_fork()
439 /* collect the random output of the parent */ in test_rand_reseed_on_fork()
442 &random[0], &random[RANDOM_SIZE], in test_rand_reseed_on_fork()
452 memcpy(result[0].random, &random[0], RANDOM_SIZE); in test_rand_reseed_on_fork()
457 memcpy(result[1].random, &random[RANDOM_SIZE], RANDOM_SIZE); in test_rand_reseed_on_fork()
459 /* collect all sampled random data in a single buffer */ in test_rand_reseed_on_fork()
461 memcpy(psample, &result[i].random[0], RANDOM_SIZE); in test_rand_reseed_on_fork()
471 if (result[i].random[0] == result[i-1].random[0]) { in test_rand_reseed_on_fork()
479 TEST_note("ERROR: %d duplicate prefixes in public random output", duplicate[0]); in test_rand_reseed_on_fork()
485 TEST_note("ERROR: %d duplicate prefixes in private random output", duplicate[1]); in test_rand_reseed_on_fork()
502 TEST_note("ERROR: %d duplicate chunks in random output", duplicate[0]); in test_rand_reseed_on_fork()
509 char *rand_hex = OPENSSL_buf2hexstr(result[i].random, RANDOM_SIZE); in test_rand_reseed_on_fork()
511 TEST_note(" random: %s, pid: %d (%s, %s)", in test_rand_reseed_on_fork()
528 unsigned char random[1]; in test_rand_fork_safety() local
542 if (!TEST_int_gt(RAND_bytes(random, 1), 0) || !TEST_int_gt(RAND_priv_bytes(random, 1), 0)) in test_rand_fork_safety()