¿Qué es (redundancia "ASCII") que se dice que se requiere para recuperar el texto sin formato original en el teclado 2 veces?

3

Perdón por el título largo: $

En un video que habla sobre ataques en el una vez pad que usa generadores psudorandom (PRG ), Se dice que Eve puede recuperar el texto sin formato de 2 mensajes que tienen se cifró con la misma clave mediante XORing los dos cifrados resultantes.

El profesor dijo: "dado que ASCII tiene suficiente redundancia, es fácil recuperar m1 y m2 de la cadena (m1 XOR m2)".

¿Cuál es el significado de suficiente redundancia?

    
pregunta HSN 02.10.2013 - 09:47
fuente

2 respuestas

3

Considere una PTO de un dígito de '9' ; un mensaje A de '2'; y un mensaje B de '4'.

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

Si conoce ambos mensajes, entonces OTP = (OTP+B) - A = 9 ; o OTP = (OTP+A) - B = 9 . Dado que el cifrado OTP tiende a ser XOR a nivel de bit simple, si conoce el Nth bit de A & B entonces sabes el Nth bit de la OTP.

Creo que su profesor se está refiriendo al hecho de que la mayoría de los caracteres ASCII nunca se manifestarán en un mensaje normal de texto simple , por lo que puede inferir muchos de los bits Nth de inmediato. Esto hace que adivinar el texto simple de un byte dado en un mensaje dado mucho más fácil ya que el rango de valor posible es una fracción de lo que debería ser. Y si conoces un lado, conoces el otro.

    
respondido por el LateralFractal 02.10.2013 - 10:07
fuente
3

No es realmente la redundancia de ASCII, sino la redundancia de lo que está codificado con ASCII. Es decir, usa ASCII porque codifica secuencias de caracteres , y usa caracteres porque desea que los datos sean perceptibles por los ojos y el cerebro. Por lo tanto, los datos son texto o algo lo suficientemente cerca (por ejemplo, XML). Algunos personajes serán más comunes que otros. Se utilizarán algunos patrones.

La idea general de un teclado de un solo uso reutilizado es que transporta información de un texto sin formato a otro: si conoce 'A xor P' y 'B xor P' (A y B son los bytes de texto sin formato, P el pad), entonces puede calcular 'A xor B' al agrupar los dos valores. Luego, cada bit de información que aprendes sobre A produce la información correspondiente sobre B. Por ejemplo, si A es un texto XML y ya has comprobado que algunos bytes de texto plano son " <config ", entonces puedes adivinar que el siguiente byte de A probablemente será un " > ", un espacio o un " u ". Estos son tres posibles bytes de texto sin formato, de los cuales puede deducir inmediatamente los únicos tres posibles bytes de texto sin formato en la misma posición para B. Dependiendo de lo que sepa de B, puede eliminar los valores que "no tienen sentido", y así conocer el valor de byte para A, y así sucesivamente.

Al romper el infame dos veces, simplemente continúa propagando información de un texto sin formato a otro, y viceversa.

ASCII ya dice mucho, porque los valores ASCII válidos están en el rango de 0 a 127, pero en el texto "normal", no aparecerá mucho: en el rango de 0 a 31, solo 9 (tab), 10 (Lf) y 13 (cr) se encontrarán en la práctica.

    
respondido por el Tom Leek 02.10.2013 - 13:15
fuente

Lea otras preguntas en las etiquetas