Simplified DES atau S-DES adalah kriptografi yang di desain untuk tujuan edukasi, untuk membantu siswa/mahasiswa mempelajari tentang teknik kriptografi modern. S-DES mempunyai properti dan struktur yang sama seperti DES namun telah disederhanakan sehingga lebih mudah untuk melakukan perhitungan enkripsi dan dekripsi menggunakan pensil dan buku. Setelah mempelajari S-DES maka kita akan mempunyai bayangan yang mudah terhadap kriptografi DES dan block cipher yang lainnya.
|
Blok Diagram S-DES |
DES sendiri adalah sebuah algoritma enkripsi blok dengan kunci simetrik dengan ukuran blok 64-bit dan ukuran kunci 56-bit. DES untuk saat ini sudah dianggap tidak aman lagi. Penyebab utamanya adalah ukuran kuncinya yang sangat pendek (56-bit). DES mempunyai potensi kelemahan terhadap exhaustive key search attack/brute force attack karena panjang kunci yang relatif pendek (hanya 56-bit). Sejak beberapa tahun yang lalu DES telah digantikan oleh Advanced Encryption Standard (AES).
SIMPLIFIED DES (S-DES)
- Block input (plaintext) : 8-bit
- Block output (ciphertext) : 8-bit
- Panjang Kunci (Key) : 10-bit
- Round key di-generate dengan permutasi dan left shift
- Enkripsi : Initial Permutation (IP), Round Function (\(f_{K}\)), Switch Half (SW)
- Dekripsi : sama dengan enkripsi hanya urutan memasukkan Round Key dibalik
Algoritma S-DES menggunakan 5 (lima) buah fungsi : Initial Permutation (IP), Fungsi Kompleks - \(f_{K}\) (Operasi Ekpand/Permutasi, Xor, Substitusi), Switch (SW), dan Invers Initial Permutation (\(IP^{-1}\)).
OPERASI-OPERASI PADA S-DES.
1. OPERASI PEMBANGKITAN KUNCI
|
Blok Diagram Key Generation S-DES |
a. P10 (Permutasi)
Input : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Output : 3, 5, 2, 7, 4, 10, 1, 9, 8, 6
b. LS-1 (Left Shift 1 Posisi)
c. P8 (Pemilihan dan Permutasi)
Input : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Output : 6, 3, 7, 4, 8, 5, 10, 9
d. LS-2 (Left Shift 2 Posisi)
2. OPERASI ENKRIPSI
a. IP (Initial Permutation)
|
Blok Diagram Enkripsi S-DES |
Input : 1, 2, 3, 4, 5, 6, 7, 8
Output : 2, 6, 3, 1, 4, 8, 5, 7
b. E/P (Expand dan Permutate)
Output : 4, 1, 2, 3, 2, 3, 4, 1
c. XOR (\(E/P\oplus K_{1}\))
d. S-Box (Substitution Box)
|
Matriks Substitusi S-Box S-DES |
S-Box adalah sebuah matriks substitusi. Kita menggunakan input untuk memilih
baris-kolom dan nilai pada baris-kolom yang terpilih adalah outputnya.
Input : 4-bit (\(bit_{1}, bit_{2}, bit_{3}, bit_{4}\))
\(bit_{1}, bit_{4}\) untuk menentukan baris
\(bit_{2}, bit_{3}\) untuk menentukan kolom
Output : 2-bit (diambil dari matriks substitusi yg baris-kolomnya terpilih).
e. P4 (Permutasi)
f. XOR (Output IP-Left 4 bit XOR Output P4)
g. SW (Switch antara Output XOR dengan Output IP-Right)
h. \(IP^{-1}\) (Invers Initial Permutation)
Input : 1, 2, 3, 4, 5, 6, 7, 8
Output : 4, 1, 3, 5, 7, 2, 8, 6
3. OPERASI DESKRIPSI
- Merupakan kebalikan dari Operasi Enkripsi di atas, dengan menggunakan kunci yang sama hanya urutan memasukkan kunci dibalik.
Berikut adalah contoh Simplified Data Encryption Standard (S-DES) dari Buku William Stalling :
Kita bandingkan hasilnya dengan Simplified DES dari Library Sage sebagai berikut :
Berikut cara mencari Invers Permutasi dengan library Sage:
PERBANDINGAN S-DES DAN DES
No |
S-DES |
DES |
1 |
8-bits block plaintext |
64-bits block plaintext |
2 |
10-bits key |
56-bits key |
3 |
2 x 8-bits round key |
16 x 48-bits round key |
4 |
IP 8-bits |
IP 64-bits |
5 |
F operate on 4-bits |
F operate on 32-bits |
6 |
2 S-Boxes |
8 S-Boxes |
7 |
2 rounds |
16 rounds |
8 |
\(C=IP^{-1}(fK_{2}(SW(fK_{1}(IP(P)))))\) |
\(C=IP^{-1}(fK_{16}(SW(fK_{15}(SW(...(fK_{1}(IP(P))))))))\) |