コード例 #1
0
ファイル: challenge12.py プロジェクト: dvadas/cryptopals
    def __init__(self):
        self._key = bytes2str(randomBytes(16))

        extraText = '''
Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg
aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq
dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg
YnkK'''
        self._extraText = base64.standard_b64decode(extraText)
        self._aes = AES.new(self._key, AES.MODE_ECB)
コード例 #2
0
ファイル: challenge12.py プロジェクト: dvadas/cryptopals
	def __init__(self):
		self._key = bytes2str(randomBytes(16))
		
		extraText = '''
Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg
aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq
dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg
YnkK'''
		self._extraText = base64.standard_b64decode(extraText)
		self._aes = AES.new(self._key, AES.MODE_ECB)
コード例 #3
0
ファイル: challenge11.py プロジェクト: dvadas/cryptopals
def encryptWithRandomKey(data):
	key = bytes2str(randomBytes(16))

	if random.random() < 0.5:
		result = 'ECB'
		aes = AES.new(key, AES.MODE_ECB)
	else:
		result = 'CBC'
		iv = '\x00' * 16
		aes = AES.new(key, AES.MODE_CBC, iv)

	numBytesBefore = random.randrange(5, 10)
	numBytesAfter = random.randrange(5, 10)
	# print numBytesBefore, numBytesAfter
	bytesBefore = bytes2str(randomBytes(numBytesBefore))
	bytesAfter = bytes2str(randomBytes(numBytesAfter))
	
	input = bytesBefore + data + bytesAfter
	input = pkcs7(input, 16)
	# input = data
	output = aes.encrypt(input)
	return output, result
コード例 #4
0
def encryptWithRandomKey(data):
    key = bytes2str(randomBytes(16))

    if random.random() < 0.5:
        result = 'ECB'
        aes = AES.new(key, AES.MODE_ECB)
    else:
        result = 'CBC'
        iv = '\x00' * 16
        aes = AES.new(key, AES.MODE_CBC, iv)

    numBytesBefore = random.randrange(5, 10)
    numBytesAfter = random.randrange(5, 10)
    # print numBytesBefore, numBytesAfter
    bytesBefore = bytes2str(randomBytes(numBytesBefore))
    bytesAfter = bytes2str(randomBytes(numBytesAfter))

    input = bytesBefore + data + bytesAfter
    input = pkcs7(input, 16)
    # input = data
    output = aes.encrypt(input)
    return output, result