Lathack

Introducción a la Criptografía

En este artículo veremos una breve introducción a la Criptografía con respecto a sus orígenes, principios, tipos y diferencias a la hora de estudiarla y aplicarla en diferentes escenarios que se nos presente.

Introducción

En esta introducción, primero debemos saber que la palabra criptografía deriva del griego, en donde “cripto” es ocultar y “grafo” es escritura. Podemos definirla como “Aquella ciencia que utiliza métodos y herramientas matemáticas con el objetivo principal de proteger un mensaje o archivo por medio de un algoritmo de cifrado, utilizando para ello dos o más claves, con lo que se logra en algunos casos la confidencialidad, en otros la autenticidad, e incluso la integridad del mismo”. Por lo tanto, sabiendo que hoy en día tenemos la tecnología y nuestros datos interactuando y actualizándose de forma constante, el uso de la criptografía se vuelve escencial ya que, nos permitirá ocultar información para que únicamente pueda verla quien disponga del conocimiento de las claves empleadas.

Principios de Kerchoffs

Auguste Kerckhoffs fué el primer criptógrafo en publicar ensayos sobre criptografía militar en la Revista francesa “Ciencias Militares”. Los mismos, no sólo fueron una revisión del estado del arte de esta disciplina, sino también una renovación para las técnicas francesas en la materia.

Podemos resumir en una breve introducción a estos ensayos en seis principios básicos para el correcto diseño de la criptografía en diversos sistemas:

  1. Si el sistema no es teóricamente irrompible, al menos debe serlo en la práctica.
  2. La efectividad del sistema no debe depender de que su diseño permanezca en secreto.
  3. La clave debe ser fácilmente memorizable, de manera que no haya que recurrir a notas escritas.
  4. Los criptogramas deberán dar resultados alfanuméricos.
  5. El sistema debe ser operable por una única persona.
  6. El sistema debe ser fácil de utilizar.

Conceptos y Terminologías

  • Texto plano: Aquella información que resulta legible y comprensible por sí misma.
  • Criptograma: Texto o información cifrada cuya legibilidad puede ser comprensible por el destinatario de la misma.
  • Cifrar: Práctica llevada a cabo para transformar un texto plano en criptograma.
  • Descifrar: Proceso que permite transformar el criptograma en texto plano.
  • Criptología: Ciencia que estudia a la Criptografía y el Criptoanálisis.
  • Criptógrafo: También conocido como criptólogo, es la persona que se dedica al estudio de la criptología.
  • Esteganografía: Disciplina de la criptografía en la cual se estudian técnicas que permiten el ocultamiento de mensajes de modo que no se perciba su existencia.
  • Codificar: Acción estática en donde un elemento se representará siempre por el mismo elemento. Por ejemplo, una forma de codificar es pasar de texto a código ASCII y lo mismo con su representación en hexadecimal. Por tanto, no debe confundirse con cifrar.

Cifrado por Transposición

Este tipo de cifrado, también llamado cifrado de Permutación, consiste en cambiar la ubicación del texto en claro para desordenar las letras y, de este modo, generar un criptograma a través de un efecto de difusión. Sin embargo, el mismo tiene un pequeño problema ya que el criptograma presenta las mismas letras que el texto plano.

Las técnicas de permutación son muy utilizadas en la actualidad en algoritmos conocidos como DES y AES (criptografía simétrica).

Cifrado por Sustitución

A continuación, se dará una introducción con respecto a los tipos de cifrado Monoalfabético y Polialfabético dentro de la criptografía.

Monoalfabético

Este cifrado nos permite sustituir un elemento por otro, entonces si queremos reemplazar una letra por otra nuestra oración original (texto plano) terminará cifrándose (criptograma). Un ejemplo de esto es el cifrado Albam, también llamado ROT13, desarrollado por los Hebreos en el siglo V aC. El mismo consiste en rotar el alfabeto 13 posiciones a la derecha.

Introducción a la Criptografía

Otro ejemplo es el cifrado Atbash, también generado por los Hebreos, consiste en sustituir la primera letra por la última, la segunda por la penúltima y así sucesivamente.

No necesariamente deben reemplazarse por letras, también se puede hacer uso de número o símbolos.

Debemos tener en cuenta, que la criptografía está muy relacionada con la matemática, por lo tanto para cada tipo existen ecuaciones que especifica su funcionamiento. Entonces:

m: Representa el texto claro.

c: Criptograma resultante.

a: Multiplicación aplicada.

b: Adición aplicada.

n: Módulo a utilizar (cantidad de caracteres)

Por lo tanto nuestra ecuación para cifrar será la siguiente:

c=a*m+b mod n

Y la ecuación para descifrar será:

m=(c-b)/a mod n

Polialfabético

Este tipo de cifrado consiste en que cada letra del texto plano se sustituya por una letra de un alfabeto distinto, generando así, mayor robustez en el algoritmo. Por ejemplo, podemos utilizar dos alfabetos. En donde en el primero haya un desplazamiento de 3 posiciones y en el segundo de 15. Entonces para los caracteres impares utilizamos el primer alfabeto y para los pares el segundo.

Introducción a la Criptografía

Por lo tanto:

m: Este es un ejemplo más divertido

c: Hhwh hh jb hxhoszd odh rlyhuwlrd

 

Tipos de cifrado históricos

A continuación, se dará una introducción tipos de cifrados que han dado vida a la criptografía moderna.

Escítala

Introducción a la Criptografía

La escítala fue diseñada por los Espartanos para mantener sus mensajes cifrados. La misma, fué desarrollada por un cilindro de madera en el cual se enrollaba una cinta de papiro, tela o cuero. Luego se escribía el mensaje longitudinalmente y, una vez terminado, se rellenaba con la cinta para no dejar espacios en blanco. El mensajero llevaba la cinta hasta el receptor del mensaje, quien disponía de un cilindro con su respectiva clave. ¿Cuál era la clave? La circunferencia de dicho cilindro.

Por ejemplo:

M: ASI CIFRABAN CON LA ESCITALA

C: AAC SNI ICT COA INL FLA RA AE BS

César

El cifrado del del Emperador César, es un cifrado por sustitución monoalfabético y de rotación. Es decir, puede tener distintos corrimientos y el mismo será su clave. Comúnmente se representa con un corrimiento de 3 posiciones.

Por ejemplo:

M= CESAR EL EMPERADOR HA SIDO ASESINADO

C= FHVDU HÑHOS HUDGR UKDVL GRDVH VLPDGR

Polybios

Este cifrado de sustitución monoalfabética, consiste en conseguir una correspondencia de una letra con otra mediante una matriz, en la que se colocaba el alfabeto completo con, o sin números.

Por ejemplo:

M: CIFRADO POLYBIOS

C:AC DB AB BD AA DA DC EC DC AC DE BA DB DC CD

Vigenére

El cifrado de Vigenère es parecedio al de Cesar y Polybios, con la diferencia que es de sustitución simple polialfabético. El mismo es conocido porque es fácil de entender e implementar, sumado esto, parece irresoluble. Esto le hizo valedor del apodo el “código indescifrable”. De forma matemática, podemos implementar este cifrado con la siguiente ecuación:

Xi: es el texto plano

Ki: es la clave

L: cantidad de caracteres que dispone el alfabeto.

E ( Xi ) = ( Xi + Ki ) mod L

A modo de ejemplo, supongamos que queremos cifrar “DIEU PROTEGE LA FRANCE” con K=LOUIS. Deberíamos hacer lo siguiente:

Introducción a la Criptografía

Por lo tanto:

C: DIEUPROTEGELAFRANCE

K: LOUISLOUISLOUISLOUI

M:OWYCHCCNMYPZUNJLBWM

Máquina Enigma

La máquina Enigma, utilizada por los alemanes durante la segunda guerra mundial, fué un dispositivo electromecánico de rotores que permitía cifrar y descifrar mensajes. El mismo consistía en un banco de rotores montados sobre un eje con 26 contactos eléctricos (uno por letra). Los mismos se desplazaban con un odómetro y al cifrar un caracter el primer rotor avanzaba, al completar la vuelta lo hacía el segundo y así sucesivamente. Para 4 rotores, se usaban 264= 456976 alfabetos

Introducción a la Criptografía

Sin embargo, a pesar de tener algunas debilidades criptográficas, el descifrado también se facilitó por fallos de procedimientos y uso por parte de los operadores alemanes, como el no desarrollar modificaciones continuas en el cifrado.

 

Criptoanálisis

Se denomina criptoanálisis al estudio de los métodos que permiten romper los procedimientos de cifrado para recuperar la información original o la clave.

Existen diversos métodos, por ejemplo el de Kasinski, que nos permiten identificar la clave o ciertas palabras repetidas para poder descifrar un mensaje. A continuación veremos una introducción sobre algunas técnicas empleadas en criptografía.

Análisis de Frecuencias

Este análisis consiste en aprovechar los estudios sobre la frecuencia de las letras (o grupos de letras) de los distintos idiomas para poder establecer hipótesis y descifrar un texto sin tener la clave del mismo. Por ejemplo, podemos guiarnos a través de la cantidad de uso por letras según el país en el siguiente cuadro:

Letra

Inglés

Francés

Alemán

Castellano

a

8.167%

7.636%

6.51%

12.53%

b

1.492%

0.901%

1.89%

1.42%

c

2.782%

3.260%

3.06%

4.68%

d

4.253%

3.669%

5.08%

5.86%

e

12.702%

14.715%

17.40%

13.68%

f

2.228%

1.066%

1.66%

0.69%

g

2.015%

0.866%

3.01%

1.01%

h

6.094%

0.737%

4.76%

0.70%

i

6.966%

7.529%

7.55%

6.25%

j

0.153%

0.545%

0.27%

0.44%

k

0.772%

0.049%

1.21%

0.00%

l

4.025%

5.456%

3.44%

4.97%

m

2.406%

2.968%

2.53%

3.15%

n

6.749%

7.095%

9.78%

6.71%

o

7.507%

5.378%

2.51%

8.68%

p

1.929%

3.021%

0.79%

2.51%

q

0.095%

1.362%

0.02%

0.88%

r

5.987%

6.553%

7.00%

6.87%

s

6.327%

7.948%

7.27%

7.98%

t

9.056%

7.244%

6.15%

4.63%

u

2.758%

6.311%

4.35%

3.93%

v

0.978%

1.628%

0.67%

0.90%

w

2.360%

0.114%

1.89%

0.02%

x

0.150%

0.387%

0.03%

0.22%

y

1.974%

0.308%

0.04%

0.90%

z

0.074%

0.136%

1.13%

0.52%

Frecuencia de n-gramas

Un n-grama es una subsecuencia de n elementos a través de una secuencia dada. Podemos aplicar este estudio en el criptoanálisis de una forma similar a la anterior. Por ejemplo:

Castellano:

  • Conjuntos de dos letras: ES, EN, EL, DE, LA, OS, AR, UE, RA, RE, ER, AS, ON, ST, AD, AL, OR, TA, CO.
  • Conjuntos de tres letras: QUE, EST, ARA, ADO, AQU, DEL, CIO, NTE, OSA, EDE, PER, IST, NEI, RES, SDE.

Inglés:

  • Conjuntos de dos letras: TH, HE, AN, IN, ER, RE, ES, ON, EA, TI, AT, ST, EN, ND, OR, TO, NT, ED, IS, AR.
  • Conjuntos de tres letras: THE, ING, AND, ION, ENT, FOR, TIO, ERE, HER, ATE, VER, TER, THA, ATI, HAT, ERS.

Alemán:

  • Conjuntos de dos letras: EN, ER, CH, DE, GE, EI, IE, IN, NE, ND, BE, EL, TE, UN, ST, DI, NO, UE, SE, AU, RE, HE.
  • Conjuntos de tres letras: EIN, ICH, DEN, DER, TEN, CHT, SCH, CHE, DIE, UNG, GEN, UND, NEN, DES, BEN, RCH.

Francés:

  • Conjuntos de dos letras: ES, EN, OU, DE, NT, TE, ON, SE, AI, IT, LE, ET, ME, ER, EM, OI, UN, QU.
  • Conjuntos de tres letras: ENT, QUE, ION, LES, AIT, TIO, ANS, ONT, ANT, OUR, AIS, OUS.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

diecinueve + cuatro =

Lathack
Scroll al inicio