1. Criptografía
¿Qué es la criptografía?
La palabra criptografía proviene de las raíces griegas kryptos (ocultar) y graphos
(escribir), por lo que literalmente significa esconder escritura.
Es la ciencia que hace uso de métodos y técnicas con el objetivo de cifrar y
proteger la información de usos no autorizados, mediante la utilización de
algoritmos usando una o más claves.
¿Orígenes de la criptografía?
Antiguamente la criptografía estaba vinculada con secretos de estado, asuntos
militares, de espionaje, etc.
Ya en el siglo V antes de J.C. los lacedemonios utilizaban un mecanismo conocido
como la Escítala.
A mediados del siglo II antes de J.C., encontramos el cifrador por sustitución más
antiguo que se conoce atribuido a Polybios, el cifrador de Polybios.
En el siglo I antes de J.C., aparece el cifrador del César en honor al emperador
Julio César.
A partir del siglo XVI encontramos diversas Máquinas de cifrar.
Cifrado de César (siglo I a.C. en honor a Julio César)
El cifrado César es uno de los primeros métodos de cifrado conocidos
históricamente. Julio César lo usó para enviar órdenes a sus generales en los
campos de batalla. Consistía en escribir el mensaje con un alfabeto que estaba
formado por las letras del alfabeto latino normal desplazadas tres posiciones a
la derecha (A, B, C), así:
2. Alfabeto en
A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
claro:
Alfabeto
D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z A B C
cifrado:
Mensaje: Tú también, brutus?
Criptograma: wx wdoelhp euxwxv?
Cifrado de Polybios (siglo II a.C.)
Es el cifrado por sustitución más antiguo que se conoce. El método se basaba
en una tabla secreta, en cuyos ejes se ponían diferentes combinaciones de
letras o números y dentro de la tabla las letras del alfabeto. Cada letra del
mensaje a cifrar era sustituida por sus “coordenadas (x, y)”. Por ejemplo:
(x, y) A B C D E
A a b c d e
B f g h i/j k
C l m n o p
D q r s t u
E v w x y z
Mensaje: Llego el rey
Criptograma: CACAAEBBCD AECA DBAEED
3. Cifrado de Alberti
León Battista Alberti es conocido como "El Padre de la Criptología Occidental",
en parte porque desarrolló la sustitución polialfabética. La sustitución
polialfabética es una técnica que permite que diferentes símbolos cifrados
puedan representar el mismo símbolo del texto claro, usan más de un alfabeto.
Esto dificulta la interpretación del texto cifrado. Para desarrollar esta técnica,
Alberti estudió los métodos para quebrar cifras de la época y elaboró una cifra
que podría anular estos métodos.
La cifra de Alberti es una de las cifras polialfabéticas más elaboradas que no
obtuvo el éxito merecido, siendo uno de los motivos la decisión del autor en
mantenerla secreta.
El disco de Alberti presenta en su círculo exterior los 20 caracteres del latín, estos
son, los mismos del alfabeto castellano excepto las letras H, J, Ñ, K, U, W e Y, y
se incluyen los números 1, 2, 3 y 4 para códigos especiales. Por otra, en el disco
interior aparecen todos los caracteres del latín además del signo & y las letras H, K
e Y. Al ser 24 los caracteres representados en cada disco, es posible definir hasta
24 sustituciones diferentes; es decir, dependiendo de la posición del disco interior
la cantidad máxima de alfabetos de cifrado es igual a 24. Luego, para cifrar un
mensaje, se repasa letra a letra el texto en claro del disco exterior y se sustituye
cada una de ellas por la letra correspondiente del disco interior.
4. La innovación que supone este sistema consiste en que el alfabeto de sustitución
puede ser cambiado durante el proceso de cifrado, por ejemplo cada k caracteres,
simplemente girando el disco interior y por tanto utilizando otro alfabeto de
sustitución.
Ejemplo: Cifrar con el disco de Alberti, siendo su posición inicial la de
coincidencia entre el número 1 del disco exterior y el signo & del disco interior,
el siguiente mensaje:
M = EL DISCO DE ALBERTI ES EL PRIMER CIFRADOR POLIALFABÉTICO
CONOCIDO.
Solución: Desplazamos el disco interior dos espacios en el sentido de las
agujas del reloj y leemos el carácter cifrado en el disco interior bajo el
carácter correspondiente del texto en claro del disco exterior,
obteniéndose:
C = VA EOSMP EV HARVXFO VS VA BXOIVX MOLXHEPX
BPAOHALHRVFOMP MPYPMOEP.
La escitala (siglo V a.C.)
La Escitala, o Escitala Espartana. En este método no se cambian unas letras
por otras, ni por números. Sencillamente, se cambian de lugar, es decir, se
descolocan las letras del texto.
Para hacerlo, los espartanos enrollaban en un tubo (llamado escitala) una tira
de papel y escribían el texto a lo largo del tubo. Al desenrollar la tira, resultaba
el texto cifrado. Para descifrarlo, no tenían más que enrollar la tira en un tubo
del mismo diámetro que el usado para cifrar el mensaje.
5. Al desenrollar la tira, se leería:
VLSOBOYLLAOOLGMEDAEETRNEEOS
Cifrado de Vigenére
El sistema de cifrado de Vigenére es un sistema polialfabético o de sustitución
múltiple, de clave privada o secreta. Este tipo de criptosistemas aparecieron
para sustituir a los monoalfabéticos o de sustitución simple, basados en el
Algoritmo de Cesar, que presentaban ciertas debilidades frente al ataque de
los criptoanálistas relativas a la frecuencia de aparición de elementos del
alfabeto.
El principal elemento de este sistema es la llamada Tabla de Vigenére, una
matriz de caracteres cuadrada, que se muestra a continuación:
6. Tabla de Vigenére
Para el proceso del cifrado, el mensaje a cifrar en texto claro ha de
descomponerse en bloques de elementos (letras), del mismo tamaño de la
clave y aplicar sucesivamente la clave empleada a cada uno de estos bloques,
utilizando la tabla anteriormente proporcionada, perteneciendo las letras de la
clave a la columna de la izquierda.
7. Por ejemplo, utilizando como clave la palabra prueba y como mensaje en claro
cifrado de Vigenére:
Mensaje Clave
c i f r a d o d e v i g e n e r e
p r u e b a p r u e b a p r u e b
r z z v b d d u y z j g t e y v f
Cifrado: r z z v b d d u y z j g t e y v f
Este método de cifrado polialfabético se consideraba invulnerable hasta que en
el S.XIX se consiguieron descifrar algunos mensajes codificados con este
sistema, mediante el estudio de la repetición de bloques de letras: la distancia
entre un bloque y su repetición suele ser múltiplo de la palabra tomada como
clave.
Maquina Enigma
La máquina Enigma fue inventada por Arthur Scherbius en 1923 y usada por
los alemanes durante la II Guerra Mundial.
Consiste en un cifrado por sustitución polialfabética implementado mediante
rotores.
La máquina Enigma era un dispositivo electromecánico, lo que significa que
usaba una combinación de partes mecánicas y eléctricas. El mecanismo
estaba constituido fundamentalmente por un teclado similar al de las máquinas
de escribir cuyas teclas eran interruptores eléctricos, un engranaje mecánico y
un panel de luces con las letras del alfabeto.
8.
9. Enigma, el más conocido sistema de codificación de mensajes de la historia,
proveyó a Alemania de comunicaciones seguras, totalmente opacas a los intentos
de descodificación. Al principio de la Segunda Guerra Mundial, esto trajo
consecuencias terribles para los aliados. Enigma era la base sobre la que se
sustentaba la “Blitzkrieg” alemana, la guerra relámpago. Esta nueva forma de
guerra, basada en la coordinación rápida y segura de infantería, tropas
mecanizadas, artillería y aviación dio no pocas victorias en el campo de batalla.
Pero cuando los aliados consiguieron descifrar a Enigma, esta se convirtió en
arma temible para sus creadores.
10. Tipos de criptografía
1. Cifrado Simétrico
Es un método criptográfico que se usa para cifrar un mensaje utilizando una
única clave conocida por los dos interlocutores, de manera que el documento
cifrado sólo pueda descifrarse conociendo dicha clave secreta.
Algunas de las características más destacadas de este tipo de algoritmos son
las siguientes:
Se utiliza la misma clave para cifrar el mensaje original que para descifrar
el mensaje codificado.
Emisor y receptor deben haber acordado una clave común por medio de un
canal de comunicación confidencial antes de poder intercambiar
información confidencial por un canal de comunicación inseguro.
El esquema general de cifrado y descifrado mediante algoritmos de clave
privada, a partir de un documento original se obtiene un documento cifrado al
aplicar una clave secreta; esa misma clave secreta se utiliza posteriormente
para volver a obtener el documento original.
Este sistema de cifrado tiene la ventaja de que es altamente eficiente, dado
que los algoritmos utilizados son muy rápidos al poder implementarse tanto en
hardware como en software de una forma fácil.
El mayor inconveniente de la criptografía simétrica es que esta clave, al ser
compartida, ha de ser comunicada de forma segura entre las dos partes de la
comunicación (por teléfono, correo certificado, etc.), previamente a ésta. Si
este secreto fuese enviado por un canal inseguro, como por ejemplo Internet,
la seguridad del sistema sería bastante pobre, dado que cualquiera podría
interceptarla y comprometer todo el sistema. También hay que tener en cuenta
11. la frecuencia con la que esta clave debe ser renovada para evitar que sea
desvelada.
Estos son algunos algoritmos que se basan en el cifrado simétrico:
DES, 3DES, RC5, AES, Blowfish, IDEA.
RC5 creado por Ron Rivest, publicado en 1994. Se trata de un algoritmo
de cifrado por bloques, que utiliza claves de tamaño variable. Se
caracteriza por la sencillez del algoritmo, que lo hacen muy rápido y fácil
de implementar tanto en software como en hardware.
Es la combinación entre el cifrado de Alberti y el cifrado de Vigenére pero
implementado en software. Estas son algunas características:
RC5 es un cifrador en bloque de tamaño variable de Ron Rivest.
Cifra bloques de texto de 32, 64 ó 128 bits.
Tamaño de clave hasta 2.048 bits, en función número de vueltas.
Número de vueltas de 0 a 255.
Muy rápido, arquitectura simple, bajos requisitos de memoria y alta
seguridad. Las rotaciones dependientes de los datos le fortalecen
ante el criptoanálisis diferencial.
AES (Advanced Encryption Standard), es el estándar para cifrado
simétrico del NIST desde el 26 de mayo de 2002 en sustitución de DES.
AES también es conocido por Rijndael, nombre original del algoritmo
propuesto en 1999, que cambió al ser seleccionado por NIST y
convertirse en el estándar.
Fue desarrollado por dos criptógrafos Belgas, Joan Daemen y Vincent
Rijmen, Es un algoritmo de cifrado por bloques con longitud de bloque y
longitud de clave variables. Los valores adoptados para el estándar son
bloques de 128 bits, y claves de longitud 128, 192 ó 256 bits.
Algunas características son:
La mayoría de los cálculos del algoritmo AES se hacen en un campo
finito determinado.
AES opera en una matriz de 4×4 bytes, llamada state (algunas
versiones de Rijndael con un tamaño de bloque mayor tienen
columnas adicionales en el state). Básicamente tiene 4 rondas o
procesos hasta llegar al texto cifrado.
12. AES proporciona una encriptación segura y ha sido elegida por NIST
como un Estándar de Proceso de Información Federal en Noviembre del
2001 (FIPS-197), y en Junio del 2003 el Gobierno de EEUU (NSA)
anunció que AES es lo suficientemente seguro para proteger la
información clasificada hasta el nivel ALTO SECRETO, que es el nivel
más alto de seguridad y que se definen como información que pudiera
causar "daños excepcionalmente graves" a la seguridad nacional en caso
de ser divulgada al público.
Blowfish es un algoritmo de cifrado por bloques de 64 bits diseñado por
Bruce Schneier en 1993. Utiliza claves de longitud variable entre 32 y 448
bits. A pesar de utilizar un tamaño de bloque pequeño, que podría facilitar
su vulnerabilidad al procesar textos largos, se considera un algoritmo
seguro y es más rápido que DES.
Algunas características son:
Cifrador tipo Feistel de clave variable (Bruce Schneier).
Cifra bloques de texto de 64 bits.
Tamaño de clave: de 32 hasta 448 bits. Se generan 18 subclaves de
32 bits.
Número de vueltas: 16, en cada una de ellas se realiza una
permutación función de la clave y una sustitución que es función de la
clave y los datos.
Operaciones básicas: or exclusivo y suma módulo 232.
Cajas S: en cada vuelta hay cuatro con 256 entradas cada una.
Compacto porque necesita sólo 5 Kb de memoria, es muy rápido (5
veces más veloz que DES), es conceptualmente simple y su fortaleza
puede variarse según longitud de la clave. Usa una función F con las
cuatro cajas S y operaciones básicas de suma y or exclusivo que
provocan un efecto de avalancha.
13. 2. Cifrado Asimétrico
En 1976 Diffie y Hellman describieron el primer criptosistema de clave pública
conocido como el cambio de clave Diffie-Hellman. Estos criptosistemas están
basados en propiedades matemáticas de los números primos, que permite que
cada interlocutor tenga una pareja de claves propias. De esta pareja de claves,
una se denomina privada o secreta y la otra, pública. La clave privada no se
transmite nunca y se mantiene secreta. La clave pública, por el contrario, se
puede y se debe poner a disposición de cualquiera, dado que es imposible
deducir la clave privada a partir de la pública.
La propiedad fundamental de esta pareja de claves es que lo que se cifra con
una de estas claves, se descifra con la otra. Esta potente característica
asimétrica es la que permite a esta tecnología servir de base el diseño de
sistemas de comunicación segura.
La principal ventaja de este tipo de criptosistemas es que la clave secreta ya no
tiene que transmitirse entre los interlocutores y tampoco es necesario tener
claves diferentes para cada pareja de interlocutores, es suficiente con que cada
usuario tenga su clave doble con componente pública y privada. Por lo tanto el
número total de claves asimétricas en una red se reduce a 2n, esto supone ahora
sólo 200 claves en una red de cien usuarios, 2000 en una de mil, y varios miles
en una red tan grande como el sistema de telefonía convencional de cualquier
país desarrollado.
Algunas de las características más destacadas de este tipo de algoritmos son las
siguientes:
Se utilizan una pareja de claves denominadas clave pública y clave privada,
pero a partir de la clave pública no es posible descubrir la clave privada.
14. A partir del mensaje cifrado no se puede obtener el mensaje original, aunque
se conozcan todos los detalles del algoritmo criptográfico utilizado y aunque
se conozca la clave pública utilizada para cifrarlo.
Emisor y receptor no requieren establecer ningún acuerdo sobre la clave a
utilizar. El emisor se limita a obtener una copia de la clave pública del
receptor, lo cual se puede realizar, en principio, por cualquier medio de
comunicación aunque sea inseguro.
Referencias Bibliográficas:
1. http://www.worldlingo.com/ma/enwiki/es/History_of_cryptography
2. http://www.dma.fi.upm.es/java/matematicadiscreta/aritmeticamodular/cesar.
html
3. http://serdis.dis.ulpgc.es/~ii-
cript/PAGINA%20WEB%20CLASICA/CRIPTOGRAFIA/POLIALFABETICAS
/alberti.htm
4. www.unizar.es/ttm/2007-08/CRIPTOSISTEMASCLASICOS.doc
5. www.24flotilla.com/A11/otros/Historia%2520Criptografia.pdf
6. http://www.cepvaldepeñas.es/cientifico/index.php?option=com_content&vie
w=article&id=181:escitala&catid=60:inventos-y-maquinas
7. http://es.wikipedia.org/wiki/Enigma_%28m%C3%A1quina%29
8. http://www.uninet.edu/6fevu/text/criptografia.htm
9. http://es.wikipedia.org/wiki/Criptograf%C3%ADa_asim%C3%A9trica
10. http://es.wikipedia.org/wiki/Criptograf%C3%ADa_sim%C3%A9trica
11. http://es.wikipedia.org/wiki/Advanced_Encryption_Standard
12. http://es.wikipedia.org/wiki/Blowfish
13. http://es.wikipedia.org/wiki/RC5
14. http://www.bitzipper.com/es/aes-encryption.html
15. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1. Jorge
Ramió Aguirre.