30
INDICE Tema Pág. 0- Introducción 2 1- Orígenes y Evolución 3 2- Cifrado por Sustitución Basado en Alfabeto y Clave 4 2.1- Cifrado Cesar 4 2.2- Cifrado Polybios 5 2.3- Cifrado Vigenère 5 2.4- Clasificación 6 3- Funcionamiento de la Transposición de Mensajes 7 3.1- Cifrado por Transposición Columnar 7- 8 3.2- Cifrado por Transposición 9- 10 4- Funcionamiento del Cifrado de Flujo y de Bloque 11 4.1- Cifrado de Flujo 11-12 4.2- Cifrado de Bloque 13 4.2.1- Modo ECB 13-14 4.2.2- Modo CBC 15 4.2.3- Modo PCBC 16 5- Cifrado Simétrico 16 1

Criptografía

Embed Size (px)

Citation preview

Page 1: Criptografía

INDICE

Tema Pág.

0- Introducción 21- Orígenes y Evolución 32- Cifrado por Sustitución Basado en Alfabeto y Clave 4

2.1- Cifrado Cesar 42.2- Cifrado Polybios 52.3- Cifrado Vigenère 52.4- Clasificación 6

3- Funcionamiento de la Transposición de Mensajes 7

3.1- Cifrado por Transposición Columnar 7-8

3.2- Cifrado por Transposición 9-10

4- Funcionamiento del Cifrado de Flujo y de Bloque 11

4.1- Cifrado de Flujo 11-12

4.2- Cifrado de Bloque 13

4.2.1- Modo ECB 13-14

4.2.2- Modo CBC 15

4.2.3- Modo PCBC 16

5- Cifrado Simétrico 16

5.1- Algoritmos Cifrado Simétrico 17

6- Cifrado Asimétrico 18

6.1- Clasificación 19

6.2- Algoritmos 20

7- Ejercicio de Cifrado por Transposición 21-22

8- Conclusión 23

1

Page 2: Criptografía

0- INTRODUCCION

La criptología es la ciencia que crea y rompe códigos secretos. El desarrollo y utilización de estos códigos es llamado criptografía y el romper códigos es llamado criptoanálisis. La criptografía ha sido utilizada por siglos para proteger documentos secretos. Por ejemplo, Julio César utilizó un cifrado alfabético simple para cifrar mensajes enviados a sus generales en el campo de batalla. Sus generales conocían la clave requerida para descifrar los mensajes. En la actualidad, se utilizan métodos criptográficos modernos de muchas formas para asegurar las comunicaciones.

Las comunicaciones seguras requieren una garantía de que el mensaje no ha sido falseado y que realmente proviene de quien indica el remitente (autenticación). Además, debe garantizar que nadie interceptó ni alteró el mensaje (integridad). Finalmente, las comunicaciones seguras garantizan que, si el mensaje es capturado, no podrá ser descifrado (confidencialidad).

La criptografía (del griego krypto, «oculto», y graphos, «escribir», literalmente «escritura oculta») es el arte o ciencia de cifrar y descifrar información mediante técnicas especiales y se emplea frecuentemente para permitir un intercambio de mensajes que sólo puedan ser leídos por personas a las que van dirigidos y que poseen los medios para descifrarlos.

La palabra criptografía es un término genérico que describe todas las técnicas que permiten cifrar mensajes o hacerlos ininteligibles sin recurrir a una acción específica. El verbo asociado es cifrar.

La criptografía se basa en la aritmética: En el caso de un texto, consiste en transformar las letras que conforman el mensaje en una serie de números (en forma de bits ya que los equipos informáticos usan el sistema binario) y luego realizar cálculos con estos números para:

- Modificarlos y hacerlos incomprensibles. El resultado de esta modificación (el mensaje cifrado) se llama texto cifrado, en contraste con el mensaje inicial, llamado texto simple.

- Asegurarse de que el receptor pueda descifrarlos.

2

Page 3: Criptografía

1- ORIGENES Y EVOLUCION

El uso de métodos para mantener secreta la información se ha registrado desde culturas antiguas. En la cultura egipcia los sacerdotes usaban jeroglíficos incomprensibles para el común de las personas. En la Babilonia usaban la escritura cuneiforme (con caracteres que tenían forma de uña y clavo) y en la cultura griega se inventaron un sistema en el que dependiendo del ancho de un bastón sobre el que se enrollaba un cinturón de cuero, podría leerse o no la información escondida.

En la Segunda Guerra Mundial la criptografía impulso la creación de tecnología.

Durante esta época, Alan Turing, desarrolló una aproximación estadística para descifrar el sistema de codificación alemán denominado Enigma (una máquina de rotores que automatizaba considerablemente los cálculos que era necesario realizar para las operaciones de cifrado y descifrado de mensajes). Con base en esta aproximación y las ideas de Max Newman, Tommy Flowers construyó el sistema COLOSSUS utilizado para descifrar el código Fish utilizado por los alemanes para comunicaciones estratégicas. Esto les permitió a los aliados una ventaja considerable en la guerra.

En el mundo moderno la criptografía no solo es usada para el intercambio de mensajes secretos. Cada compra por medio de un sistema de comercio electrónico, cada conversación por celular, cada retiro de dinero de un banco o transferencia electrónica necesita de un elemento clave: la confianza. Para esto, la autenticación brinda una mayor seguridad frente a los medios físicos tradicionales: el uso de firmas digitales de acuerdo con la normatividad legal vigente permite tener certeza con respecto a la identidad del emisor. Las negociaciones por medio de comercio electrónico cada vez son más comunes, y mueven billones de dólares anuales; hecho que no podría ser posible de no existir la criptografía y la autenticación. Otra aplicación de la criptografía que cada día adquiere más importancia es la creación de sistemas de gestión de derechos de autor (DRM) para proteger los contenidos digitales.

Maquina Enigma usada en la Segunda Guerra Mundial por los alemanes.

3

Page 4: Criptografía

A mediados de los años 70, el Departamento de Normas y Estándares norteamericano publica el primer diseño lógico de un cifrador que estaría llamado a ser el principal sistema criptográfico de finales de siglo: el Estándar de Cifrado de Datos o DES. En esas mismas fechas ya se empezaba a gestar lo que sería la, hasta ahora, última revolución de la criptografía teórica y práctica: los sistemas asimétricos.

2- CIFRADO POR SUSTITUCION BASADO EN ALFABETO Y CLAVE

Es aquel cifrado que sustituye cada letra o grupo de letras por otra letra o grupo de letras distinta/s para cifrar el texto en claro.

Los primeros y antiguos métodos de cifrado se basaban en este principio, aunque en aquella época no eran muy robustos ni difíciles de descifrar, pero les resultaban muy útiles.

2.1- CIFRADO CESAR:

También conocido como cifrado por desplazamiento, código de César o desplazamiento de César, es una de las técnicas de codificación más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D (situada 3 lugares a la derecha de la A), la B sería reemplazada por la E, etc. Este método debe su nombre a Julio César, que lo usaba para comunicarse con sus generales.

En este ejemplo se usa un desplazamiento de tres

espacios, así que una B en el texto original se convierte

en una E en el texto codificado.

4

Page 5: Criptografía

2.2- CIFRADO POLYBIOS:

Este cifrado fue realizado en la antigua Grecia y usaba el alfabeto Griego en su versión original, aunque se ha adaptado a los demás alfabetos. Se basa en colocar las letras del alfabeto en una matriz, normalmente de 5×5, y en las cabeceras de las columnas y filas se le asigna unos números o letras siguiendo un patrón preestablecido por el usuario del cifrado.

Así usando el alfabeto tradicional, sin contar la Ñ, tendríamos la siguiente matriz:

1 2 3 4 5

1 A B C D E

2 F G H I K

3 L M N O P

4 Q R S T U

5 V W X Y Z

(Aclaración: La J se junta con la I por convenio)

Y a partir de esta matriz se cifra el mensaje, cogiendo letra a letra y sustituyéndola por los números de su fila y columna. Por ejemplo:

HOLA => 23343111

Para descifrar, se cogerían de dos en dos números y se buscaría el cruce de dichos números en la matriz.

2.3- CIFRADO DE VIGENERE:

Se escoge una clave que usaremos para que al cifrar el mensaje cada letra tenga un diferente cifrado, así evitamos la repetición de caracteres en el criptograma.

Así, se usa una clave que en realidad es un trozo de texto, puede ser cualquier palabra o conjuntos de letras desordenado, por ejemplo GATO, siempre es mejor coger una clave más corta que el mensaje a cifrar.

Y se realiza el siguiente método:

5

Page 6: Criptografía

Mensaje: AUTOESCUELA

Clave: GATO

Se van asignando los caracteres uno a uno del mensaje a la clave formando pares de carácter del mensaje y carácter de la clave, si llegamos al final de la clave se empieza de nuevo por el primer carácter de ésta o se puede usar el mensaje, de modo que tendríamos:

(A, G) (U, A), (T, T), (O, O), (E, G), (S, A),….

Ahora vamos a usar una tabla, llamada la tabla de Vigenère, al igual que se hacía en el cifrado Polybios, para cifrar cada par de caracteres anterior. De modo que tenemos:

(A, G) = G

(U, A) = U

(T, T) = M

(O, O) = C

….

Y el mensaje cifrado es: GUMCKSVJKLT

Como se decía anteriormente, se puede usar una versión un tanto diferente de este cifrado que se basa en un método llamado autoclave, este método consiste en que si alguna vez llegamos al fin de la clave no pasaríamos al principio de ésta, en su lugar usaríamos el mensaje que tengamos como clave. Así con el ejemplo anterior, tendríamos:

(A, G) (U, A), (T, T), (O, O), En lugar de comenzar la clave de nuevo usaríamos el mensaje. (E, A), (S, U),….

Para descifrar, se haría completamente al revés, cogiendo carácter a carácter del mensaje cifrado y con la clave buscando la posición que ocupe en la tabla dicho par.

6

Page 7: Criptografía

2.4- Clasificación:

Según la naturaleza de la clave:

- Simétricos: o basados en clave privada. Este tipo de sistemas utiliza la misma clave para cifrar que para descifrar el mensaje, o en su defecto, claves que deriven fácilmente una de la otra.

- Asimétricos: o basados en clave pública. Estos sistemas en cambio, utilizan una clave muy diferente para cifrar/descifrar el mensaje, es por esto que en ocasiones se publican las claves en Internet para que cada cual pueda cifrar sus mensajes, siendo únicamente el diseñador el que pueda descifrarlos.

3- FUNCIONAMIENTO DE LA TRANSPOSICION DE MENSAJES

Los cifrados por transposición reordenan el texto de acuerdo con algún esquema. Este reordenamiento se hacía clásicamente con la ayuda de algún tipo de figura geométrica. Primero el texto a cifrar se escribía en la figura de una forma determinada y después se extraía de la figura de una forma diferente, quedando cifrado. La llave (clave) consiste púes en la forma de introducir y sacar el texto de la figura.

La figura escogida la mayoría de las veces era una matriz bidimensional. Como ejemplos podemos distinguir:

* Cifrado por transposición columnar

* Cifrado por transposición

3.1- Cifrado por transposición columnar

Dado un texto a cifrar, se escribe por filas en una matriz de una anchura predeterminada y se obtiene el texto cifrado leyendo las columnas en algún orden. Por ejemplo, para cifrar el texto "El cristal roto empezaba a crecer de nuevo", con una anchura de bloque de 6 caracteres hacemos:

E L C R I S

7

Page 8: Criptografía

T A L R O T

O E M P E Z

A B A A C R

E C E R D E

N U E V O

Ahora lo que se hace es leer el texto por columnas en cualquier orden. Por ejemplo, en el orden 2-4-6-1-3-5 tenemos:

LAEBCU RRPARV STZRE ETOAEN CLMAEE IOECDO

La llave (clave) de este cifrado es la permutación que se ha usado y las dimensiones de la tabla.

Criptoanálisis

Como se ha explicado anteriormente lo único que hace este método es considerar el texto escrito por filas en una matriz y volver a escribir este texto cogiendo las columnas de dicha matriz. Debemos tener en cuenta que la llave (clave) en este cifrado es la permutación que se ha utilizado, es decir, la forma de elegir las columnas, y las dimensiones de la matriz donde se escribe el texto.

Teniendo en cuenta lo expuesto en el párrafo anterior, y que al escribir el texto cifrado hay espacios en blanco entre los "trozos" de texto que se corresponden con las columnas, entonces, una forma de realizar el criptoanálisis al texto anteriormente cifrado puede ser la siguiente:

* Coger el texto cifrado y volverlo a poner en una matriz como la explicada anteriormente.

* Intercambiar las columnas de dicha matriz hasta obtener un texto con sentido.

Para facilitar la labor debemos tener en cuenta que la columna de menor longitud será la última columna de la matriz original. Entonces, partiendo de la tabla:

L R E C I S

8

Page 9: Criptografía

A R T L O T

E P O M E Z

B A A A C R

C R E E D E

U V N E O

Realizando distintas permutaciones entre las columnas de la misma podemos volver a obtener la matriz original:

E L C R I S

T A L R O T

O E M P E Z

A B A A C R

E C E R D E

N U E V O

Y, por tanto, podemos descifrar el mensaje:

El cristal roto empezaba a crecer de nuevo

3.2- Cifrado por transposición

Dado un texto a cifrar, se escribe por filas en una matriz de una anchura predeterminada y luego se cambian las columnas de sitio. Por ejemplo, para cifrar el texto "A quien madruga Dios le ayuda", con una anchura de bloque de 5 caracteres hacemos:

A Q U I E

N M A D R

U G A D I

O S L E A

Y U D A H

9

Page 10: Criptografía

Metemos cualquier carácter de relleno al final, para que la matriz quede completamente rellena y cambiamos las filas de sitio, por ejemplo, las ponemos en el orden 3-5-2-1-4 y obtenemos:

U E Q A I

A R M N D

A I G U D

L A S O E

D H U Y A

Con lo que el texto cifrado queda:

UEQAI ARMND AIGUD LASOE DHUYA

Más formalmente, lo que se hace es dividir el texto en bloques de una longitud fija y aplicar a cada bloque una permutación p. En el ejemplo anterior, se dividiría el texto en bloques de 5 caracteres:

AQUIE NMADR UGADI OSLEA YUDAH

Se le añaden letras al final para terminar de llenar un bloque y se aplica la permutación (1, 3, 2, 5, 4), con lo que se llega el resultado UEQAI ARMND AIGUD LASOE DHUYA, que coincide con el obtenido anteriormente.

Criptoanálisis

Para realizar el criptoanálisis de un texto que ha sido cifrado con este método debemos seguir los pasos considerados en el apartado de cifrado por transposición columnar.

Además de lo expuesto anteriormente hay que tener en cuenta que ahora los huecos son rellenados con caracteres. Entonces, dado un texto cifrado con este método y sin espacios en blanco para delimitar las columnas, podríamos obtener el número de columnas de la matriz sin más que conocer la longitud del texto cifrado, pues el número de columnas debe ser un divisor de este.

Como ejemplo de lo expuesto en el párrafo anterior consideremos el texto cifrado del anterior ejemplo:

10

Page 11: Criptografía

UEQAIARMNDAIGUDLASOEDHUYA

Como la longitud de este texto es de 25 caracteres, y como:

25 = 5 * 5

Entonces, sabemos que la matriz debe contener 5 columnas. Con esta información podemos dividir el texto anterior y obtener la matriz del texto cifrado, con la que realizando distintas permutaciones entre sus columnas podríamos obtener la matriz del texto llano correspondiente a dicho texto cifrado, y con lo cual descifraríamos el mensaje oculto en el texto cifrado.

4- FUNCIONAMIENTO DEL CIFRADO DE FLUJO Y DE BLOQUE

4.1- Cifrado de Flujo:

A diferencia del cifrado por bloques, el cifrado de flujo (stream cipher) codifica el texto plano de a un byte o un bit por vez. Los cifrados de flujo pueden verse como un cifrado de bloque con un tamaño de bloque de un bit. Con el cifrado de flujo, la transformación de estas unidades más pequeñas de texto plano es variable, dependiendo de dónde se encuentren durante el proceso de cifrado. El cifrado de flujo puede ser mucho más rápido que el cifrado por bloques y en general no incrementa el tamaño de los mensajes, ya que pueden cifrar un número arbitrario de bits.

El cifrado Vigenère es un ejemplo del cifrado de flujo. Este cifrado es periódico, debido a que su clave es de longitud infinita y la misma se repite si es más corta que el mensaje.

El cifrado de flujo incluye A5, el cual es utilizado para cifrar las comunicaciones de teléfonos celulares GSM y el cifrado RC4. DES también puede ser utilizado en modo de cifrado de flujo.

11

Page 12: Criptografía

Seleccionar un algoritmo de cifrado es una de las decisiones más importantes que debe tomar un profesional de seguridad al construir un sistema criptográfico. Deben considerarse dos aspectos importantes al seleccionar un algoritmo de cifrado para una organización:

Que el algoritmo sea confiable para la comunidad criptográfica. Muchos algoritmos nuevos pueden romperse con rapidez, por lo que resultan preferibles aquellos algoritmos que han resistido ataques por varios años. Los inventores y vendedores suelen promover en exceso los beneficios de los nuevos algoritmos.

Que el algoritmo proteja de forma adecuada contra los ataques por fuerza bruta. Un buen algoritmo criptográfico está diseñado de forma tal que resista los ataques criptográficos comunes. La mejor forma de acceder a los datos protegidos por el algoritmo es intentar descifrarlos utilizando todas las claves posibles. La cantidad de tiempo necesario para este tipo de ataque depende de la cantidad de claves posibles, pero en general es muy extenso. Con claves de longitud apropiada, estos ataques son considerados impracticables. Si el algoritmo es considerado confiable, no existen atajos para quebrarlo y el atacante debe recorrer todo el espacio de claves para adivinar la clave correcta. El algoritmo debe permitir longitudes de clave que satisfagan los requisitos de confidencialidad de la organización. Por ejemplo, DES no provee una protección suficiente para los requisitos modernos, debido a sus claves cortas.

12

Page 13: Criptografía

Otros criterios a considerar:

Que el algoritmo soporte claves extensas de longitud variable y escalabilidad. La longitud variable de claves y la escalabilidad son también dos atributos deseables de un buen algoritmo de cifrado. Mientras más larga sea la clave de cifrado, más tiempo debe dedicar un atacante para quebrarla. Por ejemplo, una clave de 16 bits tiene 65.536 combinaciones posibles, mientras que una clave de 56 bits tiene 7,2 x 10^16 combinaciones posibles. La escalabilidad provee una longitud de clave flexible y permite al administrador seleccionar la fortaleza y velocidad del cifrado requerido.

Que el algoritmo no tenga restricciones de exportación e importación. Deben considerarse con cuidado las restricciones de importación y exportación al utilizar el cifrado internacionalmente. Algunos países no permiten la exportación de algoritmos de cifrado o sólo la permiten si se utilizan claves más cortas. Asimismo, algunos países imponen restricciones de importación sobre los algoritmos criptográficos.

4.2- Cifrado de Bloques:

En criptografía, un cifrador por bloques opera en bloques de tamaño fijo, a menudo de 64 o 128 bits. Para cifrar mensajes de mayor tamaño se usan diferentes modos de operación. Los primeros modos descritos, como ECB, CBC, OFB y CFB, aseguraban la confidencialidad, pero no aseguraban la integridad del mensaje. Otros modos han sido diseñados para asegurar la confidencialidad y la integridad del mensaje, como modo CCM, modo EAX y modo OCB.

4.2.1- Modo ECB (Electronic codebook)

El método más simple de modo de cifrado es el llamado ECB (electronic codebook), en el cual el mensaje es troceado en bloques, cada uno de los cuales es cifrado de manera separada. La desventaja de este método es que bloques idénticos de mensaje sin cifrar producirán idénticos textos cifrados. Por esto, no proporciona una auténtica confidencialidad y no es recomendado para protocolos criptográficos.

13

Page 14: Criptografía

Un claro ejemplo de cómo el método ECB puede revelar patrones del texto. Una versión de mapa de bits de la imagen de la izquierda ha sido cifrada con ECB para crear la imagen del centro:

Original Cifrado usando modo ECB Cifrado usando otros modos

La imagen de la derecha es cómo podría aparecer la misma imagen cifrada con CBC, CTR o cualquiera de los otros métodos seguros, esto es, indistinguible de ruido aleatorio. Hay que notar que la apariencia aleatoria de la imagen de la derecha dice muy poco sobre si la imagen ha sido cifrada de manera segura. Muchos métodos no seguros de cifrado producen, a priori, un resultado aparentemente aleatorio.

14

Page 15: Criptografía

El modo ECB puede hacer que protocolos sin protección de integridad sean aún más susceptibles a ataques de repetición, dado que cada bloque es descifrado de la misma manera. Por ejemplo, el videojuego online Phantasy Star Online: Blue Burst usa Blowfish en modo ECB. Antes de que el método de intercambio de claves fuese craqueado, algunos jugadores enviaban repetidamente el bloque cifrado de Monstruo matado, cifrado cada uno con Blowfish, para ganar ilegítimamente puntos de experiencia.

4.2.2- Modo CBC (Cipher-block chaining)

En el modo CBC (cipher-block chaining), antes de ser cifrado, a cada bloque de texto se le aplica una operación XOR con el previo bloque ya cifrado. De este modo, cada bloque es dependiente de todos los bloques de texto planos hasta ese punto. Además, para hacer cada mensaje único se puede usar un vector de inicialización.

Si el primer bloque tiene índice 1, la fórmula matemática para el cifrado CBC es:

15

Page 16: Criptografía

Mientras que la fórmula del descifrado es:

CBC es el modo usado más a menudo. Su principal contrapartida es que es secuencial y no puede funcionar en paralelo.

4.2.3- Modo PCBC (Propagating cipher-block chaining)

El modo propagating cipher-block chaining fue diseñado para que pequeños cambios en el texto cifrado se propagasen más que en el modo CBC. Las rutinas de cifrado y descifrado se definen como sigue:

PCBC es usado por Kerberos y Waste, aunque además de en éstos, su uso es bastante infrecuente.

5- CIFRADO SIMETRICO

El cifrado simétrico (también conocido como cifrado de clave privada o cifrado de clave secreta) consiste en utilizar la misma clave para el cifrado y el descifrado.

El cifrado consiste en aplicar una operación (un algoritmo) a los datos que se desea cifrar utilizando la clave privada para hacerlos ininteligibles. El algoritmo más simple (como un OR exclusivo) puede lograr un sistema prácticamente a prueba de falsificaciones (asumiendo que la seguridad absoluta no existe).

Sin embargo, en la década de 1940, Claude Shannon demostró que, para tener una seguridad completa, los sistemas de clave privada debían usar claves que tengan, como mínimo, la misma longitud del mensaje cifrado. Además, el cifrado simétrico requiere que se utilice un canal seguro para intercambiar la clave y esto disminuye en gran medida la

16

Page 17: Criptografía

utilidad de este tipo de sistema de cifrado. La mayor desventaja de un criptosistema de clave secreta está relacionada con el intercambio de las claves.

El cifrado simétrico se basa en el intercambio de un secreto (las claves). Surge, entonces, el problema de la distribución de las claves:

Así, un usuario que desea comunicarse con varias personas y garantizar al mismo tiempo niveles separados de confidencialidad debe utilizar el mismo número de claves privadas que de personas. Para un grupo de una cantidad N de personas que utilizan un criptosistema de clave secreta, es necesario distribuir una cantidad de claves equivalente a N* (N-1) / 2.

En la década de 1920, Gilbert Vernam y Joseph Mauborgne desarrollaron el método One-Time Pad (también conocido como "One-Time Password", abreviado OTP), basado en una clave privada generada de forma aleatoria que se usa sólo una vez y después se destruye. En el mismo período, el Kremlin y la Casa Blanca se comunicaban a través del famoso teléfono rojo, un teléfono que cifraba las llamadas mediante una clave privada que utilizaba el método one-time pad. La clave privada se intercambiaba a través de valija diplomática (que cumplía el papel de canal seguro).

5.1- ALGORITMOS CIFRADO SIMETRICO

DES:

El algoritmo DES (Data Encryption Standard) creado en 1976 requiere una clave de 64 bits, de los cuales utiliza únicamente 56 bits siendo los otros 8 un control de paridad.

Para mejorar la seguridad se creó Triple DES (TDES o 3DES), que consiste en utilizar tres veces DES, cifrando y/o descifrando con una, dos o tres claves diferentes. Así DES-EEE1 cifra tres veces con la misma clave, mientras que DES-EDE3 cifra-descifra-cifra con tres claves diferentes (al usar para descifrar una clave diferente que para cifrar, en realidad se complica el cifrado). Las variantes más seguras son DES-EEE3 y DES-EDE354.

Si se utilizan 3 claves diferentes la longitud de la clave usada es de 168 bits (56x3) pero la seguridad efectiva55 es de 112 bits.

3DES:

3DES es un algoritmo seguro pero lento, que permitió seguir utilizando dispositivos creados para DES. Sin embargo está siendo sustituido por AES (Advanced Encryption Standard).

17

Page 18: Criptografía

AES:

AES (Advanced Encryption Standard) es uno de los algoritmos más utilizados, ya que se convirtió en estándar en 2002. Utiliza un tamaño de bloque de 128 bits y claves de 128, 192 o 256 bits. AES es rápido tanto por software como por hardware, es relativamente sencillo de implementar y requiere poca memoria en el proceso.

IDEA:

IDEA (International Data Encryption Algorithm) es un algoritmo de trasposición de bloques de 64 bits con clave de 128 bits. Se usa en PGPv2 (Pretty Good Privacy) y es opcional en OpenPGP dado que está sujeto a licencia en algunos países.

6- CIFRADO ASIMETRICO

La criptografía asimétrica es el método criptográfico que usa un par de claves para el envío de mensajes. Las dos claves pertenecen a la misma persona a la que se ha enviado el mensaje. Una clave es pública y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. Además, los métodos criptográficos garantizan que esa pareja de claves sólo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves.

Si el remitente usa la clave pública del destinatario para cifrar el mensaje, una vez cifrado, sólo la clave privada del destinatario podrá descifrar este mensaje, ya que es el único que la conoce. Por tanto se logra la confidencialidad del envío del mensaje, nadie salvo el destinatario puede descifrarlo.

Si el propietario del par de claves usa su clave privada para cifrar el mensaje, cualquiera puede descifrarlo utilizando su clave pública. En este caso se consigue por tanto la identificación y autentificación del remitente, ya que se sabe que sólo pudo haber sido él quien empleó su clave privada (salvo que alguien se la hubiese podido robar). Esta idea es el fundamento de la firma electrónica.

Los sistemas de cifrado de clave pública o sistemas de cifrado asimétricos se inventaron con el fin de evitar por completo el problema del intercambio de claves de los sistemas de cifrado simétricos. Con las claves públicas no es necesario que el remitente y el destinatario se pongan de acuerdo en la clave a emplear. Todo lo que se requiere es que,

18

Page 19: Criptografía

antes de iniciar la comunicación secreta, el remitente consiga una copia de la clave pública del destinatario. Es más, esa misma clave pública puede ser usada por cualquiera que desee comunicarse con su propietario. Por tanto, se necesitarán sólo n pares de claves por cada n personas que deseen comunicarse entre sí.

6.1- Clasificación:

Las dos principales ramas de la criptografía de clave pública son:

Cifrado de clave pública— un mensaje cifrado con la clave pública de un destinatario no puede ser descifrado por nadie, excepto un poseedor de la clave privada correspondiente--presumiblemente, este será el propietario de esa clave y la persona asociada con la clave pública utilizada. Se utiliza para confidencialidad.

Firmas digitales— un mensaje firmado con la clave privada del remitente puede ser verificado por cualquier persona que tenga acceso a la clave pública del remitente, lo que demuestra que el remitente tenía acceso a la clave privada (y por lo tanto, es probable que sea la persona asociada con la clave pública utilizada) y la parte del mensaje que no se ha manipulado. Sobre la cuestión de la autenticidad.

Herramientas como PGP, SSH o la capa de seguridad SSL para la jerarquía de protocolos TCP/IP utilizan un híbrido formado por la criptografía asimétrica para intercambiar claves de criptografía simétrica, y la criptografía simétrica para la transmisión de la información.

Entre las características importantes del cifrado asimétrico tenemos:

1. El cifrado asimétrico utiliza una clave (publica/privada) para cifrar y la otra clave (publica/privada) para descifrar.

2. El cifrado asimétrico es relativamente lento.

3. El cifrado asimétrico es seguro.

4. El cifrado asimétrico expande el texto cifrado.

5. El cifrado asimétrico no tiene los problemas complejos de distribución de claves.

19

Page 20: Criptografía

6.2- Algoritmos

Algunos algoritmos de técnicas de clave asimétrica son:

6.2.1- Diffie-Hellman

El algoritmo Diffie-Hellman permite que dos partes, comunicándose mediante un canal no cifrado, se pongan de acuerdo en un valor numérico sin que un tercero, que tiene acceso completo a la conversación, pueda conocerlo o calcularlo, al menos en un tiempo práctico.

A los interlocutores de esta supuesta conversación los llamaremos Alice y Bob, siguiendo una convención usada en criptografía. Por la misma razón, al tercer elemento que observa la conversación en la sombra e intenta conocer el secreto le llamaremos Eve.

Alice selecciona dos números, que llamaremos q y xa. Bob selecciona otros dos, que llamaremos n y xb. Mediante su canal de comunicaciones no cifrado (que puede ser correo electrónico, postales navideñas o voceando por el pasillo), ambos hacen saber q y n a las partes respectivas.

Alice entonces calcula el nuevo número ya, mediante la fórmula:

ya = (n ^ xa) % q

Siendo el símbolo del acento circunflejo una potencia (es decir, n elevado a xa) y el símbolo de porcentaje el módulo (es decir, el resto de la división).

De igual forma, Bob calcula su nuevo número yb:

yb = (n ^ xb) % q

Y de nuevo a voz en grito, Alice y Bob hacen públicos ya e yb.

Ahora Alice calcula un último valor, ka, mediante

ka = (yb ^ xa) % q

y Bob su correspondiente kb con

kb = (ya ^ xb) % q

20

Page 21: Criptografía

Los números ka y kb son el mismo; los interlocutores tienen ya un secreto compartido, que Eve no sabe, pese a haber tenido acceso a todo el intercambio de información. Alice y Bob pueden ahora usar sus claves para cifrar un mensaje.

Para dificultar que Eve pueda conseguir algo por el método de la fuerza bruta, los números elegidos tienen que ser primos y grandes.

* RSA

* DSA

* ElGamal

* Criptografía de curva elíptica

Otros algoritmos de clave asimétrica pero insegura:

* Merkle-Hellman, algoritmos "Knapsack"

7- EJERCICIO DE CIFRADO POR TRANSPOSICION COLUMAR

Cifrado por transposición columnar

"El cuerpo se cansa estudiando y trabajand"

- 6 caracteres en 6 columnas y la última en blanco

E L C U E R

P O S E C A

N S A E S T

U D I A N D

O Y T R A B

A J A N D

21

Page 22: Criptografía

Ahora lo que se hace es leer el texto por columnas en cualquier orden. Por ejemplo, en el orden 2-4-6-1-3-5:

LOSDYJ UEEARN RATDV EPNUOA CSAITA ECSNAD

La llave (clave) de este cifrado es la permutación que se ha usado y las dimensiones de la tabla.

Criptoanálisis

L U E C E R

O E P S C A

S E N A S T

D A U I N D

Y R O T A V

J N A A D

Realizando distintas permutaciones entre las columnas de la misma podemos volver a obtener la matriz original:

E L C U E R

P O S E C A

N S A E S T

U D I A N D

O Y T R A B

A J A N D

Y así desciframos el mensaje:

El cuerpo se cansa trabajando y trabajand

22

Page 23: Criptografía

CONCLUSION

Pienso que la criptografía es una ciencia interesante que como se puede ver si tiene mucho futuro.

Pensemos en lo siguiente:

“El experto en tecnologías de seguridad Bruce Schneier afirma: "No tengo ninguna esperanza puesta en este tipo de productos. Tampoco tengo esperanza alguna en la

comercialización de criptografía cuántica en general."

No vaya a ser que el Sr. Schneier pase a la historia como Thomas Watson, presidente de IBM, quien en 1943 dijo: "Yo pienso que existe un mercado mundial para no más de cinco computadoras".

Muchos métodos de cifrado han surgido desde la antigüedad como el Cifrado del Cesar, en la segunda guerra mundial veíamos la máquina Enigma y en la actualidad una gran cantidad de Algoritmos que permiten una seguridad acorde con las amenazas cada vez mayores que van surgiendo día a día.

Sin duda uno de los mayores avances ha sido el de la Firma Digital empleada con la misma validez que tiene una firma manuscrita en muchos países del mundo.

Además el cifrado asimétrico representa uno de los métodos más seguros para establecer la confidencialidad y la integridad en un sistema de comunicación.

23