コード例 #1
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
コード例 #2
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
コード例 #3
0
ファイル: challenge12.py プロジェクト: dvadas/cryptopals
 def encrypt(self, input):
     fullInput = input + self._extraText
     output = self._aes.encrypt(pkcs7(fullInput, 16))
     return output
コード例 #4
0
#!/usr/bin/env python

from util import pkcs7, str2bytes

input = 'YELLOW SUBMARINE'
padded = pkcs7(input, 20)
print padded

print str2bytes(padded)

コード例 #5
0
ファイル: challenge12.py プロジェクト: dvadas/cryptopals
	def encrypt(self, input):
		fullInput = input + self._extraText
		output = self._aes.encrypt(pkcs7(fullInput, 16))
		return output