È possibile rompere un pad monouso a ciclo continuo? Se é cosi, come?

3

Un one-time pad è noto per essere teoricamente sicuro, nulla può infrangerlo. Tuttavia, se la chiave viene riutilizzata, il time pad diventa teoricamente irrinunciabile.

Ma anche RSA è teoricamente irrinunciabile, ma è ampiamente utilizzato perché è praticamente sicuro. Quindi, un pad One-Time con una chiave di loop sufficientemente lunga è praticamente sicuro?

Se è sicuro, quanto deve essere lunga la chiave affinché diventi praticamente indistruttibile su un PC moderno?

Se è insicuro, perché? come si rompe?

Un esempio di una chiave OTP in loop:

LemonLemonLemonLemon ........

    
posta Hello World 11.05.2014 - 16:17
fonte

4 risposte

8

Il one-time pad è banalmente irrisibile se la chiave viene riutilizzata in qualsiasi modo.

C1 xor C2 risulta in P1 xor P2 dove C1 e C2 sono i due pezzi di testo cifrato crittografati con la stessa chiave e P1 e P2 sono il testo in chiaro corrispondente.

È quindi possibile ripristinare il testo in chiaro con il seguente metodo. Prendi una parola o frase comune che può apparire nel testo in chiaro (come "il") e xor quella contro il risultato di P1 xor P2 . Se uno dei testi in chiaro aveva il testo della culla ("il" nel nostro esempio), allora il risultato dello xor è ciò che l'altro testo in chiaro aveva in quella posizione. Se nessuno dei testi in chiaro contiene il testo della culla, è molto probabile che il risultato della xor sia solo privo di senso.

Continui semplicemente questa tecnica finché non recuperi abbastanza del testo in chiaro per indovinare il resto dal contesto. Questo attacco è noto come trascinamento della greppia.

    
risposta data 11.05.2014 - 16:25
fonte
2

Un "OTP ripetuto" non solo è teoricamente irrinunciabile, è banalmente irrisolvibile, rompendolo è l'assegnazione dei compiti a casa della prima lezione di un corso di crittografia in collage.

L'unica ragione per cui OTP è infrangibile è che la chiave non viene riutilizzata, la crittografia XOR con una chiave ripetuta è altamente vulnerabile a quasi tutti gli strumenti di crittografia esistenti, se sai qualcosa sui dati crittografati puoi ottenere un sacco di testo in chiaro anche con solo due ripetizioni - e con qualsiasi quantità di dati reali è praticamente garantito che tutti i dati e la chiave siano facilmente recuperabili.

L'OTP è in realtà un cattivo compromesso - migliora "infrangibilità" (un'area in cui altri sistemi come RSA e AES sono molto bravi) in cambio di una gestione delle chiavi molto complicata (un'area in cui non esistono praticamente soluzioni utilizzabili che può supportare le massicce chiavi richieste per OTP) - così - OTP migliora qualcosa che siamo già molto bravi a costo di richiedere qualcosa che non esiste.

    
risposta data 13.05.2014 - 16:09
fonte
1

È banale scoprire la lunghezza della chiave di loop usando metodi statistici come il conteggio dell'indice di coincidenza dei messaggi di testo cifrato. Una volta ottenuta la lunghezza della chiave di loop, un utente malintenzionato può semplicemente xor una stringa di testo cifrato con un'altra stringa spostata la lunghezza della chiave e il xor risultante è essenzialmente testo semplice xored con testo in chiaro. La lingua inglese ha una ridondanza sufficiente da consentire a un utente malintenzionato di determinare in modo algoritmico il testo in chiaro dei due messaggi da questo punto.

Questo attacco è valido per qualsiasi chiave di loop di cui sia nota la lunghezza. Aumentare la dimensione del loop non impedisce a un utente malintenzionato di scoprirne la lunghezza, quindi è fondamentalmente insicuro utilizzare i tasti di looping.

Puoi cercare Index of Coincidence per capire come può essere determinata la lunghezza della chiave loop.

    
risposta data 13.05.2014 - 15:21
fonte
1

Un time pad, se usato più volte ripetendo o "loop", non è più un one time pad. Diventa uno schema di crittografia molto debole con una chiave lunga.

Se ti ostini a eseguire il looping di strutture di chiavi dati lunghe, prova a eseguire il ciclo di due o più, ciascuna di una lunghezza di numero primo grande, ciascuna in parallelo. Sarebbe un po 'meno banale da decifrare.

    
risposta data 25.08.2016 - 22:26
fonte

Leggi altre domande sui tag