PDF de programación - Capítulo 12 - Cifrado Simétrico en Bloque

Imágen de pdf Capítulo 12 - Cifrado Simétrico en Bloque

Capítulo 12 - Cifrado Simétrico en Bloquegráfica de visualizaciones

Publicado el 9 de Junio del 2018
201 visualizaciones desde el 9 de Junio del 2018
1,3 MB
119 paginas
Creado hace 13a (08/03/2006)
Capítulo 12

Cifrado Simétrico en Bloque

Seguridad Informática y Criptografía

Ultima actualización del archivo: 01/03/06
Este archivo tiene: 119 diapositivas

v 4.1

Material Docente de
Libre Distribución

Dr. Jorge Ramió Aguirre
Universidad Politécnica de Madrid

Este archivo forma parte de un curso completo sobre Seguridad Informática y Criptografía. Se autoriza el uso,
reproducción en computador y su impresión en papel, sólo con fines docentes y/o personales, respetando los
créditos del autor. Queda prohibida su comercialización, excepto la edición en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informática de la Universidad Politécnica de Madrid, España.

Curso de Seguridad Informática y Criptografía © JRA

Capítulo 12: Cifrado Simétrico en Bloque

Página 473

Cifrado y descifrado genérico en bloque

MENSAJE (N bits)

BLOQUE A

BLOQUE B

N/2



FUNCIÓN f

Xi



A ⊕ Xi

N/2

ki



B ⊕ Xi

© Jorge Ramió Aguirre Madrid (España) 2006

A ⊕ Xi

B ⊕ Xi



FUNCIÓN f

Xi

ki





B
A
Puesto que Y ⊕ Xi ⊕ Xi = Y

Capítulo 12: Cifrado Simétrico en Bloque

Página 474

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.

• Dado un bloque de N bits (típico 64) éste

se dividirá en dos mitades.

• Existirá una función unidireccional F

(muy difícil de invertir).

• 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.

http://en.wikipedia.org/wiki/Feistel_network



© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 475

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: Ci = (Mi +1 ) mod 27
Permutación: Ci = ∏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

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 476

Cifrado tipo Feistel en cuerpo n = 27

M = STAR WARS, LA MISIÓN CONTINÚA
M = STAR WARS, LA MISIÓN CONTINÚA
M1 = STAR WARS LAMI SION CONT INUA
M1 = STAR WARS LAMI SION CONT INUA
S1 = TUBS WARS MBNJ SION DPÑU INUA
S1 = TUBS WARS MBNJ SION DPÑU INUA
P1 = BUST WARS NBJM SION ÑPUD INUA
P1 = BUST WARS NBJM SION ÑPUD INUA
M2 = WARS BUST SION NBJM INUA ÑPUD
M2 = WARS BUST SION NBJM INUA ÑPUD
S2 = XBST BUST TJPÑ NBJM JÑVB ÑPUD
S2 = XBST BUST TJPÑ NBJM JÑVB ÑPUD
P2 = SBTX BUST PJÑT NBJM VÑBJ ÑPUD
P2 = SBTX BUST PJÑT NBJM VÑBJ ÑPUD

Si: +1 mod 27
Pi: ∏3241
Primera
vuelta

Segunda
vuelta

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”.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 477

Cifradores de bloque más conocidos

Algoritmo Bloque (bits)
Lucifer 128
64
DES
64
Loki
RC2
64
64
CAST
Blowfish
64
64
IDEA

Clave (bits)

Vueltas

128
56
64

variable

64

variable
128

16
16
16
--
8
16
8

Skipjack
Rijndael

64
128

80

128 o más

32


flexible

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 478

Características de estos algoritmos (1)

• Lucifer: algoritmo original tipo Feistel usado a comienzos de
los años 70 por en el Reino Unido y que posteriormente dará
lugar al DES.
• DES: algoritmo tipo Feistel que 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.
• Loki: algoritmo australiano similar al DES, también de tipo
Feistel.
• RC2: algoritmo propuesto por Ron Rivest y que se incluye en
navegadores de Internet desde 1999.
• CAST: algoritmo canadiense tipo Feistel que se ofrece como
uno de los algoritmos de cifra en últimas versiones de PGP.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 479

Características de estos algoritmos (2)

• Blowfish: algoritmo de tipo Feistel propuesto por Bruce
Schneier.
• IDEA: algoritmo europeo usado principalmente en el correo
electrónico PGP.
• Skipjack: propuesta de nuevo estándar en USA a finales de
los 90 para comunicaciones oficiales (tiene puerta trasera).
• Rijndael: nuevo estándar mundial desde finales de 2001,
conocido como AES, Advanced Encryption Standard.
Encontrará las especificaciones de éstos y otros algoritmos de
cifra simétrica y asimétrica en la siguiente página web.

http://www.quadibloc.com/crypto/intro.htm



© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 480

Otros cifradores de bloque

128
64
64
64

Algoritmo Bloque (bits)
Twofish
Khufu
Khafre
Gost
RC5
SAFER 64
Akelarre
FEAL

variable

variable

64

64

Clave (bits)

Vueltas
variable variable
16, 24, 32
más vueltas

32

variable

8

variable

32

512
128
256

variable

64

variable

64

De éstos, los más conocidos son Twofish -uno de los candidatos a
AES- y que lo encontraremos en últimas versiones de PGP y RC5.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 481

Características de estos algoritmos

• Twofish: Propuesto por Bruce Schneir después de Blowfish, de
tipo Feistel, diseño simple, sin claves débiles y multiplataforma.

• Khufu: algoritmo propuesto por Ralph Merkle con una clave

generada con un sistema de “cajas” S.

• Khafre: algoritmo propuesto por Ralph Merkle en el que la

clave ya no depende de las cajas S.

• Gost: algoritmo similar al DES con cajas S secretas propuesto

en la Unión Soviética.

• RC5: algoritmo propuesto por Ron Rivest; realiza operaciones

or exclusivo, suma modular y desplazamiento de bits.

• SAFER 64: algoritmo propuesto por James Massey.
• Akelarre: algoritmo español propuesto en 1996 por el CSIC,

Consejo Superior de Investigaciones Científicas.

• FEAL: algoritmo propuesto en Japón.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 482

Algunas tasas de cifra comparativas

Velocidad de cifra de algoritmos en un PC 486 a 33 MHz

Algoritmo Kbytes/seg
DES
IDEA
Khufu (16 v)
RC5 (8 v)
SAFER (6 v)
Blowfish (12 v)

35
53
221
127
81
182

Algoritmo Kbytes/seg
Triple DES 12
FEAL (32 v) 91
Khufu (32 v) 115
RC5 (16 v) 65
SAFER (12 v) 41
Blowfish (20 v) 110

Fuente: Criptografía Digital. Fundamentos y
Aplicaciones. José Pastor y Miguel Angel Sarasa,
Prensas Universitarias de Zaragoza (1998).

Dada la baja velocidad
del PC ☺, estos valores
son sólo indicativos
para una comparación.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 483

Algoritmos DES, IDEA y AES

Profundizaremos en estas diapositivas en los algoritmos
DES, Triple DES, IDEA y AES.

¿Por qué?

DES es un cifrador de Feistel, ha sido un estándar y en

aplicaciones bancarias se seguirá usando durante algún tiempo.

DES es de muy fácil comprensión y usa cajas S al igual que

varios algoritmos más modernos como el actual estándar AES.

Triple DES sigue siendo un estándar en e-commerce.
IDEA es un algoritmo seguro que hace uso de los conceptos de

inversos en un cuerpo finito, como todos los algoritmos de
cifra modernos, y se usa entre otros en la aplicación PGP.

AES (Rijndael) es el nuevo estándar de cifra avanzada.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 484

Modos de cifra

Todos los algoritmos pueden usarse aplicando diversos
modos de cifra, entre ellos:

- ECB: Electronic CodeBook (libro electrónico de códigos)
- CBC: Cipher Block Chaining (encadenamiento de bloques)
- CFB: Cipher FeedBack (realimentación de bloques)
- OFB: Output FeedBack (realimentación bloque de salida)

Analizaremos cada uno de ellos para el caso del DES,
aunque el estudio es extensible a todos los demás ya que en
estos modos el cifrador se considera una caja negra.

http://www.itl.nist.gov/fipspubs/fip81.htm



© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 485

Data Encryption Standard DES

DES (Data Encryption Standard) ha sido el estándar utilizado
mundialmente durante 25 años, generalmente en la banca. Hoy
presenta signos de envejecimiento y ha sucumbido a los diversos
criptoanálisis que contra él se viene realizando hace ya años.

FECHAS DE INTERÉS

1973: En EEUU la NBS National Bureaux of Standards llama a
concurso público para buscar un algoritmo criptográfico estándar.
1974: La NSA National Security Agency declara desierto el
primer concurso, publica unas segundas especificaciones y elige
Lucifer, algoritmo original de IBM (años 70) con variaciones.
1976: El DES se adopta como estándar y se autoriza para ser
utilizado en las comunicaciones no clasificadas del gobierno.

© Jorge Ramió Aguirre Madrid (España) 2006

Capítulo 12: Cifrado Simétrico en Bloque

Página 486

Especificaciones del algoritmo DES

Especificaciones del concurso

• El nivel de seguridad computacional debe ser alto.
• El algoritmo debe ser fácil de entender y deberá estar

especificado en todos sus detalles.

• La seguridad del sistema no debe verse afectada por la

publi
  • Links de descarga
http://lwp-l.com/pdf11742

Comentarios de: Capítulo 12 - Cifrado Simétrico en Bloque (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad