Cifrados tradicionales

En el segundo capítulo, discutimos los fundamentos de la criptografía moderna. Comparamos la criptografía con un conjunto de herramientas en el que varias técnicas criptográficas se consideran herramientas básicas. Una de estas herramientas es el cifrado de clave simétrica, donde la clave utilizada para el cifrado y el descifrado es la misma.

En este capítulo, discutimos más esta técnica y sus aplicaciones para desarrollar varios criptosistemas.

Sistemas criptográficos anteriores

Antes de continuar, necesita conocer algunos datos sobre los criptosistemas históricos:

  • Todos estos sistemas son based on symmetric key encryption esquema.

  • El único servicio de seguridad que brindan estos sistemas es la confidencialidad de la información.

  • A diferencia de los sistemas modernos que son digitales y tratan los datos como números binarios, los sistemas anteriores trabajaban con alfabetos como elemento básico.

Estos sistemas criptográficos anteriores también se conocen como cifrados. En general, un cifrado es simplemente un conjunto de pasos (un algoritmo) para realizar tanto un cifrado como el descifrado correspondiente.

Cifrado césar

Es un cifrado mono-alfabético en el que cada letra del texto sin formato se sustituye por otra letra para formar el texto cifrado. Es una forma más simple de esquema de cifrado de sustitución.

Este criptosistema se conoce generalmente como el Shift Cipher. El concepto es reemplazar cada alfabeto por otro alfabeto que se 'desplaza' por algún número fijo entre 0 y 25.

Para este tipo de esquema, tanto el remitente como el receptor acuerdan un 'número de turno secreto' para cambiar el alfabeto. Este número que está entre 0 y 25 se convierte en la clave de cifrado.

El nombre 'Caesar Cipher' se usa ocasionalmente para describir el Shift Cipher cuando se usa el 'turno de tres'.

Proceso de cifrado por turno

  • Para cifrar una letra de texto sin formato, el remitente coloca la regla deslizante debajo del primer conjunto de letras de texto sin formato y la desliza hacia la IZQUIERDA por el número de posiciones del cambio secreto.

  • Luego, la letra de texto sin formato se cifra con la letra de texto cifrado en la regla deslizante que se encuentra debajo. El resultado de este proceso se muestra en la siguiente ilustración para un turno acordado de tres posiciones. En este caso, el 'tutorial' de texto sin formato se cifra en el texto cifrado 'WXWRULDO'. Aquí está el alfabeto de texto cifrado para un cambio de 3:

  • Al recibir el texto cifrado, el receptor que también conoce el turno secreto, coloca su regla deslizante debajo del alfabeto del texto cifrado y lo desliza a la DERECHA por el número de turno acordado, 3 en este caso.

  • Luego reemplaza la letra de texto cifrado por la letra de texto sin formato en la regla deslizante debajo. Por lo tanto, el texto cifrado 'WXWRULDO' se descifra en 'tutorial'. Para descifrar un mensaje codificado con un cambio de 3, genere el alfabeto de texto sin formato con un cambio de '-3' como se muestra a continuación:

Valor de seguridad

Caesar Cipher es not a securecryptosystem porque solo hay 26 claves posibles para probar. Un atacante puede realizar una búsqueda exhaustiva de claves con los limitados recursos informáticos disponibles.

Cifrado de sustitución simple

Es una mejora del cifrado Caesar. En lugar de cambiar los alfabetos por algún número, este esquema usa alguna permutación de las letras en el alfabeto.

Por ejemplo, AB… ..YZ y ZY …… BA son dos permutaciones obvias de todas las letras del alfabeto. La permutación no es más que un conjunto desordenado de alfabetos.

Con 26 letras en el alfabeto, ¡las posibles permutaciones son 26! (Factorial de 26) que es igual a 4x10 26 . El remitente y el receptor pueden elegir cualquiera de estas posibles permutaciones como alfabeto de texto cifrado. Esta permutación es la clave secreta del esquema.

Proceso de cifrado de sustitución simple

  • Escribe los alfabetos A, B, C, ..., Z en el orden natural.

  • El remitente y el receptor deciden sobre una permutación seleccionada al azar de las letras del alfabeto.

  • Debajo de los alfabetos de orden natural, escriba la permutación elegida de las letras del alfabeto. Para el cifrado, el remitente reemplaza cada letra de texto sin formato sustituyendo la letra de permutación que está directamente debajo de ella en la tabla. Este proceso se muestra en la siguiente ilustración. En este ejemplo, la permutación elegida es K, D, G, ..., O. El 'punto' de texto plano se cifra en 'MJBXZ'.

Aquí hay un alfabeto de texto cifrado desordenado, donde el orden de las letras del texto cifrado es clave.

  • Al recibir el texto cifrado, el receptor, que también conoce la permutación elegida al azar, reemplaza cada letra de texto cifrado en la fila inferior con la letra de texto plano correspondiente en la fila superior. El texto cifrado 'MJBXZ' se descifra en 'señalar'.

Valor de seguridad

El cifrado de sustitución simple es una mejora considerable sobre el cifrado Caesar. La cantidad posible de claves es grande (¡26!) E incluso los sistemas informáticos modernos aún no son lo suficientemente potentes como para lanzar cómodamente un ataque de fuerza bruta para romper el sistema. Sin embargo, el cifrado de sustitución simple tiene un diseño simple y es propenso a fallas de diseño, digamos que al elegir una permutación obvia, este criptosistema se puede romper fácilmente.

Cifrado monoalfabético y polialfabético

El cifrado monoalfabético es un cifrado de sustitución en el que, para una clave determinada, el alfabeto de cifrado de cada alfabeto simple se fija durante todo el proceso de cifrado. Por ejemplo, si 'A' está encriptado como 'D', para cualquier número de ocurrencias en ese texto sin formato, 'A' siempre se encriptará a 'D'.

Todos los cifrados de sustitución que hemos analizado anteriormente en este capítulo son monoalfabéticos; estos cifrados son muy susceptibles al criptoanálisis.

El cifrado polialfabético es un cifrado de sustitución en el que el alfabeto cifrado del alfabeto simple puede ser diferente en diferentes lugares durante el proceso de cifrado. Los siguientes dos ejemplos,playfair and Vigenere Cipher are polyalphabetic ciphers.

Cifrado de Playfair

En este esquema, los pares de letras están cifrados, en lugar de letras individuales como en el caso del cifrado de sustitución simple.

En el cifrado de Playfair, inicialmente se crea una tabla de claves. La tabla de claves es una cuadrícula de alfabetos de 5 × 5 que actúa como clave para cifrar el texto sin formato. Cada uno de los 25 alfabetos debe ser único y una letra del alfabeto (generalmente J) se omite de la tabla, ya que solo necesitamos 25 alfabetos en lugar de 26. Si el texto sin formato contiene J, entonces se reemplaza por I.

El remitente y el receptor deciden sobre una clave en particular, digamos 'tutoriales'. En una tabla clave, los primeros caracteres (de izquierda a derecha) en la tabla es la frase, excluyendo las letras duplicadas. El resto de la tabla se llenará con las letras restantes del alfabeto, en orden natural. La tabla clave resulta ser:

Proceso de cifrado de Playfair

  • Primero, un mensaje de texto plano se divide en pares de dos letras (dígrafos). Si hay un número impar de letras, se agrega una Z a la última letra. Digamos que queremos cifrar el mensaje "ocultar dinero". Estará escrito como:

    HI DE MO NE YZ

  • Las reglas de cifrado son:

    • Si ambas letras están en la misma columna, tome la letra debajo de cada una (volviendo a la parte superior si está en la parte inferior)

  • T U O R yo 'H' e 'I' están en la misma columna, por lo tanto, tome la letra debajo de ellos para reemplazar. HI → QC
    UN L S segundo C
    re mi F GRAMO H
    K METRO norte PAGS Q
    V W X Y Z
  • Si ambas letras están en la misma fila, tome la letra a la derecha de cada una (volviendo a la izquierda si está más a la derecha)

  • T U O R yo 'D' y 'E' están en la misma fila, por lo tanto, tome la letra a la derecha para reemplazarlas. DE → EF
    UN L S segundo C
    re mi F GRAMO H
    K METRO norte PAGS Q
    V W X Y Z
  • Si ninguna de las dos reglas anteriores es cierta, forme un rectángulo con las dos letras y tome las letras en la esquina horizontal opuesta del rectángulo.

Usando estas reglas, el resultado del cifrado de 'ocultar dinero' con la clave de 'tutoriales' sería:

QC EF NU MF ZV

Descifrar el cifrado de Playfair es tan simple como hacer el mismo proceso a la inversa. El receptor tiene la misma clave y puede crear la misma tabla de claves, y luego descifrar cualquier mensaje realizado con esa clave.

Valor de seguridad

También es un cifrado de sustitución y es difícil de descifrar en comparación con el cifrado de sustitución simple. Como en el caso del cifrado de sustitución, el criptoanálisis también es posible en el cifrado de Playfair, sin embargo, sería contra 625 posibles pares de letras (25x25 alfabetos) en lugar de 26 posibles alfabetos diferentes.

El cifrado de Playfair se utilizó principalmente para proteger secretos importantes, aunque no críticos, ya que es rápido de usar y no requiere equipo especial.

Cifrado Vigenere

Este esquema de cifrado usa una cadena de texto (digamos, una palabra) como clave, que luego se usa para hacer una serie de cambios en el texto sin formato.

Por ejemplo, supongamos que la clave es "punto". Cada alfabeto de la clave se convierte a su valor numérico respectivo: En este caso,

p → 16, o → 15, i → 9, n → 14 y t → 20.

Por tanto, la clave es: 16 15 9 14 20.

Proceso de cifrado de Vigenere

  • El emisor y el receptor deciden una clave. Decir 'señalar' es la clave. La representación numérica de esta clave es '16 15 9 14 20 '.

  • El remitente quiere cifrar el mensaje, diga "ataque desde el sureste". Organizará el texto plano y las teclas numéricas de la siguiente manera:

  • Ahora cambia cada alfabeto de texto plano por el número escrito debajo para crear texto cifrado como se muestra a continuación:

  • Aquí, cada carácter de texto sin formato se ha cambiado en una cantidad diferente, y esa cantidad está determinada por la clave. La clave debe ser menor o igual que el tamaño del mensaje.

  • Para el descifrado, el receptor usa la misma clave y cambia el texto cifrado recibido en orden inverso para obtener el texto sin formato.

Valor de seguridad

Vigenere Cipher se diseñó modificando el cifrado estándar Caesar para reducir la eficacia del criptoanálisis en el texto cifrado y hacer que un criptosistema sea más robusto. Es significativamentemore secure than a regular Caesar Cipher.

A lo largo de la historia, se usó regularmente para proteger información política y militar sensible. Fue referido como elunbreakable cipher por la dificultad que suponía para el criptoanálisis.

Variantes de cifrado Vigenere

Hay dos casos especiales de cifrado Vigenere:

  • La longitud de la palabra clave es la misma que la del mensaje simple. Este caso se llamaVernam Cipher. Es más seguro que el cifrado típico de Vigenere.

  • El cifrado de Vigenere se convierte en un criptosistema con perfecto secreto, que se denomina One-time pad.

Cojín de una sola vez

Las circunstancias son ...

  • La longitud de la palabra clave es la misma que la del texto sin formato.
  • La palabra clave es una cadena de alfabetos generada aleatoriamente.
  • La palabra clave se usa solo una vez.

Valor de seguridad

Comparemos el cifrado Shift con el pad de una sola vez.

Cifrado de cambio: fácil de romper

En el caso del cifrado Shift, el mensaje completo podría haber tenido un cambio entre 1 y 25. Este es un tamaño muy pequeño y muy fácil de usar por fuerza bruta. Sin embargo, ahora que cada carácter tiene su propio cambio individual entre 1 y 26, las posibles claves crecen exponencialmente para el mensaje.

Almohadilla de un solo uso: imposible de romper

Digamos que ciframos el nombre "punto" con un bloc de notas de una sola vez. Es un texto de 5 letras. Para romper el texto cifrado por fuerza bruta, debe probar todas las posibilidades de claves y realizar el cálculo para (26 x 26 x 26 x 26 x 26) = 26 5 = 11881376 veces. Eso es para un mensaje con 5 alfabetos. Por lo tanto, para un mensaje más largo, el cálculo crece exponencialmente con cada alfabeto adicional. Esto hace que sea computacionalmente imposible romper el texto cifrado por fuerza bruta.

Cifrado de transposición

Es otro tipo de cifrado donde el orden de los alfabetos en el texto sin formato se reorganiza para crear el texto cifrado. Los alfabetos de texto sin formato reales no se reemplazan.

Un ejemplo es un cifrado de 'transposición simple en columnas' donde el texto sin formato se escribe horizontalmente con un cierto ancho de alfabeto. Luego, el texto cifrado se lee verticalmente como se muestra.

Por ejemplo, el texto sin formato es "la estatua dorada está en la undécima cueva" y la clave secreta aleatoria elegida es "cinco". Organizamos este texto horizontalmente en la tabla con un número de columna igual al valor clave. El texto resultante se muestra a continuación.

El texto cifrado se obtiene leyendo la columna verticalmente hacia abajo desde la primera hasta la última columna. El texto cifrado es 'gnuneaoseenvltiltedasehetivc'.

Para descifrar, el receptor prepara una tabla similar. El número de columnas es igual al número de clave. El número de filas se obtiene dividiendo el número total de alfabetos de texto cifrado por el valor de clave y redondeando el cociente al siguiente valor entero.

A continuación, el receptor escribe el texto cifrado recibido verticalmente hacia abajo y de izquierda a derecha. Para obtener el texto, lee horizontalmente de izquierda a derecha y de arriba a abajo.