SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
1
El algoritmo DES
• Data Encryption Standard
• Estándar del cifrado para los EE.UU
– 1970 NBS
– 1974 Lucifer IBM
– 1975 DEA IBM
– 1976 DES EE.UU standard
• Requisitos que debía cumplir:
– Alto nivel de seguridad
– Hipótesis de Kerckhoffs
– Disponibilidad para todos los usuarios
– Implementación en hardware
2
DES
• El algoritmo Lucifer
– Tamaño de bloque y clave mayor (128 bits)
• Ha sido estandarizado para el cifrado de
contraseñas
• Ha superado las sucesivas revisiones, que le han
otorgado las revalidaciones como estándar del NIST
• Implementaciones del DES alcanzan varias decenas de
Mbps
DES
• Bloques de cifrado de 64 bits
• Longitud de la clave 64 bits (56 bits)
• Técnicas básicas usadas en el algoritmo:
– Transposiciones, que le confieren propiedades
de difusión
– Sustituciones, que le otorgan características de
confusión
– Operaciones lógicas booleanas (o-exclusivo)
3
DES
Li-1 Ri-1
Li=Ri-1 Ri
Caja S
Caja P
Caja E
⊕
⊕
ki-1
Construcción de las claves
internas del DES
CLAVE
PC-1
Desp. Desp.
PC-2 K1
Desp. Desp.
K2
PC-2
4
Descifrado del DES
• El proceso es idéntico que en el caso del
cifrado.
• Las claves internas se aplican en orden
inverso, es decir desde la clave k16 a la
clave k1.
• Los desplazamientos que se realizan para la
construcción de las claves internas, se
realizan hacia la derecha.
Cifradores simétricos
n IDEA
u ‘92, X. Lay y J. Masey (Suiza)
u Criptosistema de bloque y simétrico
u Longitud de clave de 128bits
u Cifra bloques de 64 bits
u Operaciones:
F Xor
F x módulo 216
F + módulo 216
+1
5
Cifradores simétricos
n IDEA (continuación)
u 52 claves internas de 16 bits c.u.
u 8 ciclos
u Divide 64 bits de entrada en 4
bloques de 16 bits (1º ciclo)
u No existen debilidades descubiertas
u Resiste criptoanálisis diferencial
Esquema de IDEA
B1 B2 B3 B4
B1 B2 B3 B4
B1 B2 B3 B4
B1 B2 B3 B4
B1 B2 B3 B4
O1 O2 O3 O4
T1
T2
T3
T4
TF
8
CICLOS
(i)
Ki Ki+1 Ki+2 Ki+3
Ki+4 Ki+5
K49 K50 K51 K52
6
Transformaciones del IDEA
T1 Transformación 1
B1 = B1 x Ki
B2 = B2 + Ki+1
B3 = B3 + Ki+2
B4 = B4 x Ki+3
T2 Transformación 2
t1 = B2;
t2 = B3;
B3 = B3 Xor B1
B2 = B2 Xor B4
T3 Transformación 3
B3 = B3 x Ki+4
B2 = B2 + B3
B2 = B2 x Ki+5
B3 = B3 + B2
T4 Transformación 4
B1 = B1 Xor B2
B4 = B4 Xor B3
B2 = B2 Xor t2
B3 = B3 Xor t1
TF Transformación Final
O1 = B1 x K49
O2 = B3 + K50
O3 = B2 + K51
O4 = B4 x K52
Construcción de las
52 claves internas
1- La clave introducida por el usuario se divide en 8
subclaves de 16 bits (las primeras 8 claves
internas)
2- Los 128 bits anteriores se desplazan hacia la
izquierda 25 posiciones (con retroalimentación).
3- El resultado del paso 2 se divide en 8 trozos de 16
bits que significan las siguientes 8 claves internas.
4- Repetir los pasos 2 y 3 hasta conseguir las 52
claves internas (despreciar las que sobren)
7
Descifrado de IDEA
• El proceso es idéntico, excepto en las claves utilizadas.
1º ciclo k49* k50# k51# k52* k47 k48
2º ciclo k43* k45# k44# k46* k41 k42
3º ciclo k37* k39# k38# k39* k35 k36
4º ciclo k31* k33# k32# k34* k29 k30
5º ciclo k25* k27# k26# k28* k23 k24
6º ciclo k19* k21# k20# k22* k17 k18
7º ciclo k13* k15# k14# k16* k11 k12
8º ciclo k7* k9# k8# k10* k5 k6
Transformacion final.....k1* k2# k3# k4*
kXX* = inverso multiplicativo de sXX mod ((2^16)+1)
kXX# = inverso aditivo de sXX mod (2^16)
El algoritmo Rijndael
• Cifrador de bloque que puede procesar bloques de datos de 128 bits
usando claves de cifrado de 128, 192 ó 256 bits.
• La función de transformación o de cifrado, que tiene lugar en cada
iteración, está compuesta a su vez de cuatro transformaciones
(orientadas a byte) diferentes :
• SubBytes(), ShiftRows(), MixColumns(), AddRoundKey()
• El número de rondas se determina de acuerdo a la siguiente tabla.
Donde Nb es el nº de bits del bloque dividido por 32 y Nk es el nº de
bits de la clave divididos por 32.
8
Rijndael
Rijndael
Iteración estándar
(SubBytes)
(ShiftRows)
(MixColumns)
(AddRoundKey)
Iteración estándar
(SubBytes)
(ShiftRows)
(MixColumns)
(AddRoundKey)
Texto inicial
Texto inicial
Iteración inicial
(AddRoundKey)
Iteración inicial
(AddRoundKey)
Iteración final
(SubBytes)
(ShiftRows)
(AddRoundKey)
Iteración final
(SubBytes)
(ShiftRows)
(AddRoundKey)
Texto cifrado
Texto cifrado
r-1 iteraciones
9
Bi,j K[0]i,j Bi,j
32 88 31 e0 2b 28 ab 09 19 a0 9a e9
43 5a 31 37 7e ae f7 cf 3d f4 c6 f8
XOR =
f6 30 98 07 15 d2 15 4f e3 e2 8d 48
a8 8d a2 34 16 a6 88 3c be 2b 2a 08
Iteración inicial
Iteración inicial (AddRoundKey)
(AddRoundKey)
Texto inicial
Subclave
correspondiente a
esta iteración
Resultado de la
iteración
SubBytes
SubBytes
10
La caja S está representada por la siguiente tabla:
19 a0 9a e9 d4 e0 b8 1e
3d f4 c6 f8 27 bf b4 41
e3 e2 8d 48 11 98 5d 52
be 2b 2a 08 ae f1 e5 30
ShiftRows
d4 e0 b8 1e d4 e0 b8 1e
27 bf b4 41 bf b4 41 27
11 98 5d 52 5d 52 11 98
ae f1 e5 30 30 ae f1 e5
11
MixColumns
Esta transformación opera con la matriz de Estado columna por
columna, tratando cada una como un polinomio de cuatro términos
en GF(28), y, multiplicándolas módulo (x4 + 1) por un polinomio
a(x), dado por:
a(x) = {03}x3 + {01}x2 + {01}x + {02}
Esto puede ser escrito como una multiplicación de matrices.
Permitamos s'(x)=a(x)⊕s(x):
























=














c
c
c
c
c
c
c
c
s
s
s
s
s
s
s
s
,
3
,
2
,
1
,
0
'
,
3
'
,
2
'
,
1
'
,
0
02
01
01
03
03
02
01
01
01
03
02
01
01
01
03
02
para 0 ≤ c < Nb
AddRoundKey
[s'0,c , s'1,c , s'2,c , s'3,c] = s0,c , s1,c , s2,c , s3,c] ⊕ [Wround∗4+c] para 0 ≤ c < 4,
04 e0 48 28 a0 88 23 2a a4 68 6b 02
66 cb f8 06 fa 54 a3 6c 9c 9f 5b 6a
XOR =
81 19 d3 26 fe 2c 39 76 7f 35 ea 50
e5 9a 7a 4c 17 b1 39 05 f2 2b 43 49
12
Descifrado
InvShiftRows()
•InvSubBytes()
•InvMixColumns()
•AddRoundKey()
InvShiftRows
13
InvSubBytes
.
InvMixColumns
InvMixColumns() es la inversa de la transformación MixColumns(). Esta
transformación opera con la matriz de Estado columna por columna, tratando
cada una como un polinomio de cuatro términos en GF(28), y, multiplicándolas
módulo (x4 + 1) por un polinomio fijo a-1(x), dado por:
a-1(x) = {0b}x3 + {0d}x2 + {09}x + {0e}
























=














c
c
c
c
c
c
c
c
s
s
s
s
e
d
b
b
e
d
d
b
e
d
b
e
s
s
s
s
,
3
,
2
,
1
,
0
'
,
3
'
,
2
'
,
1
'
,
0
0
09
0
0
0
0
09
0
0
0
0
09
09
0
0
0
para 0 ≤ c < Nb

Más contenido relacionado

Similar a Cifradores

Solucion examenfeb12
Solucion examenfeb12Solucion examenfeb12
Solucion examenfeb12
xavazquez
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
Luis Zurita
 

Similar a Cifradores (20)

Conferencia no 9
Conferencia no 9Conferencia no 9
Conferencia no 9
 
Common Scrambling Algorithm al descubierto
Common Scrambling Algorithm  al descubiertoCommon Scrambling Algorithm  al descubierto
Common Scrambling Algorithm al descubierto
 
Algoritmo Blowfish y TwoFish
Algoritmo Blowfish y TwoFishAlgoritmo Blowfish y TwoFish
Algoritmo Blowfish y TwoFish
 
ALGORITMO DES
ALGORITMO DESALGORITMO DES
ALGORITMO DES
 
Des
DesDes
Des
 
Solucion examenfeb12
Solucion examenfeb12Solucion examenfeb12
Solucion examenfeb12
 
Criptografia convencional
Criptografia convencionalCriptografia convencional
Criptografia convencional
 
SHA-1 de 0 a #fail - Andsec 2017 - Mateo Martinez
SHA-1 de 0 a #fail - Andsec 2017 - Mateo MartinezSHA-1 de 0 a #fail - Andsec 2017 - Mateo Martinez
SHA-1 de 0 a #fail - Andsec 2017 - Mateo Martinez
 
Aes tipo de encriptacion ppt utp
Aes tipo de encriptacion  ppt  utp Aes tipo de encriptacion  ppt  utp
Aes tipo de encriptacion ppt utp
 
Ejercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfEjercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdf
 
Matlab2
Matlab2Matlab2
Matlab2
 
Matlab2
Matlab2Matlab2
Matlab2
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Exposicion
ExposicionExposicion
Exposicion
 
Exposicion
ExposicionExposicion
Exposicion
 
Rooted2015 - Ingenieria inversa de circuitos integrados
Rooted2015 - Ingenieria inversa de circuitos integradosRooted2015 - Ingenieria inversa de circuitos integrados
Rooted2015 - Ingenieria inversa de circuitos integrados
 
Itcr el 3310 i semestre 2008 soluciones
Itcr el 3310  i semestre 2008 solucionesItcr el 3310  i semestre 2008 soluciones
Itcr el 3310 i semestre 2008 soluciones
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Microcontroladores: mikroBasic para microcontroladores PIC
Microcontroladores: mikroBasic para microcontroladores PICMicrocontroladores: mikroBasic para microcontroladores PIC
Microcontroladores: mikroBasic para microcontroladores PIC
 
Procesadores
ProcesadoresProcesadores
Procesadores
 

Último

sistema político Mariangel Adjam Mapa mental
sistema político Mariangel Adjam Mapa mentalsistema político Mariangel Adjam Mapa mental
sistema político Mariangel Adjam Mapa mental
MariangelAdjam
 
Razones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdfRazones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdf
KristellCordova
 

Último (12)

P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
 
Presentacion De Imagenes Digitales Y Navegadores De Internet.
Presentacion De Imagenes Digitales Y Navegadores De Internet.Presentacion De Imagenes Digitales Y Navegadores De Internet.
Presentacion De Imagenes Digitales Y Navegadores De Internet.
 
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidianaPerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
PerezGallegos_Claudia_M1S3Al6.pptx las tic en la vida cotidiana
 
Manual-Microsoft-Office-Excel-2i010-basico.pdf
Manual-Microsoft-Office-Excel-2i010-basico.pdfManual-Microsoft-Office-Excel-2i010-basico.pdf
Manual-Microsoft-Office-Excel-2i010-basico.pdf
 
COMO PUBLICAR UNA PRESENTACION GRAFICA EN INTERNET .pptx
COMO PUBLICAR UNA PRESENTACION GRAFICA EN INTERNET .pptxCOMO PUBLICAR UNA PRESENTACION GRAFICA EN INTERNET .pptx
COMO PUBLICAR UNA PRESENTACION GRAFICA EN INTERNET .pptx
 
ciberseguridad y seguridad informatica- alex jaren.pptx
ciberseguridad y seguridad informatica- alex jaren.pptxciberseguridad y seguridad informatica- alex jaren.pptx
ciberseguridad y seguridad informatica- alex jaren.pptx
 
PARTES DE LA PANTALLA DE POWER POINT.pptx
PARTES DE LA PANTALLA DE POWER POINT.pptxPARTES DE LA PANTALLA DE POWER POINT.pptx
PARTES DE LA PANTALLA DE POWER POINT.pptx
 
sistema político Mariangel Adjam Mapa mental
sistema político Mariangel Adjam Mapa mentalsistema político Mariangel Adjam Mapa mental
sistema político Mariangel Adjam Mapa mental
 
Imagen creada en photopea con el fin de informar acerca de los navegadores web.
Imagen creada en photopea con el fin de informar acerca de los navegadores web.Imagen creada en photopea con el fin de informar acerca de los navegadores web.
Imagen creada en photopea con el fin de informar acerca de los navegadores web.
 
Razones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdfRazones_para_estar_en_contra_del_aborto.pdf
Razones_para_estar_en_contra_del_aborto.pdf
 
Cuadernooooooo_ESI_Secundaria_2_2017.pdf
Cuadernooooooo_ESI_Secundaria_2_2017.pdfCuadernooooooo_ESI_Secundaria_2_2017.pdf
Cuadernooooooo_ESI_Secundaria_2_2017.pdf
 
Dominios_De_Internet.pdf
Dominios_De_Internet.pdfDominios_De_Internet.pdf
Dominios_De_Internet.pdf
 

Cifradores

  • 1. 1 El algoritmo DES • Data Encryption Standard • Estándar del cifrado para los EE.UU – 1970 NBS – 1974 Lucifer IBM – 1975 DEA IBM – 1976 DES EE.UU standard • Requisitos que debía cumplir: – Alto nivel de seguridad – Hipótesis de Kerckhoffs – Disponibilidad para todos los usuarios – Implementación en hardware
  • 2. 2 DES • El algoritmo Lucifer – Tamaño de bloque y clave mayor (128 bits) • Ha sido estandarizado para el cifrado de contraseñas • Ha superado las sucesivas revisiones, que le han otorgado las revalidaciones como estándar del NIST • Implementaciones del DES alcanzan varias decenas de Mbps DES • Bloques de cifrado de 64 bits • Longitud de la clave 64 bits (56 bits) • Técnicas básicas usadas en el algoritmo: – Transposiciones, que le confieren propiedades de difusión – Sustituciones, que le otorgan características de confusión – Operaciones lógicas booleanas (o-exclusivo)
  • 3. 3 DES Li-1 Ri-1 Li=Ri-1 Ri Caja S Caja P Caja E ⊕ ⊕ ki-1 Construcción de las claves internas del DES CLAVE PC-1 Desp. Desp. PC-2 K1 Desp. Desp. K2 PC-2
  • 4. 4 Descifrado del DES • El proceso es idéntico que en el caso del cifrado. • Las claves internas se aplican en orden inverso, es decir desde la clave k16 a la clave k1. • Los desplazamientos que se realizan para la construcción de las claves internas, se realizan hacia la derecha. Cifradores simétricos n IDEA u ‘92, X. Lay y J. Masey (Suiza) u Criptosistema de bloque y simétrico u Longitud de clave de 128bits u Cifra bloques de 64 bits u Operaciones: F Xor F x módulo 216 F + módulo 216 +1
  • 5. 5 Cifradores simétricos n IDEA (continuación) u 52 claves internas de 16 bits c.u. u 8 ciclos u Divide 64 bits de entrada en 4 bloques de 16 bits (1º ciclo) u No existen debilidades descubiertas u Resiste criptoanálisis diferencial Esquema de IDEA B1 B2 B3 B4 B1 B2 B3 B4 B1 B2 B3 B4 B1 B2 B3 B4 B1 B2 B3 B4 O1 O2 O3 O4 T1 T2 T3 T4 TF 8 CICLOS (i) Ki Ki+1 Ki+2 Ki+3 Ki+4 Ki+5 K49 K50 K51 K52
  • 6. 6 Transformaciones del IDEA T1 Transformación 1 B1 = B1 x Ki B2 = B2 + Ki+1 B3 = B3 + Ki+2 B4 = B4 x Ki+3 T2 Transformación 2 t1 = B2; t2 = B3; B3 = B3 Xor B1 B2 = B2 Xor B4 T3 Transformación 3 B3 = B3 x Ki+4 B2 = B2 + B3 B2 = B2 x Ki+5 B3 = B3 + B2 T4 Transformación 4 B1 = B1 Xor B2 B4 = B4 Xor B3 B2 = B2 Xor t2 B3 = B3 Xor t1 TF Transformación Final O1 = B1 x K49 O2 = B3 + K50 O3 = B2 + K51 O4 = B4 x K52 Construcción de las 52 claves internas 1- La clave introducida por el usuario se divide en 8 subclaves de 16 bits (las primeras 8 claves internas) 2- Los 128 bits anteriores se desplazan hacia la izquierda 25 posiciones (con retroalimentación). 3- El resultado del paso 2 se divide en 8 trozos de 16 bits que significan las siguientes 8 claves internas. 4- Repetir los pasos 2 y 3 hasta conseguir las 52 claves internas (despreciar las que sobren)
  • 7. 7 Descifrado de IDEA • El proceso es idéntico, excepto en las claves utilizadas. 1º ciclo k49* k50# k51# k52* k47 k48 2º ciclo k43* k45# k44# k46* k41 k42 3º ciclo k37* k39# k38# k39* k35 k36 4º ciclo k31* k33# k32# k34* k29 k30 5º ciclo k25* k27# k26# k28* k23 k24 6º ciclo k19* k21# k20# k22* k17 k18 7º ciclo k13* k15# k14# k16* k11 k12 8º ciclo k7* k9# k8# k10* k5 k6 Transformacion final.....k1* k2# k3# k4* kXX* = inverso multiplicativo de sXX mod ((2^16)+1) kXX# = inverso aditivo de sXX mod (2^16) El algoritmo Rijndael • Cifrador de bloque que puede procesar bloques de datos de 128 bits usando claves de cifrado de 128, 192 ó 256 bits. • La función de transformación o de cifrado, que tiene lugar en cada iteración, está compuesta a su vez de cuatro transformaciones (orientadas a byte) diferentes : • SubBytes(), ShiftRows(), MixColumns(), AddRoundKey() • El número de rondas se determina de acuerdo a la siguiente tabla. Donde Nb es el nº de bits del bloque dividido por 32 y Nk es el nº de bits de la clave divididos por 32.
  • 8. 8 Rijndael Rijndael Iteración estándar (SubBytes) (ShiftRows) (MixColumns) (AddRoundKey) Iteración estándar (SubBytes) (ShiftRows) (MixColumns) (AddRoundKey) Texto inicial Texto inicial Iteración inicial (AddRoundKey) Iteración inicial (AddRoundKey) Iteración final (SubBytes) (ShiftRows) (AddRoundKey) Iteración final (SubBytes) (ShiftRows) (AddRoundKey) Texto cifrado Texto cifrado r-1 iteraciones
  • 9. 9 Bi,j K[0]i,j Bi,j 32 88 31 e0 2b 28 ab 09 19 a0 9a e9 43 5a 31 37 7e ae f7 cf 3d f4 c6 f8 XOR = f6 30 98 07 15 d2 15 4f e3 e2 8d 48 a8 8d a2 34 16 a6 88 3c be 2b 2a 08 Iteración inicial Iteración inicial (AddRoundKey) (AddRoundKey) Texto inicial Subclave correspondiente a esta iteración Resultado de la iteración SubBytes SubBytes
  • 10. 10 La caja S está representada por la siguiente tabla: 19 a0 9a e9 d4 e0 b8 1e 3d f4 c6 f8 27 bf b4 41 e3 e2 8d 48 11 98 5d 52 be 2b 2a 08 ae f1 e5 30 ShiftRows d4 e0 b8 1e d4 e0 b8 1e 27 bf b4 41 bf b4 41 27 11 98 5d 52 5d 52 11 98 ae f1 e5 30 30 ae f1 e5
  • 11. 11 MixColumns Esta transformación opera con la matriz de Estado columna por columna, tratando cada una como un polinomio de cuatro términos en GF(28), y, multiplicándolas módulo (x4 + 1) por un polinomio a(x), dado por: a(x) = {03}x3 + {01}x2 + {01}x + {02} Esto puede ser escrito como una multiplicación de matrices. Permitamos s'(x)=a(x)⊕s(x):                         =               c c c c c c c c s s s s s s s s , 3 , 2 , 1 , 0 ' , 3 ' , 2 ' , 1 ' , 0 02 01 01 03 03 02 01 01 01 03 02 01 01 01 03 02 para 0 ≤ c < Nb AddRoundKey [s'0,c , s'1,c , s'2,c , s'3,c] = s0,c , s1,c , s2,c , s3,c] ⊕ [Wround∗4+c] para 0 ≤ c < 4, 04 e0 48 28 a0 88 23 2a a4 68 6b 02 66 cb f8 06 fa 54 a3 6c 9c 9f 5b 6a XOR = 81 19 d3 26 fe 2c 39 76 7f 35 ea 50 e5 9a 7a 4c 17 b1 39 05 f2 2b 43 49
  • 13. 13 InvSubBytes . InvMixColumns InvMixColumns() es la inversa de la transformación MixColumns(). Esta transformación opera con la matriz de Estado columna por columna, tratando cada una como un polinomio de cuatro términos en GF(28), y, multiplicándolas módulo (x4 + 1) por un polinomio fijo a-1(x), dado por: a-1(x) = {0b}x3 + {0d}x2 + {09}x + {0e}                         =               c c c c c c c c s s s s e d b b e d d b e d b e s s s s , 3 , 2 , 1 , 0 ' , 3 ' , 2 ' , 1 ' , 0 0 09 0 0 0 0 09 0 0 0 0 09 09 0 0 0 para 0 ≤ c < Nb