DES-CBC: due blocchi di testo cifrato c2 e c5 sono uguali. Perché questa informazione di perdita?

1

Qui, supponiamo che siamo stati in grado di osservare il testo cifrato che sappiamo essere stato crittografato in modalità CBC, quindi come la conoscenza dei blocchi di testo cifrato c2 e c5 avrebbe perso informazioni?

Il mio professore ci ha chiesto in classe e ci ha detto di pensarci e ci ha suggerito cosa sarebbe successo se avessimo saputo uno dei blocchi di testo in chiaro m2?

    
posta Harshal Carpenter 30.01.2015 - 07:10
fonte

1 risposta

2

Pensiamo a questo:

Ek = cifra "E" con il tasto "k"

M # = Blocco messaggi in chiaro "M" numero "#"

C # = Blocco di testo cifrato "C" numero "#"

La modalità CBC è:

Cx = Ek (Mx XOR Cx-1), o in inglese: per ottenere il testo cifrato per il numero di blocco corrente, si esegue la crittografia con chiave del valore ottenuto prendendo il blocco di messaggi in chiaro dello stesso numero, e xorando ciò contro il precedente blocco di testo cifrato. Questa è la definizione di CBC.

Quindi se hai una serie di blocchi codificati CBC e ti accorgi che C2 e C5 sono lo stesso testo cifrato (cioè C2 = C5), sai:

C2 = Ek (M2 XOR C1)

C5 = Ek (M5 XOR C4)

E poiché C2 = C5, significa:

Ek (M2 XOR C1) = Ek (M5 XOR C4)

Con il potere della matematica, ciò significa più importante che tu sappia anche:

AHA:

(M2 XOR M5) = (C1 XOR C4)

Dato che hai osservato i testi cifrati, non solo sai che C2 è uguale a C5 ma hai anche catturato C1 e C4 nelle tue osservazioni.

Quindi calcoli (C1 XOR C4) e hai un valore, il che significa che hai un numero reale e non una variabile sul lato destro dell'equazione contrassegnata come "AHA !!".

Tale valore è uguale a (M2 XOR M5), come indicato sopra.

Quindi, sotto la tua ipotesi, dove il tuo professore dice che anche tu conosci il testo in chiaro M2, sei in grado di collegarlo a sinistra e risolvere.

Sai che il tuo M2 XOR noto contro il tuo M5 ancora sconosciuto è uguale al valore noto che hai calcolato prendendo lo XOR di C1 e C4.

Ritorno alle origini. La magia di XOR è questa:

Se A XOR B = C, allora B XOR C = A, AND A XOR C = B.

Ecco come funzionano gli array di dischi RAID con tre dischi.

Risultato: i ciphertex duplicati in CBC combinati con un testo in chiaro noto corrispondente a uno dei blocchi consente di calcolare il testo in chiaro dell'altro blocco di testo cifrato corrispondente.

    
risposta data 31.01.2015 - 06:21
fonte

Leggi altre domande sui tag