Come crittografare un file con Python: pyAesCrypt
Proteggiamo i nostri file.
Abbiamo visto come utilizzare il nostro Python3 con interfaccia grafica (Tkinter) per creare un programma che ci permette di ricercare una stringa al’interno di un file. Oggi, riutilizzando il codice creato per l’nterfaccia e interazione, scriviamo un programma che ci permetta di criptare qualsiasi filecon pyAesCrypt.
pyAesCrypt è un modulo e script di crittografia dei file Python 3 che utilizza AES256-CBC per crittografare/decifrare file e flussi binari.
L’Advanced Encryption Standard (AES), è un codice a blocchi adottato come standard di crittografia dal governo degli Stati Uniti per uso militare e governativo.
ECB (Electronic Codebook) è essenzialmente la prima generazione dell’AES. È la forma più elementare di cifratura a blocchi.
Il CBC (Cipher Blocker Chaining) è una forma avanzata di cifratura a blocchi. Con la crittografia in modalità CBC, ogni blocco di testo cifrato dipende da tutti i blocchi di testo in chiaro elaborati fino a quel momento. Questo aggiunge un ulteriore livello di complessità ai dati crittografati.
Crittografiamo
pyAesCrypt.encryptFile(filename, filename +”.aes”, key, bufferSize)
Decifriamo
pyAesCrypt.encryptFile(filename, filename +”.aes”, key, bufferSize)
Tutto qui ? Si ! Queste sono le due chiamate al modulo pyAesCrypt
Prima di tutto bisogna installare il modulo
da shell dei comandi
pip3 install pyAesCrypt
adesso la “libreria” è richiamabile da Python3
Esempio standard di utilizzo.
import pyAesCrypt
# encryption/decryption buffer size – 64K
bufferSize = 64 * 1024
password = “foopassword”
# encrypt
pyAesCrypt.encryptFile(“data.txt”, “data.txt.aes”, password, bufferSize)
# decrypt
pyAesCrypt.decryptFile(“data.txt.aes”, “dataout.txt”, password, bufferSize)
Vediamo come si presenta con un semplicissima interfaccia grafica che potete sicuramente migliorare.
Scaricate il sorgente (crypt_pyAesCrypt.py) e posizionatelo in una cartella con un file immagine.
Apriamo il nostro IDLE , e carichiamo il file crypt_pyAesCrypt.py
Eseguiamolo
Scegliamo il file e inseriamo una password
Dopo poco avremo il nostro file criptato
Decriptiamolo selezionandolo e agendo su De-Cripta e dopo poco apparirà il nostro paperino.jpeg.aes.inchiaro
Di una semplicità unica. Buona programmazione a tutti e con prodotti potenti, gratuiti e multi-piattaforma !