Materi DES tambahan

Artikel ini berisi penjelasan teknis dari yang disinggung dalam artikel penyandian blok Standar Enkripsi Data (DES).

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) 

+ 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) 

+ 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) 

+ 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) 

+ 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) 

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) 

+ 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  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).

 Daftar pustaka 


 Pranala luar 
  Ilustrasi algoritma DES

Kategori:Standar Enkripsi Data
Kategori:Kotak-S