domenica 16 marzo 2008

Vigenère: Attacco a crittoanalisi inversa.


Vigenère: Attacco a crittoanalisi inversa.

Uno dei più semplici famosi cifrari polialfabetici scritto dal matematico Vigenère (Vedi cifrario Vigenère)
L'arte della crittoanalisi permette di violare questo cifrario tramite il già noto Metodo Kasiski ma necessita programmi specifici e l'utilizzo della tecnica di analisi della frequenza dei caratteri che può risultare abbastanza faticosa...

Ho scoperto da poco una nuova tecnica da me battezzata "Attacco a crittoanalisi inversa" applicabile su testi molto semplici: ciò permette di evitare un attacco Kasiski molto complesso su testi in realtà molto più semplici.

Passiamo subito all'esempio pratico:
Se volessimo decriptare la seguente frase "EISO, EOEE XA?" sapendo solo che è scritta in italiano e criptata con il metodo Vigenère.

Innanzitutto bisogna premettere che il cifrario funziona così:

Testo Chiaro + Chiave = Testo Cifrato
Testo Chiaro = Testo Cifrato - Chiave

Ne segue dunque che per regole matematiche:

Chiave = Testo Cifrato - Testo Chiaro

Bene, detto questo possiamo passare al cuore dell' attacco: se il testo è semplice possiamo intuire almeno la prima parola, dato che le lettere vengono sostituite ma la struttura della frase rimane costante.

"EISO": una parola che apre la frase prima di una virgola. Potrebbe essere "CIAO".

Bene, se apriamo un semplice programma per cifrare e decifrare vigenere e inseriamo in input il Testo Cifrato e come password mettiamo il Testo Chiaro Presunto (in questo caso "CIAO") e azioniamo il comando per decifrare, per le regole matematiche sopra citate l'output sarà la Password Presunta. (in questo caso esce "CASA") Se essa è una parola di senso compiuto (o l'inizio di una parola) allora la possiamo usare per decifrare tutto il messaggio: "CIAO, COME VA?"

Attacco perfettamente riuscito :-)

Ps: Come già detto funziona solo per testi semplici ...

Andreabont

Nessun commento: