Está en la página 1de 30

SEGURIDAD EN SISTEMAS DE INFORMACION

TEMA 3. Criptograf´ıa sim´etrica

FJRP. SSI, 2005

5 de marzo de 2007

1. Conceptos b´asicos sobre criptografia

CRIPTOGRAFIA: T´ecnica/ciencia/arte de la escritura secreta

criptos (oculto, secreto) + grafos (escritura)

OBJETIVO: mantener la privacidad de la comunicaci´on entre 2 entidades alterando el mensaje original de modo mantener la privacidad de la comunicaci´on entre 2 entidades alterando el mensaje original de modo que sea incomprensible a toda per- sona distinta del destinatario

Procesosincomprensible a toda per- sona distinta del destinatario • CIFRADO: transformaci´on del texto en claro

CIFRADO: transformaci´on del texto en claro (mensaje original) en un criptograma (mensaje cifrado)

DESCRIFRADO: paso del criptograma al mensaje original

CRIPTOANALISIS: conjunto de t´ecnicas que intentan encontrar la clave usada entre los 2 comunicantes

Finalidad desvelar el secreto de la comunicacion.

CRITOLOGIA: criptografia + criptoan´alisisque intentan encontrar la clave usada entre los 2 comunicantes • Finalidad desvelar el secreto de

1

1.1.

Clasificaci´on de los sistemas criptogr´aficos

1.1. Clasificaci´on de los sistemas criptogr´aficos Clasificaci´on seg´un 3 dimensiones diferentes 1. Seg´un el

Clasificaci´on seg´un 3 dimensiones diferentes

1. Seg´un el tipo de operaciones utilizadas en la transformaci´on de texto plano a texto cifrado.

Todos los algoritmos se basan en dos principios generales:

sustituci´on: cada elemento en el texto plano (bit, letra, o gru- pos de bits o letras) es “mapeado” (transformado) en otro ele- mento,

transposici´on: los elementos del texto plano se redistribuyen.

Requisito fundamental: no se debe perder informaci´on las operaciones deben ser reversibles.

T´ıpicamente: m´ultiples fases de sustituciones y transposiciones.

2. Seg´un el n´umero de claves utilizadas.

Sistema sim´etrico: tanto emisor como receptor utilizan la misma clave

Tambi´en: de clave secreta, concencional

Sistema asim´etrico: emisor y receptor utilizan diferentes claves

Tambi´en: de clave p´ublica

3. Seg´un la manera en que se procesa el texto plano.

Cifrado por bloques (block cipher ): procesa un bloque de el- ementos de cada vez

produce un bloque de salida por cada bloque de entrada

Cifrado basado en flujo (stream cipher ): procesa los elemen- tos de entrada continuamente

produce un elemento (byte o car´acter) de cada vez

1.2.

Formalizaci´on

(a) Cifrado con clave sim´etrica

clave (k)

CIFRADO: el algoritmo producir´a una salida diferente dependiendo de la clave utilizada.

DESCIFRADO: el texto cifrado recibido por el destino se descifra utilizando la misma clave.

PUNTO CLAVE: la seguridad depende de lo poderoso que sea el algo- ritmo y del secreto de la seguridad depende de lo poderoso que sea el algo- ritmo y del secreto de la clave.

No tiene por qu´e mantenerse secreto el algoritmopoderoso que sea el algo- ritmo y del secreto de la clave. • se asume que

se asume que es pr´acticamente imposible el descifrar un mensaje cono-

Utiliza un algoritmo y una unica´es pr´acticamente imposible el descifrar un mensaje cono- ciendo unicamente´ el algoritmo Principales problemas: •

ciendo unicamente´

el algoritmo

Principales problemas:un algoritmo y una unica´ ciendo unicamente´ el algoritmo • mantenimiento de la clave en secreto

mantenimiento de la clave en secreto

c´omo enviar/acordar la clave tanto al origen como al destino

distribuci´on de claves

Representaci´on del proceso • Definiremos un criptosistema como una quintupla ( M, C, K, E,

Representaci´on del proceso

Definiremos un criptosistema como una quintupla (M, C, K, E, D), donde:

M : conj. de todos los mensajes sin cifrar (texto claro) que pueden ser enviados.

: conj. de todos los posibles mensajes cifrados (criptogramas)

: conj. de claves que se pueden emplear en el criptosistema.

(E : M C) : conj. de transformaciones de cifrado

Familia de funciones que se aplica a cada elemento de M para obtener un elemento de C. Existe una transformacion diferente E k para cada valor posible de la clave k K.

C

K

E

D (C : C M ) : conjunto de transformaciones de descifrado, (an´alogo a E).

Condici´on a cumplir: dado un mensaje m M :

D k (E k (m)) = m (reversibilidad)

Proceso

1. Suponemos: X M es el texto plano, y k K es la clave utilizada para el cifrado/descifrado.

2. Emisor usa algoritmo de cifrado para crear el texto cifrado (Y ) con

X y k: Y = E k (X)

Y se produce utilizando el algoritmo de cifrado E con la clave

k

3. Receptor (que conoce k) puede invertir la transformaci´on: X =

D k (Y )

recupera X utilizando el algoritmo de descifrado D con la clave

k

4. El oponente s´olo observa Y ; no tiene acceso a X o a k

(b) Cifrado asim´etrico o de clave p´ublica

Se emplea una doble clave (k p , k P ). k p , k P ).

k p : clave privada (conocida s´olo por su propietario)

k P : clave p´ublica (conocida por todos)

Una para la transformaci´on de cifrado (E ) E)

La otra para la transformaci´on de descifrado (D ) D)

En muchos casos pueden ser intercambiables (recomendable)(conocida por todos) Una para la transformaci´on de cifrado ( E ) La otra para la

1.3.

Criptoanalisis

Criptoan´alisis: Proceso de intentar descubrir X o k (o la clave privada k p en cifrado asimetrico)

La estrategia a utilizar depende del esquema de encriptaci´on y de la infor- maci´on disponible sobre el mismoX o k (o la clave privada k p en cifrado asimetrico) (a) Casos generales El

(a) Casos generales

El atacante conoce unicamente´ conoce unicamente´

el texto cifrado (problema m´as complicado).

Posible ataque: aproximaciones de fuerza bruta (o b´usqueda exhausti- va)

intentar todas las posibles claves (en promedio s´olo la mitad)

Espacio de claves muy grande fuerza bruta impracticable.

El atacante dispone de m´as informaci´on . m´as informaci´on.

Se dispone de uno o m´as mensajes en claro junto con sus correspon- dencias cifradas

Analista podr´ıa asumir que ciertos patrones de texto plano apare- cer´an en el mensaje.

Posibilidad de realizar tests estad´ısticos

Ejemplo: un fichero postscript o html siempre empieza con el mismo patr´on

Atacante consigue tener acceso al sistema fuente e inserta textos que ser´an cifrados.

Puede hacerse un estudio estad´ıstico mucho m´as consistente.

(b) Definiciones

Un esquema de cifrado es incondicionalmente seguro , si el texto cifrado generado por el esquema no contiene suficiente informaci´on incondicionalmente seguro, si el texto cifrado generado por el esquema no contiene suficiente informaci´on para determi- nar el texto plano correspondiente.

No importa la cantidad de texto cifrado de la que se disponga, es imposible descifrar el mensaje porque la informaci´on no est´a presente ah´ı

Con la excepci´on del algoritmo one-time pad, no existe ning´un algo- ritmo que sea incondicionalmente seguro.

En la pr´actica, se desear´a que el algoritmo de cifrado verifique:ning´un algo- ritmo que sea incondicionalmente seguro. • El coste de romper el texto cifrado debe

El coste de romper el texto cifrado debe exceder el valor de la infor- maci´on cifrada

El tiempo para romper el texto cifrado debe superar al tiempo de vida

util´

de la informaci´on

Un esquema de encriptaci´on que verfique estos dos criterios se dice que es computacionalmente seguro . computacionalmente seguro.

Todas las aproximaciones de criptoan´alisis (excluida fuerza bruta) para esquemas de cifrado sim´etricos, tratan de explotar el hecho de que existan trazas del mensaje original en el mensaje cifrado. trazas del mensaje original en el mensaje cifrado.

2.

Criptografia simetrica cl´asica

Sistemas anteriores al desarrollo de los ordenadores y de la criptografia computacional.2. Criptografia simetrica cl´asica Facilmente criptoanalizables: por fuerza bruta o analisis estadistico. Todos son

Facilmente criptoanalizables: por fuerza bruta o analisis estadistico.de los ordenadores y de la criptografia computacional. Todos son algoritmos sim´etricos • Cifrado asim´etrico

Todos son algoritmos sim´etricoscriptoanalizables: por fuerza bruta o analisis estadistico. • Cifrado asim´etrico se desarrolla a mediados de los

Cifrado asim´etrico se desarrolla a mediados de los 70

2.1. Cifrado monoalfab´etico

Algoritmos criptogr´aficos que, sin desordenar los simbolos del mensaje, establecen una correspondencia unica´ para todos ellos en todo el texto. correspondencia unica´ para todos ellos en todo el texto.

Si al s´ımbolo A le corresponde el s´ımbolo H , esta correspondencia se mantiene a lo largo de todo el mensaje.

(a) Cifrado del Cesar

Algoritmo de cifrado por sustituci´on m´as antiguo (y m´as simple).a lo largo de todo el mensaje. (a) Cifrado del Cesar Consiste en reemplazar cada letra

Consiste en reemplazar cada letra del alfabeto con la letra que est´a tres posiciones m´as adelante en el alfabeto.de cifrado por sustituci´on m´as antiguo (y m´as simple). texto plano: a b c d texto

texto

plano:

a

b

c

d

texto

cifrado:

d

e

f

g

Asignando un valor num´erico a cada letra (a=1, b=2, etc.),el algoritmo de cifrado ser´ıa:a b c d texto cifrado: d e f g • Cada letra del texto plano

Cada letra del texto plano p, se sustituye por la letra cifrada C, verif- icando:

C =

E(p) =

(p + 3) mod 26

Para el caso general, siendo la clave k el ”salto” de caracteres, tenemos:

C =

E(p) =

(p + k) mod 26

El algorimo de descifrado ser´ıa:

p

=

D(C) =

(C k) mod 26

El criptoan´alisis por fuerza bruta es trivial fuerza bruta es trivial

Es suficiente con intentar las 26 claves posibles y ver con cual el men- saje tiene sentido

Caracter´ısticas fundamentales (comunes a los otros m´etodos sim´etricos)26 claves posibles y ver con cual el men- saje tiene sentido 1. Los algoritmos de

1. Los algoritmos de cifrado y decifrado son conocidos.

2. N´um. finito de claves: 26 claves posibles

3. El lenguaje del texto plano es conocido y f´acilmente reconocible.

En la actualidad, se asume que los algoritmos son conocidos.del texto plano es conocido y f´acilmente reconocible. • Pero, el uso de un gran n´um.

Pero, el uso de un gran n´um. de claves posibles hace impracticable fuerza bruta

(b) Cifrado Monoalfabetico General

Caso m´as general de cifrado monoalfab´etio: la sustituci´on de un s´ımbolo por otro es arbitraria(b) Cifrado Monoalfabetico General • La clave k ser´a la tabla de sustitucion de un s´ımbolo

La clave k ser´a la tabla de sustitucion de un s´ımbolo por otro

Tenemos N ! posibles claves, siendo N el num. de s´ımbolos del alfabeto del texto claro

Con N = 26 habr´a 26! claves (m´as de 4 10 26 )

El ataque es posible si el criptoanalista conoce la naturaleza del texto plano (espa˜nol, por ejemplo) ⇒ puede explotar las regularidades del lenguaje. puede explotar las regularidades del lenguaje.

Calcula la distribuci´on de frecuencias de los caracteres del texto cifrado

Se compara con la distribuci´on de frecuencias est´andar para el espa˜nol.

Aparecer´an correspondencias que son m´as o menos seguras, y otras dudosas

Puede probar algunas combinaciones sobre algunas palabras e ir sacando correspondencias

Puede centrarse en palabras que se sabe que van a estar en el texto: etiquetas html

Puede puede estudiar las distribuciones de frecuencias de pares o trios de letras para extraer m´as informaci´on.

2.2.

Cifrado polialfabetico

Cifrados monoalfab´eticos son f´aciles de romper porque reflejan la regularidad del alfabeto original.

En los cifrados polialfab´eticos la sustituci´on aplicada a cada car´acter var´ıa en funci´on de la posici´on que ocupe este dentro del texto claro.

Corresponde a la aplicacion c´ıclica de n cifrados monoalfab´eticos.

Todas estas t´ecnicas tienen las siguientes caracter´ısticas en com´un:

Se utiliza un conjunto de sustituciones monoalfab´eticas.tienen las siguientes caracter´ısticas en com´un: Una clave determina que regla elegir para una

Una clave determina que regla elegir para una transformaci´on dada.Se utiliza un conjunto de sustituciones monoalfab´eticas. (a) Cifrado de Vigen`ere Cifrado polialfab´etico propuesto

(a) Cifrado de Vigen`ere

Cifrado polialfab´etico propuesto por Blaise de Vigenere, en el siglo XVI.

Se utilizan 26 cifrados Cesar, con saltos de 0 hasta 25.

Cada cifrado se denota por una letra clave, que es la letra cifrada que sustituye la letra del texto claro ’a’.

Conceptualemente tendriamos una tabla de 26 cifrados monoalfabeticos

ABCDEFGHIJKLMNOPQRSTUVWXYZ

BCDEFGHIJKLMNOPQRSTUVWXYZA

CDEFGHIJKLMNOPQRSTUVWXYZAB

DEFGHIJKLMNOPQRSTUVWXYZABC

EFGHIJKLMNOPQRSTUVWXYZABCD

XYZABCDEFGHIJKLMNOPQRSTUVW

YZABCDEFGHIJKLMNOPQRSTUVWX

ZABCDEFGHIJKLMNOPQRSTUVWXY

Para cifrar un mensaje, se necesita una clave tan larga como el mensaje.

Normalmente esta clave es una palabra clave repetida tantas veces como sea necesario.

Cada letra de la clave indica cual de los cifrados monoalba´eticos de la tabla anterior se usar´a; Es decir, cada letra de la clave indica la sustitucion para la letra A,

As´ı, por ejemplo, si la clave es “deceptive”, tendr´ıamos:

texto

plano

:

wearediscoveredsaveyourself

clave

:

deceptivedeceptivedeceptive

texto

cifrado:

ZICVTWQNGRZGVTWAVZHCQYGLMGJ

El descifrado ser´ıa la operaci´on sim´etrica.

FORTALEZA: existen m´ultiples letras de cifrado para cada letra del texto plano.

Existen t´ecnicas no muy complejas para conseguir la longitud de la clave (si esta es peri´odica).

Conseguida dicha longitud, se puede saber qu´e letras se cifran con el mismo alfa- beto y ah´ı aplicar procedimientos similares a lo mecanismos de cifrado monoal- fab´etico.

2.3.

Cifrado one-time pad

Idea base: Eliminar la naturaleza peri´odica de la clave utilizado una clave que sea tan larga como el mensaje.

Existe riesgo de descifrado debido a que la distribuci´on de frecuencias de letras de la clave es similar a la distribuci´on de frecuencias del textoclave utilizado una clave que sea tan larga como el mensaje. Soluci´on: Usar una clave tan

Soluci´on: Usar una clave tan larga como el texto y cuya distribuci´on de frecuencias sea complatamente Usar una clave tan larga como el texto y cuya distribuci´on de frecuencias sea complatamente diferente.

Josep Mauborgne sugiri´o el esquema “one-time pad”

Uso de una clave binaria aleatoria tan larga como el mensaje.Josep Mauborgne sugiri´o el esquema “one-time pad” CIFRADO: XOR de la clave con la representaci´on binaria

CIFRADO: XOR de la clave con la representaci´on binaria del texto clarode una clave binaria aleatoria tan larga como el mensaje. DESCIFRADO: XOR de la clave con

DESCIFRADO: XOR de la clave con el texto cifradode la clave con la representaci´on binaria del texto claro Es un esquema irrompible: no hay

Es un esquema irrompible: no hay relaci´on entre la distribuci´on de fre-texto claro DESCIFRADO: XOR de la clave con el texto cifrado cuencias de la clave y

cuencias de la clave y del texto claro, y la clave es tan larga como el texto Dificultad : emisor y receptor deben estar en posesi´on de la misma clave aleatoria (potencialmente infinita) de forma segura

2.4.

Cifrado playfair

Otra aproximaci´on para eliminar la extructura del texto claro en el texto cifrado: cifrar m´ultiples letras del texto plano en lugar de hacerlo caracter a caracter cifrar m´ultiples letras del texto plano en lugar de hacerlo caracter a caracter

Cifrado PALYFAIR: algoritmo de cifrado con m´ultiples letrasdel texto plano en lugar de hacerlo caracter a caracter • Trata digramas (combinaciones de dos

Trata digramas (combinaciones de dos letras) del texto plano como una unidad simple que se traduce a otro digrama cifrado

Usa una matriz de letras 5x5 construida a partir de la palabra clave

La matriz se rellena de izquierda a derecha rellenando las celdas con las letras de la palabra clave(sin repetidos).

El resto se va rellenando con las letras en orden alfab´etico (la i y la j ocupan la misma celda)

El texto plano se cifra de dos en dos letras siguiendo las siguientes reglas:

1. Las letras del texto plano repetidas que caen en el mismo par se separan insertando una letra de relleno (X).

2. Si las 2 letras del digrama de texto plano caen en la misma fila de la matriz, se reemplazar´a cada una de ellas por la letra a su derecha

de una fila es el primero de la

el siguiente elemento al ultimo´ misma fila

3. Si las 2 letras del digrama de texto plano que caen en la misma columna de la matriz, se reemplazan por la letra que se encuentra debajo.

la letra que est´a debajo de la ultima´

es la primera letra de esa columna

posici´on de una columna,

4. En otro caso, cada letra del digrama de texto plano se reemplaza por la letra que se encuenta en su misma fila y la columna ocupada por la otra letra del digrama

se alternan las . es quinas”del cuadrado que forma en la matriz de letras

Usando la clave EJEMPLO, tenemos la matriz:E J M P L O A B C D F G H K N

E

J

M

P

L

O

A

B

C

D

F

G

H

K

N

(I

y

J

van

juntas)

Q

R

S

T

U

V

W

X

Y

Z

Para cifrar el texto plano: LA LLUVIA, tenemos los digramas:juntas) Q R S T U V W X Y Z LA caso 4 --> DJ

LA

caso

4

-->

DJ

LX

(caso

 

1,

evita

LL)

caso

4

-->

MZ

LU

caso

3

-->

DZ

VJ

(I

y

J

son

equiv)

 

caso

4

-->

EW

AX

(completa

digrama

con

X)

caso

4

-->

BW

Texto cifrado: DJMZDZEWBW

Con 26 letras, existen 676 digramas ⇒ la identificaci´on de digramas indi- viduales es m´as dificil. la identificaci´on de digramas indi- viduales es m´as dificil.

Considerado irronpible durante mucho tiempo (usado en primera y segunda guerra mundial)

Es relativamente f´acil de romper por ordenador conociendo pares claro+cifrado

todav´ıa deja mucha de la estructura del texto plano intacta

Variantes: Cifrado de Hill Cifrado de Hill

Generalizaci´on del algoritmo original para sustituir m letras consecu- tivas del texto plano por m letras cifradas

M´as seguro que el original, sigue siendo bastante vulnerable si se cono- cen ejemplos de texto claro y el resultado cifrado

2.5.

Maquinas de rotor

Mecanismo criptogr´aficos m´as usado y potentes antes de la introducci´on de la criptograf´ıa por computador2.5. Maquinas de rotor Ejemplos: m´aquinas Enigma (alemana) y Purple (Japonesa) Principio b´asico: Combinaci´on

Ejemplos: m´aquinas Enigma (alemana) y Purple (Japonesa)de la introducci´on de la criptograf´ıa por computador Principio b´asico: Combinaci´on ”secuencial” de

Principio b´asico: Combinaci´on ”secuencial” de m´ultiples cifrados monoal- fab´eticos Combinaci´on ”secuencial” de m´ultiples cifrados monoal- fab´eticos

Se combinan varios cifradores sencillos para dar lugar a uno m´as poderoso

Objetivo: Cada caracter del mensaje en claro ser´a cifrado con una susti- tuci´on distinta, Cada caracter del mensaje en claro ser´a cifrado con una susti- tuci´on distinta,

“decidida” por los engranages+cableado de la m´aquina

Estructura: la m´aquina de rotor consiste en un conjunto de cilindros que rotan idependientemente. la m´aquina de rotor consiste en un conjunto de cilindros que rotan idependientemente.

Cada cilindro tiene 26 puntos de entrada y 26 de salida.

Cada punto de entrada y salida se asocia con una letra del alfabeto

Las conexiones dentro del cilindro definen una permutaci´on entre la entrada y la salida

RESULTADO: Cada cilindro define una sustituci´on monoalfab´etica.

Funcionamiento:Cada cilindro define una sustituci´on monoalfab´etica. • PRIMER CILINDRO: Cada vez que se “teclea” una

PRIMER CILINDRO: Cada vez que se “teclea” una letra, el cilindro rota una posici´on

De modo que se est´a cambiando a otra sustituci´on monoalfab´etica.

Despu´es de teclear 26 letras, el cilindro vuelve a su posici´on inicial.

El siguiente cilindro gira una posici´on por cada vuelta completa del primero y el tercero una vez por cada vuelta completa del segundo, y as´ı sucesivamente

Cada cilindro define una permutaci´on diferente para tres cilindros tenemos 26x26x26=17576 sustituciones diferentes.

La CLAVE es la posici´on incial de los cilindros

IMPORTANCIA: La idea de combinar pasos elementales de cifrado se mantiene en los algoritmos de cifrado sim´etrico actuales (DES, IDEA, etc)tres cilindros tenemos 26x26x26=17576 sustituciones diferentes. • La CLAVE es la posici´on incial de los cilindros

2.6.

T´ecnicas de transposici´on

Hasta el momento: t´ecnicas basadas en la sustituci´on de un s´ımbolo del texto en claro por un s´ımbolo del texto cifrado.

Otra alternativa: hacer alg´un tipo de permutaci´on en las letras del texto en claro (cifrado por transposici´on)

El algoritmo m´as simple: t´ecnica “rail fence” (rail vallado)

el texto plano se escribe como una secuencia de diagonalesm´as simple: t´ecnica “rail fence” (rail vallado) la clave es el tama˜no de esas diagonales el

la clave es el tama˜no de esas diagonalesel texto plano se escribe como una secuencia de diagonales el resultado es leido como una

el resultado es leido como una secuencia de filasde diagonales la clave es el tama˜no de esas diagonales Ejemplo: rail fence de profundidad 2.

Ejemplo: rail fence de profundidad 2.

e

s

t

o

e

s

u

n

t

e

x

t

o

c

El texto cifrado ser´ıa:

eteutxoirdsosnetcfao

i

f

r

a

d

o

Este sistema es trivial de criptoanalizar: prueba secuencial de claves

Otro sistema:

Seleccionar palabra clavede criptoanalizar: prueba secuencial de claves Otro sistema: Escribir fila a fila el mensaje en un

Escribir fila a fila el mensaje en un rect´angulo del mismo ancho que la palabra clavesecuencial de claves Otro sistema: Seleccionar palabra clave Leer el mensaje columna a columna, permutando adem´as

Leer el mensaje columna a columna, permutando adem´as el orden de las columnasen un rect´angulo del mismo ancho que la palabra clave El orden de las columnas viene

El orden de las columnas viene dado por la clave del algoritmoa columna, permutando adem´as el orden de las columnas En la pr´actica, para mejorar la seguridad,

En la pr´actica, para mejorar la seguridad, se suelen combinar varias fases de transposici´on.

3.

Algoritmo DES (Data Encription Standard)

3.1. Fundamentos

Cifrado por bloques ( block cipher ) block cipher)

Opera sobre un bloque de texto plano de n bits para producir un texto cifrado de n bits.

Tipicamente, la longitud de un bloque es de 64 bits.

Pueden adaptarse para funcionar como cifradores de flujo (m´as gen- erales y mayor aplicabilidad)

2 n posibles bloques de texto plano diferentes

Para que sea reversible (descifrado), cada entrada debe pro ducir un bloque de texto cifrado unico´

entrada debe pro ducir un bloque de texto cifrado unico´ Problema pr´actico: tama˜no de bloque •

Problema pr´actico: tama˜no de bloque

tama˜no de bloque peque˜no ( n = 4): el sistema es equivalente a un cifrado de sustituci´on cl´asico (vulnerable a un an´alisis estad´ıstico del texto plano)

si n es grande y se permite cualquier sustituci´on arbitraria entre el texto plano y el texto cifrado, las caracter´ısticas estad´ısticas del texto plano quedan enmascaradas (criptoan´alisis estad´ıstico ser´ıa imposible)

PROBLEMA: Permitir cualquier sustituci´on arbitraria para un tama˜no de bloque grande es inviable.(criptoan´alisis estad´ıstico ser´ıa imposible) • ¿c´omo especificar esa sustituci´on? • el

¿c´omo especificar esa sustituci´on?

el mapping subyacente (tabla especificando las transformaciones conc- retas) ser´ıa la propia clave

Feistel propone una aproximaci´on a este sistema ideal de ci frado cuando n es grande. n es grande.

Simular sustituci´on completa con una secuencia de sustituciones par- ciales parametrizadas por una clave de k bits

3.2.

El cifrado Feistel

Esquema t´ıpico de cifrado por bloques en el que se basan la mayor´ıa de los algoritmos de clave sim´etrica actuales3.2. El cifrado Feistel Feistel propuso aproximar el cifrado de sustituci´on simpl e utilizando el concepto

Feistel propuso aproximar el cifrado de sustituci´on simpl e utilizando el concepto de cifrado producto cifrado producto

consiste en realizar dos o m´as operaciones b´asicas de cifr ado en se- cuencia

el resultado final es criptogr´aficamente m´as fuerte que los cifrados com- ponentes.

La propuesta de Feistel propuso alterna sustituciones y per mutacionesm´as fuerte que los cifrados com- ponentes. • aplicaci´on pr´actica de una propuesta de Claude

aplicaci´on pr´actica de una propuesta de Claude Shannon(1945) para desarrollar un cifrado producto que alterna funciones de confusi´on y difusi´on.

(a) Difusi´on y confusi´on

Bloques b´asicos de construcci´on de cualquier sistema cri ptogr´afico(a) Difusi´on y confusi´on OBJETIVO: evitar el criptoan´alisis basado en el an´alisis estad´ıstico • Cifrado

OBJETIVO: evitar el criptoan´alisis basado en el an´alisis estad´ısticode construcci´on de cualquier sistema cri ptogr´afico • Cifrado ideal: cualquier tipo de estad´ıstica sobre

Cifrado ideal: cualquier tipo de estad´ıstica sobre el texto cifrado es independiente de la clave utilizada y del texto plano involucrado.

Shannon propone dos m´etodos para impedir el criptoan´alisis estad´ısticode la clave utilizada y del texto plano involucrado. Difusion: Pretende disipar la estructura estad´ıstica del

Difusion: Pretende disipar la estructura estad´ıstica del texto plano en el texto cifrado

OBJETIVO: la relaci´on estad´ıstica entre el cifrado y el texto plano lo m´as compleja posible

El cambio de un bit en el texto plano afecta al valor de muchos d´ıgitos del texto cifrado,

Cada bit del texto cifrado se ve afectado por muchos d´ıgitos del texto plano

Se consigue aplicando repetidamente permutaciones antes de las funciones de sustituci´on empleadas

bits de diferentes posiciones en el texto plano contribuyen a la misma porci´on del cifrado.

Confusi´on: Pretende hacer la relaci´on entre las estad´ısticas del texto cifrado y el valor de la clave lo m´as compleja posible

OBJETIVO: evitar el descubrimiento de la clave

En cifrado por bloques la transformaci´on del bloque de texto plano a un bloque cifrado depende de la clave

La manera en que se utiliza la clave para cifrar el texto debe ser tan compleja que sea dif´ıcil deducir la clave

Se consigue mediante la utilizaci´on de un algoritmo de sustituci´on complejo.

(b) Estructura del cifrado Feistel

ENTRADA: bloque de texto plano de longitud 2 w bits y la clave K w bits y la clave K

Bloque de texto plano se divide en dos mitades: L 0 y R 0 L 0 y R 0

Las mitades pasan a trav´es de n redondeos (fases) n redondeos (fases)

Finalmente se combinan para producir el bloque cifradoR 0 Las mitades pasan a trav´es de n redondeos (fases) REDONDEOS: • Cada redondeo i

REDONDEOS:Finalmente se combinan para producir el bloque cifrado • Cada redondeo i tienen como entradas: ◦

Cada redondeo i tienen como entradas:

L i 1 y R i 1 del redondeo previo

La subclave K i derivada de la clave K (las K i son diferentes de K y entre

s´ı)

Estructura de los redondeos (redondeo i ):

Se realiza una sustituci´on sobre la mitad izquierda de los datos

( L i 1 )

se aplica la funci´on de redondeo F a la mitad derecha ( R i 1 )

se hace XOR de la salida de esa funci´on con la mitad izquierda

( L i 1 )

Despu´es de esta sustituci´on, se realiza una permutaci´on que inter- cambia las dos mitades ( L i y R i ).

La funci´on de redondeo F tiene la misma estructura para cada re- dondeo

est´a parametrizada por la correspondiente K i

El ultimo´◦ est´a parametrizada por la correspondiente K i del ultimo´ redondeo se sigue de un intercambio

del ultimo´

redondeo se sigue de un intercambio que deshace la permutaci´on redondeo.

Esquema:

La implementaci´on exacta de una red de Feistel depende los par´ametros:

Tama˜no de bloque: Cuanto m´as grande es el tama˜no de bloque, mayor seguridad, pero menor velocidad de : Cuanto m´as grande es el tama˜no de bloque, mayor seguridad, pero menor velocidad de cifrado/descifrado

Habitualmente: 64 bits

Tama˜no de clave: Cuanto m´as grande sea el tama˜no de clave, mayor seguridad, pero menor velocidad de : Cuanto m´as grande sea el tama˜no de clave, mayor seguridad, pero menor velocidad de cifrado/descifrado

Claves mayores de 64 bits (habitual 128)

N´umero de redondeos: Cuanto mayor es el n´umero de redondeos, mayor seguridad : Cuanto mayor es el n´umero de redondeos, mayor seguridad

Habitual: 16 redondeos

Algoritmo de generaci´on de subclaves: Cuanto mayor sea la comple- jidad del algoritmo, m´as dif´ıcil ser´a el criptoan´alisis. : Cuanto mayor sea la comple- jidad del algoritmo, m´as dif´ıcil ser´a el criptoan´alisis.

Funci´on de redondeo: Cuanto mayor es la complejidad de la funci´on de redondeo, mayor resistencia al criptoan´alisis : Cuanto mayor es la complejidad de la funci´on de redondeo, mayor resistencia al criptoan´alisis

Otras consideraciones:

Cifrado/Descifrado r´apido por software Puede ser relevante si no es posible hacerlo por hardware

Facilidad de an´alisis: Interesa que el algoritmo sea f´acil de analizar per- mite detectar y subsanar vulnerabilidades : Interesa que el algoritmo sea f´acil de analizar per- mite detectar y subsanar vulnerabilidades subsanarlas.

Descifrado del algoritmo Feistel

Esencialmente ser´a el mismo que el proceso de encriptaci´o nsubsanarlas. Descifrado del algoritmo Feistel • la entrada es el bloque cifrado • las claves se

la entrada es el bloque cifrado

las claves se deben utilizar en orden inverso en cada uno de los pasos de redondeo

VENTAJA: s´olo es necesario implementar un algorimola entrada es el bloque cifrado • las claves se deben utilizar en orden inverso en

3.3.

Est´andar de encriptaci´on de datos (DES)

Adoptado como est´andar en 1977 por el Departamento Nacional de Est´andares(NBS) ahora Instituto Nacional de Est´andares (NIST)3.3. Est´andar de encriptaci´on de datos (DES) • Cifrador de bloques basado en una red Feistel

Cifrador de bloques basado en una red Feistel con a˜nadidos

bloques de 64 bits

clave de 56 bits.

Para descifrar se utiliza el mismo algoritmo con la misma clave.

Antecedente: LUCIFER (IBM), cifrado de Feistel con bloques de 64 bits y clave de 128 bits. LUCIFER (IBM), cifrado de Feistel con bloques de 64 bits y clave de 128 bits.

producto de cifrado comercial destinado a implementarse en un chip

con participaci´on de IBM y de la NSA (Agencia de Seguridad Na cional

DES: versi´on refinada de LUCIFER m´as resistente al criptoa n´alisis pero con un tama˜no de clave de 56 bitsde IBM y de la NSA (Agencia de Seguridad Na cional • Puntos cr´ıticos: ◦ reduce

Puntos cr´ıticos:

reduce en 72 bits la longitud de clave usada en LUCIFER

clave de 56 bits se ha mostrado vulnerable a ataques de fuerza bruta

se desconocen las motivaciones del dise˜no de uno de sus comp o- nentes (cajas S )

(a) Cifrado DES

Estructura basada en una red Feistel (a˜nade permutaciones inicial y final)(a) Cifrado DES Entradas: bloque de texto plano (64 bits) + clave (56 bits) 3 fases

Entradas: bloque de texto plano (64 bits) + clave (56 bits)en una red Feistel (a˜nade permutaciones inicial y final) 3 fases gen´ericas: • permutaci´on inicial •

3 fases gen´ericas:Entradas: bloque de texto plano (64 bits) + clave (56 bits) • permutaci´on inicial • 16

permutaci´on inicial

16 redondeos (con funciones de sustituci´on y permutaci´on)

un intercambio de bits junto con la permutaci´on inicial inversa

ESQUEMA GENERALde bits junto con la permutaci´on inicial inversa Uso de la clave: • incialmente se pasa

Uso de la clave:junto con la permutaci´on inicial inversa ESQUEMA GENERAL • incialmente se pasa a una funci´on de

incialmente se pasa a una funci´on de permutaci´on

en cada redondeo se genera una subclave K i : combinando de un de- splazamiento circular y una permutaci´on

misma funci´on de permutaci´on en cada redondeo, pero el resultado es diferente debido al desplazamiento circular.

Permutaci´on inicial:el resultado es diferente debido al desplazamiento circular. • Cada permutaci´on se representa por un vector

Cada permutaci´on se representa por un vector con la posici´on se mueven los diferentes bits correspondientes

La permutaci´on final ser´ıa la inversa.

Estructura de un redondeo simple (redondedo i ): • Mitades izquierda y derecha de los

Estructura de un redondeo simple (redondedo i ):

Mitades izquierda y derecha de los 64 bits se tratan separadamente: L y R

F´ormulas usadas:

L i = R i 1 (pasa R i 1 a la izquierda)

R i = L i 1 xorF ( R i 1 , K i ) (aplica F a R i 1 y lo combina con L i 1 )

Funci´on F :

La entrada R se expande a 48 bits utilizando una tabla

Esa tabla define una permutaci´on m´as una expansi´on

Los 48 bits resultantes se combinan con los 58 bits de K i mediante un XOR

El resultado se pasa a traves de una funci´on de sustituci´on (cajas S ) que produce una salida de 32 bits que sufren una permutaci´on.

Cajas S :

Cada caja S acepta 6 bits como entrada y genera 4 bits de salida.

Las cajas S son tablas de 16x4 elementos

cada una de las 4 filas representan una sustituci´on reversible de 16 bits.

el primer y el ultimo´

bit de los 6, seleccionan una de las 4

sustituciones

los 4 bits centrales seleccionan una columna particular, co n la que producir´a la salida.

Finalmente, la salida es permutada para que el siguiente redondeo afecte al m´aximo n´umero de bits posible.

Generaci´on y uso de las subclaves ( K i ) : • La clave de

Generaci´on y uso de las subclaves (K i ):

La clave de 56 bits se somete a una permutaci´on

La salida (56 bits) se separa en dos mitades de 28 bits: C 0 y D 0

En cada redondeo, C i 1 y D i 1 se someten a un desplazamiento a la izquierda

Estos valores desplazados sirven de entrada para la siguiente fase de redondeo.

En cada fase de redondeo se unen estos valores y son nuevament e per-

mutados, produciendo una salida de 48 bits ( K i ) que sirve de entrada

a la funci´on F .

(b) Caracter´ısticas

El efecto avalancha(b) Caracter´ısticas • Propiedad deseable para este tipo de algoritmos (DES lo verifica) • Un peque˜no

Propiedad deseable para este tipo de algoritmos (DES lo verifica)

Un peque˜no cambio en el texto plano produzca un gran cambio en el texto cifrado

OBJETIVO: un cambio en un bit de texto plano o en un bit de la clave deber´ıa producir un cambio en muchos bits del texto ci frado

Impide reducir el espacio de b´usqueda de claves para un ataque de fuerza bruta

Criterios de dise˜node b´usqueda de claves para un ataque de fuerza bruta • Principal problema del DES: no

Principal problema del DES: no se conocen los criterios de di se˜no de todo el algoritmo

en particular de las cajas S

se desnococe si presentan alguna vulnerabilidad al criptoan´alisis (puertas traseras)

la seguridad del algoritmo DES depende de la seguridad de las cajas S (´unica parte no lineal del algoritmo)

Mejoras al algoritmo DES

DEBILIDAD: Tama˜no de clave reducido

´

APROXIMACI ON: Cifrado m´ultiple on DES

Doble DES

Esquema m´as simple de encriptaci´on m´ultiple

Tiene dos fases de encriptaci´on y dos claves.

Dado un texto plano P y dos claves K 1 y K 2 , el texto cifrado C es:

C = E k 2 [ E k 1 [ P ]]

El descrifrado requiere que las claves se apliquen en orden i nverso:

P = D k 1 [ D k 2 [ C ]]

Este esquema presenta una clave de 112 bits

Se incrementa enormemente la fortaleza criptogr´afica.

Triple DES con dos claves

Consiste en una triple encriptaci´on con dos claves:

C = E k 1 [ D k 2 [ E k 1 [ P ]]]

El motivo para que el segundo paso sea una es que el algoritmo pueda descifrar datos encriptados por el algoritmo DES original

C = E k 1 [ D k 1 [ E k 1 [ P ]]]

Clave resultante: 112 bits

Triple DES con tres claves

Se puede utilizar el triple DES con tres claves

C = E k 3 [ Dk 2 [ E k 1 [ P ]]]

Se consigue mayor seguridad.

Tiene el inconveniente de que requiere una longitud de clave de 168 bits, que puede ser inc´omodo en algunos casos