I'm trying my hand at Cryptography using Python2.7. I'm able to encrypt-decrypt a text once. But when I try to encrypt-decrypt multiple times, in a loop, it doesn't give back the original string in variable p. Please have a look at my code, and suggest what can be done. Thanks!
import os, random
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
'''Encryption'''
k = 'mykey'
hasher = SHA256.new(k)
k = hasher.digest()
p = 'enigmaticaura'
print p
IV = ''
lp = len(p)
for i in range(16):
IV += chr(random.randint(0,0xFF))
if len(p)%16 != 0:
p += ' '*(16 - len(p)%16)
enc = AES.new(k, AES.MODE_CBC, IV)
for i in range(2):
p = enc.encrypt(p)
print p
'''Decryption'''
dec = AES.new(k, AES.MODE_CBC, IV)
for i in range(2):
p = dec.decrypt(p)
#p = p[:lp]
print p