criptosistemas

16
CRIPTOGRAFÍA CLÁSICA Criptosistemas Docente: Juan Carlos Broncano Torres FISE Lima-Perú

Upload: juan-carlos-broncanotorres

Post on 26-Jul-2015

55 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Criptosistemas

CRIPTOGRAFÍA CLÁSICA

Criptosistemas

Docente: Juan Carlos Broncano Torres FISE Lima-Perú

Page 2: Criptosistemas

Es un sistema de criptografía y se define como una quíntupla (M, C, K, E, D), donde:

.

.

Page 3: Criptosistemas

.

.

¿Espacio de Claves Espacio de Mensajes?

Page 4: Criptosistemas

Observación. Alternativamente, podemos pensar en un sistema de cifrado como un conjunto de tres algoritmos eficientes computables: Un algoritmo de generación de claves Un algoritmo de cifrado, y Un algoritmo de descifrado. Aquí, la generación algorítmica de claves (implícita o explícitamente) define el espacio de claves K y la generación algorítmica de cifrado y de descifrado definen los espacios de texto plano y texto cifrado P y C.

.

PmmmED kk ;))((

Page 5: Criptosistemas

Confidencialidad e integridad

Medio de Transmisor Transmisión

Receptor M C

Cifrador Mensaje cifrado Descifrador

T R MT

C M

Los datos no son modificados

por un intruso

Privacidad

de los datos

Integridad

Confidencialidad

Estos dos aspectos básicos de la seguridad informática, el de la confidencialidad y el de integridad (además de la disponibilidad del sistema y el no repudio) serán muy importantes en un entorno de intercambio de información segura a través de Internet.

Page 6: Criptosistemas

Función Hash

En general, podemos decir que una función hash nos permite obtener una cadena de bits de longitud fija, relativamente corta, a partir de un mensaje de longitud arbitraria: H = h(M)

Para mensajes M iguales, la función h debe dar resúmenes H iguales. Pero si dos mensajes dan el mismo resumen H no deben ser necesariamente iguales. Esto es así porque sólo existe un conjunto limitado de posibles valores H, ya que su longitud es fija, y en cambio puede haber muchos más mensajes M (si la longitud puede ser cualquiera, habrá infinitos).

Para poderla aplicar en un sistema de autenticación, la función h debe ser una función hash segura.

Page 7: Criptosistemas

Firma Digital

los algoritmos de firma digital usados normalmente se basan en el cálculo de un hash y en un cifrado mediante una clave privada. Son ejemplos de algoritmos de firma el RSA, el ElGamal, y el estándar DSA (Digital Signature Algorithm).

En una función Hash criptografica correctamente diseñada, la probabilidad De que ocurra una colision es extremadamente baja: si la función Hash, h genera un resumen de n bits, entonces la probabilidad de que una cadena Arbitraria tenga un resumen determinado es de:

n2

Page 8: Criptosistemas

Cualquier medio de transmisión es inseguro

Según el tipo de claves se dividen en:

Cifrado con clave secreta.

Cifrado con clave pública.

a)

Sistemas simétricos

Sistemas asimétricos

Criptosistemas simétricos: Existirá una única clave (secreta) que deben compartir emisor y receptor. Con la misma clave se cifra y se descifra por lo que la seguridad reside en mantener dicha clave en secreto.

Existen dos tipos de criptosistemas:

Clasificación de los criptosistemas

Page 9: Criptosistemas

Tres debilidades en la cifra simétrica

a) Mala gestión de claves. Crece el número de claves secretas en una proporción igual a n2 para un valor n grande de usuarios lo que imposibilita usarlo. b) Mala distribución de claves. No existe posibilidad de enviar, de forma segura y eficiente, una clave a través de un medio o canal inseguro. c) No tiene firma digital. Aunque sí será posible autenticar el mensaje mediante una marca, no es posible firmar digitalmente el mensaje, al menos en un sentido amplio y sencillo.

Page 10: Criptosistemas

Criptosistemas asimétricos: Cada usuario crea un par de claves, una privada y otra pública. Lo que se cifra en emisión con una clave, se descifra en recepción con la clave inversa. La seguridad del sistema reside en la dificultad computacional de descubrir la clave privada a partir de la pública. Para ello, usan funciones matemáticas de un solo sentido o con trampa.

Page 11: Criptosistemas

Sistema híbrido de cifra y firma digital

Firma digital sobre Hash h(M)

Autenticación del usuario A e integridad de M

k k

h(M)

EA

h(M)

Usuario A

k privada de A

Usuario B

k pública de A

Cifrado asimétrico

DA C

M M

Cifrado simétrico del mensaje

k secreta

Dk(C) Ek(M) C

k secreta

Confidencialidad

Integridad

La confidencialidad y la integridad se obtienen por separado

M

Page 12: Criptosistemas

Según el tratamiento del mensaje se dividen en:

Cifrado en bloque (IDEA, AES, RSA ...) 64 ó 128 bits

Cifrado en flujo (A5, RC4, SEAL ...) cifrado bit a bit

b)

Cualquier medio de transmisión es inseguro

Criptosistemas en flujo: Es un criptosistema simétrico que divide el texto claro símbolo a símbolo a modo de cadena; para ello toma el texto en claro y lo cifra con una secuencia cifrante produciendo una cadena de texto cifrado. Se utiliza mucho en las telecomunicaciones. Por ejemplo, en una conversación de telefonía móvil la voz se digitaliza (es decir, se convierte a un flujo de bits) y se envía cifrada por la red de comunicaciones. Con el fin de no entorpecer la conversación, el proceso de cifrado debería ser lo bastante rápido como para no añadir retraso a la comunicación. Por ello, conviene que la operación de cifrado sea rápida.

XOR

Secuencia cifrante Si

Mensaje M

Bits del Criptograma

XOR Mensaje M

Secuencia cifrante Si

C C

Page 13: Criptosistemas

La figura siguiente muestra cómo se utiliza el cifrado de flujo. En concreto, cada bit de entrada al sistema de cifrado (el mensaje M) se combinará, usando la función lógica XOR, con el bit correspondiente del flujo clave S, para dar lugar al bit correspondiente al flujo de salida. El receptor hará el mismo proceso de combinación con la XOR para obtener el flujo descifrado.

La fortaleza de los sistemas de cifrado de flujo se basa en la clave utilizada para cifrar. Sin entrar en detalles, podríamos decir que se trata de una clave aleatoria y muy larga, a menudo tan larga como la tira de bits que se acabará cifrando. Ahora bien, ¿cómo podemos tener una clave aleatoria tan larga? Si es aleatoria, ¿cómo la podemos ofrecer al receptor de la información? La solución a estas cuestiones pasa por conocer el concepto de generador pseudoaleatorio

Page 14: Criptosistemas

Criptosistemas en bloque: Es un criptosistema simétrico que divide el texto claro en cadenas, o bloques, de tamaño t y cifra un bloque a la vez. Utiliza combinaciones complejas basadas en sustituciones y cambios de posición que se regirán por la clave de cifrado. Estos sistemas son más costosos, tanto a nivel de fabricación de dispositivos como a nivel computacional, que los sistemas de cifrado de flujo.

Page 15: Criptosistemas

Por ejemplo el Cifrado tipo Feistel.

Horst Feistel: inventor (IBM) del algoritmo LUCIFER a comienzos de los años 70. El algoritmo fue utilizado por el Reino Unido. En 1974 se propone a la NSA como estándar y en ese año dará origen al DES.

a) Dado un bloque de N bits (típico 64) éste se dividirá en dos mitades. b) Se define una función unidireccional F (muy difícil de invertir). c) Se realizan operaciones con la clave ki sólo con una mitad del bloque, y se permutan en cada vuelta las dos mitades,

operación que se repite durante n vueltas.

Un ejemplo básico de cifrado tipo Feistel

El algoritmo usará bloques de tamaño 8 caracteres. Tendrá dos vueltas y en cada vuelta realizará una operación de sustitución S y una permutación P sobre la 1ª mitad.

Sustitución: Si = (Mi+1)mod 27 Permutación: Pi = 3241 (el carácter 1º pasa a la 4ª posición en el criptograma, el 4º a la 3ª, el 2º a la 2ª y el 3º a la 1ª)

Page 16: Criptosistemas

Mensaje: M = STAR WARS, LA MISIÓN CONTINÚA

Cifrado tipo Feistel en cuerpo n = 27

M = STAR WARS, LA MISIÓN CONTINÚA

M1 = STAR WARS LAMI SION CONT INUA

S1 = TUBS WARS MBNJ SION DPÑU INUA

P1 = BUST WARS NBJM SION ÑPUD INUA

M2 = WARS BUST SION NBJM INUA ÑPUD

S2 = XBST BUST TJPÑ NBJM JÑVB ÑPUD

P2 = SBTX BUST PJÑT NBJM VÑBJ ÑPUD

Primera vuelta

Segunda vuelta

Si: (Mi+1)mod 27

Pi: 3241

C = SBTX BUST PJÑT NBJM VÑBJ ÑPUD Aunque le parezca increíble, el DES hará prácticamente lo mismo trabajando con bits y con funciones un poco más “complejas”.