Che cosa significano dati di testo cifrato identici nella modalità cifratura dei blocchi di concatenazione (CBC)?

4

Sto cercando di capire le scelte della seguente domanda

Sulla base delle mie conoscenze, nessuna delle opzioni si applica perché il testo in chiaro per il primo blocco evidenziato è 1F2..CA2, che è l'input del secondo blocco evidenziato. Allo stesso modo, per il secondo blocco evidenziato, il suo input di testo semplice è 60A4..388 che viene immesso nel primo blocco evidenziato. Per favore correggimi se ho torto e quale scelta si applica veramente qui.

    
posta tulamba 24.04.2018 - 19:05
fonte

2 risposte

2

Credo che nessuna delle risposte sia corretta. I blocchi che sono lo stesso significano gli XOR dei blocchi precedenti e i testi in chiaro sono gli stessi. Quindi 60A..388 XOR cleartext-1 è uguale a 1F2..CA2 XOR cleartext-2 .

Quindi cleartext-1 XOR cleartext-2 = 7f8d68bf68fb3f .

Spiegazione:

  1. I dati in chiaro non possono essere entrambi nulli perché il loro XOR non è nullo
  2. I blocchi precedenti (testo cifrato) non sono chiaramente identici e, anche se lo fossero, non avrebbe importanza a meno che i testi chiari fossero identici.
  3. Non sono identici (testo chiaro), ma perché la questione dell'offset non è chiara per me. Non è così. Inoltre, non direi necessariamente che non esiste alcuna relazione, poiché ho scritto la relazione verso il basso (a cosa equivalgono se sono XOR-ed)
  4. No, non possono essere identici. I blocchi identici avrebbero XOR per tutti gli zeri / null.

Quindi il "più corretto" è il terzo, ma IMHO è ancora errato.

    
risposta data 24.04.2018 - 21:38
fonte
2

Sebbene Peter Harmann faccia ottimi punti nella sua risposta e spieghi tutto perfettamente, penso che l'unica corretta la risposta può essere # 4.

Prima della crittografia a blocchi puoi ottenere solo blocchi di testo cifrato identici se l'input del codice a blocchi è identico in entrambe le operazioni di crittografia in modalità CBC. I cifrari a blocchi sono permutazioni, quindi esiste sempre una relazione 1: 1 tra un blocco di testo in chiaro specifico e un blocco di testo cifrato specifico.

Il problema è che la domanda non rende esplicito che la domanda è sulla cifratura a blocchi piuttosto che la cifratura a blocchi in modalità CBC . Il blocco di testo cifrato direttamente prima la crittografia a blocchi viene XOR con il blocco di testo in chiaro prima che venga eseguita la crittografia a blocchi. Quindi la qualità della domanda è sicuramente in discussione.

Per assicurarsi che non vengano trovati blocchi di testo cifrato identici, è necessario che ci sia un numero massimo di blocchi che possono essere crittografati in modalità CBC. Quel massimo è correlato alla dimensione del blocco del codice a blocchi utilizzato. Questo è uno dei motivi per cui AES (dimensione del blocco a 128 bit) dovrebbe essere preferito rispetto a triple DES mode o blowfish (dimensione del blocco a 64 bit).

Se viene trovato un blocco identico, viene fuoriuscito lo XOR tra i due blocchi di testo in chiaro e la perdita di qualsiasi tipo di dati può essere sfruttata e interrompe un cifrario.

Ci potrebbe essere un (definitivo) passaggio a codici a blocchi a 256 bit in futuro a causa di problemi come questo. Modalità di funzionamento comuni / moderne come CTR (modalità contatore) e GCM hanno limitazioni sulla quantità di byte di messaggi e il numero di messaggi che possono essere crittografati con una singola chiave, nonostante operino su una dimensione di blocco di 128 bit.

    
risposta data 25.04.2018 - 18:24
fonte

Leggi altre domande sui tag