2010-09-02 16 views
7

Quando sento dei metodi per violare gli algoritmi di crittografia, noto che ci si concentra spesso su come decodificare molto rapidamente e su come ridurre lo spazio di ricerca. Tuttavia, mi chiedo sempre come sia possibile riconoscere una decifrazione efficace e perché questo non costituisce un collo di bottiglia. Oppure si presume spesso che sia nota una coppia crittografata/decifrata?Non è difficile riconoscere una decrittazione corretta?

+1

specialmente nel parco Bletchly con "Bombe" di Turing ... Come facevano quelle macchine a sapere quando avevano decifrato il codice? –

+0

Le Bombe funzionavano alla ricerca di soluzioni internamente coerenti: molte delle ipotesi per la chiave del giorno erano incompatibili con i testi cifrati generati, e le bombe li eliminavano, lasciando solo quelli coerenti per l'analisi manuale. Vedi http://en.wikipedia.org/wiki/Bombe –

risposta

1

Nella crittografia assimetrica di solito si ha accesso alla chiave pubblica. Pertanto, qualsiasi decodifica di un testo cifrato crittografato può essere re-crittografata utilizzando la chiave pubblica e confrontata con il testo cifrato originale, rivelando così se la decrittografia ha avuto successo.

Lo stesso vale per la crittografia simmetrica. Se pensi di aver decrittografato un codice, devi anche pensare di aver trovato la chiave. Pertanto, è possibile utilizzare tale chiave per crittografare il testo, presumibilmente corretto, decrittografato e verificare se il risultato crittografato è identico al testo cifrato originale.

+3

eccetto per la crittografia simmetrica, qualsiasi tasto si comporterà in questo modo ... –

+2

La tua osservazione non è davvero utile per la crittografia simmetrica, dato che hai usato la tua chiave per generare il decrittografato testo: ovviamente sta per coincidere quando lo usi per crittografare di nuovo. Si consideri il caso estremo di un blocco temporaneo; per un determinato testo cifrato puoi indovinare le chiavi che ti daranno * qualsiasi * testo in chiaro della lunghezza corretta e tutte saranno correttamente crittografate con successo al ciphertext corretto :). –

+1

I due precedenti commenti mostrano che questa è la risposta non è corretta, purtroppo. –

4

Da Cryptonomicon:

Esiste un compromesso tra i due estremi, da un lato, non conoscendo nessuna delle chiaro a tutti, e, dall'altro, sapendo tutto questo . Nel Cryptonomicon che ricade sotto la voce di presepi. Una greppia è una supposizione istruita per sapere quali parole o frasi potrebbero essere presenti nel messaggio . Ad esempio se si era decifrare messaggi tedeschi da World War II, si potrebbe supporre che il testo in chiaro includa la frase "HElL HITLER" o "SIEG HElL." È possibile selezionare una sequenza di dieci caratteri al numero e dire "Supponiamo che questo sia rappresentato da HEIL HITLER. Se questo è , cosa significherebbe sul resto del messaggio?"

...

Seduto nel suo ufficio con i intercettazioni Arethusa freschi, è andato a lavoro, utilizzando FUNERAL come un presepe: se questo gruppo di sette lettere decifra a FUNERAL , quindi che aspetto ha il resto del messaggio? Gibberish? Ok, che ne dici di questo gruppo di sette lettere ?

1

Per la crittografia simmetrica in cui la lunghezza della chiave è inferiore alla lunghezza del testo cifrato, è garantito che non si è in grado di produrre tutti i possibili testi in chiaro. Probabilmente puoi indovinare quale forma assumerà il tuo testo normale, in una certa misura - probabilmente saprai se si tratta di un'immagine, o XML, o se non sai nemmeno che molto quindi puoi pensare che sarai in grado di eseguire file su di esso e non ottenere 'dati'. Devi sperare che ci siano solo poche chiavi che ti darebbero anche una decifratura vagamente sensibile e solo una che corrisponda al modulo che stai cercando.

Se si dispone di un esempio di testo semplice (o parziale testo in chiaro), questo diventa molto più semplice.

4

Generalmente, si ha un'idea del formato del file che si prevede deriverà dalla decrittografia e la maggior parte dei formati fornisce un modo semplice per identificarli.Ad esempio, quasi tutti i formati binari come immagini, documenti, file zip, ecc, hanno intestazioni facilmente identificabili, mentre i file di testo conterranno solo ASCII o solo sequenze UTF-8 valide.

Problemi correlati