Esempio n. 1
0
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]))