def pad_and_encrypt(a, msg): return a.cbc_encrypt(msg) def decrypt_and_check_pad(a, enc): msg = a.cbc_decrypt(enc) try: a.pkcs7chk(msg) except ValueError: return False return msg aes = AESCipher() aes.key="YELLOW SUBMARINE" msg = strings[0] cph = aes.cbc_encrypt(msg) def print_msg(msg): if DEBUG: print msg def decrypt_block(a, cph, block, pos, char): print_msg( "%s (%s): %s" % (pos, char, repr(block))) if len(block) < 16: block.append(chr(random.randint(0,2))) block = decrypt_block(a, cph, block, len(block), ord(block[pos-1]))