Capítulo 3
La criptografía simétrica
• Modos de cifrado
• Data Encryption Standard (DES)
• Estándar de Encriptación Avanzado (AES)
• KASUMI
El cifrado simétrico
• Descripción general:
• La misma clave K A, B se utiliza para cifrar y descifrar los mensajes:
Cifrar
Texto sin texto
formato Cipher-
desencriptar
Cipher- formato
• Notación:
• Si PAG denota el mensaje de texto sin formato E (K A, B, PAG) denota el texto cifrado y se mantiene D (K A, B, E (K A,
B, P)) = P
• Como alternativa a veces escribimos { PAG} KA, B o mi KA, B ( PAG) para E (K A, B, PAG)
• Un texto plano PAG se segmenta en bloques PAG 1, PAG 2, ... cada uno de longitud segundo o j,
respectivamente, donde segundo denota el tamaño de bloque del algoritmo de cifrado y j <b
• Un error de bit en un bloque de texto cifrado do yo resultados en un bloque de texto claro recuperado completamente
• La pérdida de sincronización no tiene ningún efecto si múltiplos enteros del tamaño de bloque segundo Esta
perdido.
Si se pierde cualquier otro número de bits, es necesaria la re-sincronización explícita.
do 1 do 2 do norte
• Antes de cifrar un bloque de texto plano pag yo se hace un XOR ( •) con el bloque de texto cifrado precedente do i-1:
• Con el fin de calcular do 1 ambas partes están de acuerdo en una valor inicial (IV) para do 0
• propiedades:
• propagación de error:
norte A distorsionadas resultados bloque de texto cifrado en dos bloques de texto claro distorsionadas, como
• Sincronización:
norte Si el número de bits perdidos es un número entero múltiplo de segundo, un bloque adicional
• Ventaja: bloques de texto claro idénticos están codificadas a texto cifrado no idéntico.
IV + + do n-1 +
do 1 do 2 do norte
do 1 do 2 do norte
IV + + do n-1 +
1
R •IV
• •RR• 1 • ••
jnn bien
mod 2 2 do nótese
•1 // j bits desviación a la izquierda y XOR con el viejo texto cifrado
norte
• • , j SC • •• •
K
PRE
nn
• , • •K • • nn
• • ,j SRE •jKSCRE
n
•• •j S • , • •• •
K
PRE
nn
• , • j S •• • K • PCRE
nnn
do m-1
Shift-Reg. b Shift-Reg. Shift-Reg.
-j | jb bj | jb bj | jb
j | bj j | bj j | bj
j j j
do m-1
Shift-Reg. Shift-Reg. Shift-Reg.
bj | jb bj | jb bj | jb
desencriptar
Cifrar K Cifrar K ... Cifrar K
segundo segundo segundo
j | bj j | bj j | bj
j j j
• Propiedades de CFB:
• propagación de error:
norte Como los bloques de texto cifrado se desplazan a través del paso de registro a paso,
un bloque errónea do yo distorsiona el bloque de texto claro recuperado PAG yo ' así como la siguiente • b
/ j • bloques
• Sincronización:
norte Si el número de bits perdidos es un número entero múltiplo de j entonces • b / j • adicional
bloques están distorsionados antes de que se restablezca la sincronización. Si cualquier otro
número de bits se pierden explícita es necesaria la re-sincronización.
• Retirarse:
norte La función de cifrado mi necesita ser computado más a menudo, como una
cifrado de segundo poco tiene que realizarse para ocultar j poco de texto plano
• El algoritmo de cifrado bloque se utiliza para generar una secuencia pseudo-aleatoria R yo, que
depende sólo de K y IV:
norte Dejar: S (j, x) denotar la j más altos bits significativos de X
PAG yo, do yo denotar la yo º bloque de texto cifrado de civil y de longitud j IV ser un valor
inicial de ambas partes han acordado a continuación:
1
R •IV
• •RR• 1 ••
jnn
• ,j S •KREn • 1 ••
segundo
• mod 2 2 // j-bit desplazamiento a la izquierda + valor antiguo cifrada
•
norte
• , j SC • •• •
K
PRE
nn
• , • •K • • nn
• • ,j SRE •jKSCRE
n
•• •j S • , • •• •
K
PRE
nn
• , • j S •• • K • PCRE
nnn
S (j, E K ( R m-1))
Shift-Reg. Shift-Reg. Shift-Reg.
bj | jb bj | jb bj | jb
j | bj j | bj j | bj
j j
S (j, E K ( R m-1))
Shift-Reg. Shift-Reg. Shift-Reg.
bj | jb bj | jb bj | jb
desencriptar
Cifrar K Cifrar K ... Cifrar K
segundo segundo segundo
j | bj j | bj j | bj
• Propiedades de OFB:
• propagación de error:
norte errores de un solo bit como resultado sólo en los errores de un solo bit • sin multiplicación de errores
• Sincronización:
norte Si se pierden algunos bits se necesita explícita de resincronización
• Ventaja:
norte La secuencia pseudo-aleatoria puede ser pre-calcula con el fin de mantener
el impacto de cifrado para el retardo de extremo a extremo bajo
• inconvenientes:
norte Al igual que con la función de encriptación CFB mi necesita ser computado más
a menudo, como un cifrado de segundo poco tiene que realizarse para ocultar j poco de texto plano
norte Es posible que un atacante para manipular bits específicos del texto plano
• diseño fundamental
• cifrado triple con un cifrado de bloque, por ejemplo, Triple-DES
• Ninguna de las contribuciones para este primer llamado estuvo cerca de estos criterios.
• En respuesta a una segunda llamada, IBM presentó su ' algoritmo de Lucifer, un bloque de cifrado
simétrico, que trabaja en bloques de longitud de 128 bits utilizando claves de 128 bits de longitud y que
fue el único candidato prometedor
• A pesar de todas las críticas del algoritmo se adoptó como “ Data Encryption Standard ” en la
serie de Federal Information Processing Standards en 1977 (FIPS PUB 46) y autorizados para
su uso en todas las comunicaciones del gobierno no clasificados.
Permutación Permutada
inicial Opción 1
...
K dieciséis Permutada Circular izquierda
iteración 16
Opción 2 Shift / 2
Intercambio de 32 bits
Permutación
inicial inversa
Permutación de
Shift izquierdo Shift izquierdo
expansión
R i-1 48
48 K yo La contracción de permutación
+
... K yo 48
(Perm. Choice 2)
S-Box: Elección
f (R i-1, K yo) Sustitución
32
Permutación
32
L yo R yo do yo re yo
• El bit de la derecha 32 de los datos a ser cifrados se expanden a 48 bits mediante el uso de
una tabla de expansión / permutación
• Tanto la izquierda y el bit de la derecha 28 de la llave (también llamados subclaves)
se dejó circular desplazada y el valor resultante se contrajo a 48 bits mediante el uso de una
tabla de permutación / contracción
• Los dos valores anteriores se XOR y se introducen en una caja de elección y
substitución:
• Internamente esta operación se realiza por 8 de los llamados S-boxes, cada uno de ellos la asignación de un valor de seis
bits en un valor de cuatro bits de acuerdo con una tabla de caja específica, en conjunto conduce a una salida de 32 bit
• El diseño de estas cajas-S se vio reforzada por la NSA, que dio lugar a un intenso debate en el
1970 ' s y se entiende en el 1990 ' s después del descubrimiento de criptoanálisis diferencial
• La salida de la etapa anterior se permuta de nuevo y XORed con la mano izquierda 32 bit de
datos que conducen a la nueva derecha 32 bit de datos
• La nueva izquierda 32 bits de datos son el valor de la derecha de la iteración
anterior
• L ' 1 = R ' 0 = L 16 = R 15
• R ' 1 = L ' 0 • f (R ' 0, K 16) = R dieciséis • f (R 15, K 16) = [ L 15 • f (R 15, K dieciséis)] • f (R 15, K 16) = L 15
• R i-1 = L yo
• L i-1 = R yo • f (R i-1, K i) = R yo • Florida yo, K yo)
• InverseInitialPermutation (L 0 || R 0) =
InverseInitialPermutation (InitialPermutation (texto claro)) = texto claro
• debilidades clave:
• claves débiles: cuatro teclas son débiles, ya que generan subclaves, ya sea con todos 0 ' s 1 o la totalidad ' s
• Semiweak claves: hay seis pares de llaves, que cifran en texto llano a texto cifrado idéntica,
ya que generan sólo dos subclaves diferentes
• llaves posiblemente débiles: hay 48 teclas, que generan sólo cuatro subclaves diferentes
• estructura algebraica:
• Si fuera DES cerrado, a continuación, para cada K 1, K 2 habría una K 3 tal que: E (K 2, E (K 1, M)) =
E (K 3, M), de este modo doble cifrado sería inútil
• Si fuera DES puro, A continuación, para cada K 1, K 2, K 3 habría una K 4 tal que E (K 3, E (K 2, E (K 1, M)))
= E (K 4, M) tanto de triple cifrado sería inútil
• DES no es ni cerrado ni puro, así un esquema de cifrado múltiple podría ser utilizado para aumentar la longitud
de clave (véase también a continuación)
• criptoanálisis diferencial:
• En 1990 E. Biham y A. Shamir publican este método de análisis
• Parece específicamente para las diferencias en los textos cifrados cuyos textos planos tienen diferencias
particulares y trata de adivinar la clave correcta de esta
• El enfoque de las necesidades básicas de texto plano escogido junto con su texto cifrado
• DES con 16 rondas es inmune frente a este ataque, ya que el ataque necesita 2 47
textos planos elegidos o (cuando “ convertido ” a un ataque de texto conocido) 2 55
textos planos conocidos.
• Los diseñadores de DES dijeron en el 1990 ' s que sabían acerca de este tipo de ataques en el 1970 ' s
y que las cajas-S fueron diseñados en consecuencia
• Longitud de la clave:
• Como una clave de 56 bits puede ser buscado en 10,01 horas cuando ser capaz de realizar 10 6 cifrados / •
s( que es factible en la actualidad), DES ya no se puede considerar como suficientemente seguro
• Doble DES: como DES no está cerrada, los resultados dobles de cifrado en un sistema de cifrado que utiliza claves de
112 bits:
• Si un atacante puede obtener un par conocido en texto plano / texto cifrado entonces él puede construir dos
tablas ( satisfacer-en-el-medio-ataque):
norte Tabla 1 contiene los valores de X cuando PAG está cifrada con todo posible
valores de K
norte Clasificar los dos tablas y construir teclas K T1 || K T2 para todas las combinaciones de
entradas que producen en el mismo valor
• Como hay 2 64 posibles valores de texto cifrado para cualquier texto claro dado que podría producirse
por Double-DES, no estarán en el promedio 2 112 / 2 64 = 2 48
• Cada par de texto plano / texto cifrado adicional reduce la probabilidad de contraer una tecla equivocada en un factor de
1/2 64, por lo que con dos bloques conocidos es la oportunidad 2- dieciséis
• Por lo tanto, el esfuerzo necesario para romper DES es doble de la magnitud de 2 56,
que es sólo ligeramente mejor que el esfuerzo de 2 55 requerida para romper DES simple con
un ataque de texto conocido y muy lejos de la 2 111 que esperaríamos de cifrado con una
longitud de clave de 112 bits!
• Este tipo de ataque puede ser evitado mediante el uso de un esquema de cifrado triple, según lo
propuesto por W. Tuchman en 1979:
• C = E (K 3, D (K 2, E (K 1, PAG)))
• El uso de la función de descifrado re en el medio permite el uso de dispositivos de cifrado triples con sus compañeros que
• cifrado Triple se puede utilizar con dos (set K 1 = K 3) o tres llaves diferentes
• No se conocen ataques prácticas contra este esquema hasta ahora
• Desventaja: el rendimiento es sólo 1/3 de la de un solo cifrado, por lo que podría ser una mejor idea de utilizar
un sistema de cifrado diferente, que ofrece una longitud mayor número- de inmediato
• Sep. de 1997: oficial llamar para los algoritmos, abierto a todos en la tierra
• AES especificaría un algoritmo sin clasificar, revelado públicamente cifrado (s), disponible
gratuitamente, en todo el mundo.
• De abril de 1999
• El uso de los análisis y los comentarios recibidos, el NIST selecciona cinco algoritmos como candidatos
finalistas: MARS, RC6, Rijndael, Serpent, y Dos peces
• Longitud de bloque: 128, 192, o 256 bits (sólo 128 bit versión estandarizada)
128 128 10
192 128 12
256 128 14
• tecla [4, 4]: una matriz de 4 filas y 4 columnas (para 128 bits tamaño de la clave)
norte ByteSub: un byte sustitución no lineal mediante una mesa fija (básicamente un s-
caja)
norte ShiftRow: las filas del estado se desplazan cíclicamente diversos desplazamientos
norte MixColumn: las columnas de estado [] son considerados como polinomios más de
GF (2 8) y módulo multiplicado x 4 + 1 con una matriz fija:
• descifrado:
• Redondas llaves y operaciones aplicadas en orden inverso
• MixColumn paso sólo se puede invertir mediante la multiplicación con la matriz inversa (también
sobre GF (2 8))
AES - Seguridad
• La estructura matemática sencilla de AES es la razón principal de su velocidad, pero dio lugar a
la crítica
• Ya durante los ataques de normalización para las versiones reducidas se han desarrollado
• Un ataque con 2 32 texto abierto escogido contra una versión 7 ronda de AES [GM00]
• reducción significativa de la complejidad, incluso para una versión 9 ronda de AES con 256 tamaño de la clave con un
ataque clave relacionada
• 2011, el primer ataque contra un total de AES llegó a ser conocido [BKR11]
• La recuperación de claves en 2 126,1 por AES con 128 bits, 2 189,7 por AES con 192 bits, 2 254.4 por AES con
256 bits
• RC4 es un cifrado de flujo que ha sido inventado por Ron Rivest en 1987
• Fue patentado hasta 1994, cuando alguien publicó de forma anónima a una lista de correo
• El algoritmo de cifrado genera un RC4 secuencia pseudo-aleatoria ( IV, K), que depende sólo
de la clave K y un vector de inicialización IV
• el texto plano PAG yo luego se XOR con la secuencia pseudo-aleatoria para obtener el texto
cifrado y viceversa:
norte do 1 = PAG 1 • RC4 ( IV 1, K)
norte Si se reutiliza flujo de clave (es decir IV 1 = IV 2 con el mismo K), entonces el
XOR de dos textos planos se puede obtener:
for (i = 0; i <256; i ++) {n = (n + S [i] + K [i]) MOD 256; swap (S [i], S [n]); }
• Seguridad de RC4:
• La seguridad contra ataques de fuerza bruta (probando todas las claves posibles):
• Secure Socket Layer (SSL) utiliza RC4 con 40 teclas de bits como algoritmo por defecto
• longitud de clave de 40 bits no es inmune contra ataques de fuerza bruta
• Sin embargo, dependiendo del método de programación clave, RC4 puede ser seriamente
vulnerables! [FMS01a, Riv01a, SIR01a]
• Se recomienda para descartar al menos los primeros 3072 bytes de la corriente tecla [Mir02,
Kle08]
• Debe en realidad no dejar de utilizarse, incluso con las claves más largas
KASUMI
• Se utiliza para cifrar las llamadas en GSM y UMTS, implementa f (8) y f (9) (también llamado A5 /
3, UEA1, UIA1)
• Inicialmente estandarizada por 3GPP en el año 2000 [ETS12] y en base a MISTY1 por Mitsubishi
L i-1 R i-1
K + Constante
K'
Elección
Elección aún por ronda
todos lados impar
48 L i-1
FO Florida
48 32 32 K yo ...
Elección
FL FO
32 Florida i-1, K yo)
32 32
L yo R yo
• El bit de la izquierda 32 de los datos a ser encriptado es modificada por dos funciones no lineales de
FO y FL materiales que tanto el uso de claves
• FL divide los datos en palabras de 16 bits que se combinan con el material de claves, permutados, y
XORed con los valores originales
• FO es una red de Feistel 3-redonda con un FI función de modificación que es en sí una red
de Feistel similar que emplea dos cajas S
• La salida de la etapa anterior se XOR con la mano derecha 32 bit de datos que conducen a
la nueva derecha 32 bit de datos
• La nueva izquierda 32 bit de datos es el valor de la derecha de la iteración anterior
• Una versión reducida de KASUMI (6 rondas) puede ser atacado por los llamados
diferencial cripto-análisis imposible, donde los estados imposibles de la cifra se deducen del texto
cifrado / pares de texto sin formato
• Publicado por primera vez ya un año después de la normalización
• Para una versión completa de KASUMI relacionados con ataques claves son posibles
• Elegido ataque de texto plano, donde el atacante puede cifrar los mismos datos con múltiples teclas
“relacionadas”
• Sin embargo ETSI ha adoptado NIEVE 3G (UEA2 y UIA2) [ETS06] estar preparado para una
violación completa de KASUMI
• cifrado de flujo basado en LFSR, puede ser implementado en 7.500 puertas ASIC
• Pero también vulnerable a los ataques clave relacionados [KY11]
Referencias adicionales