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 |