def test_bit_permutation(key=(1, 1, 1, 1)): from os import urandom from crypto.analysis.visualization import test_4x32_function #a, b, c, d, k0, k1, k2, k3 = bytearray(urandom(8)) #inputs = a, b, c, d, k0, k1, k2, k3 inputs = a, b, c, d, k0, k1, k2, k3 = (1, 0, 0, 0) + key test_4x32_function(lambda *inputs: bit_permutation(*inputs, size=32), inputs)
def visualize_mix_state(): from crypto.analysis.visualization import test_4x32_function from crypto.utilities import integer_to_bytes, bytes_to_integer def test_function(a, b, c, d): state = [integer_to_bytes(word, 4) for word in (a, b, c, d)] permutation(*state) return [bytes_to_integer(item) for item in state] test_4x32_function(test_function, (0, 0, 0, 1))
def visualize_round_function(): data = [0, 0, 0, 1] CONSTANTS = iter(range(1, 128)) def test_function(a, b, c, d): return round_function(a, b, c, d, next(CONSTANTS)) from crypto.analysis.visualization import test_4x32_function test_4x32_function(test_function, data)
def visualize_round_function(): data = [0, 0, 0, 1] CONSTANTS = iter(range(1, 128)) def test_function(a, b, c, d): return round_function(a, b, c, d, next(CONSTANTS)) from crypto.analysis.visualization import test_4x32_function test_4x32_function(test_function, data)
def visualize_mix_block(): from crypto.analysis.visualization import test_4x32_function for a in range(32): #for b in range(32): # for c in range(32): # for d in range(32): # test_4x32_function(mix_block, (1 << a, 1 << b, 1 << c, 1 << d)) test_4x32_function(mix_block, (1 << a, 0, 0, 0)) test_4x32_function(mix_block, (0, 1 << a, 0, 0)) test_4x32_function(mix_block, (0, 0, 1 << a, 0)) test_4x32_function(mix_block, (0, 0, 0, 1 << a))
def visualize_permutation(): from crypto.analysis.visualization import test_4x32_function data = [0, 0, 0, 1] test_4x32_function(permutation, data)
def visualize_permutation(): from crypto.analysis.visualization import test_4x32_function data = [0, 0, 0, 1] test_4x32_function(permutation, data)
def visualize_mix_state(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(mix_state, (0, 0, 0, 1))
def visualize_mix_block(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(mix_block, (0, 0, 0, 1))
def visualize_bit_permutation(): from crypto.analysis.visualization import test_4x32_function from os import urandom test_4x32_function(bit_permutation, (ord(urandom(1)), 3, 1, 5 | 8))
def visualize_bit_permutation(): from crypto.analysis.visualization import test_4x32_function from os import urandom test_4x32_function(bit_permutation, (ord(urandom(1)), 3, 1, 5 | 8))
def visualize_permutation(): from crypto.analysis.visualization import test_4x32_function state = (6, 0, 0, 0) test_4x32_function(keyed_bit_permutation, state)
def visualize_choice_rotate_mixrow(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(choice_rotate_mixRow, (0, 0, 0, 1))
def test_prng(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(prng, (0, 0, 1, 0))
def visualize_keyed_permutation(): from crypto.analysis.visualization import test_4x32_function from os import urandom from crypto.utilities import bytes_to_integer test_4x32_function(keyed_permutation, (0, 0, 0, 1) + tuple(bytes_to_integer(bytearray(urandom(4))) for count in range(4)))
def visualize_permutation(): from crypto.analysis.visualization import test_4x32_function state = (6, 0, 0, 0) test_4x32_function(keyed_bit_permutation, state)
def visualize_encrypt(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(encrypt, (0, 0, 0, 1))
def visualize_permutation(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(permutation, (0, 0, 0, 1))
def test_permutation(): from crypto.analysis.visualization import test_4x32_function inputs = (1, 0, 0, 0) test_4x32_function(permutation, inputs)
def visualize_permutation(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(permutation, (0, 0, 0, 1))
def visualize_encrypt(): from crypto.analysis.visualization import test_4x32_function test_4x32_function(encrypt, (0, 0, 0, 1))