Está en la página 1de 17

Laboratory 3

Block-Cipher Operating Modes


Question 1: What happens? Can you recognize a pattern? Explain and take some screenshots.
Cuando realizamos el cifrado ECB dejando por defecto la llave 00 y vector de inicialización 00 notamos que
la imagen resultante muestra la silueta de la imagen original sobrepuesta en un conjunto de líneas verticales.
Aquí recordamos cómo trabaja el modo ECB donde bloques de texto plano iguales generan bloques de texto
cifrado iguales ya que el cifrado de cada bloque se realiza con la misma llave, además, en este caso, la llave
es 00 00 00 00 00 00 00 00.

El resultado es muy similar si intentamos cambiar la llave a una de las llaves “débiles de DES” como FF FF
FF FF FF FF FF FF o FF FF FF FF 00 00 00 00 o 00 00 00 00 FF FF FF FF siempre vamos a poder distinguir la
silueta de la manzana.
Question 2: What happens if you change the key under ECB mode? Take some screenshots.

Al cambiar la llave del ECB por valores diferentes encontramos variación en el fondo y en algunas partes
de la figura pero de cualquier manera encontramos sencillo poder distinguir la silueta de la imagen de la
izquierda.
Question 3: What happens if you change the initialization vector under ECB mode?

Al cambiar el vector de inicialización varía la diversidad de colores en los pixeles tendiendo uniformemente
a una escala de grises sin llegar a serlo, en mi caso, ingresé como llave y como vector de inicialización los
primeros 16 dígitos de PI. La silueta de la manzana sigue distinguiéndose.
Now try encrypting with either CBC, PCBC or CFB modes.
Question 4: What happens with those modes? Do you still recognize a pattern? Why? Take
screenshots.

Primero ensayé con el modo CBC dejando tanto la clave como el vector de inicialización en 00… el resultado
es una imagen donde no se puede distinguir ni la silueta de la manzana ni un patrón de distribución de color
y ello es porque el cifrado de cada bloque depende del bloque anterior y además participa el vector de
inicialización razón por la cual el primer bloque que correspondería a un pixel de color blanco, cambia
completamente. Otro factor que debe ser tenido en cuenta es que el tamaño del bloque de entrada como
texto plano es de 56 bits mientras que la información de cada pixel ocupa apenas 24 bits.
Ahora realicé el proceso de cifrado usando PCBC y aún con este tipo de cifrado si vemos la imagen a una
distancia prudencial es posible incluso distinguir tenuemente la silueta de la manzana, lo mismo en el caso
de fluffy. Esto se debe a que como el texto plano del primer bloque sirve para cifrar el siguiente bloque y al
ser bloques contiguos del mismo color, en este caso blanco, permiten delinear el contexto de las figuras.

Cuando hacemos el tratamiento a la imagen pero esta vez con CFB obtenemos un resultado similar al
obtenido con CBC en el que no es posible determinar o reconocer un patrón la imagen parece la estática de
la televisión cuando se intenta sintonizar un canal sin señal.
Question 5: What happens if you change the key under CBC, PCBC or CFB modes? Take some
screenshots.

Luego cifré la imagen usando CBC y con clave los primeros 16 dígitos de PI. Y después con un vector de
inicialización no cíclico.
Question 6: What happens if you change the initialization vector under CBC, PCBC or CFB
modes? Take some screenshots.

Considero que al incluir la variación del vector de inicialización no es posible distinguir ningún tipo de silueta,
incluso a pesar de la presencia del blanco como color predominante en la imagen de tux. Esto lo podemos
evidenciar en la siguiente imagen.
Cuando cambiamos a PCBC encontramos con que los patrones que definen el color blanco hasta llegar al
límite de la imagen permiten definir difusamente una silueta en las imágenes de fluffy, de tux y de apple.
En el caso de cifrado usando CFB encontramos un comportamiento similar a CBC, donde no es posible
identificar una silueta incluso en imágenes con un amplio rango de colores como oes el caso del logotipo de
Windows.

Now encrypt the image with OFB mode, with key and initialization vector in zeros.
Question 7: What happens with OFB mode? Do you recognize a pattern? Why? Take screenshots.
Procedo a realizar el cifrado con el modo OFB y con la clave en 0000… y el vector de inicialización en 0000…
se notan claramente no solamente las siluetas sino también los colores de las figuras.

Change very smoothly the initialization vector but keeping the key in zeros, and look for the results.
Al cambiar el vector de inicialización por 1010101010101010 o por 1111111111111111 y por
0000000011111111 encontramos con que las imágenes siguen siendo distinguibles sin embargo se ven
modificadas de diferente forma, en el caso de tux por los pequeños cuadros, con fluffy encontramos líneas
verticales y con puffy con líneas más finas.
Question 8: What happens when changing the initialization vector under OFB mode? Did you
find a vector that seriously distorted the image? Take some screenshots.

Usando 80729890FDCA1234 aunque ya no se distinguen claramente los colores y las formas internas, la
silueta es suavemente distinguible.

Now put the initialization vector in zeros and change very smoothly the key. Look for the results.
Question 9: What happens when changing the key under OFB mode? Did you find a key that
seriously distorted the image? Take some screenshots.

Cuando establezco la clave como 0000000000000001 la imagen aún es distinguible, pero un cambio sutil
como 0000000000000010 hace que la imagen sea seriamente afectada y no se pueda distinguir ni su silueta
ni los colores que componen la imagen. De allí en adelante, toda clave que probé resulto en un “ruido
blanco” que no permite realizar ninguna conjetura respecto de la imagen inicial.

4. Conclusions
Question 10: Why are de ECB, CBC, PCBC, CFB and OFB modes important in block-encrypting?

Estos modos de cifrado son importantes para el cifrado en bloque ya que como hemos visto en el caso de
DES y su aplicación con cada uno de estos modos se agrega una capa adicional que puede garantizar la
confidencialidad de la información que se está transportando y ya que DES es un estándar, una persona o
un grupo de personas estudiosas de DES podría rápidamente diseñar una estrategia para poder romper el
cifrado de un mensaje de no ser por la seguridad adicional proporcionada por los modos.

Question 11: Why are you advised to avoid using ECB mode in block-encrypting?

Precisamente por el argumento expuesto en la primera pregunta, porque al utilizar la misma llave para cada
uno de los bloques, bloques con el mismo “texto plano” generarían bloques con el mismo “texto cifrado” por
lo que seguiría siendo muy sencillo ver siluetas y encontrar patrones de similaridad.

Question 12: Take into account that the application keeps the 54 byte-header plain, while
encrypting only the bitmap. What would happen if we encrypted the whole image including the
header?
Sería altamente probable que se perdieran cualidades definidas en la cabecera como las dimensiones, la
profundidad del color, el formato del archivo, resolución, entre otras. La imagen podría no lucir como una
imagen sino como otro tipo de archivo. Dificultando aún más la labor para un supuesto atacante.

Question 13: Would this laboratory work if we tried to encrypt images with compression formats,
such as JPEG or GIF? Do you know some other image formats that could be used for a similar
experiment? Which ones? Which information may be encrypted? Which information should
remain plain?

Considero que con archivos de imágenes con cierta compresión como en el caso del formato JPEG este
laboratorio no podría realizarse de la misma manera, solo aquellos formatos que tienen una cabecera similar
a la de BMP y en la que la información de la carga útil corresponde a una relación 1:1 con la definición de
cada pixel. Actualmente no conozco otro tipo de imagen similar al Mapa de Bits de Windows para realizar
este experimento.

Question 14: How do you explain that, in the example above question 1, round borders appear
squared when encrypting?
See the example below

Como el cifrado se realiza en bloques el resultado también es escrito en bloques, como los bloques de
entrada son de un tamaño superior (56 bits) a los bloques predefinidos en que está escrita la información
el cifrado en bloque toma más de una “partícula” esencial de información (pixel) como entrada a ser cifrada
generando bloques de información más grandes y que de forma visual generan la sensación de silueta
cuadriculada.

Question 15: What would happen to squared borders in question 14 if DES were a 24 bit-block
cipher instead of a 64-bit one? What if it were 48-bit or 72-bit?

Como hemos podido notar, en el caso de EBC los bloques contiguos del mismo color tienden a mostrar el
mismo patrón de pixeles cifrado. En caso que DES fuera un bloque de 24 bits o de cualquiera de sus múltiplos
1
llevaría a que se cifre pixel por pixel y no un grupo incompleto de 2 de pixeles del original, en tal caso los
3
contornos de las imágenes no se verían tan cuadrados y cortados sino, mucho mejor definidos. En el caso
de PCBC también podríamos distinguir las siluetas de las imágenes dado el común color blanco de los fondos
de las imágenes analizadas. Sin embargo, en el caso de los cifrados de bloque en cascada como CBC, PCBC
y CFB aún es más difícil distinguir alguna silueta dentro de la imagen resultante.

Question 17: Get yourself a bit away from the screen. How do you explain that, in CBC, PCBC
and CFB modes, the encrypted image is rather gray-like?

El “corrimiento hacia el gris” es un efecto ocasionado por la vecindad de los pixeles ya que en los casos de
las imágenes resultantes con esos cifrados y su efecto cascada hace poco frecuente encontrar pixeles con
la misma información (24 bits) en la misma vecindad. Esta granularidad sumada al efecto provocado por
la distancia causa en nuestro ojo la percepción de estar observando un cuadro gris.

También podría gustarte