Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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))
Exemplo n.º 6
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    data = [0, 0, 0, 1]
    test_4x32_function(permutation, data)
Exemplo n.º 7
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    data = [0, 0, 0, 1]
    test_4x32_function(permutation, data)
Exemplo n.º 8
0
def visualize_mix_state():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(mix_state, (0, 0, 0, 1))
Exemplo n.º 9
0
def visualize_mix_block():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(mix_block, (0, 0, 0, 1))
Exemplo n.º 10
0
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))
Exemplo n.º 11
0
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))
Exemplo n.º 12
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    state = (6, 0, 0, 0)

    test_4x32_function(keyed_bit_permutation, state)
Exemplo n.º 13
0
def visualize_choice_rotate_mixrow():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(choice_rotate_mixRow, (0, 0, 0, 1))
Exemplo n.º 14
0
def test_prng():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(prng, (0, 0, 1, 0))
Exemplo n.º 15
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)))
Exemplo n.º 16
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    state = (6, 0, 0, 0)
    
    test_4x32_function(keyed_bit_permutation, state)
Exemplo n.º 17
0
def visualize_encrypt():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(encrypt, (0, 0, 0, 1))
Exemplo n.º 18
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(permutation, (0, 0, 0, 1))
Exemplo n.º 19
0
def test_permutation():
    from crypto.analysis.visualization import test_4x32_function
    inputs = (1, 0, 0, 0)
    test_4x32_function(permutation, inputs)
Exemplo n.º 20
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(permutation, (0, 0, 0, 1))
Exemplo n.º 21
0
def visualize_encrypt():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(encrypt, (0, 0, 0, 1))