CRIPTOGRAFÍA CLÁSICA
Criptosistemas
Docente: Juan Carlos Broncano Torres
FISE Lima-Perú
Es un sistema de criptografía y se define como una quíntupla (M, C, K, E, D), donde:
.
.
.
.
¿Espacio de Claves  Espacio de Mensajes?
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  ;))((
Confidencialidad e integridad
Medio de
Transmisor Transmisión
ReceptorM C
Cifrador Mensaje cifrado Descifrador
T RMT
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.
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.
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:
n
2
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
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.
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.
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
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
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
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.
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ª)
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”.

Criptosistemas

  • 1.
    CRIPTOGRAFÍA CLÁSICA Criptosistemas Docente: JuanCarlos Broncano Torres FISE Lima-Perú
  • 2.
    Es un sistemade criptografía y se define como una quíntupla (M, C, K, E, D), donde: . .
  • 3.
    . . ¿Espacio de Claves Espacio de Mensajes?
  • 4.
    Observación. Alternativamente, podemos pensaren 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  ;))((
  • 5.
    Confidencialidad e integridad Mediode Transmisor Transmisión ReceptorM C Cifrador Mensaje cifrado Descifrador T RMT 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.
  • 6.
    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.
  • 7.
    Firma Digital los algoritmosde 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: n 2
  • 8.
    Cualquier medio detransmisió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
  • 9.
    Tres debilidades enla 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.
  • 10.
    Criptosistemas asimétricos: Cada usuariocrea 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.
  • 11.
    Sistema híbrido decifra 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
  • 12.
    Según el tratamientodel 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
  • 13.
    La figura siguientemuestra 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
  • 14.
    Criptosistemas en bloque: Esun 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.
  • 15.
    Por ejemplo elCifrado 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ª)
  • 16.
    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”.