コード例 #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)
コード例 #2
0
ファイル: nonlineartest.py プロジェクト: overgter/crypto
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))
コード例 #3
0
ファイル: encrypt32.py プロジェクト: erose1337/crypto
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)
コード例 #4
0
ファイル: encrypt32.py プロジェクト: overgter/crypto
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)
コード例 #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))
コード例 #6
0
ファイル: permutationtest.py プロジェクト: erose1337/crypto
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    data = [0, 0, 0, 1]
    test_4x32_function(permutation, data)
コード例 #7
0
ファイル: permutationtest.py プロジェクト: overgter/crypto
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    data = [0, 0, 0, 1]
    test_4x32_function(permutation, data)
コード例 #8
0
def visualize_mix_state():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(mix_state, (0, 0, 0, 1))
コード例 #9
0
ファイル: arxstream.py プロジェクト: erose1337/crypto
def visualize_mix_block():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(mix_block, (0, 0, 0, 1))
コード例 #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))
コード例 #11
0
ファイル: bitpermutation.py プロジェクト: erose1337/crypto
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))
コード例 #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)
コード例 #13
0
ファイル: ciphercomponents.py プロジェクト: overgter/crypto
def visualize_choice_rotate_mixrow():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(choice_rotate_mixRow, (0, 0, 0, 1))
コード例 #14
0
ファイル: andprng.py プロジェクト: erose1337/crypto
def test_prng():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(prng, (0, 0, 1, 0))
コード例 #15
0
ファイル: choicediffusion.py プロジェクト: erose1337/crypto
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)))
コード例 #16
0
ファイル: bitpermutation2.py プロジェクト: erose1337/crypto
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    state = (6, 0, 0, 0)
    
    test_4x32_function(keyed_bit_permutation, state)
コード例 #17
0
ファイル: nonlinearkeytest.py プロジェクト: erose1337/crypto
def visualize_encrypt():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(encrypt, (0, 0, 0, 1))
コード例 #18
0
ファイル: mulandadd.py プロジェクト: overgter/crypto
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(permutation, (0, 0, 0, 1))
コード例 #19
0
ファイル: multiplicationtest.py プロジェクト: overgter/crypto
def test_permutation():
    from crypto.analysis.visualization import test_4x32_function
    inputs = (1, 0, 0, 0)
    test_4x32_function(permutation, inputs)
コード例 #20
0
ファイル: bitpermutation.py プロジェクト: erose1337/crypto
def visualize_permutation():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(permutation, (0, 0, 0, 1))
コード例 #21
0
ファイル: nonlinearkeytest.py プロジェクト: overgter/crypto
def visualize_encrypt():
    from crypto.analysis.visualization import test_4x32_function
    test_4x32_function(encrypt, (0, 0, 0, 1))