示例#1
0
def test_permutation():
    from crypto.analysis.metrics import test_permutation
    from crypto.designs.blockcipher.standardized.aes_procedures import S_BOX
        
    def test_function(data):
        data = bytearray(data)
        permutation(data, S_BOX)
        return bytes(data)
    test_permutation(test_function, 16, avalanche_test=False, randomness_test=False)
示例#2
0
def test_permutation():
    from crypto.analysis.metrics import test_permutation

    def _permutation(_input):
        state = bytearray(_input)
        permutation_256_32(state)
        return bytes(state)

    test_permutation(_permutation, 32)
示例#3
0
def test_bytewise_permutation_metrics():
    from crypto.analysis.metrics import test_permutation
    _key = generate_key(16)

    def test_function(data):
        data = bytearray(data)
        bytewise_permutation(
            data, _key if len(data) < 16 else generate_key(len(data)))
        return bytes(data)

    test_permutation(test_function, 32)
示例#4
0
def test_permutation():
    from crypto.analysis.metrics import test_permutation
    from crypto.designs.blockcipher.standardized.aes_procedures import S_BOX

    def test_function(data):
        data = bytearray(data)
        permutation(data, S_BOX)
        return bytes(data)

    test_permutation(test_function,
                     16,
                     avalanche_test=False,
                     randomness_test=False)
示例#5
0
def test_keyed_permutation():
    blocksize = 16
    key = [[item % 256 for item in range(index + 1, index + 1 + blocksize)] for index in range(256)]
   # for byte in range(256):
   #     data = bytearray(8)
   #     data[0] = byte
   #     keyed_permutation(data, key)
   #     print data    
    from crypto.analysis.metrics import test_permutation
    def test_function(data):
        data = bytearray(data)
        keyed_permutation(data, key)
        return bytes(data)
    test_permutation(test_function, blocksize)
示例#6
0
def test_keyed_permutation():
    blocksize = 16
    key = [[item % 256 for item in range(index + 1, index + 1 + blocksize)]
           for index in range(256)]
    # for byte in range(256):
    #     data = bytearray(8)
    #     data[0] = byte
    #     keyed_permutation(data, key)
    #     print data
    from crypto.analysis.metrics import test_permutation

    def test_function(data):
        data = bytearray(data)
        keyed_permutation(data, key)
        return bytes(data)

    test_permutation(test_function, blocksize)
示例#7
0
def test_permutation():
    from crypto.analysis.metrics import test_permutation             
    test_permutation(permutation_on_state, 16)
示例#8
0
    size = len(state)
    for index in range(size):
        #for index2 in range(index, size):
        #    word0, word1 = state[index], state[index2]
        #    _sum ^= word0 ^ word1
        #    word0, word1 = choice_swap(_sum, word0, word1)
        #    state[index] = rotate_left(sbox[word0 ^ cache[index]], 1, wordsize)
        #    state[index2] = sbox[rotate_left(word1, 1, wordsize) ^ cache[index2]]
        #    _sum ^= state[index] ^ state[index2]
            
            
        byte = state[index]
        state[index] = sbox[_sum ^ cache[index]] # 3
        _sum = rotate_left(sbox[_sum ^ byte ^ state[index]], 1, wordsize) # 4
                    
            
    #print state        
    
def test_permutation():
    from crypto.analysis.metrics import test_permutation
    from crypto.designs.blockcipher.standardized.aes_procedures import S_BOX
        
    def test_function(data):
        data = bytearray(data)
        permutation(data, S_BOX)
        return bytes(data)
    test_permutation(test_function, 16, avalanche_test=False, randomness_test=False)
                
if __name__ == "__main__":
    test_permutation()
    
示例#9
0
        #    _sum ^= word0 ^ word1
        #    word0, word1 = choice_swap(_sum, word0, word1)
        #    state[index] = rotate_left(sbox[word0 ^ cache[index]], 1, wordsize)
        #    state[index2] = sbox[rotate_left(word1, 1, wordsize) ^ cache[index2]]
        #    _sum ^= state[index] ^ state[index2]

        byte = state[index]
        state[index] = sbox[_sum ^ cache[index]]  # 3
        _sum = rotate_left(sbox[_sum ^ byte ^ state[index]], 1, wordsize)  # 4

    #print state


def test_permutation():
    from crypto.analysis.metrics import test_permutation
    from crypto.designs.blockcipher.standardized.aes_procedures import S_BOX

    def test_function(data):
        data = bytearray(data)
        permutation(data, S_BOX)
        return bytes(data)

    test_permutation(test_function,
                     16,
                     avalanche_test=False,
                     randomness_test=False)


if __name__ == "__main__":
    test_permutation()
示例#10
0
def test_permutation():
    from crypto.analysis.metrics import test_permutation             
    test_permutation(permutation_on_state, 16)
示例#11
0
def test_permutation_metrics():
    from crypto.analysis.metrics import test_permutation
    test_permutation(
        permutation, 16
    )  #, avalanche_test=False, randomness_test=False, bias_test=False, period_test=False)