Skip to Content
Mastering Python for Networking and Security
book

Mastering Python for Networking and Security

by José Manuel Ortega
September 2018
Intermediate to advanced
426 pages
10h 46m
English
Packt Publishing
Content preview from Mastering Python for Networking and Security

File decryption with AES

For decrypting, we need to reverse the preceding process to decrypt the file using AES.

You can find the following code in the aes-file-decrypt.py file inside the pycrypto folder:

from Crypto.Cipher import AESfrom Crypto.Hash import SHA256import os, random, structdef decrypt_file(key, filename):    chunk_size = 64*1024    output_filename = os.path.splitext(filename)[0]    #open the encrypted file and read the file size and the initialization vector.     #The IV is required for creating the cipher.    with open(filename, 'rb') as infile:        origsize = struct.unpack('<Q', infile.read(struct.calcsize('Q')))[0]        iv = infile.read(16)        #create the cipher using the key and the IV.        decryptor = AES.new(key, AES.MODE_CBC, iv) #We also write the ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Mastering Python for Networking and Security - Second Edition

Mastering Python for Networking and Security - Second Edition

José Manuel Ortega
Python for Cybersecurity

Python for Cybersecurity

Howard E. Poston, III

Publisher Resources

ISBN: 9781788992510Supplemental Content