¿Por qué la vulnerabilidad de POODLE tiene para cada byte una probabilidad de 1/256 para obtenerla en texto plano?

3

Leí el artículo de Google sobre la vulnerabilidad de POODLE ( enlace ) y muchos otros artículos.

Cada artículo / artículo escribió que tienes que intentarlo en un promedio de 256 veces para obtener el siguiente byte en texto sin formato.

Actualmente entiendo que tomo un bloque de mis datos cifrados (ubicados en algún lugar en medio de todos los bloques) y los copio sobre el último bloque que contiene el relleno. También entiendo que con algunas suposiciones es posible que un pirata informático obtenga todo el relleno en este bloque final. Y entiendo cómo calcular el último byte del bloque copiado si la comprobación de MAC se realiza correctamente.

Sin embargo, no entiendo por qué la comprobación de MAC a veces falla y otras veces no con el mismo bloque cifrado copiado.

Así que tengo las siguientes preguntas:

  1. ¿Por qué el texto simple del último bloque (esto también significa el último byte) no siempre es el mismo si tomo el mismo bloque cifrado? ¿Es esta la causa del vector inicial que necesito para obtener el texto simple?

  2. ¿Por qué la probabilidad es exactamente 1/256?

pregunta hardtodev 05.06.2016 - 19:11
fuente

1 respuesta

2

El trabajo de un vector de inicialización es hacer que el mismo mensaje tenga un valor cifrado diferente cuando se cifra con la misma clave. Un IV es esencialmente un nonce usado para saltear un mensaje.

En cuanto a por qué 1/256, esos son los valores máximos posibles en un byte. Un byte es un número que puede ir de 0 a 255. Incluyendo 0, esto es 256 valores. Por lo tanto, una probabilidad de 1 en 256 de obtener el siguiente valor correcto de un byte es la misma que si se adivinara al azar.     

respondido por el Andrew Hoffman 05.06.2016 - 22:48
fuente

Lea otras preguntas en las etiquetas