(DES)
IF5054 Kriptograf
Pendahuluan
Block cipher yang diberikan di dalam
kuliah:
1. DES
2. 3DES
3. GOST
4. RC5
6. AES
IDEA
LOKI
RC2
FEAL
Lucifer
CAST
CRAB
10.
12.
13.
14.
15.
16.
17.
Twofsh
Serpent
RC6
MARS
Camellia
3-WAY
MMB, SkipJack, dll
Tinjauan Umum
DES adalah standard, sedangkan
algoritmanya adalah DEA (Data
EncryptionAlgorithm). Kedua nama ini
sering dikacaukan.
DES termasuk ke dalam kriptograf kuncisimetri dan tergolong jenis cipher blok.
DES beroperasi pada ukuran blok 64 bit.
Panjang kunci ekternal = 64 bit (sesuai
ukuran blok), tetapi hanya 56 bit yang
dipakai (8 bit paritas tidak digunakan)
IF5054/Rinaldi Munir/Prodi IF/STEI ITB
Plainteks
IP
16 kali
Enciphering
IP-1
Cipherteks
Gambar 9.1 Skema Global Algoritma DES
P la in te k s
IP
16
L1 = R
R1 L0 f ( R0 , K 1 )
L2 = R
15
= R
R 2 L1 f ( R1 , K 2 )
14
16
= R
15
-1
C ip h e rte k s
K u n c i e k s te rn a l
Gambar 9.2. Proses pembangkitan kunci-kunci internal DES
P e rm u ta s i
P C -1
C
L e ft S h ift
L e ft S h ift
L e ft S h ift
L e ft S h ift
L e ft S h ift
L e ft S h ift
16
16
P e rm u ta s i
P C -2
P e rm u ta s i
P C -2
P e rm u ta s i
P C -2
16
49
2
55
6
41
59
47
61
33
51
39
53
25
43
31
45
17
35
23
37
9
27
15
29
1
19
7
21
58
11
62
13
50
3
54
5
42
60
46
28
34
52
38
20
26
44
30
12
18
36
22
4
17
19
52
49
11
12
31
39
24
4
37
56
1
26
47
34
5
8
55
53
3
16
30
46
28
7
40
42
15
27
51
50
6
20
45
36
21
13
33
29
10
2
48
32
Permutasi Awal
Tujuan: mengacak plainteks sehingga
urutan bit-bit di dalamnya berubah.
Matriks permutasi awal (IP):
58
62
57
61
50
54
49
53
42
46
41
45
34
38
33
37
26
30
25
29
18
22
17
21
10
14
9
13
2
6
1
5
60
64
59
63
52
56
51
55
44
48
43
47
36
40
35
39
28
32
27
31
20
24
19
23
12
16
11
15
4
8
3
7
Enciphering
Setiap blok plainteks mengalami 16 kali putaran
enciphering .
Setiap putaran enciphering merupakan jaringan
Feistel:
Li = Ri 1
Ri = Li 1 f(Ri 1, Ki)
L
i - 1
Ri 1
Ri
IF5054/Rinaldi Munir/Prodi IF/STEI ITB
i-1
3 2 b it
E k s p a n s i m e n ja d i 4 8 b it
E (R
i-1
4 8 b it
4 8 b it
4 8 b it
E ( Ri 1 ) K i A
...
M a trik s s u b s titu s i
B
3 2 b it
P (B )
3 2 b it
1
9
17
25
2
10
18
26
3
11
19
27
4
12
20
28
5
13
21
29
4
12
20
28
5
13
21
29
6
14
22
30
7
15
23
31
8
16
24
32
9
17
25
1
S 1:
14
0
4
15
4
15
1
12
13
7
14
8
1
4
8
2
2
14
13
4
15
2
6
9
11
13
2
1
8
1
11
7
3
10
15
5
10
6
12
11
6
12
9
3
12
11
7
14
5
9
3
10
9
5
10
0
0
3
5
6
7
8
0
13
1
13
14
8
8
4
7
10
14
7
11
1
6
15
10
3
11
2
4
15
3
8
13
4
4
14
1
2
9
12
5
11
7
0
8
6
2
1
12
7
13
10
6
12
12
6
9
0
0
9
3
5
5
11
2
14
10
5
15
9
0
7
6
10
9
0
4
13
14
9
9
0
6
3
8
6
3
4
15
9
15
6
3
8
5
10
0
7
1
2
11
4
13
8
1
15
12
5
2
14
7
14
12
3
11
12
5
11
4
11
10
5
2
15
14
2
8
1
7
12
13
8
6
15
14
11
9
0
3
5
0
6
0
6
12
10
6
15
11
1
9
0
7
13
10
3
13
8
1
4
15
9
2
7
1
4
8
2
3
5
5
12
14
11
11
1
5
12
12
10
2
7
4
14
8
2
15
9
4
14
S 2:
15
3
0
13
S3:
10
13
13
1
S4:
7
13
10
3
S5:
2
14
4
11
12
11
2
8
4
2
1
12
1
12
11
7
7
4
10
1
10
7
13
14
11
13
7
2
6
1
8
13
8
5
15
6
5
0
9
15
3
15
12
0
15
10
5
9
13
3
6
10
0
9
3
4
14
8
0
5
9
16
14
3
1
15
14
3
10
4
15
2
15
2
5
12
9
7
2
9
2
12
8
5
6
9
12
15
8
5
3
10
0
6
7
11
13
1
0
14
3
13
4
1
4
14
10
7
14
0
1
6
7
11
13
0
5
3
11
8
11
8
6
13
4
13
1
6
S 8:
11
0
4
11
2
11
11
13
14
7
13
8
15
4
12
1
0
9
3
4
8
1
7
10
13
10
14
7
3
14
10
9
12
3
15
5
9
5
6
0
7
12
8
15
5
2
0
14
10
15
5
2
6
8
9
3
1
6
2
12
13
1
7
2
2
15
11
1
8
13
4
14
4
8
1
7
6
10
9
4
15
3
12
10
11
7
14
8
1
4
2
13
10
12
0
15
9
5
6
12
3
6
10
9
14
11
13
0
5
0
15
3
0
14
3
5
12
9
5
6
7
2
8
11
S6:
12
10
9
4
S 7:
10
25
Ri = Li 1 P(B)
Jadi, keluaran dari putaran ke-i adalah
(Li, Ri) =L (Ri 1 , Li 1 P(B))
i-1
3 2 b it
3 2 b it
IF5054/Rinaldi Munir/Prodi IF/STEI ITB
8
6
4
2
48
46
44
42
16
14
12
10
56
54
52
50
24
22
20
18
64
62
60
58
32
30
28
26
39
37
35
33
7
5
3
1
47
45
43
41
15
13
11
9
55
53
51
49
23
21
19
17
63
61
59
57
31
29
27
25
Dekripsi
Dekripsi terhadap cipherteks merupakan
kebalikan dari proses enkripsi.
DES menggunakan algoritma yang sama
untuk proses enkripsi dan dekripsi.
Pada proses dekripsi urutan kunci yang
digunakan adalah K16, K15, , K1.
Untuk tiap putaran 16, 15, , 1, keluaran
pada setiap putaran deciphering adalah
Li = Ri 1
Ri = Li 1 f(Ri 1, Ki)
IF5054/Rinaldi Munir/Prodi IF/STEI ITB
Mode DES
DES dapat dioperasikan dengan
mode ECB, CBC, OFB, dan CFB.
Namun karena kesederhanaannya,
mode ECB lebih sering digunakan
pada paket komersil.
Implementasi DES
DES sudah diimplementasikan dalam
bentuk perangkat keras.
Dalam bentuk perangkat keras, DES
diimplementasikan di dalam chip. Setiap
detik chip ini dapat mengenkripsikan 16,8
juta blok (atau 1 gigabit per detik).
Implementasi DES ke dalam perangkat
lunak dapat melakukan enkripsi 32.000
blok per detik (pada komputer mainframe
IBM 3090).
IF5054/Rinaldi Munir/Prodi IF/STEI ITB
Keamanan DES
Keamanan DES ditentukan oleh kunci.
Panjang kunci eksternal DES hanya 64 bit, tetapi
yang dipakai hanya 56 bit.
Pada rancangan awal, panjang kunci yang diusulkan
IBM adalah 128 bit, tetapi atas permintaan NSA,
panjang kunci diperkecil menjadi 56 bit.
Tetapi, dengan panjang kunci 56 bit akan terdapat 2 56
atau 72.057.594.037.927.936 kemungkinan kunci.
Jika serangan exhaustive key search dengan
menggunakan prosesor paralel, maka dalam satu
detik dapat dikerjakan satu juta serangan. Jadi
seluruhnya diperlukan 1142 tahun untuk menemukan
kunci yang benar.
IF5054/Rinaldi Munir/Prodi IF/STEI ITB