Name Description Size
BUILD.bazel 17034
BUILD.gn 8805
chi_square.cc 7171
chi_square.h 3027
chi_square_test.cc 15211
distribution_caller.h 3590
distribution_test_util.cc 13373
distribution_test_util.h 4133
distribution_test_util_test.cc 6065
explicit_seed_seq.h 2887
explicit_seed_seq_test.cc 7715
fast_uniform_bits.h 10594
fast_uniform_bits_test.cc 11792
fastmath.h 1956
fastmath_test.cc 3267
gaussian_distribution_gentables.cc 4207
generate_real.h 5647
generate_real_test.cc 19695
iostream_state_saver.h 8063
iostream_state_saver_test.cc 11359
mock_helpers.h 5282
mock_overload_set.h 4076
nanobenchmark.cc 27528
nanobenchmark.h 7676
nanobenchmark_test.cc 2576
nonsecure_base.h 5499
nonsecure_base_test.cc 6197
pcg_engine.h 10067
pcg_engine_test.cc 25153
platform.h 6510
pool_urbg.cc 8131
pool_urbg.h 4070
pool_urbg_test.cc 6474
randen.cc 3030
randen.h 3006
randen_benchmarks.cc 5870
randen_detect.cc 8014
randen_detect.h 1126
randen_engine.h 9769
randen_engine_test.cc 27615
randen_hwaes.cc 18438
randen_hwaes.h 1891
randen_hwaes_test.cc 4002
randen_round_keys.cc python >tmp.cc << EOF """Generates Randen round keys array from pi-hex.62500.txt file.""" import binascii KEYS = 17 * 8 def chunks(l, n): """Yield successive n-sized chunks from l.""" for i in range(0, len(l), n): yield l[i:i + n] def pairwise(t): """Transforms sequence into sequence of pairs.""" it = iter(t) return zip(it,it) def digits_from_pi(): """Reads digits from hexpi.sourceforge.net file.""" with open("pi-hex.62500.txt") as file: return file.read() def digits_from_urandom(): """Reads digits from /dev/urandom.""" with open("/dev/urandom") as file: return binascii.hexlify(file.read(KEYS * 16)) def print_row(b) print(" 0x{0}, 0x{1}, 0x{2}, 0x{3}, 0x{4}, 0x{5}, 0x{6}, 0x{7}, 0x{8}, 0x{9}, 0x{10}, 0x{11}, 0x{12}, 0x{13}, 0x{14}, 0x{15},".format(*b)) digits = digits_from_pi() #digits = digits_from_urandom() print("namespace {") print("static constexpr size_t kKeyBytes = {0};\n".format(KEYS * 16)) print("}") print("alignas(16) const unsigned char kRandenRoundKeysBE[kKeyBytes] = {") for i, u16 in zip(range(KEYS), chunks(digits, 32)): b = list(chunks(u16, 2)) print_row(b) print("};") print("alignas(16) const unsigned char kRandenRoundKeys[kKeyBytes] = {") for i, u16 in zip(range(KEYS), chunks(digits, 32)): b = list(chunks(u16, 2)) b.reverse() print_row(b) print("};") EOF 30149
randen_slow.cc 23668
randen_slow.h 1306
randen_slow_test.cc 2847
randen_test.cc 3193
randen_traits.h 3779
salted_seed_seq.h 6049
salted_seed_seq_test.cc 5228
seed_material.cc 7830
seed_material.h 3668
seed_material_test.cc 7413
sequence_urbg.h 1709
traits.h 3996
traits_test.cc 4514
uniform_helper.h 9198
uniform_helper_test.cc 12329
wide_multiply.h 3009
wide_multiply_test.cc 5577