Che cos'è (ridondanza "ASCII") che si dice sia necessaria per recuperare il testo in chiaro originale in pad 2 volte?

3

Ci scusiamo per il titolo lungo: $

In un video che parla di attacchi al one time pad che utilizza generatori psudorandom (PRG ), Si dice che Eve può recuperare il testo normale di 2 messaggi che hanno è stato crittografato utilizzando la stessa chiave con XORing i due codici risultanti.

Il docente ha detto: "poiché l'ASCII ha una ridondanza sufficiente, è facile recuperare m1 e m2 dalla stringa (m1 XOR m2)".

Qual è il significato di una ridondanza sufficiente?

    
posta HSN 02.10.2013 - 09:47
fonte

2 risposte

3

Considera un OTP di una cifra di '9' ; un messaggio A di '2'; e un messaggio B di "4".

  • OTP + A = 1
  • OTP + B = 3

Se conosci entrambi i messaggi, allora OTP = (OTP+B) - A = 9 ; o OTP = (OTP+A) - B = 9 . Dal momento che la crittografia OTP tende ad essere un semplice bit a bit XOR, se si conosce l'ennesimo bit di entrambi gli A & B allora conosci l'ennesimo bit dell'OTP.

Penso che il tuo docente si riferisca al fatto che la maggior parte dei caratteri ASCII non si manifesterà mai in un normale messaggio plaintext , quindi puoi dedurre molti degli Nth bit immediatamente. Ciò rende indovinare testo semplice di un determinato byte in un dato messaggio molto più facile poiché l'intervallo di valori possibili è una frazione di ciò che dovrebbe essere. E se conosci un lato, conosci l'altro.

    
risposta data 02.10.2013 - 10:07
fonte
3

Non è proprio la ridondanza di ASCII, ma la ridondanza di ciò che è codificato con ASCII. Vale a dire, si usa ASCII perché si codificano sequenze di caratteri e si usano caratteri perché si desidera che i dati siano percepibili da occhi e cervelli umani. Quindi i dati sono testo o qualcosa di abbastanza vicino (ad es. XML). Alcuni personaggi saranno più comuni di altri. Verranno utilizzati alcuni modelli.

L'idea di un pad monouso riutilizzato è che trasporta informazioni da un testo in chiaro all'altro: se conosci "A xor P" e "B xor P" (A e B sono i byte in chiaro, P pad), quindi è possibile calcolare 'A xor B' confrontando i due valori. Quindi ogni bit di informazione che apprendi su A produce le informazioni corrispondenti su B. Ad esempio, se A è un testo XML e hai già accertato che alcuni byte di testo normale sono " <config ", allora puoi intuire che il prossimo byte di A sarà probabilmente un " > ", uno spazio o un " u ". Questi sono tre possibili byte di testo in chiaro, da cui è possibile dedurre immediatamente gli unici tre byte di testo in chiaro nella stessa posizione per B. A seconda di ciò che si sa di B, è possibile eliminare i valori che "non hanno senso", e quindi conoscere il valore in byte per A, e così via.

Quando rompi il famigerato doppio pad, continui a propagare le informazioni da un testo in chiaro all'altro e viceversa.

ASCII dice già parecchio, perché i valori ASCII validi sono compresi nell'intervallo da 0 a 127, ma nel testo "normale" non apparirà molto: nell'intervallo da 0 a 31, solo 9 (scheda), 10 (lf) e 13 (cr) saranno incontrati nella pratica.

    
risposta data 02.10.2013 - 13:15
fonte

Leggi altre domande sui tag