Seluruh bit dan bita diurutkan sesuai endian besar dalam artikel ini, yaitu bit pertama selalu bit dengan nilai tempat terbesar.
Tiap tabel dibuat untuk memudahkan pemahaman. Tabel-tabel berikut berupa larik, bukan matriks, kecuali telah disebutkan lain.
Permutasi awal (IP)
Alur gerak bit pada permutasi awal (IP)
IP
58
50
42
34
26
18
10
2
60
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49
41
33
25
17
9
1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
Tabel ini menentukan permutasi masukan untuk blok 64 bit. Cara baca tabel ini sebagai berikut: Bit keluaran pertama diambil dari bit masukan ke-58; bit keluaran kedua diambil dari bit masukan ke-50; dan seterusnya hingga bit keluaran terakhir diambil dari bit masukan ketujuh.
Permutasi akhir (IP-1)
Alur gerak bit pada permutasi akhir (IP-1)
IP−1
40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
Permutasi akhir adalah inversi dari permutasi awal.
Fungsi ekspansi (E)
Alur gerak bit pada fungsi ekspansi
E
32
1
2
3
4
5
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
Fungsi ekspansi (perluasan) ditafsirkan sebagai permutasi awal dan akhir. Perhatikan bahwa beberapa bit dari masukan digandakan, misal bit masukan ke-5 digandakan ke bit keluaran ke-6 dan ke-8. Jadi, setengah-blok 32 bit diperluas menjadi 48 bit.
Permutasi (P)
Alur gerak bit pada permutasi P
P
16
7
20
21
29
12
28
17
1
15
23
26
5
18
31
10
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
Permutasi P mengocok bit-bit dari setengah-blok 32 bit.
Permutasi pilihan I (PC-1)
Alur gerak bit pada permutasi pilihan I (PC-1)
PC-1
Kiri
57
49
41
33
25
17
9
1
58
50
42
34
26
18
10
2
59
51
43
35
27
19
11
3
60
52
44
36
Kanan
63
55
47
39
31
23
15
7
62
54
46
38
30
22
14
6
61
53
45
37
29
21
13
5
28
20
12
4
Setengah "kanan" dan "kiri" menampilkan bit kunci yang membentuk bagian kanan dan kiri dari keadaan penjadwalan kunci. Perhatikan bahwa hanya 56 bit dari 64 bit yang dipilih. Sisanya (8, 16, 24, 32, 40, 48, 56, 64) dipakai sebagai bit paritas.
Permutasi pilihan II (PC-2)
Alur gerak bit pada permutasi pilihan II (PC-2)
PC-2
14
17
11
24
1
5
3
28
15
6
21
10
23
19
12
4
26
8
16
7
27
20
13
2
41
52
31
37
47
55
30
40
51
45
33
48
44
49
39
56
34
53
46
42
50
36
29
32
Permutasi ini hanya memilih 48 bit kunci ronde dari 56 bit keadaan penjadwalan kunci. Permutasi ini mengabaikan bit ke-9, 18, 22, 25, 35, 38, 43, dan 54.
Kotak substitusi (Kotak-S)
Kotak-S DES
S1
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
14
4
13
1
2
15
11
8
3
10
6
12
5
9
0
7
0yyyy1
0
15
7
4
14
2
13
1
10
6
12
11
9
5
3
8
1yyyy0
4
1
14
8
13
6
2
11
15
12
9
7
3
10
5
0
1yyyy1
15
12
8
2
4
9
1
7
5
11
3
14
10
0
6
13
S2
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
15
1
8
14
6
11
3
4
9
7
2
13
12
0
5
10
0yyyy1
3
13
4
7
15
2
8
14
12
0
1
10
6
9
11
5
1yyyy0
0
14
7
11
10
4
13
1
5
8
12
6
9
3
2
15
1yyyy1
13
8
10
1
3
15
4
2
11
6
7
12
0
5
14
9
S3
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
10
0
9
14
6
3
15
5
1
13
12
7
11
4
2
8
0yyyy1
13
7
0
9
3
4
6
10
2
8
5
14
12
11
15
1
1yyyy0
13
6
4
9
8
15
3
0
11
1
2
12
5
10
14
7
1yyyy1
1
10
13
0
6
9
8
7
4
15
14
3
11
5
2
12
S4
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
7
13
14
3
0
6
9
10
1
2
8
5
11
12
4
15
0yyyy1
13
8
11
5
6
15
0
3
4
7
2
12
1
10
14
9
1yyyy0
10
6
9
0
12
11
7
13
15
1
3
14
5
2
8
4
1yyyy1
3
15
0
6
10
1
13
8
9
4
5
11
12
7
2
14
S5
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
2
12
4
1
7
10
11
6
8
5
3
15
13
0
14
9
0yyyy1
14
11
2
12
4
7
13
1
5
0
15
10
3
9
8
6
1yyyy0
4
2
1
11
10
13
7
8
15
9
12
5
6
3
0
14
1yyyy1
11
8
12
7
1
14
2
13
6
15
0
9
10
4
5
3
S6
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
12
1
10
15
9
2
6
8
0
13
3
4
14
7
5
11
0yyyy1
10
15
4
2
7
12
9
5
6
1
13
14
0
11
3
8
1yyyy0
9
14
15
5
2
8
12
3
7
0
4
10
1
13
11
6
1yyyy1
4
3
2
12
9
5
15
10
11
14
1
7
6
0
8
13
S7
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
4
11
2
14
15
0
8
13
3
12
9
7
5
10
6
1
0yyyy1
13
0
11
7
4
9
1
10
14
3
5
12
2
15
8
6
1yyyy0
1
4
11
13
12
3
7
14
10
15
6
8
0
5
9
2
1yyyy1
6
11
13
8
1
4
10
7
9
5
0
15
14
2
3
12
S8
x0000x
x0001x
x0010x
x0011x
x0100x
x0101x
x0110x
x0111x
x1000x
x1001x
x1010x
x1011x
x1100x
x1101x
x1110x
x1111x
0yyyy0
13
2
8
4
6
15
11
1
10
9
3
14
5
0
12
7
0yyyy1
1
15
13
8
10
3
7
4
12
5
6
11
0
14
9
2
1yyyy0
7
11
4
1
9
12
14
2
0
6
10
13
15
3
5
8
1yyyy1
2
1
14
7
4
10
8
13
15
12
9
0
3
5
6
11
Tabel ini mendaftar delapan kotak-S yang dipakai dalam DES. Tiap kotak-S mengganti masukan 6 bit ke keluaran 4 bit. Bila diberikan masukan 6 bit, keluarannya ditentukan dengan memilih baris dari bit-bit terluar dan memilih kolom dari empat bit tengah. Misalnya, masukan 011011 memiliki bit-bit terluar "01" dan empat bit tengah 1101 sehingga S5(011011) adalah 1001. (Lihat kotak-S).
Pembuatan kunci
Kunci utama yang diberikan dari pengguna adalah 64 bit. Operasi berikut dilakukan darinya.
Permutasi dengan kotak PC-1
Bit-bit pada kunci utama dipermutasikan dengan kotak PC-1 (lihat di atas) yang terdiri dari penghapusan bit paritas dan permutasi.
Rotasi bit
Sebelum kunci ronde dipilih, tiap setengah keadaan penjadwalan kunci digeser melingkar ke kiri beberapa kali.
Tabel rotasi bit
Ronde ke-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Jumlah geser
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
Pemampatan kunci
Bit-bit hasil rotasi dipermutasikan dengan kotak PC-2 (lihat di atas).