tema 3. criptografía simétrica: cifrado en bloque - CryptULL
tema 3. criptografía simétrica: cifrado en bloque - CryptULL
tema 3. criptografía simétrica: cifrado en bloque - CryptULL
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
–<br />
Canal seguro<br />
Clave pública Clave secreta<br />
Análisis de riesgos 1
Criptosis<strong>tema</strong>s<br />
modernos<br />
Clave secreta Clave pública<br />
Cifrado <strong>en</strong> flujo Cifrado <strong>en</strong> <strong>bloque</strong><br />
Transformación<br />
inicial<br />
Función<br />
criptográficam<strong>en</strong>te<br />
débil<br />
Transformación<br />
final<br />
Alg. de Expansión<br />
de clave<br />
Análisis de riesgos 2
!"#<br />
$ %& '(<br />
) $ * + , '<br />
$ - *<br />
( & , ' .<br />
/01 ) $<br />
2 3 + 2<br />
4'0,<br />
4 5 6 / 5<br />
) 7 # 8 2<br />
$ ,<br />
'9 2 - ) :<br />
)) ,<br />
0 * ) )<br />
) ; : ) $<br />
5 6 < 3 $<br />
) $ <<br />
) : 6 ,<br />
4'0<br />
- ,<br />
' 2 = + ,<br />
& * ) ) 5 ) ,<br />
4'0<br />
A 32 bits<br />
Entrada: 64 bits<br />
& ) $ 2 ) $ ) ) : )<br />
4'1 & >?><br />
1'0 / 2<br />
B 32 bits<br />
Análisis de riesgos 3<br />
7
4 ' ) 3<br />
0<br />
. )<br />
) ) @5 )<br />
$ 2<br />
) - ,<br />
. " - ) ) :<br />
% ) - !"#<br />
)) ,<br />
. 7 4'0<br />
) $ 2 ) -<br />
) $ ) )<br />
5 ''&&<br />
4 + !" 3 /01,<br />
' 2 ''&& .<br />
) )<br />
% 5 6 7<br />
5<br />
% ) 7 5<br />
7 )<br />
-<br />
& ) ) A<br />
0# 3 $ ) ><<br />
>#<br />
3 $ $ )<br />
= B 3 - B<br />
$ : 3 9 :<br />
$<br />
5 6 -<br />
,<br />
64-bit Input<br />
Permutation<br />
Round 1<br />
Round 2<br />
…...<br />
Round 16<br />
Permutation<br />
64-bit Output<br />
Initial Permutation<br />
48-bit K1<br />
56-bit Key<br />
48-bit K2<br />
G<strong>en</strong>erate keys<br />
48-bit K16<br />
Final Permutation<br />
Análisis de riesgos 4
) $ $ * "<br />
5 5<br />
- $ " "<br />
-<br />
) $ . #<<br />
C C.<br />
1 ) $ ) :<br />
5 -<br />
- <<br />
)<br />
- D<br />
- $ <<br />
)<br />
- E D<br />
01 02 03 04 05 06 07 08<br />
09 10 11 12 13 14 15 16<br />
17 18 19 20 21 22 23 24<br />
25 26 27 28 29 30 31 32<br />
33 34 35 36 37 38 39 40<br />
41 42 43 44 45 46 47 48<br />
49 50 51 52 53 54 55 56<br />
57 58 59 60 61 62 63 64<br />
57 49 41 33 25 17 9 01<br />
58 50 42 34 26 18 10 02<br />
59 51 43 35 27 19 11 03<br />
60 52 44 36 28 20 12 04<br />
61 53 45 37 29 21 13 05<br />
62 54 46 38 30 22 14 06<br />
63 55 47 39 31 23 15 07<br />
64 56 48 40 32 24 16 08<br />
58 50 42 34 26 18 10 02<br />
60 52 44 36 28 20 12 04<br />
62 54 46 38 30 22 14 06<br />
64 56 48 40 32 24 16 08<br />
57 49 41 33 25 17 09 01<br />
59 51 43 35 27 19 11 03<br />
61 53 45 37 29 21 13 05<br />
Análisis de riesgos 5<br />
.
4 : $<br />
0 $ $<br />
)= ( )<br />
9 : 5<br />
% ) 7 5<br />
* < $ 3<br />
)) 5<br />
F ) ,<br />
% $ )= (<br />
3 ) F $ GH(<br />
0 ) 5<br />
5 $<br />
A 0<br />
0 $<br />
' $ GH(<br />
) $ *6 %<br />
! "<br />
32 1 2 3 4 5<br />
4 5 6 7 8 9<br />
8 9 10 11 12 13<br />
12 13 14 15 16 17<br />
16 17 18 19 20 21<br />
20 21 22 23 24 25<br />
24 25 26 27 28 29<br />
28 29 30 31 32 1<br />
Análisis de riesgos 6
$ ) : > 7<br />
5<br />
0 = $<br />
5 ,<br />
Permutación PC-1<br />
57 49 41 33 25 17 9<br />
1 58 50 42 34 26 18<br />
10 2 59 51 43 35 27<br />
19 11 3 60 52 44 36<br />
63 55 47 39 31 23 15<br />
7 62 54 46 38 30 22<br />
14 6 61 53 45 37 29<br />
21 13 5 28 20 12 4<br />
> $ ) : ><br />
5 ) ) $ :<br />
#<br />
#<br />
0 = $ 5<br />
.< < < < < < <<br />
,<br />
& ) ) : ,<br />
Permutación PC-2<br />
4 17 11 24 1 5<br />
3 28 15 6 21 10<br />
23 19 12 4 26 8<br />
16 7 27 20 13 2<br />
41 52 31 37 47 55<br />
!" 30 !##!#$<br />
40 51 45 33 48<br />
44 49 39 56 34 53<br />
46 42 50 36 29 32<br />
Análisis de riesgos 7
4 * $<br />
I < J <
$ ! % &<br />
S 1<br />
F<br />
I<br />
L<br />
A<br />
S<br />
S 2<br />
F<br />
I<br />
L<br />
A<br />
S<br />
0<br />
1<br />
2<br />
3<br />
0<br />
1<br />
2<br />
3<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7<br />
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8<br />
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0<br />
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10<br />
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5<br />
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15<br />
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9<br />
$ ! ' (<br />
S 3<br />
F<br />
I<br />
L<br />
A<br />
S<br />
S 4<br />
F<br />
I<br />
L<br />
A<br />
S<br />
0<br />
1<br />
2<br />
3<br />
0<br />
1<br />
2<br />
3<br />
C O L U M N A S<br />
""%""" """%<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8<br />
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1<br />
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7<br />
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15<br />
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9<br />
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4<br />
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14<br />
Análisis de riesgos 9
$ ! ) *<br />
S 5<br />
F<br />
I<br />
L<br />
A<br />
S<br />
S 6<br />
F<br />
I<br />
L<br />
A<br />
S<br />
0<br />
1<br />
2<br />
3<br />
0<br />
1<br />
2<br />
3<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9<br />
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6<br />
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14<br />
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11<br />
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8<br />
$ ! + ,<br />
S 7<br />
F<br />
I<br />
L<br />
A<br />
S<br />
S 8<br />
F<br />
I<br />
L<br />
A<br />
S<br />
0<br />
1<br />
2<br />
3<br />
0<br />
1<br />
2<br />
3<br />
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6<br />
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1<br />
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6<br />
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2<br />
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12<br />
C O L U M N A S<br />
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5<br />
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7<br />
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2<br />
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8<br />
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11<br />
Análisis de riesgos 10<br />
.
!<br />
Permutación P<br />
16 7 20 21<br />
29 12 28 17<br />
1 15 23 26<br />
5 18 31 10<br />
2 8 24 14<br />
32 27 3 9<br />
19 13 30 6<br />
22 11 4 25<br />
Análisis de riesgos 11
$ ) : -<br />
! -%<br />
40 8 48 16 56 24 64 32<br />
39 7 47 15 55 23 63 31<br />
38 6 46 14 54 22 62 30<br />
37 5 45 13 53 21 61 29<br />
36 4 44 12 52 20 60 28<br />
35 3 43 11 51 19 59 27<br />
34 2 42 10 50 18 58 26<br />
33 1 41 9 49 17 57 25<br />
& $ $<br />
) )<br />
)<br />
) ; 7< ; < ; < ; <<br />
; < ; < ; < ; .< ; < ; < ; 7< ; <<br />
; < ; < ; < ; ,<br />
% * $<br />
5 )<br />
) ) : *<br />
= ) )= ,<br />
Análisis de riesgos 12
!<br />
' ) ) ! ; '! # $ ) 5 6<br />
9 ) ) @ ) ):<br />
9 ) - 3 8 ) <<br />
) $ 8 $ 5 ): )<br />
): ) $ A ,<br />
- ) 5 6 ) ) ; - $<br />
% ) : ) $<br />
) : 9 ) ,<br />
L 5 6 ) : ! 6 9<br />
) 8 ) ) $ 8 ) ,<br />
/ 5 6<br />
/ ) $ $ A<br />
5 6 ,<br />
VI<br />
VI vector de<br />
inicialización<br />
E función de<br />
<strong>cifrado</strong><br />
!<br />
= ! ); = ) -<br />
) $ 5 6<br />
! 6 9 ) 8 )<br />
) $ 8 ) $ $ ) 3<br />
$ $ ) ) *) :<br />
' ) $ = ) 6 ) $ ) A<br />
5 6 9 ) 9 A 3<br />
% ) : ) $ - )<br />
) - ,<br />
m 1<br />
+<br />
E<br />
c 1<br />
m 2<br />
+<br />
E<br />
c 2<br />
Análisis de riesgos 13<br />
m 3<br />
+<br />
E<br />
c 3<br />
m 4<br />
+<br />
E<br />
c 4<br />
m 5<br />
+<br />
E<br />
c 5<br />
7
!<br />
= ! ); ) -<br />
$ ) :<br />
5 6 ,<br />
> $ ) -<br />
$2 6 + 6<br />
5 6 53 #,<br />
0<br />
* $ 7 5<br />
) ) ) L,<br />
!.<br />
H ! ); ) -<br />
$ ) :<br />
5 6<br />
" 3 ) !<<br />
6 5<br />
) - 5 6 A<br />
) $ $ ) :<br />
) $ ,<br />
' ) 6 ) :<br />
< 3 6<br />
5 ) - : - )<br />
5 ,<br />
% ) ) ) -<br />
9 ) ,<br />
Análisis de riesgos 14<br />
& '<br />
+ " , +-<br />
. / "<br />
& '<br />
( '<br />
+ " , +-<br />
. / "<br />
( '<br />
( ')"<br />
( ')"<br />
+ '<br />
( *<br />
+ '<br />
( *
'9 ) ) 85 ' ; ' ; $## I $<br />
5) ) ) ,<br />
0000000000000000 FFFFFFFFFFFFFFFF<br />
0101010101010101 FEFEFEFEFEFEFEFE<br />
EOEOEOEOF1F1F1F1 1F1F1F1F0E0E0E0E<br />
'9 ) ) $ 85 ' ; ' ; $## I<br />
$<br />
(01FE01FE01FE01FE, FE01FE01FE01FE01)<br />
(1FE01FE00EF10EF1, E01FE01FF10EF10E)<br />
(01E001E001F101F1, E001E001F101F101)<br />
(1FFE1FFE0EFE0EFE, FE1FFE1FFE0EFE0E)<br />
(011F011F010E010E, 1F011F010E010E01)<br />
(E0FEE0FEF1FEF1FE, FEE0FEE0FEF1FEF1)<br />
'9 ) 2 : ) - ) # 5<br />
9 $ 9 ) - ) 3<br />
) - )<br />
)<br />
$ + ) ) /H ) - 5<br />
> - * 5 $ ...<br />
' @ $ ) :<br />
) - * 5 =<br />
0 $5 $ 3 * < 6<br />
4 $ A ) M # )<br />
5 ) ) 5 ) +<br />
5 - ) =<br />
% $ A ) : 4'0 ) ) ) $<br />
4'0 4'0# 6 ) ) 4'0 ) ,<br />
Análisis de riesgos 15<br />
.
0 # 1<br />
4'0 ) ' ; ' ; $## J ' ; E; $#<br />
k 1<br />
M C’<br />
C<br />
DES DES<br />
0 ) : ) $ 5 6 6 $ =<br />
$ : ) E ) ,<br />
, 0 * 6 - * 5 ) ) $<br />
) 5 , 0 5 ) A 5 N,<br />
, O 9 $ PN - $ 5 9<br />
) - ) ) ) ; ,<br />
, 0 ) - 9 ) " ) ) ) ) ; 5 3<br />
) $ ) N< * $29 $<br />
)2) ,<br />
) : & ) 3 = *<br />
@$ $ 6 E I E )2) , % )<br />
E ,<br />
2 3 4<br />
Texto claro<br />
K 1<br />
K 2<br />
Análisis de riesgos 16<br />
k 2<br />
A B<br />
E D E<br />
k 1 y k 2 son claves n bits<br />
& * ) 3 A ) ) $ ,<br />
% - ) ) 5 ,<br />
& * 0' 3 >?>,<br />
Texto <strong>cifrado</strong><br />
K 1<br />
CIFRADO<br />
DESCIFRADO<br />
K 2<br />
K 1<br />
K 1<br />
B A<br />
D E D<br />
Texto <strong>cifrado</strong><br />
Texto claro
.<br />
4 ' ) 3<br />
1 =$<br />
G A % 3 Q$ " 3<br />
R )=< .. #<br />
' ) ) 4'0<br />
! 6 7 5<br />
5<br />
5<br />
' 5 6<br />
7 5<br />
0 5) 7<br />
5 ) $<br />
5<br />
& 7 )<br />
3 - $ ) : - )<br />
) ) :<br />
)<br />
⊕<br />
5 6 7 5<br />
- $ 7<br />
)<br />
E $ 7 7 I 7 7#<br />
⊗ $ 7 E #, 1 $<br />
* 9 )<br />
, ' ) ∈ R<br />
) ∈<br />
R E<br />
1 A $ ⊗ I 7<br />
⊗ $ 7 E # I $<br />
7 E # I 7<br />
7 $ 7 E # I 7<br />
X1 X2 X3 X4<br />
X1 X2 X3 X4<br />
Análisis de riesgos 17
. #<br />
2<br />
' 5 6 5 5 6<br />
7 5 G < G < G < G ,<br />
F ) 5) 7<br />
5 ,<br />
H ) )<br />
I G ⊗ F $ 7 E #<br />
I G E F $ 7 #<br />
I G E F $ 7 #<br />
I G ⊗ F $ 7 E #<br />
I ⊕<br />
7 I ⊕<br />
I ⊗ F $ 7 E #<br />
I 7 ⊕<br />
. I ⊗ F 7 $ 7 E #<br />
I E . $ 7 #<br />
I 7 ⊕<br />
I ⊕ .<br />
I ⊕<br />
I ⊕<br />
0 ) $5 5 6 ) 8<br />
) : ,<br />
0 * - $ )<br />
⊗ F . $ 7 E #<br />
E F $ 7 #<br />
E F $ 7 #<br />
⊗ F $ 7 E #<br />
Análisis de riesgos 18<br />
7
5 #<br />
1 5 <<br />
5) ) - 7 5 ,<br />
% $ 5) ) ) )<br />
5 6 7 5 , > ) )<br />
)= ) 5<br />
*6 3 , ( )<br />
) ,<br />
5 #<br />
( * "#<br />
0 *<br />
" # 1 $#<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<br />
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48<br />
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73<br />
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98<br />
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123<br />
126 127 128<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<br />
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48<br />
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73<br />
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98<br />
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123<br />
126 127 128 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />
23 24 25<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<br />
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73<br />
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98<br />
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123<br />
126 127 128 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45<br />
48 49 50<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<br />
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98<br />
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123<br />
126 127 128 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45<br />
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70<br />
73 74 75<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<br />
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123<br />
126 127 128 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<br />
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45<br />
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70<br />
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95<br />
98 99 100<br />
Análisis de riesgos 19
0 $ $ $ ) )<br />
) - < $2<br />
O P< 2 )<br />
) ) : 6<br />
,<br />
!<br />
Inverso XOR: se aplica la misma función<br />
Inverso aditivo: suma mod 2 16<br />
Inverso multiplicativo: producto mod 2 16 +1<br />
! #<br />
d1 = k49 -1 d2 = -k50 d3 = -k51 d4 = k52 -1 d5 = k47 d6 = k48<br />
d7 = k43 -1 d8 = -k45 d9 = -k44 d10 = k46 -1 d11 = k41 d12 = k42<br />
d13 = k37 -1 d14 = -k39 d15 = -k38 d16 = k40 -1 d17 = k35 d18 = k36<br />
-1 -1<br />
d19 = k31 d20 = -k33 d21 = -k32 d22 = k34 d23 = k29 d24 = k30<br />
-1 -1<br />
d25 = k25 d26 = -k27 d27 = -k26 d28 = k28 d29 = k23 d30 = k24<br />
-1 -1<br />
d31 = k19 d32 = -k21 d33 = -k20 d34 = k22 d35 = k17 d36 = k18<br />
d37 = k13 -1 d38 = -k15 d39 = -k14 d40 = k16 -1 d41 = k11 d42 = k12<br />
d43 = k7 -1 d44 = -k9 d45 = -k8 d46 = k10 -1 d47 = k5 d48 = k6<br />
d49 = k1 -1 d50 = -k2 d51 = -k3 d52 = k4 -1<br />
Análisis de riesgos 20<br />
.
5 - 6 5 ) 2<br />
- ) ,<br />
85 Q 4 $ ) 5 .. 6<br />
) ; I < < 9 < < < 9<<br />
9999< 9 = 9 ) $ ) , 0<br />
- ) 6 ) 9 ) , %<br />
) 9 ) 6 @$ = 9 ) $ ,<br />
! ) 0)= ..7 S $3 < = 5<br />
$ ) 5 ); =$ 5 = 5 ) =<br />
$ ,S < ,# B < 53 ...<br />
= B ) $$ 4'1 =<br />
5 3 - - =$ < $<br />
) 3 3 < = - ,<br />
6 # 7<br />
' .. / 0 ) - ) 4'0 3 ) )<br />
) ) $ 2 ,<br />
4'0 )= > $ ) (01<br />
. .. 4'0 = , 0 $ ) .7<br />
) , 6 @<br />
, $ ) , 0: 9$ :<br />
M 5 ) ,<br />
.. 4'0 = , 0 $ ) .<br />
) 6 5 5 , 6<br />
, $ ) , 0<br />
: M 5 ) ,<br />
A .. 4'0 = , ' ) )<br />
' ) 4'0 ); T , # 3 7<br />
= $ ) . , $ )<br />
,<br />
... 4'0 = , 0 $26 4'0<br />
); 3 5 , ) ,<br />
) ) $ ) = <<br />
, $ ) , 0<br />
: M ) ) ,<br />
Análisis de riesgos 21
!8$<br />
4 + !8 ) ( A$ 3 4 $ #,<br />
' 2 1'0# ''&& ,<br />
) )<br />
% 5 5 6 3 ) < . <<br />
7 5 ,<br />
/@$ ) - 9 5 < < ,<br />
H ) 53 < ) 5 53<br />
/<br />
$ $ ) : - ) 3 ) ) 6 $<br />
2) $ * 5<br />
> 5 $ $ ) : A<br />
= DD) ), , D ) 3 D D<br />
. ! 5 3& , 4<br />
& 52 ) - $ ) : 53 ,<br />
0 $ 3 $ ) ) : , 0 )2) $ ? ? #<br />
) 5 , > )) : 9 2<br />
$ $ 9# I 9 E 9 E 9 E 9 E ,<br />
4 6 ) - ) < ) $<br />
53<br />
0 $ GH(<br />
" ) ) : =- U GH(<br />
1 I ! I 1 E ! I V<br />
1 I 7 I ! I 7 I<br />
0 ) ) $ ? #<br />
1 I I 9 7 E 9 E 9 E 9 E<br />
! I I 9 E 9 E<br />
1 E ! I 9 7 E 9 E 9 E 9 E # E 9 E 9 E # $<br />
1 E ! I 9 E 9 7 E 9 E 9 E 9 E # $ I 9 E 9 7 E 9 E 9 I<br />
I 7<br />
) ) H 9)<br />
⊕ I I 7<br />
Análisis de riesgos 22
. ! 5 3& , 4<br />
> ) 9, ' ) : ) ) ) $ 9 $ #<br />
6 ) )) :<br />
9 , > $ $ -2) $ )<br />
* $ 3 ) 9) ,<br />
1 I 7 I ! I 7 I<br />
1 I I 9 7 E 9 E 9 E 9 E<br />
! I I 9 E 9 E<br />
1K ! I 9 7 E 9 E 9 E 9 E # 9 E 9 E #<br />
1 K ! I 9 E 9 E 9 . E 9 E 9 E 9 7 E 9 E 9 E 9 E 9<br />
E 9 E # I 9 E 9 E 9 . E 9 E 9 7 E 9 E 9 E 9 E<br />
( ) 8 9# I 9 E 9 E 9 E 9 E<br />
. ! 5 3& , 4<br />
9 E 9 E 9 . E 9 E 9 7 E 9 E 9 E 9 E 9 E 9 E 9 E 9 E<br />
9 E 9<br />
9 E 9 . E 9 E 9 7 E 9 $ ) 9# 9<br />
9 E 9 E 9 E ) $<br />
9 E 9 E 9 7 E 9 E 9 $ ) 9# 9<br />
9 E 9 7 E ) $<br />
( 1 K ! I 9 E 9 7 E I I ) 7<br />
Análisis de riesgos 23<br />
7
. ! 5 3& , 4<br />
H $ ) )<br />
9 $ 9 E 9 E 9 E 9 E # I 9 E 9 E 9 E<br />
1∗! I 9 E 9 E 9 . E 9 E 9 7 E 9 E 9 E 9 E<br />
9 I 9 ∗9 I 9 ∗ 9 E 9 E 9 E # I 9 . E 9 E 9 7 E 9 I 9 K<br />
9 E 9 E 9 7 E 9 I 9 ∗ 9 E 9 E 9 E # E 9 E 9 E 9 E<br />
# E 9 7 E 9 I 9 E 9 E 9 E 9# E 9 E 9 E 9 E # E 9 7<br />
E 9 I 9 7 E 9 E 9 E<br />
9 I 9 ∗9 I 9 K 9 E 9 E 9 E # I 9 E 9 7 E 9 E 9<br />
9 . I 9∗9 I 9 K 9 E 9 E 9 E # I 9 E 9 E 9 E 9<br />
9 I 9 E 9 E 9 E<br />
1 K ! I 9 7 E 9 E 9 E E 9 E 9 7 E 9 E 9 E 9 E 9 E 9 E<br />
9 E 9 E 9 E 9 E E 9 7 E 9 E 9 E 9 E I 9 E 9 7 E<br />
9 E 9 E 9 E 9 E 9 E I 9 E9 7 E<br />
!8$<br />
1 ) @$ $ 5 5 6<br />
) $ $ * - 3 /5 ) $ , %<br />
) ) $ $ * - 3 /;<br />
) $ ,<br />
0 ! 5 6 ) - < 3 0 $ *<br />
$ 1'0 )<br />
) ;
!8$<br />
' ) ) : * )<br />
0 ) : ) 53<br />
$ ) ? #<br />
) $ 9# I 9 E 9 E 9 E 9 E<br />
, 4 8 )<br />
- $ ) : - ,<br />
4 *$ *6<br />
) 53 @$ $<br />
) 6 /5<br />
> ) ) ) $<br />
$ *<br />
GH( 5) 3 - $ ) :<br />
$ )<br />
4 ) - H )<br />
8$<br />
Análisis de riesgos 25<br />
.
) : $ ) $<br />
) : , ' $<br />
$ '0 14H,<br />
% $ ) 5 6 ,<br />
' ) $ $ * )<br />
53 < - 3 ) $<br />
% ) $5 8 ) $ * )<br />
53 < - 3 ) $ ,<br />
' @$ ) 6 *<br />
: $ 6 ) $ <<br />
)<br />
Análisis de riesgos 26
8 9 :3 894<br />
H( 'G %&0 L1 5 6<br />
3 ) ) - , '<br />
'0 14H / '("'4 H<br />
' -7 .<br />
32 88 31 e0<br />
43 5a 31 37<br />
f6 30 98 07<br />
a8 8d a2 34<br />
2 "#<br />
5 7 7 5 - . )- - )<br />
2b 28 ab 09<br />
7e ae f7 cf<br />
15 d2 15 4f<br />
16 a6 88 3c<br />
( * 2<br />
"#<br />
2 %; :<br />
19 a0 9a e9<br />
3d f4 c6 f8<br />
e3 e2 8d 48<br />
be 2b 2a 08<br />
0 ) : 53 $ *<br />
5 0 A 6 ) 53<br />
53 ,<br />
, 0 ) ) ? #<br />
, - $ ) : - 5 ? #<br />
5 X I 5 ⊕ 5 E #$ ⊕ 5 E #$ ⊕ 5 E7#$ ⊕ 5 E #$ ⊕ )<br />
4 ≤ < < 5 8 $ 5 53 3 ) 8 $ 5<br />
53 ) ) 3 Y7 Z 7<br />
S 0,0 S 0,1 S 0,2 S 0,3<br />
S 1,0 S 1,1 S 1,2 S 1,3<br />
S 2,0 S 2,1 S 2,2 S 2,3<br />
S 3,0 S 3,1 S 3,2 S 3,3<br />
S-Box<br />
Análisis de riesgos 27<br />
,<br />
S’ 0,0 S’ 0,1 S’ 0,2 S’ 0,3<br />
S’ 1,0 S’ 1,1 S’ 1,2 S’ 1,3<br />
S’ 2,0 S’ 2,1 S’ 2,2 S’ 2,3<br />
S’ 3,0 S’ 3,1 S’ 3,2 S’ 3,3
2 #<br />
8 ! :<br />
b’ 0<br />
b’ 1<br />
b’ 2<br />
b’ 3<br />
b’ 4<br />
b’ 5<br />
b’ 6<br />
b’ 7<br />
1 0 0 0 1 1 1 1<br />
1 1 0 0 0 1 1 1<br />
1 1 1 0 0 0 1 1<br />
= 1 1 1 1 0 0 0 1 +<br />
1 1 1 1 1 0 0 0<br />
0 1 1 1 1 1 0 0<br />
0 0 1 1 1 1 1 0<br />
0 0 0 1 1 1 1 1<br />
Análisis de riesgos 28<br />
b 0<br />
b 1<br />
b2 b3 b 4<br />
b 5<br />
b 6<br />
b 7<br />
Es el inverso del<br />
valor de <strong>en</strong>trada<br />
1<br />
1<br />
0<br />
0<br />
0<br />
1<br />
1<br />
0<br />
Valor {63} 16 o<br />
{011000011} 2<br />
7
2 :<br />
19 a0 9a e9<br />
3d f4 c6 f8<br />
e3 e2 8d 48<br />
be 2b 2a 08<br />
d4 e0 b8 1e<br />
27 bf b4 41<br />
11 98 5d 52<br />
ae f1 e5 30<br />
2 &! < 8 =<br />
* *6 53 -<br />
6 ) - $ $ * ) ,<br />
- I < < < * $ )<br />
-<br />
% -<br />
%<br />
%<br />
%<br />
-<br />
-<br />
-<br />
53<br />
53<br />
53<br />
d4 e0 b8 1e<br />
27 bf b4 41<br />
11 98 5d 52<br />
d4 e0 b8 1e<br />
bf b4 41 27<br />
5d 52 11 98<br />
S 0,0 S 0,1 S 0,2 S 0,3<br />
S 1,0 S 1,1 S 1,2 S 1,3<br />
S 2,0 S 2,1 S 2,2 S 2,3<br />
S 3,0 S 3,1 S 3,2 S 3,3<br />
ae f1 e5 30<br />
Análisis de riesgos 29<br />
'<br />
30 ae f1 e5<br />
S 0,0 S 0,1 S 0,2 S 0,3<br />
S 1,1 S 1,2 S 1,3 S 1,0<br />
S 2,2 S 2,3 S 2,0 S 2,1<br />
S 3,3 S 3,0 S 3,1 S 3,2
2 '! "<br />
L - $ $ ) < O)P )<br />
) $ 6 )<br />
H 5 ) $ ) 2 ) $<br />
$ 5 ? # $ ) ) $ $:<br />
9 E $ - A 9# 6 ) $ ) 9<br />
E 9 ) ) - ) 2<br />
9 = 9 ) $ #,<br />
9# I Y Z9 E Y Z9 E Y Z9 E Y Z<<br />
Y Z I 9 E < Y Z I 9< Y Z I ,<br />
S’ 0,C<br />
S’ 1,C<br />
S’ 2,C<br />
S’ 3,C<br />
2 '! "<br />
=<br />
02 03 01 01<br />
01 02 03 01<br />
01 01 02 03<br />
03 01 01 02<br />
Análisis de riesgos 30<br />
S 0,C<br />
S 1,C<br />
S 2,C<br />
S 3,C<br />
H $ 9<br />
0X < I Y Z • 0 < # ⊕ Y Z • 0 < # ⊕ 0 < ⊕ 0 <<br />
0X < I 0 < ⊕ Y Z • 0 < # ⊕ Y Z • 0 < # ⊕ 0 <<br />
0X < I 0 < ⊕ 0 < ⊕ Y Z • 0 < # ⊕ Y Z • 0 < #<br />
0X < I Y Z • 0 < # ⊕ 0 < ⊕ 0 < ⊕ Y Z • 0 < #<br />
'A $<br />
0X < I Y Z ⊕ Y Z5- ⊕ ⊕ I<br />
d4 e0 b8 1e<br />
bf b4 41 27<br />
5d 52 11 98<br />
30 ae f1 e5<br />
04 e0 48 28<br />
66 cb f8 06<br />
81 19 d3 26<br />
e5 9a 7a 4c<br />
7<br />
.
2 (! 8 9 :<br />
' - $ ) : ) H( 'G %&0 LH<br />
' $ 3 5) 6<br />
) ) - ,<br />
04 e0 48 28<br />
66 cb f8 06<br />
81 19 d3 26<br />
e5 9a 7a 4c<br />
a0 88 23 2a<br />
fa 54 a3 6c<br />
fe 2c 39 76<br />
17 b1 39 05<br />
! " #<br />
a4 68 6b 02<br />
9c 9f 5b 6a<br />
7f 35 ea 50<br />
f2 2b 43 49<br />
0 2 ) $ ) $ [<br />
5 53 3 ) /5∗ / E #,<br />
Bloque /<br />
Clave<br />
Nb = 4<br />
128 bits<br />
Nb = 6<br />
192 bits<br />
Nb = 8<br />
256 bits<br />
Nk = 4<br />
(128 bits)<br />
Nr = 10<br />
1.408 bits =<br />
4*11*4*8<br />
Nr = 12<br />
2.304 bits<br />
Nr = 14<br />
<strong>3.</strong>840 bits<br />
Nk = 6<br />
(192 bits)<br />
Nr = 12<br />
1.664 bits<br />
Nr = 12<br />
2.496 bits<br />
Nr = 14<br />
<strong>3.</strong>328 bits<br />
Análisis de riesgos 31<br />
,<br />
Nk = 8<br />
(256 bits)<br />
Nr = 14<br />
1.920 bits<br />
Nr = 14<br />
2.880 bits<br />
Nr = 14<br />
<strong>3.</strong>840 bits<br />
7<br />
7
" #<br />
% $ /; 5 ) 2 ) ) ,<br />
% /5∗ / E # /; 5 2<br />
$ $ 6 2 - /; ≤ 7 5<br />
/; \ 7,<br />
0 /; ≤ 7<br />
0 ) : 3 [ # $@ /;<br />
[ # I [ /;# 9 ]!3 0 5 ( [ ][ #^# 9 ()<br />
D/;#^<br />
0 ) : 3 [ # $@<br />
/;<br />
[ # I [ /;# 9 [ #<br />
0 /; \ 7<br />
' 5 5 - ) 9 : $ /;<br />
I ,<br />
% 5 5) ) ) 2<br />
[ # I [ /;# 9 !3 0 5 ][ #^<br />
" 7 >9>? %&,<br />
0 F 5 < /; I , 0 $ 5 6<br />
9 5 /5 I #,<br />
% 3 [ 2 K] E ^# I 5<br />
53 ,<br />
' ) $ ) # ) )<br />
) F,<br />
% 5 ) ≤ ≤<br />
# ) ) 2 $<br />
> [ # ) $@ /; < < < 7< < <<br />
< < 7< #< 5 53 ) ) 2 $<br />
5 6 2 ) ) 6 < 3<br />
* ) : 9 ) - ) :<br />
- $ ) : !3 0 5 ( [ () # 5 6<br />
) ) : 6 ) ,<br />
> < 7< < .< ,,,< < < #<br />
5 53 ) ) 2 * ) : 9<br />
5 6 ) ) )<br />
3 3 5 6 ) ) : 6<br />
)<br />
Análisis de riesgos 32<br />
7<br />
7
. #<br />
( [ ) : *6 53<br />
5 , 0 5 53 < 5< )< # ( B<br />
2 5< )< < #,<br />
F 5 7 7 5 - . )- - )<br />
2b 28 ab 09<br />
7e ae f7 cf<br />
15 d2 15 4f<br />
16 a6 88 3c<br />
7e ae f7 cf<br />
15 d2 15 4f<br />
16 a6 88 3c<br />
2b 28 ab 09<br />
() ) () A# I ]( A#< Y Z< Y Z<<br />
Y Z^ 5 3 ( A# $ ? #<br />
) 9 A ,<br />
$ " #<br />
2) [ # ) 5<br />
2b 28 ab 09<br />
7e ae f7 cf<br />
15 d2 15 4f<br />
16 a6 88 3c<br />
W(0) W(1) W(2) W(3)<br />
W(0) = 2b 7e 15 16<br />
W(1) = 28 ae d2 a6<br />
W(2) = ab f7 15 88<br />
W(3) = 09 cf 4f 3c<br />
2) [ # ) I < $@ /;<br />
$ ← [ # I . )- - )<br />
$ ← ( [ $ # I )- ) ) .<br />
$ ← !3 0 5 $ # I 5<br />
() D # I () #_ A I 9 A I 9 I<br />
() # I ] < < < ^<br />
a0 88 23 2a<br />
$ ← ()<br />
[ # I [ # 9<br />
# 9<br />
$<br />
$ I 5 5 fa 54 # a3 6c<br />
fe 2c 39 76<br />
2b 7e 15 16<br />
⊕ 8b 84 eb 01<br />
17 b1 39 05<br />
a0 fa fe 17<br />
Análisis de riesgos 33<br />
7<br />
77
$ " #<br />
2) [ # ) 5<br />
2b 28 ab 09<br />
7e ae f7 cf<br />
15 d2 15 4f<br />
16 a6 88 3c<br />
W(0) W(1) W(2) W(3)<br />
W(0) = 2b 7e 15 16<br />
W(1) = 28 ae d2 a6<br />
W(2) = ab f7 15 88<br />
W(3) = 09 cf 4f 3c<br />
2) [ # ) I < $@ /;<br />
[ # I [ /;# 9 [ #<br />
[ # I [ ` # 9 [ ` #<br />
[ # I [ # 9 [ #<br />
$ [ # I - -<br />
28 ae d2 a6<br />
⊕ a0 fa fe 17<br />
88 54 2c b1<br />
a0 88 23 2a<br />
fa 54 a3 6c<br />
fe 2c 39 76<br />
17 b1 39 05<br />
' $ ) - < )<br />
- $ ) ) *<br />
) - < 3 5) ,<br />
- $ ) : , !3 0 5 0 A #<br />
Análisis de riesgos 34<br />
7<br />
7
!2 &; # < 8 =<br />
0 * $ $ ) 6 ) -<br />
* )= 53<br />
- 6 ) - $ $ * ) ,<br />
S 0,0 S 0,1 S 0,2 S 0,3<br />
S 1,0 S 1,1 S 1,2 S 1,3<br />
S 2,0 S 2,1 S 2,2 S 2,3<br />
S 3,0 S 3,1 S 3,2 S 3,3<br />
S 0,0 S 0,1 S 0,2 S 0,3<br />
S 1,3 S 1,0 S 1,1 S 1,2<br />
S 2,2 S 2,3 S 2,0 S 2,1<br />
S 3,1 S 3,2 S 3,3 S 3,0<br />
!2 '; # "<br />
$ - $ ) : " 9 $ $ ) 5<br />
$ - A 9# I Y Z9 E Y Z9 E Y Z9 E<br />
Y Z< $ ) 9 E < 2,<br />
5 9# I Y !Z9 E Y 4Z9 E Y .Z9 E Y 'Z<br />
S’ 0,C<br />
S’ 1,C<br />
S’ 2,C<br />
S’ 3,C<br />
=<br />
0e 0b 0d 09<br />
09 0e 0b 0d<br />
0d 09 0e 0b<br />
0b 0d 09 0e<br />
Análisis de riesgos 35<br />
S 0,C<br />
S 1,C<br />
S 2,C<br />
S 3,C<br />
7.
3 4<br />
0 @ 5 ) < 9 @ $ ) $<br />
1 $ 6 $2 - ) 6<br />
6 - * 5 ,<br />
' + 2$ 1 $ ) $ /@$<br />
) < @$ ) 53 <<br />
0 A < )< - = ) 5<br />
1 $ - 6 ) ) ) $<br />
2 4- )<br />
2 %<br />
' $ 6 ) ) $ -<br />
5 ) .. < $ : ) $<br />
7 ) < ) $ 6 ( A<br />
< ) ) ,<br />
@ $<br />
(14H'/ !%Ha&'<br />
' $ ) - ) 5 ) 5 6<br />
$ A $ $ ) ,<br />
L A 4 A<br />
1 - : ! A ) ) -<br />
4 )) : 5 6 - > ) :<br />
(14H'/ %&QH<br />
' $ ) - ) 5 ) 5 $ A<br />
5 ) ) ) ,<br />
L A 4 A<br />
1 ) ) - ! A - :<br />
/ , L 5 )<br />
Análisis de riesgos 36
5 #<br />
? ) : < 5 ) : < $ ) $ < $ <<br />
)) : 3 ) ) : ) ) )<br />
) ,<br />
% )<br />
' )) : ) ) ) 6<br />
)) , ? ) : ,<br />
$ ) )= ) ) 6<br />
) $2 $ )<br />
$ 5 5 6 ) $ $<br />
$ 3 2 + ) ) $ $ < 3 6<br />
- $ ) : ) ) 6 ) 5 ,<br />
$ 3 2 ) : 5 ,<br />
$2 -2) * ) 2 ) $ )= 9<br />
) - ) $ $ ) ,<br />
5 #<br />
Q 6 ) )<br />
: $ ) -<br />
3 6 ) * - ) $ ,<br />
) - ) )<br />
: ,<br />
$ 5 $ $ 3 *<br />
) - ) )<br />
) $5 ,<br />
Análisis de riesgos 37
A<br />
k AE<br />
k AB<br />
Definición previa:<br />
X<br />
kXY kXY kYX Y<br />
E<br />
k AD<br />
k AC<br />
B<br />
k BE<br />
#<br />
k BD<br />
k BC<br />
Análisis de riesgos 38<br />
k DE<br />
k CE<br />
D<br />
Número Claves:<br />
n (n-1)<br />
2<br />
k CD<br />
N = nº de claves<br />
C<br />
2 3 4 5 usuarios: N N = = 101<br />
36<br />
La gestión de las claves es una tarea muy difícil<br />
# !<br />
7 -A<br />
escoge secreto x A<br />
calcula y A=α xA (mod p)<br />
g<strong>en</strong>era k= y B xA (mod p)<br />
escoge secreto x B<br />
calcula<br />
y B=α xB (mod p)<br />
g<strong>en</strong>era<br />
k= y A xB (mod p)<br />
7
) 5 $ #<br />
" 8<br />
( ) : 5 5 5 I 5 E 5 E, , , E 5<br />
0 ) ) ) 1 A<br />
) A I = <<br />
@$ 5 6 ! 5 ,<br />
0: $ ) ) 6<br />
) : A ! 5 ) ,<br />
Calcular x = 1237 mod 221 = 207 12<br />
B = 3710 = 1001012 A = 12 j 0 1 2 3 4 5<br />
2 mod 221<br />
1442 (primer cálculo)<br />
mod 221<br />
Bits 5 4 3 2 1 0<br />
A 2j<br />
mod 221<br />
" 8<br />
12 144 183 118 1 1<br />
x = 12∗183∗1 mod 221 = 207<br />
9 I 1 ! $<br />
> H5 ) : 5 9 ! ;<br />
5<br />
! → 5 ; 5 ; ,,,5 ,,,5 5<br />
> ) 9 I<br />
> > I ; < ,,,< = )<br />
9 I 9 $<br />
0 5 I # )<br />
9 I 9∗1 $<br />
Análisis de riesgos 39
# !<br />
7 6 < - <<br />
> ) ) *<br />
0 ) ) : 0# 6<br />
) ) $ 3 )<br />
> ) ) $ ) ) : 0 5<br />
- ) ) : < ) - ) )<br />
) ,<br />
> 1→0 1< !< 1<br />
> 0 →1 ' F10 1 ! →1 ' !#<br />
> 1 →! ' ! #<br />
: 2 $ 0 ) 5 6<br />
) :<br />
8 7 #@ 7<br />
- )<br />
1 ) ) :<br />
)<br />
0 - $<br />
% 6 +<br />
L )<br />
/@$<br />
L )<br />
- )<br />
1 ) ) :<br />
- $<br />
%<br />
L<br />
/@$ )<br />
L ) 5 A<br />
Análisis de riesgos 40<br />
.