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.

 

Scarica il sorgente del programma

Criptiamo un file in python pyAesCrypt
Criptiamo un file in python pyAesCrypt



Apriamo il nostro IDLE , e carichiamo il file crypt_pyAesCrypt.py

01 - Criptiamo un file in python pyAesCrypt
01 – Criptiamo un file in python pyAesCrypt

Eseguiamolo

02 - Criptiamo un file in python pyAesCrypt
02 – Criptiamo un file in python pyAesCrypt

Scegliamo il file e inseriamo una password

03 - Criptiamo un file in python pyAesCrypt
03 – Criptiamo un file in python pyAesCrypt

Dopo poco avremo il nostro file criptato

04 - Criptiamo un file in python pyAesCrypt
04 – Criptiamo un file in python pyAesCrypt – come crittografare un file

Decriptiamolo selezionandolo e agendo su De-Cripta e dopo poco apparirà il nostro paperino.jpeg.aes.inchiaro

Criptiamo un file in python pyAesCrypt
Crittografiamo un file in python pyAesCrypt

Di una semplicità unica. Buona programmazione a tutti e con prodotti potenti, gratuiti e multi-piattaforma !