Dalam dunia keamanan informasi, enkripsi memegang peranan krusial untuk melindungi data dari akses yang tidak berwenang. Salah satu algoritma enkripsi klasik yang pernah sangat populer adalah Data Encryption Standard (DES). Meskipun saat ini DES dianggap kurang aman untuk banyak aplikasi karena ukuran kuncinya yang kecil, memahami cara kerjanya memberikan wawasan fundamental tentang prinsip-prinsip kriptografi simetris. Artikel ini akan membahas contoh algoritma DES, mulai dari konsep dasar hingga tahapan-tahapannya.
Simbol representatif untuk enkripsi/dekripsi data.
DES (Data Encryption Standard) adalah algoritma enkripsi blok simetris yang dikembangkan pada awal tahun 1970-an. Algoritma ini mengenkripsi data dalam blok berukuran 64 bit. Kunci yang digunakan DES berukuran 56 bit efektif (meskipun disimpan dalam 64 bit, 8 bit terakhir digunakan sebagai parity bit). DES termasuk dalam kategori algoritma kriptografi kunci simetris, yang berarti kunci yang sama digunakan untuk proses enkripsi dan dekripsi.
Meskipun DES masih dapat ditemukan dalam beberapa sistem warisan, kekuatannya telah banyak dikritik karena ukuran kuncinya yang rentan terhadap serangan brute-force oleh komputer modern. Algoritma yang lebih kuat seperti AES (Advanced Encryption Standard) kini telah menggantikannya.
DES beroperasi melalui serangkaian permutasi dan substitusi yang rumit yang diulang sebanyak 16 putaran (round). Setiap putaran melibatkan operasi matematika dan logika yang mengubah blok data secara progresif.
Tahapan utama dalam algoritma DES adalah:
Mari kita fokus pada detail satu putaran DES. Diasumsikan kita memiliki blok data 64 bit yang dibagi menjadi L0 (32 bit) dan R0 (32 bit).
Untuk putaran ke-i (dimana i dari 1 hingga 16):
Secara visual, ini dapat digambarkan sebagai:
L(i) = R(i-1)
R(i) = L(i-1) XOR f(R(i-1), K(i))
Dimana `f` adalah fungsi yang melibatkan ekspansi, S-Boxes, dan P-Box.
Meskipun implementasi penuh DES melibatkan tabel permutasi yang kompleks, mari kita bayangkan sebuah versi yang sangat disederhanakan untuk memahami konsep substitusi dan permutasi.
Misalkan kita punya blok data 8 bit dan kunci 8 bit, dan algoritma kita punya 1 putaran saja.
Data: 10110010
Kunci: 01101101
Langkah Sederhana (hanya ilustrasi, bukan DES sebenarnya):
1011) dan 4 bit kanan (0010).001000011011
001000 XOR 011011 = 010011
010 -> 101
011 -> 001
Output substitusi: 101001 (6 bit)
101001 -> 011001 (6 bit)1011 XOR 011001 (ambil 4 bit terakhir: 001) = 1011 XOR 001 = 1010. Ini menjadi R baru.0010. Ini menjadi L baru.10100010.Proses nyata DES jauh lebih kompleks dengan tabel yang spesifik dan jumlah putaran yang banyak.
Meskipun DES tidak lagi dianggap aman untuk penggunaan modern, contoh algoritma DES ini memberikan pemahaman mendalam tentang bagaimana algoritma enkripsi blok simetris bekerja. Struktur berulang, penggunaan substitusi (S-Boxes) untuk non-linearitas, dan permutasi bit adalah elemen kunci yang mendasari kekuatan banyak algoritma kriptografi hingga saat ini. Mempelajari DES membuka jalan untuk memahami algoritma yang lebih canggih seperti Triple DES (3DES) dan AES.