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)
Beispiel #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))
Beispiel #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)
Beispiel #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)
Beispiel #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))
Beispiel #6
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    data = [0, 0, 0, 1]
    test_4x32_function(permutation, data)
Beispiel #7
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    data = [0, 0, 0, 1]
    test_4x32_function(permutation, data)
Beispiel #8
0
def visualize_mix_state():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(mix_state, (0, 0, 0, 1))
Beispiel #9
0
def visualize_mix_block():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(mix_block, (0, 0, 0, 1))
Beispiel #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))
Beispiel #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))
Beispiel #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)
Beispiel #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))
Beispiel #14
0
def test_prng():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(prng, (0, 0, 1, 0))
Beispiel #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)))
Beispiel #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)
Beispiel #17
0
def visualize_encrypt():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(encrypt, (0, 0, 0, 1))
Beispiel #18
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(permutation, (0, 0, 0, 1))
Beispiel #19
0
def test_permutation():
    from crypto.analysis.visualization import test_4x32_function
    inputs = (1, 0, 0, 0)
    test_4x32_function(permutation, inputs)
Beispiel #20
0
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(permutation, (0, 0, 0, 1))
Beispiel #21
0
def visualize_encrypt():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(encrypt, (0, 0, 0, 1))