Anche inconsapevolmente, tutti noi usiamo ogni giorno la crittografia. I siti che usano il protocollo HTTPS utilizzano la cifratura TLS/SSL, client di messaggistica istantanea come WhatsApp ricorrono alla crittografia end-to-end, i dati conservati nella memoria dei dispositivi Android vengono crittografati per impostazione predefinita e così via.
Per la maggior parte degli utenti la crittografia moderna è una scatola nera (black box in inglese): si sa che i dati vengono in qualche modo protetti usando appositi algoritmi ma non si approfondisce su ciò che accade “dietro le quinte”.
Approfondire l’argomento è tuttavia molto utile non soltanto per gli sviluppatori che lavorano con le librerie crittografiche ma anche per tutti gli utenti che desiderano capire cosa può andare storto durante le operazioni di codifica e decodifica.
CrypTool 2 (scaricabile da questa pagina sul sito ufficiale) è un software gratuito che permette di curiosare sul funzionamento degli algoritmi crittografici e fare esperimenti in proprio per comprenderne i meccanismi, i pregi e i potenziali difetti.
Lo strumento offre un’introduzione all’utilizzo dei principali cifrari e si sofferma sull’importanza dei concetti crittografici fondamentali.
Compreso il funzionamento della crittografia, uno strumento come CrypTool 2 permette di approfondire lo studio con un viaggio dagli algoritmi crittografici storici a quelli più moderni ed efficaci per capire come le soluzioni per mettere al sicuro i dati si sono evolute nel corso del tempo.
CrypTool 2 è un eccellente strumento di e-learning che aiuta a comprendere i principi base della crittografia moderna, l’utilizzo dei cifrari perfetti, la cifratura simmetrica e asimmetrica, il problema della pseudocasualità e molto altro ancora come ad esempio l’impatto di generazione di numeri casuali e pseudocasuali nelle attività di creazione delle password.
L’applicazione contiene oltre 200 modelli pronti all’uso; è possibile combinare ed eseguire facilmente funzioni crittografiche per creare workflow usando la programmazione visuale. Con questo approccio anche i processi più complessi possono essere facilmente visualizzati e quindi meglio compresi. Utilizzando la grafica vettoriale ciascuna vista può essere liberamente scalata.
Le stesse soluzioni grafiche integrate in CrypTool 2 possono essere usate per visualizzare il processo interno di ciascun algoritmo crittografico.
Lo strumento di studio offre inoltre una vasta gamma di soluzioni che possono essere utilizzate per analizzare gli algoritmi crittografici e provare a forzarli. È possibile valutare ad esempio le distribuzioni di frequenza, determinare le lunghezze delle chiavi dei cifrari polialfabetici, effettuare varie tipologie di attacchi e ricorrere alla cosiddetta crittanalisi differenziale contro i cifrari a blocchi.