chapters 2 & 3 & 4 & 5

5 4 3 2
Network Security, Principles and
Practice,3rd Ed.
$ ! ( #$ %&' :
! !
[email protected]
)* + , (
-!$ .
0% 1
/$
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
2
plaintext - the original message
ciphertext - the coded message
cipher - algorithm for transforming plaintext to ciphertext
key - info used in cipher known only to sender/receiver
encipher (encrypt) - converting plaintext to ciphertext
decipher (decrypt) - recovering ciphertext from plaintext
cryptography - study of encryption principles/methods
cryptanalysis (codebreaking) - the study of principles/
methods of deciphering ciphertext without knowing key
cryptology - the field of both cryptography and cryptanalysis
3
1
(Symmetric)
/
""
" -. )& * +
70 /.
,
012
/
! " #
% &'( &$
& ' ( & + %"
4
5
:)& *
" -.
& '( &
9 )9
5
!
6
"
!
2 & '( &8 & '
" # %" /
Y = EK(X)
X = DK(Y)
.: ;< / .
.:
?
6 8 & ' / : )9 6 = #
65 @
/6
5 6 "6
6
2
: A ;<
)
(&
6B
6
&
% C+
E F/0 1 / " (' D
&
C
.
! /
IF ! 5 G
H G!&
D/
6
7
ciphertext only
only know algorithm / ciphertext, statistical, can
identify plaintext
known plaintext
know/suspect plaintext & ciphertext to attack cipher
chosen plaintext
select plaintext and obtain ciphertext to attack cipher
chosen ciphertext
select ciphertext and obtain plaintext to attack cipher
chosen text
select either plaintext or ciphertext to en/decrypt to
attack cipher
8
!
" #$
(Brute Force Search)
.:
/ J5
"A 06 2 IF ! 5 / : 5
6
6= #
9
3
% &
KL :"
+,M A ( & 5 NO
&
1 P Q& 2 0* 5 6 "6 !) "R /S & IF ! 5
L2 5
6 #
& &
& 5 A /
Q
0* - ( & 8 & '
( A 1 5 -RA 06 2
:
06 2 ( & N( )
" ) ! P
1 P :"
1 P ?6 " 5 A 6
. A 1 5 -RA
10
)* + , (
-!$ .
0% 1
/$
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
11
•
! "
.
.
/
, -)
# $
7
6 56
%&
456
'
12 3
*+ •
()
)
+•
12
4
456
4
KL I B ' I% ! J C
( 2 N! & $9) diffusion B
,
=%
0! 8
,N / $ ,P;
3& 9 $ ; < ( 2* ) pattern
.,
3 P; I
2!9 B ' B ' 0!
:
%=: C
! ?* 0
! ?* D
3 E F1&'
9?
H!
G:
9
8#
, :1 ; : < () 4 = <
( 5@ )pattern * 1>#
13
6+@
#
-(
)
4
send another catapult
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
K=y
C = P + K (mod 26)
.
C !;
7
! () 4
7
6FG E
r
rdmc zmnsqds bzszotks
6 56 ; ! 6
#•
' '
$ D 9 () •
' () pattern
4 •
! ?* 0 / $
14
6+@ H
4
6+@ H
@
, -) I1 J
4
; !
•
.
pattern K () / •
7&E. ) = < L6 #
#
M: •
15
5
213
4
send another catapult
2
1
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
3
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
Ufqf bqqukgs fcudrvov
16
Vigenere ;
9
$ 78/ $
I
I
.9
PS ! ?* D %=: C / $ R :
%K 0! 26 $9 26 G! 0!
9
9?
* B ' G!
+
%K * B '
.
UN= $ G! 5
$ ; 3 ,
' D 3&K 0! V &. %K
M = SEND ANOTHER CATAPULT
K= hail ceaserh ai lcease
C= zevo crol lvyci ectudx
17
Rotor Machines
! ?* D/ $
;%: ; - ;%:
;*
9 %> 0! $ I%
9
PS
3 8$ 4Y
6 $9 3 $ K% 9 . E 9
9 9 X $ I! $9
.
$ R :
E D B ' 0!
: 3 Z $ K%
9 $
B '
3
J C B ' 0!
: 3
. $
$
X9 8 $ 9 0!
9
(26n) !
!/
$ 9 . !/
$ I%
$ 9
(:<
' [ $ I% 3
9 9 6 R 5 &*<
-= $ 5< / $ P: I%6? * , ,P;
4 %\ Engima
. X $ (:<
F R1[
$ %P
18
6
Rotor Machines
x
o
y
h
i
u
j
k
m
g
c
v
k
m
z
a
o
e
v
f
q
d
h
r
l
z
g
s
c
a
t
e
v
e
p
t
d
i
d
n
g
h
l
u
r
o
j
w
a
q
j
f
n
w
s
b
y
w
b
x
Enigma - German Machine
had 3 rotors
19
456
?* B ' %%@ 5
KL I $9 B ' ! J C
8
> 9 J! B
%=: C / $ 5<
5$ 6
%
9?
$ 2:/ $ $9 9 ? 9$
5;
!
20
(
456 ) ; Q
, -) % &6 )
SEND *
ANOTH
ER *CA
TAPUL
T ** * *
.
W#
T , -)
(5 / 6 )
S. V# #
S : 6
% J)
8# : 1 •
# : 1•
= SAETTENRA*NO*P*DTCU**HAL*
21
7
, :< X
2K%KS F : ; ]
9$ F1&' ^ :
.9$ 9 $
/ $ I ( 2K%KS : Cipher text Only
I
KL I
3: &: D 2K%KS :Known Plaintext
.9$ 9 $ 5< _
/$
$ / $ Y !$ 2* :
2K%KS :Chosen Plaintext
$
/$I
! &: Z &R `# I
9! $ 6
$
. %
$ 2: $ Y !$ 2* 3 ,
b c ,* ' 3%K $9 *
, I $ 2K%KS
22
0% 1 / $ %KS
!
(etanos…) = <
!
(th, nt) = < , + #
!
(th___, ___nt, ___gh) (:1
) (Y J4#) = <
)
.
S
6F$4J)
( ! <(
:[)
E#
1 ; D ) :< 6)\
5@ S ! 6
.7
E#
+ )3
5@
E#
+@
%Z
S6 : Kasiski
1 ; D
G
S ) (12 ! : 6
. .)
Brute Force , :<
23
(; Q )
* 1>#
Aerial reconnaissance reports enemy
reinforcements estimated at battalion
strength entering your sector PD Clarke
KL I B ' :
24
8
(; Q )
aerialreco
nnaissance
reportsene
myreinforc
ementsesti
matedatbat
talionstre
ngthenteri
ngyoursect
orPDClarke
( :
* 1>#
10)
ANRMEMTNNO
ENEYMAAGGR
RAPRETLTYP
IIOENEIHOD
ASRITDOEUC
LSTNSANNRL
RASFETSTSS
ENEOSBTEER
CCNRTARRCK
OEECITEITE
=2! C
25
(; Q )
* 1>#
ANRMEMTNNOENEYMAAGGRRAPRETLTYPIIOENE
IHODASRITDOEUCLSTNSANNRLRASFETSTSSEN
EOSBTEERCCNRTARRCKOEECITEITE
/$I B ' :
26
* 1>#
:
=2! C $ 2:/ $ $9 %&( 5
.9$ : KL I
.
:
9?
?
:
; e + )9$ 9 9 C 5 ; I!
_ 5
B ' :
9$ :
K4
/$I
$ 9 &:
$ 9 &: 3P! 6
$9 B ' :
:
&: 2K%KS
! ?* 0
!/2! C $9 *
( . !1
$ 9 &: $ 9 &: I! 3P! 6
.9
%> $ B ' * & '
27
9
(; Q )
* 1>#
DHULDOUHFRQQLVVDQFHUHSRUWVHQHPBUH . . .
( ! ?* 0 )
/$I B ' :
28
)* + , (
-!$ .
0% 1
/$
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
29
F"
:
9
H
,=2! C
-
F"
! J C Z &R
1R 5$
.9
. :
$ 78/ $
( $
Z &R 3%* I
N f (*
$ *
'
Rotor Machine $9
$ 78/ $
9?
( $
XOR
[ c Z &R 3R &J
3 8$ ; 0% ;
,
9 5$
30
10
(One-Time Pad)*
.Y% 3 !/ n Z [ 3
5
L) #
%K n Z [ 3 9 9 0! 59 / $
:Y!$ 9 C M
:
!
3 F$ L I! $9
P(M|C) = P(M)
.
&: 2K%KS 3
;&
/ $ 3: &: I 9 .
.9$ 9 2 P %K 59
9
I 9
.!
3 X $ I! ,%
31
(One-Time Pad)*
5
,P%: $ 6
., $
!< Y%
%> YJ' I!
!hY%
3 3C
2K%KS
9 K&R g:
$ I% D
V YJ' 3
;
%K H!
9?
Y%:
KL 9 9 Z 6 :
9?
9
%*
8 : %K I H!
9?
I;& %\ 9 S 5
&R $9
%K
Z : I%&
$ / $ I P; 3 Y%
.9
L) #
,P%: (
!( $
$9 9 C
&R $9
(!j * ;
32
5
S6 ; +# )
J ,[ D
S ; ()
.%6
. P 3: S k $
$ 4 Z :9 3 B [ 9
.9 !7l% f J: I
: %S
. ;% / $ $ 9 E
F R1[ H
(:< $ 2: / $
.
(& !$ 2* 5$ 6
% HK+ (:<
$
k $
( %> I% [
$ 2: / $ $9
I% [ 6 3 ,
?N
J
1
33
11
Adversary
EVE
Bob
>
S
(E+.
01
10
1 ..
.
5
Alice
S D ()
4 *
34
1
: 6 5@
9
%*
&R X $ 9 5
$ 5$ 6
3.+4
7
(8T () (8T , -)
) 256 6 128 \64 , 8T
)
WG3 G
= 8 6
3* :9
(
G , -)
/$
/$
WG3
/$
G
35
(8T
(, 8T ()
36
. % & #) `a S
9 , 8T
12
(8T
; 2
!
/ $ I F .+4 3 `# I F .+4 , 2:
.
(0! 3 0!) !7> ,=8
*
9 3K'
D $9 $ 9 $ F .+4 Y !$ 2*
.Y%! 2% $ 9 ' I! 3 . ;% X 9 >
5 n&
9 Z &R )%
m &R $ 9
., $
,=2! C
!/2! C
37
)* + , (
-!$ .
0% 1
/$
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
38
E6 '
(8T
9$ :
3.+4
/$
DES 9 9 $ 78/ $ 9$ :
AES 3 =%> $ 78/ $ 9$ :
F$ g: ,S
National Institute of Science and Technology (NIST)
39
13
DES
.7! 6FG
.
F"
' NIST 1976 ;
,=2! C
%* IBM
$
1974 Z
\NSA b # # W# / cG
% Y !$ 2* ]
!/2! C F %K&R
:F
7 ) 64 :
(:< ' [ Z L
# !$ :
* , P
N=
7 ) 56 1 ; D
(8T ; D
16 :
8#
9
&R ! =8/ $
.9
$9
$ 78/ $
9?
(& !$ 2*
. =: X
> $ %P 3 78 $9
, %> $9
? F R1[
40
!7& S DES
%K
r H C5
N 0!
%K
<
Y !$ 2* I! 1999 3! : j $9
! 3 P; ,R 23 $9
,: !
$
. :9 9 f J:
J PC 5 & %K
.
Brute
%l $ / 1000
%
$ J PC $
;D
r H C5 < $ g
Force X $ 9 ?
.Y!$ 9 %: V %K Z [
I
(& !$ 2* 3
.9$ : I $ B ? ' [ DES I!
1R
41
)* + , (
-!$ .
0% 1
/$
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
42
14
AES ( ! 4 G
F"
9 ! 36 P 1997 Z $9 NIST
.9 $ /8 ! C
. : f J: I $ m1 Z L ]
!
' [f&
Y !$ 2* ' [ $9 * E9 3: 8 s% e' ;! < * 9 (:
. :$ :
9$ :
9$
' [
! 3K'
f1R : 5 R 3 (Rijndael)Z ! $ 2000 Z $9
AES 3 =%> $ 78/ $ $ : 5 R ,S ! C 9$ :
. H4 Z 4
43
AES ( ) &
7& @ !
MARS
RC6
!VJ
Rijndael
Serpent
Twofish
: 9 3t $ ,P%* % 3P! 6 $ $9 =% F R1[ ! 3* 6
A Performance Comparison of the Five AES Finalists
B. Schneier and D. Whiting
44
(! 4G
, -J4
F"
AES
256
192
128
128
128
128
14
12
10
128
128
128
%K Z [
C E
9 $ 3.+4 Z [
$ 99 .
$ 9
%K Z [
45
15
AES-128
>
$ 9
%K 3%( 6: %K
5 Y !$ 2*
.9$ 9 (R $ KL %K ]
$9 4×4 ,* ' G! 0! ; 3 % 128 `# I
. !<
9
5 =: $ `# I
., / $ I *
,! 0! 3! $9
( : $9 G! I!
46
AES-128
s- 0!
>
.9 =% Z &R ,* ' G!
9?
,* ' G!
P!
$ 9 %K
# 9?
,* ' G!
$
3! $9
&R 4 $ 9
$9
!/2! C
box
+ !J C
+E )% : (: )%
H&C :$ 9 %K 59 &: 3 #
(:
9
!/2! C : ( !
47
s-box
9
PS
+E %\ H
R :
9 %> Z C 0!
!<$ I%
3S*
5< $9
.9 =%
:, $ 4 ,%
9
%Ex $ 6
9
! 4 Y !$ 2* :w$/ Z C
9 %> :0D Z C
I%. $ Z C 3! $9 5
+ H
9 $
., H
C E 3! $9 I! $9
48
16
Rijndael
$
K 0! )* 4 $9 $ Rijndael Y !$ 2* f J: '
.Y%
Shockwave ActiveX : ! &:
4.0
V 3NP: IE
:
%: 9$
9?
, !$9
$/
F$ L $9
4 ! ]$9<
http://www.esat.kuleuven.ac.be/~rijmen/rijndael/
.
3 9 $ 4 !1 3E
$9 ! Flash !
49
Rijndael
50
AES 7
$ Z ' $9 5 &
:DES 3P! 6 y S*
5
< e! [ $ DES %K 3 9$ 9 9 C
%
% b
$ %K 255 3%: z $9 .! ;%
! 3%: z 0! $9 H C
Z 1012×149 $9 $ AES %K I% I! . ;% 5 S
. !&%
!
51
17
AES (8@ T L
. % ^ C$ !
( $9< 3
=% F R1[
http://www.nist.gov/aes
http://www.esat.kuleuven.ac.be/~rijmen/rijndael
/
52
$
)* + , (
-!$ .
0% 1
/$
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
54
18
(8T
5 @ $ 3 $ 9 ! ,%
9 ? 9$ )
$
6P $ [3
3.+4
/$
$9 ! 3;K . :$ < &:
: %8 $ 4
/$
/C 5 R 3
3.+4
. : =% 9 ?
(& !$ 2*
:
/$
$ 2:
55
25<
(8T
3: 2D .Y!$ 9 I
3.+4 / $ 0! Y% b
hY%! C ( 9 E B
3 5 % $
L R
$9
\
,%?%
( Y\$ KR 9$
E $9 :
.,P%: N*9 ! (: ,%?%
4 `*
3D$ >
3%* 9
9? 9 C
9? 9 C
9? 9 C
I 3 $3 =
I 3 $
3.+4 / $
g: B L . P%: I
3* P
\
:Z {
-%.# 5 & E
\ :| >
)
: 7\
!
!9 Y% E 3 9 $9
5 P;!
/$
! 9 ? 9$
56
;'
(
6 7 8a
3: 8 3 ( $
)5$ 6
3.+4
/ $) 9 E :
$ 2:/ $ Y !$ 2*
Y%:
$ 2: / $ Y !$ 2* $ E
L R
,%K 4 3
.9 }$ 3 $
3.+4
/$
5 %&[
.!
.Y! I~&+ /%:
, %> $9 =% F S%#
57
19
)* + , (
3.+4
/ $ 5$ 6
/ $ (& !$ 2*
;! < $ 78/ $
9$ :
AES 3 =%> $ 78/ $ 9$ :
3.+4
/$ 9?
3.+4
/$ $
3 : ,@*
DES :1 , %>
3DES,IDEA,Blowfish, RC5, CAST-128 :2 , %>
58
(8T
. : =%
' [F z
4 ,% 3 3C
... CAST-128 DES AES
9?
3.+4
:
$
/$
:
$ R ,%&
> $
$
E
ECB: Electronic Code Book
CBC: Cipher Block Chaining
CTR: Counter Mode
CFB: Cipher Feed Back
OFB: Output Feed Back
59
ECB
P1
K
K
EE
P2
K
EE
PN
K
EE
C1
C2
CN
C1
C2
CN
DD
P1
K
DD
P2
K
: $ 2: / $
: ! =8 / $
DD
PN
60
20
ECB
)
/ $ I 0! 3 3=%& , z %K •
. :
Z $ 5 P;!
3.+4 / $ 0!
8
.Y%
L R
3 `# I
( %> 3
:
.9 =% 3
Z;
2:
!$9 : % I& 9
' 9 =%&:
9?
4
PS I
I!
( Y\$ KR 3 ,
9$
* { ECB
.,P%: N*9 ! (: ,%?%
\
$9
61
1-CBC
( IV
.9 %2%
. ;% %%@
9 =% 3
F$ L 3
3%*
9 $ 6 0!
I!
$9 IV $ 6
$ 2: / $ $
.9 =% Z $
ECB $
IV 59
9
9
& IV
/$I
! /%: IV
.9 9 ?
, I;& 2K%KS `# I F$
IV Z $ F$ L $9
.9
: %8 ,& $9
! =8 f @%> %%@ 3 J K.C
5
:
$ ;!
2: F ?
.9
Z $
/ $ I 0! 3 $
/ $ F$
, z %K • 3 `# I
.( ! & % %%@ IV $ 6 ! )
62
2-CBC
: $ 2: / $
IV
K
K
IV
63
P1
P2
P3
+
+
+
EE
K
EE
K
EE
C1
C2
C3
C1
C2
C3
DD
K
DD
K
DD
+
+
+
P1
P2
P3
PN
CN-1
…
K
+
EE
CN-1
: ! =8 / $
CN
K
CN-1
DD
+
PN
21
CBC
)
Cipher Block Chaining
: % F /K
%
%>
! IV
4 %\ m1
: $ 2:/ $
.,P%:
.
X
4 $ 2:/ $ F %K&R
9 $9 ! `# I IV $ 6
: ! =8/ $
.
.,
X
4 ! =8/ $ F %K&R
/ $ I IV $ 6
9 $9 !
:f %> Z [
.Y! = f %> Z [
! / 3 $ 9 , I;& 9$
. . ) (8T ; D
) g
6)
E $9
G; D
:
. :
9 %> !
9
$ 2: / $
9 %>
! =8 / $
64
CTR
Counter-mode Encryption
5
$ 6
6 4"
:
9
N : g:$
N: 9
( 1 Z [ 3 :$ &
F$
! ?L 3%*
counter + i
counter + i
(n)
K
(n)
EE
K
(n)
Pi
(n)
+
EE
(n)
(n)
Ci
Ci
(n)
(n)
+
Pi
65
CTR
.
! 2 (8T(8T
! 2
) )
7.7
:.:.
)
#
EK(counter + i)
Ci
) c$
: (+ >
.
)6 )
6 S
)
: % F /K
:$ & !9 6
: $ 2:/ $
.,
4 $ 2:/ $ F %K&R
.,P%: `# I 3
%: $ 2:/ $ F %K&R
.,
%: 9$
$ 2:/ $ F %K&R
:$ & !9 6
: ! =8/ $
.,
4 ! =8/ $ F %K&R
.,P%:
/$I 3
%: ! =8/ $ F %K&R
.,
%: 9$
$ 2:/ $ F %K&R
:$ & !9 6
:f %> Z [
.Y!$ : f %> Z [ ! / 3
%: 8 s%
. . #
G ); D%
.
S
:
9 %>
.9
9 %> ! $ 2: / $ (
/J
!
%K
&R Z [
$9
66
22
CFB
5
6 4"
initialized with IV
initialized with IV
(s)
(s)
shift register (n)
shift register (n)
(n)
(n)
EE
K
EE
K
(n)
(n)
select
selectssbits
bits
select
selectssbits
bits
(s)
(s)
(s)
Pi
(s)
+
Ci
(s)
Ci
(s)
+
Pi
67
OFB
5
6 4"
initialized with IV
initialized with IV
(s)
shift register (n)
K
(n)
EE
EE
K
(n)
(n)
select
selectssbits
bits
select
selectssbits
bits
(s)
(s)
Pi
(s)
+
(s)
shift register (n)
(n)
(s)
Ci
Ci
(s)
(s)
+
Pi
68
OFB ( CFB '#
OFB ! CFB
]&
6
&
D( &
. 6&
:CFB ^ C
@*
. "
L &
_ M 6 & ^ C 5 OFB
69
23
'
Meet-in-the-Middle
attack
Authentication
>)
Brute Force
9/F
69 :1
9 ()< 9
Stream Cipher
>D E)F
;< 9
Block Cipher
>?@A
;< 9
Symmetric Cipher
Key Schedule
P";
9F I AJ >3
Round
Symmetric
Encryption Scheme
)*+
69 :1
3
-. / 01
Confidentiality
'()
*
parallelization
!
"
9 _`< 9 F9 ) 1!
>1] O
DES
^F F 9 _`< 9 F9 ) 1!
Provable Security
Differential
cryptanalysis
45 6
plaintext
AES
Padding
;< 9
a Q 6" b
linear cryptanalysis
Z"[ \P <]
I EX U5 A
4
M3. V U 3*
M@T U 3*
Substitution
M4P<(P Q
Permutation
O(P Q
NSA: National
Security Agency
MAC: Message
authentication code
Timing Attack
M)
>3
70
7
G
DES
""
: 1 &
&'( & % & ' `
. A %" H IBM & 1973 @ & 0 - # B /
& ' -6
. & H E < /6 0 - # .( &
72
24
6) / L2 @ M
@ M
.&!
8 & '
(
.
. A
:< 8. 0 P N A 6
b H /c .
( &/ & ' ( & :C
(Round function) &! ?6
0 P
73
74
DES
.7! 6FG
.
F"
' NIST 1976 ;
,=2! C
%* IBM
$
1974 Z
\NSA b # # W# / cG
!/2! C F %K&R
% Y !$ 2* ]
:F
7 ) 64 :
(:< ' [ Z L
# !$ :
* , P
N=
7 ) 56 1 ; D
(8T ; D
16 :
8#
9
&R ! =8/ $
.9
$9
$ 78/ $
9?
(& !$ 2*
. =: X
> $ %P 3 78 $9
75
25
!7& S DES
%K
r H C5
N 0!
%K
<
Y !$ 2* I! 1999 3! : j $9
! 3 P; ,R 23 $9
,: !
$
. :9 9 f J:
J PC 5 & %K
.
Brute
%l $ / 1000
%
$ J PC $
;D
r H C5 < $ g
Force X $ 9 ?
.Y!$ 9 %: V %K Z [
I
(& !$ 2* 3
.9$ : I $ B ? ' [ DES I!
1R
76
DES
`a S
F"
) 64 (8T
1 6
1
48
1 6
56 12 1
)
2
@ #
)
)
15
16
77
.
S
) 64 (8T
) 56 1
DES
6
1
+
. 4
Li (32 bit)
b #
@ #
Ri (32 bit)
Ki (48 bit)
“round key”
f
“round function”
Li+1
Ri+1
78
26
79
DES
6
:&!
.&
A$d @ C
Li = Ri-1
Ri = Li-1 XOR F(Ri-1, Ki)
80
DES 01* Feistel *+,-+.
X
(64)
Initial
InitialPermutation
Permutation
(32)
FF
+
FF
+
FF
+
FF
(48)
K1
(48)
K2
(48)
K3
(56)
K
…
+
Key Scheduler
(32)
81
(48)
K16
-1
Initial
InitialPermutation
Permutation-1
Y
(64)
27
DES
L) #
32
expansion
48
Ki
1
48
6 to 4 6 to 4 6 to 4 6 to 4 6 to 4 6 to 4 6 to 4 6 to 4
S-box S-box S-box S-box S-box S-box S-box S-box
32
permutation
82
DES
L) #
+ + ++ + +
+ + ++ + +
+ ++ + + +
++ + + + +
++ + + + +
S1
S1
S2
S2
S3
S3
S4
S4
S5
S5
+ + + + + +
S6
S6
+ + + + + +
++ + + + +
S7
S7
S8
S8
PP
83
Key-schedule
Permuted
choice
48
bits
Di-1 (28 bit)
?@ AB CDEF
PC2
Ki
Ci-1 (28 bit)
Ci (28 bit)
Di (28 bit)
84
28
1
+
K
(56)
m 9 ' %K ,%
$ 9 16 $ 9 14 $9
.9 =% 9 ?
Permuted
Choice11
PermutedChoice
(28)
(28)
Left shift(s)
Left shift(s)
(28)
(48)
K1
(28)
Permuted
PermutedChoice
Choice22
Left shift(s)
(48)
Permuted
PermutedChoice
Choice22
…
K2
Left shift(s)
85
DES
s-box
)
DES Y !$ 2*
+E %\ N (
,=8
4 %\
(:< ' [ Z L
,
.
C E ,% 4 3 $ 9 $ ,% 6 0! 3 S-Box 8 9 ?
G!
+ 4
;! N : : 6 1 ( %
G! 5 16
;! N : : 5 2 ( %
C E 5 R 3 G!
3: E 5< $9 9 C 9 R 5 : 9 8
,% 32
$ R -K N S-Box 8
9 $ ,% 48 ^ &J $9
:9 8
!
86
DES JK S-Box GH
5
$&
+
0
1
2
3
14
4
13
0
15
7
2
4
1
3
15
12
0
1
$&
4
5
6
7
8
9
1
2
15
11
4
14
2
13
14
8
13
6
8
2
4
9
10
11
12
13
14
15
8
3
1
10
10
6
12
5
9
0
7
6
12
11
9
5
3
2
11
8
15
12
9
7
3
10
5
1
7
0
5
11
3
14
10
0
6
13
87
29
DES
: #
%K
256 = 7.2 * 1016 ,* ' r
$ 9 ,% 56
, !7l: ; * , ;= D H C 5 < 3K&'
!
7[ 22 i [
# 1 I4
4 1999 ;
. 7+h 3 " S6 9'
:
9
9
(:
:
€ >F ?
:
3K&'
$ 4 B 9$ $ DES
9 %>
$9 -K N
9 $
Y !$ 2*
;= &
( $ $9 =%
88
Time to break a code (106
decryptions/e
decryptions/es)
89
DES () 1 1># (1:<
9?
:%
%K
P $ < F1&' &R
DES KE 9 $ E
(%
r. ! 3& U%N=
( % 3%6
$
J PC
•
K# ? %KS
+E %KS
90
30
DES T9
1a # * 1>#
K# ?
:
6
9$ 9
%KS
1990 Z $9 5 2!9 Murphy
3t $
C E $9 F %%@ 3 3: 2D 9 $ F %%@ 3; !
47
N : plaintext/ciphertext ‚ 2 3 %:
+E %KS
1991 Z $9 Matsui
3t $
DES
f J: F1!
+E )! 6 0! I !
47
9$ 9 N : plaintext/ciphertext ‚ 2 3 %:
. :
PS $ < H4 $9 ( $ I!
. P%: !7> 5 ; K&R $ [ 3
( $ I!
! $
g: 3
9
J PC
91
7
G
3DES,IDEA,Blowfish, RC5, CAST128
3DES
: 3K~P
H C5
< 3K&'
6 $9 DES
!7> )% <
: ' $
$ 2:/ $ '
59
2!9 $ 2:/ $
Y !$ 2*
9?
3 # e! [ DES Y !$ 2* 59
%n%>
%K Z [ ! /
93
31
3DES
3DES Y !$ 2*
9?
/J
%K 3
! =8/ $ 3K' 0!
9?
$ 2:/ $ 3K'
9
9
! X P8 ,% 168 3 %K
r
,6 + DES 3DES 5 P;! %K 0! 9 ? F$ L $9
& ,R RC5 Blowfish : 2!9 (& !$ 2* 3 , P:
9$ 9
,
=: X$ /8 5< 3%KR 3K&' 5
94
3DES
2DES 3%KR 3: % $9 F 41 3K&'
:
C=Ek1,k2[M] : 3;!$ + : 9
$ (M,C) ‚ 0! 2K%KS
Dk1[C]=Ek2[M] : Y!$ 9 b I!
Y% $ Z C 9 3 ! =8/ $
$ 78/ $ f J:
%K 3&
! <
Y%
J PC c +: 0! 3 5 % $
$ (* C L R
48
9 c +: 3 J :
%K 2
{ ' Z 3K' $9
c +: 3 J 3 -K N
%K Z & ' ( ! C
c + : I !) ' $ ;
!
F =
O(256 ) c F %K&R f J:
: 3J% :
,P%:
6
3K' 0! DES H C 5 < 3K&' 6 $9 3K' 9 DES
95
IDEA
1990 Z
( $/ f :
$9 Lai Messay
^
9 %> $9)DES 3 , P: =% ,R
(%8ƒ!
% 16
,% 128 : %K Z [
,% 64 : |1 Z [
$ 98: $ 99 .
: K&R $ F %K&R f J:
96
32
IDEA * 1>#
,
=: 3 E IDEA 3%KR K&R 3K&' s% 5
I F1&' 3 , P: (
$
g: 3
I;& %\ $ H C 5 < 3K&' % 128 %K Z [
(9 C
(!j * ;
4 ')
97
Blowfish
1993/94 Z $9 Schneier
' [
% 32
: 9 > $ ,R >
9 %> 9 C
3g ' 5k
& 3 %: : 89 =
5 <
9 %>
5 < Y !$ 2* %KS
., %%@
4 ,% 3C$9 : %@ %K Z [
98
Blowfish
"j6
,% 64 : |1 Z [
$ 9 16 : $ 9 9 .
,% 448 32 : %@ %K Z [
%K 3 3 P
S-Box %K ! %*
:
%Ex P 3! $< $9 3
% 32 %K ! 18
:
%Ex S 3! $< $9 3 8*32
: S-Box 4
$ 2:/ $ 3K' 521 3
%K ! %* :
%K !
%*
9$ 9 ‚ % '
99
33
RC5
:
-K N
$ / ,N
$ / f : c +:
f J: 3&K
$ F %K&R : 9 !
C ,R
F ?
(% 9 .
: 9 > c +:
%@ |1 Z [
%@ %K Z [
%@
$ 99 .
Y 3g ' 3 %:
9 Y !$ 2* %KS
' [
;= $ / $ %KS : 9 9 3 3 P
$ 99 .
100
CAST-128
$9 Tavares Adams
^
( % 8 ! / ),% 128 40 : %@ %K Z [
$ 9 16 : $ 9 9 .
: ! F ? 9
Feistel 0% 1 $ E 3 =
9?
%K ! 9 $ 9 $9
9$ 9 2 P $ 9 3 F H
( %&! G!
I )PGP $9 9 ? Z ' $9
1997 Z
101
: 6 5@ 7[
(&6
102
34
7
F z
G
4 ,%
, +h *) 7
3K&' 3 J Y !$ 2* 3 e
(8T
3K&' Y% F z :
!
.9 =% 5< :
L R3 e
5< ,P; $ # ? 5$ 6
/%: $ 2:/ $ $9
9?
Y !$ 2* 3 ,P: 9 Y%
$ 2: / $ & 9 8 Y% F z :Z {
3.+4/ $ I P; 3 $9 4 m /* I& 9
.
%
E Y% I~&+
3.+4/ $
8 :I!
.
I /%: $ 2:/ $
.
% F z
4 ,%
! I!
104
Reduction
Reduction of primitive to a protocol:
If A is an adversary that breaks the scheme A can be used to break
the primitive.
A: Attacking protocol
B: Attacking primitive
So if we believe there is no such B to break the
Primitive there can’t be such an A: Security!
105
35