Puoi mai essere sicuro al 100% di aver decifrato un messaggio?

2

In termini semplici, per la maggior parte degli algoritmi di crittografia: puoi essere tecnicamente sicuro di aver decodificato qualcosa?

Certo, se decifrassi un documento word e MS Word lo possa aprire, hai buone possibilità di decodificarlo nel modo giusto, ma forse è la possibilità 1/90000000000 che è appena successo di dare questo tipo di messaggio?

    
posta Joseph A. 16.04.2016 - 01:10
fonte

3 risposte

5

Per motivi generali, non puoi essere sicuro al 100%. Se provi la chiave sbagliata, otterrai un sacco di bit casuali. Quei bit casuali possono sembrare qualcosa di valido, ma sono ancora la chiave sbagliata. Scimmie a una macchina da scrivere che perforano alcune righe di Shakespere e tutto il resto.

In teoria, potrebbe progettare un algoritmo di crittografia che intenzionalmente ti consente di sapere quando hai ragione. Ciò comporterebbe l'aggiunta di un blocco di contenuto noto al messaggio e la verifica che quel blocco sia corretto durante la sua decifrazione. Tuttavia, è necessario evitare le scimmie a un problema di macchina da scrivere di probabilità casuale che sta succedendo per decodificare quel blocco correttamente. Dovresti personalizzare l'algoritmo di crittografia e il blocco di dati stesso in modo da poter dimostrare matematicamente che nessun tasto oltre alla chiave corretta raggiunge una corrispondenza per quel blocco.

In genere questo tipo di comportamento è considerato una vulnerabilità nell'algoritmo di crittografia, quindi non lo si vede. È troppo rischioso cercare di aggiungere quel comportamento provabile al tuo algoritmo. Consideriamo l'esempio dell'Enigma, in cui hanno scoperto che alcuni modelli di output semplicemente non potevano verificarsi a causa della disposizione dei rotori, che era un fattore importante nella rottura di Enigma. Dovresti scegliere intenzionalmente un algoritmo di crittografia con una vulnerabilità simile.

    
risposta data 16.04.2016 - 06:08
fonte
1

No non si può mai essere assolutamente certi di aver decodificato correttamente il testo cifrato, ma quasi tutti i sistemi sono progettati per rilevare se la chiave utilizzata è corretta. Questo viene fatto usando i checksum del testo in chiaro o usando la chiave per decifrare qualcosa il cui equivalente in testo in chiaro è noto. È improbabile che questi meccanismi falliscano (circa 1/2 ^ 128) ma teoricamente questo è anche possibile.

Esistono dei sistemi che lo utilizzano per rendere più difficile / impossibile il cracking del codice. Un esempio per questo è il cosiddetto One Time Pad. Usa chiavi lunghe quanto il testo in chiaro. Quindi puoi trovare una Chiave che decrittografa un dato cifrato su qualsiasi testo in chiaro (di uguale lunghezza) che scegli. Quindi qualcuno che cerca di decifrare questo codice non può sapere quale tra le possibili combinazioni di tasti in chiaro / testo sia quella corretta.

    
risposta data 16.04.2016 - 12:52
fonte
0

No, non puoi.

Ci sono cose come le firme, i MAC e gli schemi di riempimento. Mentre imho è praticamente impossibile scontrare il MAC, la firma DSA (se lo schema include uno) e lo schema di riempimento, è possibile in teoria.

E, come hai detto tu, se la decrittografia è a conoscenza di supposte strutture nel testo in chiaro (ad esempio un documento di Word, un'immagine JPEG, ...) c'è un'altra istanza che deve essere confrontata.

L'altra cosa è: la decrittografia viene eseguita con la chiave corretta 99,99% delle volte. Gli utenti autentici di decifrazione non devono preoccuparsi di tali coincidenze a causa dell'effetto valanga. I forzanti brutali probabilmente hanno problemi più grandi di quelli che finiscono con una decrittazione bella ma errata.

    
risposta data 16.04.2016 - 01:22
fonte

Leggi altre domande sui tag