Crittografia Xor con Python

Ho scritto una semplice classe in Python per cifrare file tramite xor. Xor (exclusive or) è un’operazione logica a bit che tra le altre cose può essere impiegata per semplici algoritmi crittografici.

In questo esempio ho utilizzato xor unitamente all’algoritmo hash md5 per creare la chiave, e alla libreria zlib per comprimere il testo sorgente ed aggiungere un po’ di entropia. Infine, il file cifrato viene salvato in formato base64.

Naturalmente non è da usare per cifrare dati sensibili e non si può neppure lontanamente paragonare a uno dei più diffusi algoritimi crittografici come AES o Blowfish. E’ un esercizio di programmazione, che però può sicuramente dare filo da torcere a investigatori informatici ed esperti in computer forensics.

L’impiego è molto semplice. Si importa la classe:

from xorcrypt import XorCrypt

si istanzia la classe, mettendo come argomento la chiave segreta:

xc=XorCrypt("pippo")

per cifrare:

xc.encryptFile("test.txt","test.xor")

e per decifrare:

xc.decryptFile("test.xor","test.txt")

Scarica xorcrypt.py

2 Comments
  1. Raramente lascio commenti, ma questo blog merita. Articoli interessanti e autore competente. Complimenti. Saluti da un ragazzo italiano che lavora e vive in Vietnam.

Comments are closed.