0% encontró este documento útil (0 votos)
539 vistas20 páginas

Criptografia Clasica Vs Moderna PDF

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
539 vistas20 páginas

Criptografia Clasica Vs Moderna PDF

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CAPITULO 1

INTRODUCCIÓN A LA CRIPTOGRAFÍA
Cuando se realiza cualquier tipo de transacción comercial en Internet, como por
ejemplo, comprar una entrada para un espectáculo, revisar el estado de cuenta en el
banco, ingresar la clave de correo electrónico en hotmail o yahoo, etc., debemos estar
seguros de que éstas acciones se realizan sobre una página segura del tipo https
(secure), con el fin de evitar que curiosos puedan leer o peor aún, modificar
información de nuestro interés.
Al final de éste capitulo conoceremos que es la criptografía, así como las diferentes
técnicas de protección (cifrado) de la información, y las aplicaciones de la
criptografía.

1.1 DEFINICIÓN DE CRIPTOGRAFÍA


La palabra Criptografía proviene del griego "kryptos" que significa oculto, y
"graphia", que significa escritura, y su definición según el diccionario es "el arte de
escribir con clave secreta o de un modo enigmático".
Esta definición puede ser muy interesante y llamativa, pero resulta muy poco
ajustada para los tiempos actuales.
Una definición más técnica de Criptografía sería la siguiente:
Rama inicial de las Matemáticas y en la actualidad también de la
Informática y la Telemática, que hace uso de métodos y técnicas con el
objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por
medio de un algoritmo, usando una o más claves.
Esto dará lugar a diferentes tipos de sistemas de cifra, denominados
criptosistemas, que nos permiten asegurar al menos tres de los cuatro
aspectos básicos de la seguridad informática: la confidencialidad o
secreto del mensaje, la integridad del mensaje y autenticidad del emisor,
así como el no repudio mutuo entre emisor (cliente) y receptor
(servidor).1

1.2 CRIPTOSISTEMAS
Un criptosistema es una agrupación de:
- Un conjunto de mensajes sin cifrar (M).
- Un conjunto de mensajes cifrados (C).

1
© RAMIO, Jorge. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1, 6ta. Edición,
Madrid-España 2006, p.39.

1
- Un conjunto de claves (k).
- Un conjunto de transformaciones de cifrado (Ek).
- Un conjunto de transformaciones de descifrado (Dk).

Cualquier criptosistema debe cumplir la condición: Dk(Ek(m)) = m.

Es decir, si aplicamos la transformación de descifrado al mensaje cifrado, usando la


clave adecuada (k), obtenemos de nuevo el mensaje en claro m.

1.3 SISTEMAS DE CIFRA CLÁSICOS


Los sistemas de cifra clásica están asociados a las fascinantes máquinas de cifrar, que
adquirieron gran fama tras su uso en la Gran Guerra y en la Segunda Guerra
Mundial, y más aún, remontándonos a siglos pasados, con los métodos, técnicas y
artilugios utilizados por emperadores, gobernantes, militares y en general diversas
civilizaciones para mantener sus secretos a buen recaudo.

1.3.1 Herramientas de la Criptografía Clásica


La criptografía clásica hace uso de dos técnicas básicas orientadas a caracteres, y que
siglos más tarde Shannon usaría como herramientas para fortalecer la cifra, estas
técnicas son:
 Técnicas de sustitución: Cada letra o grupo de letra se reemplaza por otra letra o
grupo de letras para disfrazarla. Esta técnica conserva el orden de los símbolos del
texto original.
 Técnicas de transposición o permutación: En contraparte a la técnica de
sustitución, en ésta se reordenan las letras mediante un algoritmo específico, pero
no se disfrazan.

1.3.2 Clasificación de los Criptosistemas Clásicos


La figura 1.1, muestra una clasificación de los sistemas de cifra clásicos, en donde se
incluyen algunos cifradores típicos a modo de ejemplo. Estos sistemas de cifra se
clasificarán, básicamente, en aquellos que utilizan técnicas de sustitución y aquellos
que utilizan técnicas de transposición sobre los caracteres de un texto en claro,
ambas técnicas propuestas por Shannon para lograr la confusión y difusión,
respectivamente.

2
MÉTODOS DE CIFRA CLÁSICOS

TRANSPOSICIÓN SUSTITUCIÓN

GRUPOS
Escítala MONOALFABÉTICA POLIALFABÉTICA

SERIES

MONOGRÁMICA POLIGRÁMACA
COLUMNAS/FILA

ALFABETO ESTÁNDAR DIGRÁMICA N-GRÁMICA


Cifrador de César Cifrado de Playfair Cifrado de Hill

ALFABETO MIXTO

PERIÓDICA NO PERIÓDICA
TRANSFORMACIÓN Cifrador de Vernam
Cifrador sustitución Afín

ALFABETOS PROGRESIVOS ALFABETOS LINEALES


Máquina Enigma

ALFABETO ESTÁNDAR ALFABETO MIXTO


Cifrados de Vigenère

Figura 1.1. Clasificación de los métodos clásicos de cifra y algunos ejemplos

1.3.3 Hitos históricos en la Criptografía


La criptografía clásica abarca desde tiempos inmemoriales hasta la mitad del siglo
XX. El punto de inflexión en ésta clasificación la marcan tres hechos relevantes:
 En el año 1948 se publica el estudio de Claude Shannon sobre la Teoría
de la Información.
 En 1974 aparece el estándar de cifra DES.
C D
I I  Y en el año 1976 se publica el estudio realizado por Whitfield Diffie y
F G
R I Martin Hellman sobre la aplicación de funciones matemáticas de un
A T
D A solo sentido a un modelo de cifra, denominado cifrado con clave
O L
pública.

1.3.4 Algunos Métodos de Cifrado Clásicos


A continuación describiremos algunos métodos de cifrado de la clasificación de los
criptosistemas clásicos.

3
[Link] La escítala
Fue utilizada por los espartanos en el siglo V a.C., puede considerarse como el
primer sistema de criptografía por transposición, que se caracteriza por ocultar el
significado de un texto alterando el orden de los signos que lo conforman. El método
de la escítala era extremadamente sencillo, el mensaje se escribía en una cinta y se
enrollaba en un bastón que servía como clave; el mensaje solo podía leerse cuando se
enrollaba la cinta en un bastón del mismo diámetro que poseía el destinatario lícito
del mensaje. En la figura 1.2, se representa este método de cifrado.

Figura 1.2. Representación del método de la escítala

En la figura 1.2, la cinta llevará el mensaje M = ASI CIFRABAN CON LA


ESCITALA; si bien en ella sólo podrá leerse el criptograma C =
AACSNIICTCOAINLFLARAAEBS.

[Link] El cifrador de Polybios


En el siglo II a.C., encontramos el cifrador por sustitución de caracteres más antiguo
que se conoce. Atribuido al historiador griego Polybios, el cifrador consistía en hacer
corresponder a cada letra del alfabeto un par de letras que indicaban la fila y la
columna en la cual aquella se encontraba, en un recuadro de 5x5 = 25 caracteres. En
la figura 1.3, se muestra una tabla para cifrar de Polybios adaptada al inglés, con un
alfabeto de cifrado A, B, C, D y E; aunque también se suele representar el alfabeto
con los números 1, 2, 3, 4 y 5.

Figura 1.3. Tablas de cifrar de Polybios

Entonces en éste método, la letra A se cifrará como AA, y la H como BC, etc.
Por ejemplo si tenemos el mensaje: M = QUE BUENA IDEA LA DEL GRIEGO.

4
El criptograma sería: C = DADEAE ABDEAECCAA BDADAEAA CAAA ADAECA
BBDBBDAEBBCD. Y usando el alfabeto numérico tenemos: C = 414515
1245153311 24141511 3111 141531 224224152234.

[Link] El cifrador del César


En el siglo I a.C., aparece un cifrador básico llamado el cifrador del César en honor
al emperador Julio César y en el cual ya se aplicaba una transformación del texto en
claro del tipo monoalfabética. El cifrador estaba basado en la sustitución de una letra
por la situada tres puestos después en el alfabeto latino. En la figura 1.4, se muestra
el alfabeto y por tanto la transformación que utiliza este cifrador por sustitución de
caracteres para el alfabeto castellano de 27 letras.

Mi 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
Ci 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
Figura 1.4. Alfabeto del cifrador del César para el lenguaje castellano

Entonces tenemos:
Cifrado: Ci = Mi + 3 mod 27 Descifrado: Mi = Ci - 3 mod 27.
Por ejemplo si tenemos el mensaje: M1 = AL CÉSAR LO QUE ES DEL CÉSAR.
El criptograma sería: C1 = DÑ FHVDU ÑR TXH HV GHÑ FHVDU.

[Link] Cifradores por sustitución afín


En los cifradores genéricos, si se cumple que la constante de decimación a es mayor
que 1 y la constante de desplazamiento b distinto de cero, hablamos de cifra por
transformación afín. Las ecuaciones serán en este caso:
Ci  a  M i  b  mod n

M i  a 1 Ci  b  mod n

La ecuación de descifrado también puede ser escrita como:


M i  a 1 Ci  n  b  mod n

Por ejemplo encontremos el alfabeto de cifrado monoalfabético para la siguiente


relación de transformación Ci  4  M i  5 mod 27 .
Solución:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Mi 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
Ci F H N Q U Y C G K Ñ R V Z D H L O S W A E I M P T X B

5
C 0  4  A  5 mod 27  4  0  5 mod 27  5  F
C1  4  B  5 mod 27  4 1  5 mod 27  9  J
C 2  4  C  5 mod 27  4  2  5 mod 27  13  N , etc.

[Link] El cifrador de Vigenère


El cifrador polialfabético más conocido es el sistema de Vigenère, así denominado en
honor al criptólogo francés Blaise de Vigenère (1523-1596). El sistema utiliza el
mismo método que el cifrador del César, esto es una sustitución monográmica por
desplazamiento de k caracteres en el texto, con la diferencia de que dicho
desplazamiento viene indicado por el valor numérico asociado a uno de los
caracteres de una clave que se escribe cíclicamente bajo el mensaje como de indica a
continuación:

TEXTO: E N U N L U G A R D E L A M A N C H A D E C U Y O N O M B ...
CLAVE: C E R V A N T E S C E R V A N T E S C E R V A N T E S C E ...

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
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

Entonces, en éste caso la clave CERVANTES tendrá una periodicidad de 9, pues son
los caracteres que forman ésta palabra. Los caracteres cifrados serán entonces de la
siguiente manera:
E + C = (4 + 2) mod 27 = 6 = G U + N = (21 + 13) = H
N + E = (13 + 4) mod 27 = 17 = Q G + T = (6 + 20) = 26 = Z
U + R = (21 + 18) mod 27 = 12 = M A + E = (0 + 4) = 4 = E
N + V = (13 + 22) mod 27 = 8 = I R + S = (18 + 19) = 10 = K
L + A = (11 + 0) mod 27 = 11 = L D + C = (3 + 2) = 5 = F, etc.
Entonces el resultado final será el criptograma: C = GQMIL HZEKF ICVMN
GGZCH VXULI.

[Link] Cifrador de Playfair


El cifrador de Playfair en realidad fue inventado por Charles Wheatstone. No
obstante, se le atribuye a su amigo el científico Lyon Playfair quien lo presenta a las
autoridades inglesas de la época. Este sistema consiste en separar el texto en claro en
digramas y proceder a su cifra de acuerdo a una matriz alfabética de dimensiones 5x5
en la cual se encuentran representadas 25 de las 26 letras del alfabeto inglés.

6
Para que éste método de cifra presente un mayor nivel de seguridad, se incluirá al
comienzo de dicha matriz una clave que se escribe a partir de la primera fila
omitiendo las letras repetidas. A continuación de dicha clave, se distribuyen las
restantes letras del alfabeto hasta completar toda la matriz.
Este método de cifrado debe cumplir las siguientes condiciones:
 Si M1M2 están en la misma fila, C1C2 son los dos caracteres de la derecha.
 Si M1M2 están en la misma columna, C1C2 son los dos caracteres de abajo.
 Si M1M2 están en filas y columnas distintas, C1 será la letra de la intersección
horizontal del M1 respecto al M2 y C2 será la letra de la intersección vertical
del M1 respecto al M2.
 El conteo de los caracteres en la matriz es circular.
Por ejemplo si la clave es K = BEATLES, cifremos el mensaje M = WITH A
LITTLE HELP FROM MY FRIENDS.
La matriz será:
B E A T L
S C D F G
H I/J K M N
O P Q R U
V W X Y Z
Figura 1.5. Matriz alfabética de Playfair

M = WI TH AL IT TL EH EL PF RO MX MY FR IE ND SX
En M se rompe la doble M adicionando una X y se rellena la final con una X;
entonces:
C = EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV

[Link] Cifrador de Verman


En 1917 Gilbert Vernam propone un cifrador por sustitución binaria con clave de un
solo uso (one-time pad) basado en el código Baudot de 5 bits:
- La operación de cifra es la función XOR.
- Usa una secuencia cifrante binaria y aleatoria S que se obtiene a partir de una
clave secreta K compartida por emisor y receptor.
- El algoritmo de descifrado es igual al de cifrado por la involución de la
función XOR.
- La clave será tan larga o más que el mensaje y se usará una sola vez.

7
En la figura 1.6, se muestra un cifrador de Verman binario.

Figura 1.6. Esquema de un cifrador de Verman binario

Por ejemplo, usando el código de Baudot que se encuentra en la tabla 1.1, cifre el
mensaje M = BYTES con la clave K = VERNAM.

Tabla 1.1. Código Baudot (cifrador de Vernam)


Código Binario Carácter Código Binario Carácter
00000 Blanco 10000 T
00001 E 10001 Z
00010 = 10010 L
00011 A 10011 W
00100 Espacio 10100 H
00101 S 10101 Y
00110 I 10110 P
00111 U 10111 Q
01000 < 11000 O
01001 D 11001 B
01010 R 11010 G
01011 J 11011 
01100 N 11100 M
01101 F 11101 X
01110 C 11110 V
01111 K 11111 
Fuente: © Jorge Ramió Aguirre. Libro Electrónico de Seguridad Informática y Criptografía Versión
4.1. Sexta edición de 1 de Marzo de 2006. Madrid (España). Capitulo 21.

Haciendo la suma OR exclusivo tenemos:


B  V = 11001  11110 = 00111 = U E  N = 00001  01100 = 01101 = F
Y  E = 10101  00001 = 10100 = H S  A = 00101  00011 = 00110 = I
T  R = 10000  01010 = 11010 = G
Entonces, C = UHGFI

1.4 SISTEMAS DE CIFRA MODERNA


La criptografía moderna utiliza las mismas ideas básicas de la criptografía clásica, la
transposición y sustitución, pero su orientación es distinta. Tradicionalmente los
criptógrafos han usado algoritmos sencillos y se han apoyado en claves muy largas
para la seguridad. Hoy día es lo inverso: el objetivo es hacer el algoritmo de cifrado
tan complicado y rebuscado que inclusive el criptoanalista obteniendo cantidades
enormes de texto cifrado a su gusto, no será capaz de entender nada.

8
1.4.1 Clasificación de los Criptosistemas Modernos
En la figura 1.7, se muestra la clasificación de los Criptosistemas Modernos.

MÉTODOS DE CIFRA MODERNA

CIFRADO EN FLUJO CIFRADO EN BLOQUE

A5; RC4
Telefonía móvil, CLAVE PÚBLICA CLAVE SECRETA
Internet y WLAN.

DES; T-DES; CAST;


EXPONENCIACIÓN SUMA/PRODUCTO IDEA; AES; RC5...

Cifrado propio de la
RSA; ElGamal Curvas Elípticas/Mochilas información en una sesión en
Uso en intercambio de CE: intercambio clave y firma digital. Internet o en una red.
clave y en firma digital. Mochilas: protección de SW mediante También se usa en cifrado
dispositivo HW. local.

Figura 1.7. Clasificación de los Criptosistemas Modernos.


Fuente: © Jorge Ramió Aguirre. Libro Electrónico de Seguridad Informática y Criptografía Versión
4.1. Sexta edición de 1 de Marzo de 2006. Madrid (España). Capitulo 10.

1.4.2 Cifrado en flujo


Los cifradores de flujo son algoritmos de cifrado que pueden realizar la encriptación
incrementalmente, convirtiendo el texto en claro en texto cifrado bit a bit.
Esto se logra construyendo un generador de flujo de clave. Un flujo de clave es una
secuencia de bits de tamaño arbitrario que puede emplearse para oscurecer los
contenidos de un flujo de datos combinando el flujo de clave con el flujo de datos
mediante la función XOR . Si el flujo de clave es seguro, el flujo de datos cifrados
también lo será.

[Link] Algoritmos de cifrado en flujo

[Link].1 RC4
Se caracteriza por utilizar la misma información de entrada que ha de cifrar para la
generación de un número pseudoaleatorio que utilizará como clave, realizando un
XOR entre la entrada y la clave. Esto significa que tanto el cifrado como el
descifrado son operaciones idénticas. No se debe utilizar la misma clave más de una
vez, ya que al utilizar un XOR como operación básica un atacante podría fácilmente
descubrirla (XOR(XOR(X)) = X). La clave varía de 8 a 2048 bits.

9
[Link].2 RC4 con MAC
Es una extensión del RC4 que busca asegurar la integridad en los datos mediante el
uso de una función MAC (es una función que asegura la integridad de los datos, a
partir del mensaje genera una secuencia de bits de tal forma que si es modificado, el
receptor puede saberlo).

1.4.3 Cifrado en bloque


Un cifrador en bloque procesa una entrada de texto nativo en bloques de tamaño fijo,
por lo general de 8 ó 16 bytes (64 ó 128 bits), y produce un bloque de texto cifrado
de igual tamaño para cada bloque de texto nativo.

[Link] Cifrado Simétrico o de clave secreta


También llamado cifrado convencional, este tipo de cifrado era el único que se
usaba, antes de la aparición del cifrado de clave pública en los 70. El cifrado
simétrico ha sido usado para las comunicaciones secretas por incontables individuos
y grupos como, diplomáticos, militares y comerciantes. Es el cifrado que más se usa
actualmente en el mundo.
Un sistema de cifrado simétrico tiene cinco componentes, como se muestra en la
figura 1.8.

Figura 1.8. Modelo simplificado de cifrado simétrico

1. Texto nativo («plaintext»): Es el mensaje original o datos que actúan como


entrada al algoritmo.
2. Algoritmo de cifrado: Lleva a cabo varias sustituciones y transformaciones en el
texto nativo.

10
3. Clave secreta: Es también una entrada al algoritmo de cifrado. Las sustituciones
y transformaciones exactas realizadas por el algoritmo dependen de la clave.
4. Texto cifrado: Es el mensaje aleatorio que se produce en la salida. Depende del
texto nativo y de la clave secreta.
5. Algoritmo de descifrado: Es esencialmente el algoritmo de cifrado ejecutado al
revés. Toma como entrada el texto cifrado y la clave secreta y produce el texto
nativo original.

Existen dos requisitos para la utilización segura del cifrado simétrico:


 Se necesita un algoritmo de cifrado robusto. Este algoritmo debería permitir que
el oponente sea incapaz de descifrar el texto o descubrir la clave incluso si él
posee un determinado número de textos cifrados junto a los textos nativos que
producen los textos cifrados.
 El emisor y el receptor deben haber obtenido copias de la clave de una forma
segura y deben mantenerla en secreto.

[Link].1 Tipos de ataques al esquema de cifrado simétrico


 Criptoanálisis: Este tipo de ataque explota las características del algoritmo para
intentar deducir el texto nativo específico o deducir la clave que se está
utilizando. Si el ataque tiene éxito en deducir la clave, el efecto es catastrófico:
todos los mensajes antiguos y futuros cifrados con esa clave están comprendidos.
 Fuerza bruta: Es intentar cada clave posible en un trozo de texto cifrado hasta
que se obtenga una traducción inteligible del texto nativo.

[Link].2 Algoritmos de cifrado simétrico


Los dos algoritmos convencionales más importantes, de los cifradores simétricos son
DES y el IDEA.

[Link].2.1 El estándar de cifrado de datos (DES, Data Encryption Standard)


Es el esquema de cifrado más utilizado mundialmente, adoptado en 1977 por el Buró
Nacional de Estándares, ahora el Instituto nacional de Estándares y Tecnología
(NIST, Nacional Institute of Standars and Technology).

11
El esquema global de cifrado DES se muestra en la figura 1.9. El texto nativo debe
tener una longitud de 64 bits y la clave 56 bits; los textos más grandes se procesan en
bloques de 64 bits.

Clave de 56 bits
Texto nativo de 64 bits .………………

.…………… Preferencia de
permutación 1
Permutación inicial

K1 Preferencia de Desplazamiento
Iteración 1 permutación 2 circular a la izquierda

K2 Preferencia de Desplazamiento
Iteración 2 permutación 2 circular a la izquierda

K16 Preferencia de Desplazamiento


Iteración 16 permutación 2 circular a la izquierda

Intercambio de 32
bits

Permutación inicial
inversa
.……………

Texto cifrado de 64

Figura 1.9. Esquema general de algoritmo de cifrado DES

El lado izquierdo de la figura 1.9, muestra que el procesamiento del texto nativo se
realiza en tres fases. Primero, los 64 bits del texto nativo se transforman por medio
de una permutación inicial (IP). A esto le sigue una fase que consta de 16 iteraciones
de la misma función. La salida de la última iteración (la 16) consta de 64 bits que son
función del texto nativo y la clave. La mitad izquierda y la derecha se intercambian
para producir la salida previa. Finalmente la salida previa se permuta con IP-1, que es
la inversa de la función de permutación inicial, para producir los 64 bits de texto
cifrado.

12
La parte derecha de la figura 1.9, muestra la forma en la que se utilizan los 56 bits de
clave. Inicialmente la clave se transforma por una función de permutación. Después
para cada una de las 16 iteraciones, se produce una subclave (Ki) por medio de un
desplazamiento circular y una permutación. La función de permutación es la misma
para cada iteración, pero se produce una subclave diferente debido al desplazamiento
repetido de los bits de la clave.

[Link].2.2 Triple DES (DES3)


Con el aumento en el poder de calculo en las computadoras, DES dejó de ser un
algoritmo seguro. Entonces se creó el algoritmo Triple DES, el cual hace triple
cifrado del DES, fue creado por IBM en 1978. El triple cifrado usa dos claves de 56
bits, K1 y K2. Primero se realiza un cifrado con K1, luego un descifrado con K2 y
finalmente un nuevo cifrado con K1. Para cualquier texto en claro M, el criptograma
C, se detalla a continuación:

C = EK1(DK2(EK1(M)))

Donde:

EK1 → Es la transformación de cifrado, y


DK2 → Es la transformación de descifrado.

[Link].2.3 Algoritmo internacional de cifrado de datos IDEA (International


Data Encryption Algorithm)
Fue diseñado por dos investigadores en Suiza. Usa una clave de 128 bits, lo que lo
hará inmune durante décadas a los ataques de fuerza bruta y al criptoanálisis
diferencial.

La estructura básica del algoritmo se semeja al DES como se muestra en la figura


1.10 (a). Dada la extensa alteración de bits, basta con ocho iteraciones.

Los detalles de una iteración se muestran en la figura 1.10 (b). Se usan tres
operaciones, todas sobre números sin signo de 16 bits. Estas son OR EXCLUSIVO,
suma módulo 216 y multiplicación 216 + 1. Las operaciones tienen la propiedad de

13
que ningunos dos pares obedecen al ley asociativa ni la ley distributiva, dificultando
el criptoanálisis. La clave de 128 bits se utiliza para generar 56 subclaves de 16 bits
cada una, 6 por cada una de 8 interaciones y 4 para la transformación final. El
descifrado usa el mismo algoritmo de cifrado, solo que con subclaves diferentes.

64 bits de texto normal Cuatro bloques de entrada de 16 bits

Iteración 1
K1 X K2 + K3 + K4 X

Iteración 2 # #
.
.
. K5 X +

Iteración 7
+ X K6

Iteración 8 # # # #

Transformación
Cuatro bloques de salida de 16 bits
+ Suma módulo 216 de 16 bits
64 bits de texto cifrado
X Multiplicación módulo 216 + 1 de 16 bits

# OR EXCLUSIVO de 16 bits

(a) (b)

Figura 1.10. (a) IDEA. (b) Detalle de una iteración

[Link] Cifrado Asimétrico o de clave pública


El cifrado de clave pública, que fue puesto a consideración por primera vez por
Diffie y Hellman en 1976, es el primer avance revolucionario en el cifrado en
literalmente miles de años. El algoritmo de clave pública se basa en funciones
matemáticas en lugar de sustituciones y permutaciones. Lo más importante es que la
criptografía de clave pública es asimétrica y supone el uso de dos claves
independientes. Utilizar dos claves tiene consecuencias profundas en las áreas de la
privacidad, la distribución de claves y la autentificación.

El esquema de cifrado de clave pública tiene cinco componentes, como se muestra en


la figura 1.11.

14
Figura 1.11. Cifrado de clave pública

1. Texto nativo: Es el mensaje legible o datos que se pasan al algoritmo como


entrada.
2. Algoritmo de cifrado: Lleva a cabo varias operaciones sobre el texto nativo.
3. Clave pública y privada: Es el par de claves que se ha seleccionado para que una
se utilice para el cifrado y la otra para el descifrado. Las operaciones exactas que
realiza el algoritmo dependen de la clave pública o privada que se suministre
como entrada.
4. Texto cifrado: Es el mensaje mezclado producido como salida. Depende del
texto nativo y la clave.

15
5. Algoritmo de descifrado: Acepta el texto cifrado y la otra clave y produce el
texto nativo original.
Como el nombre sugiere, la clave pública del par se hace pública para que la utilice
el resto de la gente, mientras que la clave privada solo la conoce el dueño.
Los algoritmos de cifrado de clave pública tienen las siguientes características
importantes:
 No es posible computacionalmente determinar la clave de descifrado dado
solamente el algoritmo y la llave de cifrado (clave pública).
 Para la mayoría de los esquemas de clave pública, las dos claves utilizadas
pueden intercambiarse, es decir si una se usa para el cifrado, la otra se usa para el
descifrado y viceversa.

Los pasos esenciales son los siguientes:


1. Cada usuario genera dos claves que se van a utilizar para el cifrado y el
descifrado de los mensajes.
2. Cada usuario publica una de las dos claves situándola en un fichero público. Ésta
es la clave pública. La clave compañera se mantiene privada.
3. Si Juan desea enviar un mensaje privado a Alicia, él cifra el mensaje usando la
clave pública de Alicia.
4. Cuando Alicia recibe el mensaje, lo descifra utilizando la clave privada. Ningún
otro destino puede descifrar el mensaje debido a que solo Alicia conoce la clave
privada de Alicia.

[Link].1 Firmas Digitales


La validación de identificación de muchos documentos legales, financieros y de otros
tipos, se determina por la presencia o ausencia de una firma manuscrita autorizada.
Por tanto es necesario que los sistemas computarizados reemplacen el transporte
físico de papel y tinta.

El problema para inventar un reemplazo para las firmas manuscritas es difícil.


Básicamente lo que se desea es que:
1. El receptor pueda verificar la identidad del transmisor.
2. El transmisor no pueda repudiar después el contenido del mensaje.
3. El receptor no haya podido generar el mensaje por si mismo.

16
[Link].2 Algoritmos de cifrado asimétrico

[Link].2.1 El algoritmo de cifrado asimétrico RSA


Fue desarrollado en 1977 por Ron Rivest, Adi Shamir y Len Adleman en el MIT y
publicado por primera vez en 1978. Desde entonces el RSA ha sido considerado
como la única técnica mundialmente aceptada. RSA es un cifrador de bloque en el
que el texto nativo y el texto cifrado son enteros entre 0 y n-1 para algún n.
Para un texto nativo M y un bloque cifrado C, el cifrado y el descifrado son de la
siguiente forma:

C = Me mod n

M = Cd mod n = (Me)d mod n = Med mod n

El emisor y el receptor deben conocer el valor de n. El emisor conoce el valor de e y


el receptor el valor de d. La clave pública esta dada por KU = [e, n] y la clave
privada por KR = [d, n]. El algoritmo debe cumplir los siguientes requisitos, para que
sea satisfactorio:

1. Es posible encontrar valores de e, d, n tal que Med = M mod n para todo M < n.
2. Es relativamente fácil calcular Me y Cd para todos los valores de M < n.
3. Es imposible determinar d dado e y n.

Los primeros requisitos son fáciles de satisfacer. El tercer requisito se puede


satisfacer para un valor grande de e y n.

La figura 1.12, resume el algoritmo RSA. Se empieza por seleccionar los números
primos, p y q y calculando su producto n, que es el módulo para el cifrado y el
descifrado. Luego necesitamos la cantidad Φ(n) que se conoce como totalizador
(totient) de Euler de n, y que es el número de enteros positivos menores que n y
relativamente primo a n. Entonces, se selecciona el entero e, de modo que el máximo
común divisor de e y Φ(n) debe ser 1. Finalmente, se calcula d como la inversa del
multiplicador de e, módulo Φ(n).

17
Generación de clave
Seleccionar p, q p y q ambos primos
Calcular n = p x q
Calcular Φ(n) = (p - 1) (q - 1)
Seleccionar entero e gcd(Φ(n), e) = 1; 1 < e < Φ(n)
Calcular d d = e-1 mod Φ(n)
Clave pública KU = {e, n}
Clave privada KR = {d, n}

Cifrado

Texto nativo: M<n


Texto cifrado C = Me (mod n)

Descifrado

Texto nativo: C
Texto cifrado M = Cd (mod n)

Figura 1.12. Algoritmo RSA

Suponga que un usuario A ha publicado su clave pública y que el usuario B quiere


enviar un mensaje M a A. Para ello, B calcula C = Me mod n y transmite C. Cuando
se recibe el mensaje cifrado, A lo descifra calculando M = Cd mod n.

En la figura 1.13, se muestra un ejemplo, las claves se generan como sigue:


1. Seleccionar dos números primos, p = 7 y q = 17.
2. Calcular n = pq = 7 x 17 = 119.
3. Calcular Φ(n) = (p – 1) (q - 1) = 96.
4. Seleccionar e tal que e es relativamente primo a Φ(n) = 96 y es menor a Φ(n); en
este caso e = 5.
5. Determinar d tal que de = 1 mod 96 y d < 96. El valor correcto es d = 77, ya que
77 x 5 = 385 = 4 x 96 + 1.

Las claves resultantes son la clave pública KU = {5,119} y la clave privada KR =


{77,119}. El texto nativo de entrada es M = 19. En el cifrado 19 se eleva a la quinta
potencia, produciendo 2.476.009. Dividiendo por 119 se obtiene el resto de 66. Por
lo tanto 195 ≡ 66 mod 119, y el texto cifrado es 66. En el descifrado se determina que
6677 ≡ 19 mod 119.

18
Cifrado Descifrado

Texto Texto Texto


140
nativo 5 2.476.099
_____ cifrado 66 77 1,27x10
_____ nativo
19 = = 20.807 con un 66 = = 1,06x10138
19 119 resto de 119 con un resto 19
66 de 66

KU = 5, 199 KU = 77, 119

Figura 1.13. Ejemplo del algoritmo RSA

[Link].2.2 Otros algoritmos de clave pública o de cifrado asimétrico


Aunque RSA se usa ampliamente, de ninguna manera es el único algoritmo de clave
pública conocido. El primero fue el de la mochila (Merkle y Hellman, 1978). La idea
aquí es que alguien es dueño de una gran cantidad de objetos, todos con pesos
diferentes. El dueño cifra el mensaje seleccionando secretamente un subgrupo de
objetos y colocándolos en la mochila. El peso total de los objetos se hace público, así
como una lista de todos los objetos posibles. La lista de los objetos que se metieron
en al mochila se mantiene en secreto. Pero el algoritmo mochila no se considera
seguro y pocas veces se usa.

Otros esquemas de clave pública se basan en la dificultad de calcular logaritmos


discretos (Rabin, 1979). El Gamal (1985) y Schnorr (1991) han inventado algoritmos
basados en estos principios.

Existen algunos otros esquemas, como los basados en curvas elípticas (Menezes y
Vanstone, 1993), pero las tres categorías principales son las basadas en la dificultad
para factorizar números grandes, calcular logaritmos discretos y determinar el
contenido de una mochila a partir de su peso.

1.4.4 Funciones de Resumen o Hash


Es una función que proporciona un pequeño conjunto de bits a partir del mensaje,
mucho menor que éste, y que es casi exclusivo (es muy difícil encontrar otro mensaje
para el que la función resumen dé el mismo resultado).

19
[Link] Algoritmos Generadores de Resúmenes

[Link].1 Algoritmo MD5


MD5 es uno de los algoritmos de resumen criptográficos diseñados por el profesor
Ronald Rivest del MIT (Massachusetts Institute of Technology, Instituto Tecnológico
de Masachusets). Cuando un análisis indicó que el algoritmo MD4 era inseguro, se
decidió a programar el MD5 para sustituirlo en 1991. Las debilidades en MD4
fueron descubiertas por Hans Dobbertin.

Algoritmo básico de Message Digest 5


a) Un mensaje M se convierte en un bloque múltiplo de 512 bits,
añadiendo bits si es necesario al final del mismo.
b) Con los 128 bits de cuatro vectores iniciales ABCD de 32 bits cada
uno y el primer bloque del mensaje de 512 bits, se realizan diversas
operaciones lógicas entre ambos bloques.
c) La salida de esta operación (128 bits) se convierte en el nuevo
conjunto de 4 vectores A’B’C’D’ y se realiza la misma función con el
segundo bloque de 512 bits del mensaje, y así hasta el último bloque
del mensaje. Al terminar, el algoritmo entrega un resumen que
corresponde a los últimos 128 bits de estas operaciones.2

[Link].2 El algoritmo SHA-1


El algoritmo SHA-1 fue desarrollado por la NSA (Agencia Nacional de Seguridad de
USA). Produce firmas de 160 bits, a partir de bloques de 512 bits del mensaje
original.
El algoritmo es similar a MD5, y se inicializa igual que éste, añadiendo al final del
mensaje un uno seguido de tantos ceros como sea necesario hasta completar 448 bits
en el último bloque, para luego yuxtaponer la longitud en bytes del propio mensaje.
A diferencia de MD5, SHA-1 emplea cinco registros de 32 bits en lugar de cuatro.

2
© RAMIO, Jorge. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1, 6ta. Edición,
Madrid-España 2006, p.718.

20

También podría gustarte