Cifrado Computacional
Dr. Félix Oscar Fernández Peña
felixoscar@[Link]
[Link]@[Link]
Objetivos
1. Comprender los aspectos básicos del
cifrado.
2. Conocer los hitos del desarrollo del
cifrado computacional.
3. Identificar las características de algoritmos
de cifrado clásico y cifrado moderno.
Bibliografía
• A. Tanenbaum. Computer Networks. 4th Edit. Ch.
8. Pp 721-735,745-750.
• J. Ramió. Libro Electrónico de Seguridad
Informática y Criptografía. Cap. 9.
Modelo de Cifrado
Intruso Intruso
Pasivo Intruso Activo
Texto, 𝑃 Método de Método de Texto, 𝑃
Cifrado Descifrado
Texto Cifrado, 𝐶 = 𝐸𝑘 𝑃
Clave de cifrado, 𝑘
Aplicaciones
• Autenticación de entidades y mensajes.
• Firma digital.
• Protección de datos.
• Integridad de datos.
• Protección de aplicaciones.
• Transacciones bancarias.
5
Hitos del Desarrollo del Cifrado
• 1948: Se publica el estudio de Claude Shannon
sobre la Teoría de la Información.
• 1974: Aparece el estándar de cifrado DES.
• 1976: Se publica el estudio realizado por Whitfield
Diffie y Martin Hellman sobre la aplicación de
funciones matemáticas de un solo sentido a un
modelo de cifrado, dígase cifrado con clave
pública.
Científico del Día
Auguste Kerckhoff (19 Enero 1835 – 9 Agosto
1903). Profesor de Alemán y “criptógrafo”,
profesor de lenguas de la
Escuela de Altos Estudios Comerciales
de París.
Principio de Kerckhoff: Todos los
algoritmos deben ser públicos: sólo
las llaves son privadas.
Longitud de la Llave. Criterios Actuales
• El factor de trabajo de criptoanálisis para romper
un criptosistema por fuerza bruta está
relacionado exponencialmente con la longitud de
la llave.
• El secreto está relacionado con:
– Tener un algoritmo de cifrado público “fuerte”.
– Llave de 56, 128, 256 o más bits.
• El algoritmo debe garantizar la seguridad aún si el
criptoanalista es capaz de cifrar un conjunto de
texto plano arbitrario.
A. Tanenbaum. Computer Networks. 4th Edit. Ch. 8.
Tipo de Criptoanálisis [Tanenbaum]
• Ciphertext-only.
• Known-plain text.
• Chosen plain text.
Cifrado Clásico
10
Protección del Criptosistema
• Confidencialidad.
• Autenticidad.
• Y más recientemente:
– Integridad.
– No repudio.
Técnicas del Cifrado
• Sustitución: Los caracteres o letras del mensaje en
claro se modifican o sustituyen por otros elementos o
letras en la cifra. El criptograma tendrá entonces
caracteres distintos a los que tenía el mensaje en claro.
• Permutación: los caracteres o letras del mensaje en
claro se redistribuyen sin modificarlos y según unas
reglas, dentro del criptograma. El criptograma tendrá
entonces los mismos caracteres del mensaje en claro
pero con una distribución o localización diferente.
• Híbridas: Se utiliza una mezcla de la sustitución y
permutación (cajas S y cajas P).
Criptosistema de Sustitución
• Cada letra o conjunto de estas es sustituida
por otro carácter o grupo de estos.
• Ejemplo: Cifrado César: desplazamiento de 3
posiciones de las letras del alfabeto.
• Variación del Cifrado César: desplazamiento
de n posiciones de las letras del alfabeto.
• Espacio de soluciones: 27!
• No es seguro desde los tiempos de
Pompeya.
13/70
Cifrado César
Mi AB CDEFGH IJK L MNÑOPQRSTUVW XYZ
Ci DEFGHIJK L MNÑOPQRSTUVW XYZA BC
Cifrado: Ci = Mi + 3 mod 27 Descifrado: Mi = Ci - 3 mod 27
M = EL PATIO DE MI CASA ES PARTICULAR
C = HÑ SDWLR GH OL FDVD HV SDUWLFXÑDU
Cada letra se cifrará siempre igual. Es una gran debilidad
y hace que este sistema sea muy vulnerable y fácil de
atacar, simplemente usando las estadísticas genéricas
del lenguaje y de palabras específicas en el contexto en
el que se cifra el mensaje.
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
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Cifrado: Ci = (Mi + b) mod 27 Descifrado: Mi = (Ci – b) mod 27
C = LZAHL ZBTHW YBLIH XBLKL ILYOH ZLYCH ROKH
Frecuencias observadas en el criptograma:
L (7); H (6); Z (3); B (3); Y (3); I (2); K (2); O (2); A (1); T (1); W
(1); X (1); C (1); R (1).
E: Letra más frecuente del Español.
A: Segunda más frecuente del Español.
E + b mod 27 = L b = L - E mod 27 = 11 – 4 mod 27 = 7
A + b mod 27 = H b = H - A mod 27 = 7 – 0 mod 27 = 7
M = ESTA ES UNA PRUEBA QUE DEBERIA SER VALIDA 15
El cifrado Vigenère
Ci = (Mi + Ki) mod 27
Sea K = CIFRA y el mensaje M = HOLA AMIGOS
M = H O L A A M I G O S
K = C I F R A C I F R A
C = J W P R A Ñ P L G S
Cada letra no siempre se cifra igual.
• Si la clave tiene más de 6 caracteres y estos son diferentes,
se garantiza una distribución normal del texto.
• Quebrable por el método de Kasiski.
16
Método de Kasiski (1/2)
• Buscar repeticiones de cadenas de caracteres en el
criptograma. Si estas cadenas son mayores o iguales a tres
caracteres y se repiten más de una vez, lo más probable es
que esto se deba a cadenas típicas del texto en claro
(trigramas, tetragramas, etc., muy comunes) que se han
cifrado con una misma porción de la clave.
• Si se detectan estas cadenas, la distancia entre las mismas
será múltiplo de la longitud de la clave
➔ el máximo común divisor de las distancias entre esas
cadenas es un candidato a ser la longitud de la clave (L).
Método de Kasiski (2/2)
• Dividir el criptograma en L subcriptogramas (que han sido
cifrados por una misma letra de la clave).
• Analizar cada subcriptograma con un ataque simple de tipo
estadístico monoalfabético:
–Buscar a través de los tres caracteres más frecuentes en
cada subcriptograma las posiciones relativas de las letras
A, E y O que en castellano están separadas por 4 y 11
espacios.
–La primera de esa triada es la posición de la A en texto
plano. Luego, la letra en esa posición es la Kx de ese
subcriptograma. [0+P(Kx)=P(Kx)].
Ejemplo. Método Kasiski
PBVRQ VICAD SKAÑS DETSJ PSIED BGGMP SLRPW RÑPWY EDSDE ÑDRDP CRCPQ MNPWK
UBZVS FNVRD MTIPW UEQVV CBOVN UEDIF QLONM WNUVR SEIKA ZYEAC EYEDS ETFPH
LBHGU ÑESOM EHLBX VAEEP UÑELI SEVEF WHUNM CLPQP MBRRN BPVIÑ MTIBV VEÑID
ANSJA MTJOK MDODS ELPWI UFOZM QMVNF OHASE SRJWR SFQCO TWVMB JGRPW VSUEX
INQRS JEUEM GGRBD GNNIL AGSJI DSVSU EEINT GRUEE TFGGM PORDF OGTSS TOSEQ
OÑTGR RYVLP WJIFW XOTGG RPQRR JSKET XRNBL ZETGG NEMUO TXJAT ORVJH RSFHV
NUEJI BCHAS EHEUE UOTIE FFGYA TGGMP IKTBW UEÑEN IEEU.
3 cadenas GGMP, separadas por 256 y 104 mcd (256, 104, 72, 156, 32) = 4
posiciones.
2 cadenas YEDS, separadas por 72 espacios.
2 cadenas HASE, separadas por 156 espacios.
2 cadenas VSUE, separadas por 32 espacios. L=4
[1, 5, 9,…], [2,6,10,…],[3,7,11,…],[4,8,12,…]
Conjuntos de índices de caracteres cifrados usando las
letras K1, K2, K3, K4
Tabla de Frecuencias de caracteres en los 4 Subcriptogramas:
F 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
CA 12 0 2 3 12 1 0 0 11 0 0 5 6 9 1 10 2 1 9 7 4 5 1 0 0 0 0
CB 0 14 1 6 4 12 1 0 0 4 1 0 3 6 8 0 14 2 1 6 9 7 1 0 0 0 1
CC 0 0 2 2 18 0 7 3 7 1 0 1 7 1 0 6 2 6 1 12 3 0 4 12 3 2 1
CD 0 0 3 5 7 0 12 6 1 7 5 4 1 1 0 0 2 1 13 2 3 6 14 1 2 3 2
Regla aeo:
• Más frecuentes: a, e, o. Contraseña: ABER
• Distancia entre ellas: 4 y 11
Texto: Para que la cosa no me sorprenda…
20
Cifrador poligrámico de Playfair
• Poligrámico: en bloques.
• Matriz de 5x5.
• Trabaja con digramas y relleno con carácter
determinado.
– Si M1M2 están en la misma fila C1C2 son los caracteres
de la derecha.
– Si M1M2 están en la misma columna C1C2 son los de
abajo.
– De lo contrario, C1C2 son los caracteres de la diagonal
desde la fila de M1.
21
Ejemplo de Cifrado con Playfair
En inglés, si la clave es K = BEATLES, cifrar el mensaje
M = WITH A LITTLE HELP FROM MY FRIENDS.
B E A T L
Se rompe la doble
S C D F G MM agregando una
H I/J K M N X y se rellena al
O P Q R U final también con X
V W X Y Z
M = WI TH AL IT TL EH EL PF RO MX MY FR IE ND SX
C = EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV
X es una letra cualquiera, escogida para relleno
Digramas característicos del Español: en, de, mb
Cifrado de Vernam
• En 1917 Gilbert Vernam proponede
Importancia un la
cifrado por
Generación
sustitución binariade
con clave de un
Números solo uso (one-time
Pseudo-aleatorios
pad):
– 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.
– 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.
23
Clave K secuencia cifrante Clave K
One-time pad:
S C S Algoritmo
❑Determinístico
Algoritmo
Difícil de memorizar.
Determinístico
❑ Difícil deMcomunicar de forma
Criptograma M segura.
❑ Su “volumen” es proporcional al del
Usando el código Baudot se pide cifrar:
mensaje a cifrar.
M = BYTES
K = VERNAM
Solución:
BV = 1100111110 = 00111 = U
YE = 1010100001 = 10100 = H
TR = 1000001010 = 11010 = G Criptoanálisis no posible
EN = 0000101100 = 01101 = F porque:
SA = 0010100011 = 00110 = I
1. la clave K se usa una
C = UHGFI sola vez,
2. es aleatoria y,
24
Cifrado por Transposición
Llave:
Ejemplo: Transposición por
columna.
Texto cifrado:
25
Pregunta
¿Cómo se reconoce que un texto en
un idioma dado ha sido cifrado
usando una técnica de transposición
o sustitución, si se conoce el idioma
del texto cifrado?
26
Criptoanálisis de Cifrado por Transposición
• Determinar que se trata de cifrado por
transposición.
• Determinar el número de columnas.
– Contexto ➔ Palabras potencialmente cifradas
– Para cada |K|, digramas específicos se forman en
el criptograma.
• Reordenar las columnas.
27
Algoritmos de Cifrado Clásico
TRANSPOSICIÓN SUSTITUCIÓN
SERIES
MONOALFABÉTICA POLIALFABÉTICA
COLUMNAS
FILAS
MONOGRÁMICA POLIGRÁMICA NO PERIÓDICA PERIÓDICA
VERNAM
DIGRÁMICA N-GRÁMICA
LINEALES PROGRESIVOS
ALFABETO
PLAYFAIR HILL
ESTÁNDAR
ENIGMA
ALFABETO ALFABETO ALFABETO
CÉSAR
MIXTO ESTÁNDAR MIXTO
AFÍN
OTROS VIGENÈRE OTROS
Variante a partir de: J. Ramió. Libro Electrónico de Seguridad Informática y Criptografía. Cap. 9.
Clasificación de Criptosistemas
29
Clasificación de Criptosistemas
• Según el tratamiento del mensaje: cifrado de
bloque vs. cifrado de Flujo.
• Clasificación Histórico-Cultural: clásicos vs.
modernos.
• Según el tipo de llave: de llave privada vs. de
llave pública / simétricos vs. asimétricos.
Cifrado de bloque
Block Cipher is an encryption scheme in which
data are divided into fixedsize blocks (often 64
bits)‚ each of which is encrypted independently
of the others.
Complete independence of blocks is
cryptographically undesirable‚ so usually a block
cipher will be used in a chaining or feedback
mode in which the output from one block
affects the way the next is encrypted.
U. [Link] Information Security Dictionary, 2004. Edit. Kluwer.
Cifrado de Flujo
Stream ciphers encrypts in small units, often a bit
or a byte at a time. Unlike a basic block cipher, a
stream cipher will have output corresponding to a
given input will depend on where in the message it
occurs.
The simplest type of stream cipher uses a
complicated function, which retains state, to
generate a pseudo-random sequence which is then
combined with the input using a simple operation
such as bytewise addition.
U. [Link] Information Security Dictionary, 2004. Edit. Kluwer. 32
Criptosistema Simétrico
• Clave secreta.
• Una única clave para cifrar y descifrar.
• Importante mantener la clave en secreto.
Difícil distribución de llaves
E kDE D
kAE
A kAD Número Claves:
n (n-1) / 2
kAC
kCE
kAB kCD
kBE
C
kBD
kBC 5324 usuarios:
usuarios: NN==10316
B Muy mala gestión de claves: el valor tiende a n2.
34
Criptosistemas Simétricos
• Lucifer: usado a comienzos de los años 70 por el Reino Unido y que
posteriormente diera lugar al DES.
• DES: se convirtió en estándar durante casi treinta años. Hoy es vulnerable por
su pequeña longitud de clave y ha dejado de ser estándar mundial.
• RC2: algoritmo propuesto por Ron Rivest y que se incluye en navegadores de
Internet desde 1999.
• Blowfish: algoritmo propuesto por Bruce Schneier.
• IDEA: algoritmo europeo usado principalmente en el correo electrónico PGP.
• Rijndael: nuevo estándar mundial desde finales de 2001, conocido como AES,
Advanced Encryption Standard.
• Gost: algoritmo similar al DES con cajas S secretas propuesto por la extinta
Unión Soviética.
35
Evolución del Estándar de
Cifrado Simétrico
Algoritmo 1976 Data Encription Standard
Triple DES
Simétrico 56K (DES)
Inseguro para ¿Seguro?
muchas aplicaciones
Advanced
Encription
Standard (AES)
36
Criptosistema Asimétrico
• Dos claves (pública y privada).
• Lo que se cifra en emisión con una clave, se
descifra en recepción con la otra.
• Dificultad computacional de descubrir la clave
privada a partir de la pública.
Estrategia de Cifrado Asimétrico
Clave pública Clave privada
de B de B
Cifrador Canal de comunicación Descifrador
M (Eb) (Db)
M
Emisor Receptor Texto
Texto
claro C Claro
Texto
cifrado
USUARIO A USUARIO B
38
Algoritmos de Cifrado Asimétrico
• RSA.
• ElGamal.
• Curvas Elípticas.
39
Sistemas “Seguros” Actuales
• Simétrico: mala gestión
de claves, buen
rendimiento
• Asimétrico: buena gestión
de claves, mal
rendimiento
Sistemas Híbridos
40
Regulaciones del Cifrado
• Restricciones internacionales sobre su empleo.
• Dudosa confiabilidad de productos comerciales.
• Restricciones a la longitud de las llaves de cifrado.
• Requiere de la creación de infraestructuras de
generación, intercambio y administración de
llaves.
– De dos partes.
– De tercera parte confiable.
41
Generación de Números Aleatorios
• “Anyone who considers arithmetical methods
of producing random digits is, of course, in a
state of sin”. John von Newmann.
• "The generation of random numbers is too
important to be left to chance”. R. Coveyou.
42
CIFRADO MODERNO
43
Científicos del Día
Joan Daemen (1965-) y Vincent Rijmen (1970-).
Cifrado por bloque: Cifrado por bloque:
MMB, Square, SHARK, NOEKEON y 3-Way. Anubis, KHAZAD, Square, NOEKEON y SHARK
Bibliografía
• A. Tanenbaum. Computer Networks. 4th Edit. Ch.
8. Pp 721-735,737-750.
• J. Ramió. Libro Electrónico de Seguridad
Informática y Criptografía. Cap. 10 y 12.
Difícil distribución de llaves
E kDE D
kAE
A kAD Número Claves:
n (n-1) / 2
kAC
kCE
kAB kCD
kBE
C
kBD
kBC 5324 usuarios:
usuarios: NN==10316
B Muy mala gestión de claves: el valor tiende a n2.
46
Criptosistemas Simétricos
• Lucifer: usado a comienzos de los años 70 por el Reino Unido y que
posteriormente diera lugar al DES.
• DES: se convirtió en estándar durante casi treinta años. Hoy es vulnerable por
su pequeña longitud de clave y ha dejado de ser estándar mundial.
• RC2: algoritmo propuesto por Ronald Rivest y que se incluye en navegadores
de Internet desde 1999.
• Blowfish: algoritmo propuesto por Bruce Schneier.
• IDEA: algoritmo europeo usado principalmente en el correo electrónico PGP.
• Rijndael: nuevo estándar mundial desde finales de 2001, conocido como AES,
Advanced Encryption Standard.
• Gost: algoritmo similar al DES con cajas S secretas propuesto por la extinta
Unión Soviética.
47
Evolución del Estándar de
Cifrado Simétrico
Algoritmo 1976 Data Encription Standard
Triple DES
Simétrico 56K (DES)
Inseguro para ¿Seguro?
muchas aplicaciones
Advanced
Encription
Standard (AES)
48
Cajas P (Permutación/Transposición)
[Link] misma cantidad
de entradas y
salidas.
[Link] el orden de
entrada en las
salidas.
49
Cajas S (Sustitución)
50
Cajas S
• La entrada a la caja S es de n bits.
• La sustitución tiene lugar internamente
haciendo uso de una caja P.
• Para n=3, se requieren 8 líneas internas
de entrada y salida de la caja P.
• La salida de la caja P (salida interna) se
codifica en n bits de salida de la caja S.
51
Cifrador Producto
S1 S5 S9
S2 S6 S10
P1 P2 P3 P4
S3 S7 S11
S4 S8 S12
52
Caja Producto
• ¿Cuántas líneas internas se requerirían en una
caja S de 12 líneas de entrada?
• Estos cifradores para k bits de entrada/salida
son muy comunes.
• K usualmente toma valores de 64 a 256 bits.
• Una implementación por hardware
normalmente tiene, al menos, 18
rondas/fases de procesamiento.
53
Algoritmo DES Transposición Inicial
Iteración 1
Llave de 56 bits
Iteración 2
…
Iteración 16
Intercambio de grupos de 32bits
Inverso a la Transposición Inicial
54
Iteración de Algoritmo DES
Li-1 + f(Ri-1,K)
32 bits 32 bits
55
Componentes de una Iteración DES
• Ofuscamiento de la llave (en cada iteración se
modifica la llave original antes de utilizarla).
• XOR.
• P-box.
• S-box.
56
Algoritmo DES Transposición Inicial
Iteración 1
Llave de 56 bits
Iteración 2
…
Iteración 16
Intercambio de grupos de 32bits
64 bits de texto plano
son transformados en Inverso a la Transposición Inicial
64 bits de texto cifrado. 57
Un poco de historia
• La NSA negocia con IBM conformar un estándar
de cifrado a partir de Lucifer (k=128bits).
• Enero/1977. Se aprueba DES como estándar de
cifrado.
• En ese mismo año Diffie y Hellman diseñaron una
máquina para romper DES por fuerza bruta
(exploración exhaustiva) en un día, con un costo
de 20mill usd.
• 1979. Tuchman, de IBM propone Triple-DES.
58
Triple-DES
• 2 llaves K1, K2.
• Proceso: E(K1), D(K2), E(K1).
• Compatible con implementaciones DES.
• Al utilizar 2 llaves de 56 bits es como si
utilizara una de 112 bits.
59
Advanced Encryption Standard (AES)
• Se lanzó convocatoria por el National Institute of
Standards and Technology (NIST) en 1997.
– Soporte para llaves de 128, 192 y 256 bits.
– Simétrico.
– Diseño público.
– De implementación por software y hardware.
• Rijndael, de Joan Daemen y Vincent Rijmen
(criptógrafos belgas) ganó el concurso.
• Noviembre, 2001. Se establece el estándar de
procesamiento de información federal 197.
60
Implementación AES
• Disponible para 128 y 256 bits.
• 128 bits: 3x1038 llaves.
• Trabaja con bytes en vez de bits.
• También se basa en cajas S y P.
• La cantidad de rondas varía en dependencia
del tamaño de la llave.
61
Conclusiones
• Los criptosistemas simétricos se basan en
operaciones de sustitución y permutación.
• La seguridad de un criptosistema simétrico
está en el tamaño de la llave que se utiliza y
en su carácter secreto.
• El cifrado simétrico tiene amplia aplicación en
transacciones bancarias y operaciones
comerciales.
• Los criptosistemas simétricos no resuelven el
problema del intercambio seguro de claves.
Conclusiones
• Los criptosistemas simétricos no resuelven el
problema del intercambio seguro de claves.
• Simétricos vs Asimétricos.
• Soluciones híbridas.
• Amplia gama de aplicaciones.
Control de Aprendizaje
1. ¿Qué significa cifrar por sustitución y qué por
transposición?
2. ¿Cuál es la peor debilidad que tiene el sistema
de cifra del César?
3. Qué sucede si ciframos con el método de
Vernam binario M = VIDA utilizando como
clave
K = TACOS y TACO respectivamente?
Orientación de la Próxima Actividad
• Generación de Números Pseudoaleatorios.
– Problemática.
– Propuestas de solución.
– Retos actuales.
• Llaves de una sola vez.
– Posibilidad de uso futuro.
• Cálculo de Mínimo Común Múltiplo (MCM) y de
Máximo Común Divisor (MCD) y sus
propiedades.
• Comparar AES vs. DES.