from cryptography.hazmat.primitives.ciphers import Chiper, algorithms, modes
from cryptography.hazmat.backends import default_backend
from binascii import hexlify as hexa
from os import urandom
k=urandom(16)
iv=urandom(16)
print("k=",hexa(k))
cipher = Cipher(algorithms.AES(k), modes.CBC(iv), backend = default_backend())
aes_encrypt = cipher.encryptor()
p1=urandom(16)
p2=urandom(16)
p=p1+p2+p1
c=aes_encrypt.update(p)+aes_encrypt.finalize()
print("p=",hexa(p))
print("c=",hexa(c))
aes_decrypt = cipher.decryptor()
p3=aes_decrypt.update(c)+aes_decrypt.finalize()
print("p3",hexa(p3))
ZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuY2lwaGVycyBpbXBvcnQgQ2hpcGVyLCBhbGdvcml0aG1zLCBtb2Rlcwpmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuYmFja2VuZHMgaW1wb3J0IGRlZmF1bHRfYmFja2VuZApmcm9tIGJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5IGFzIGhleGEKZnJvbSBvcyBpbXBvcnQgdXJhbmRvbQprPXVyYW5kb20oMTYpCml2PXVyYW5kb20oMTYpCnByaW50KCJrPSIsaGV4YShrKSkKY2lwaGVyID0gQ2lwaGVyKGFsZ29yaXRobXMuQUVTKGspLCBtb2Rlcy5DQkMoaXYpLCBiYWNrZW5kID0gZGVmYXVsdF9iYWNrZW5kKCkpCmFlc19lbmNyeXB0ID0gY2lwaGVyLmVuY3J5cHRvcigpCnAxPXVyYW5kb20oMTYpCnAyPXVyYW5kb20oMTYpCnA9cDErcDIrcDEKYz1hZXNfZW5jcnlwdC51cGRhdGUocCkrYWVzX2VuY3J5cHQuZmluYWxpemUoKQpwcmludCgicD0iLGhleGEocCkpCnByaW50KCJjPSIsaGV4YShjKSkKYWVzX2RlY3J5cHQgPSBjaXBoZXIuZGVjcnlwdG9yKCkKcDM9YWVzX2RlY3J5cHQudXBkYXRlKGMpK2Flc19kZWNyeXB0LmZpbmFsaXplKCkKcHJpbnQoInAzIixoZXhhKHAzKSk=