L'avvento del computer ha rivoluzionato il mondo della crittologia, mandando in pensione quasi tutti i metodi di cifratura trazionali e rendendo possibili cifrari di concezione del tutto nuova, come DES ed RSA.
Molti vecchi metodi di cifratura possono oggi essere forzati in breve tempo con l'aiuto del computer, ma è poi possibile una crittanalisi automatica, e cioè un software che ricevuto in ingresso un testo, lo restituisca completamente decrittato?
Sì e no, nel senso che una crittanalisi completamente automatica è possibile solo per cifrari molto semplici, altrimenti dell'intervento umano è difficile poter fare a meno.
A titolo di esempio presento due pagine scritte in PhP che realizzano una crittanalisi più o meno automatica di due cifrari molto usati in passato, il Vigenere e il monoalfabetico:
Per il cifrario di Vigenere è quasi sempre possibile una crittanalisi pienamente automatica: nella pagina Crittanalisi semi-automatica del Vigenere come primo passo si deduce la lunghezza della chiave, cosa che rende molto facile il secondo passo, la ricostruzione della chiave, e il terzo la decrittazione. Il metodo è quasi infallibile per testo lunghi almeno venti volte la chiave.
Molto più complicata la crittanalisi semi-automatica di un cifrario monoalfabetico: nella pagina Crittanalisi semi-automatica di un monoalfabetico come primo passo si affianca la lista dei caratteri del crittogramma ordinata per frequenza crescente a quella delle frequenze attese ordinata allo stesso modo e come prima ipotesi si prende come cifrato di ogni carattere quello avente la stessa posizione nell'elenco; in questo modo già diverse cifre vengono azzeccate; come secondo passo tutte le ipotesi vengono esaminate una per una confrontandole con le frequenze dei bigrammi che hanno la lettera in questione come prima o come seconda del bigramma; si confrontano diversi parametri osservati con quelli attesi calcolando una funzione di valutazione; al momendo il metodo riesce ad azzeccare dai 2/3 ai 4/5 dei caratteri; a questo punto si ha un testo decrittato quasi leggibile; occorre comunque l'intervento umano per riconoscere i caratteri errati e arrivare alla decrittazione completa del messaggio cifrato.