Esempio n. 1
0
def main():
    enc = Encryptor()
    output = enc.encrypt('A' * 1024)
    bytes = str2bytes(output)
    # print bytes
    keysizes = findKeysize(bytes)
    distance, keysize = keysizes[0]
    print keysize

    input = 'A' * (keysize - 1)
    chs = []
    print 'bytes'
    while True:
        block = len(chs) / keysize
        print len(chs), block, 'input:', input

        target = enc.encrypt(input)[block * keysize:(block + 1) * keysize]
        # print len(target)

        baseInput = input + ''.join(chs)
        for byte in range(256):
            ch = chr(byte)
            testInput = baseInput + ch
            test = enc.encrypt(testInput)[block * keysize:(block + 1) *
                                          keysize]
            if test == target:
                print ch, byte
                chs.append(ch)
                break
        else:
            print 'no byte found'
            break

        if len(input) == 0:
            input = 'A' * (keysize - 1)
        else:
            input = input[1:]

    print ''.join(chs)
Esempio n. 2
0
def main():
	enc = Encryptor()
	output = enc.encrypt('A' * 1024)
	bytes = str2bytes(output)
	# print bytes
	keysizes = findKeysize(bytes)
	distance, keysize = keysizes[0]
	print keysize

	input = 'A' * (keysize - 1)
	chs = []
	print 'bytes'
	while True:
		block = len(chs) / keysize
		print len(chs), block, 'input:', input

		target = enc.encrypt(input)[block * keysize:(block + 1) * keysize]
		# print len(target)

		baseInput = input + ''.join(chs)
		for byte in range(256):
			ch = chr(byte)
			testInput = baseInput + ch
			test = enc.encrypt(testInput)[block * keysize:(block + 1) * keysize]
			if test == target:
				print ch, byte
				chs.append(ch)
				break
		else:
			print 'no byte found'
			break

		if len(input) == 0:
			input = 'A' * (keysize - 1)
		else:
			input = input[1:]

	print ''.join(chs)
Esempio n. 3
0
#!/usr/bin/env python

from util import pkcs7, str2bytes

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

print str2bytes(padded)