I want to encrypt and decrypt a file (any type of file) using aes 128 in cbc mode in python.
I am quite new to cryptography and i have tried some tutorials but all work only on texts, and i need it for files.
Could anyone suggest me a solution?
I want to encrypt and decrypt a file (any type of file) using aes 128 in cbc mode in python.
I am quite new to cryptography and i have tried some tutorials but all work only on texts, and i need it for files.
Could anyone suggest me a solution?
A quick Google search guided me to the Crypto package. It comes with the iPython that I am using, but the installation should be trivial anyway.
I just repost the example here for your information.
>>> from Crypto.Cipher import AES >>> obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456') >>> message = "The answer is no" >>> ciphertext = obj.encrypt(message) >>> ciphertext '\xd6\x83\x8dd!VT\x92\xaa`A\x05\xe0\x9b\x8b\xf1' >>> obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456') >>> obj2.decrypt(ciphertext) 'The answer is no' Here is the documentation of AES.
If you try to encrypt file, you can either use the openSSL or a Python solution using Crypto contributed by Thijs. Click here for more information.