Data Encryption Standard (DES) achmat Ariin Teknik Inormatika Sekolah Teknologi Elektro dan Inormatika Institut Teknologi Bandung Jln Cijawura GIrang II / I No I@students.i.itb.ac.id ABSTAK Dalam dunia digital, pengamanan sangat dibutuhkan bagi inormasi inormasi yang ada. Enkripsi merupakan salah satu metode yang banyak digunakan untuk sistem pengaman inormasi digital. Enkripsi merupakan sistem pengamanan yang memanaatkan algoritma tertentu untuk merubah plaintext menjadi sebuah cipher yang tidak akan dimengerti tanapa proses dekripsi terlebih dahulu. Kata kunci: enkripsi, dekripsi, cipher, pengamanan, inormasi.. PENDAHULUAN Data Encryption Standard berawal dari awal tahun an. Pada tahun, NBS (National Bureau o Standards) yang merupakan badan pemberian standar Amerika serikat mengidentiikasikan sebuah kebutuhan untuk memberikan standar pemerintah tentang pengenkripsian inormasi sensitive yang belum terklasiikasi. Pada ei, setelah NBS berkonsultasi dengan NSA, NBS mengajukan proposal untuk sebuah cipher yang memenuhi kriteria yang diinginkan. Pada pengajuan proposal yang pertama ini, NBS tidak menemukan cipher yang memenuhi kriteria. Pada Agustus pengajuan kedua diserahkan. Kali ini, IB mencalonkan cipher Lucier yang dikembangkan oleh Horst Feistel, Walter Tuchman, Don Coppersmith, Alan Konheim, Carl eyer, ike atyas, oy Adler, Edna Grossman, Bill Notz, Lynn Smith, dan Bryan Tuckerman. Penamaan Lucier diambil berdasarkan nama Lucier yang merupakan salah satu Demon. Demon pada hal ini berarti Demonstration. bit dibawah kendali bit kunci internal atau upakunci. Dalam melakukan dechiper harus dilakukan dengan menggunakan kunci yang sama dengan saat proses enchiper tetapi sat melakukan dechiper pemberian alaman berubah sehingga proses dechiper merupakan kebalikan dari proses enchiper. Sejumlah data yang akan di enchiper disebut sebagai permutasi awal atau initial permutation (IP). Komputasi key dependent dideinisikan sebagai ungsi sebgai ungsi chipper dan unction KS sebagai key schedule. Deskripsi dari komputasi diberikan pertama, bersama dengan detail bagaimana algoritma digunakan dalam proses enchiper. Selanjutnya, penggunaan algoritma untuk proses dechiper dideskripsikan. Pada akhirnya, sebuah deinisi chipper ungsi diberikan dalam bentuk ungsi primitive yang disebut ungsi seleksi Si dan ungsi permutasi P.. Skema Global DES Pada awalnya, blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP). Hasil dari permutasi awal tersebutkemudian di enchiper sebanyak kali atau putaran. Setiap putarannya menggunakan kunci internal yang berbeda. Hasil dari proses enchiper kembali dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP - ) menjadi blok cipherteks. Plainteks. ETODE DES termasuk ke dalam sistem kriptograi simetri dan tergolong jenis cipher blok. DES dirancang untuk melakukan enchiper dan dechiper data yang berisi
Plainteks IP IP kali Enciphering L K IP - L = = L K (, ) Cipherteks K Gambar. Skema global DES Dalam proses enchiper, blok plainteks terbagi menjadi dua bagian yaitu bagian kiri (L) dan bagian kanan (), yang masing masing memiliki panjang bit. Pada setiap putaran i, blok merupakan masukan untuk ungsi transormasi ungsi. Pada ungsi, blok dikombinasikan dengan kunci internal K i. Keluaran dari ungsi ini di XO kan dengan blok L yang langsung diambil dari blok sebelumnya. Ini merupakan putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai berikut : L = L = = L K (, ) = L K (, ) L i = i i = L i ( i, K i ) Gambar memperlihatkan skema algoritma DES yang lebih rinci dan jelas. K = L (, ) L = K IP - Cipherteks Gambar. Algoritma enkripsi dengan DES
.. Awal Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-biit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks permutasi awal berikut ini: D : berisi bit-bit dari K pada posisi,,,,,,,,,,,,,,,,,,,,,,,,,, Selanjutnya, kedua bagian digeser ke kiri (let shit) sepanjang satu atau dua bit bergantung pada tiap putaran. Operasi pergeseran bersiat wrapping atau roundshit. isalkan (C i, D i ) menyatakan penggabungan C i dan D i. (C i+, D i+ ) diperoleh dengan menggeser C i dan D i satu atau dua bit. Setelah pergeseran bit, (C i, D i ) mengalami permutasi kompresi dengan menggunakan matriks PC- berikut: Cara membaca tabel/matriks di atas: dua entry ujung kiri atas ( dan ) berarti: pindahkan bit ke- ke posisi bit pindahkan bit ke- ke posisi bit.. Pembangkitan Kunci Internal Karena ada putaran, maka dibutuhkan kunci internal sebanyak buah, yaitu K, K,, K. Kuncikunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci eksternal panjangnya bit atau karakter. isalkan kunci eksternal yang tersusun dari bit adalah K. Kunci eksternal ini menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi PC- sebagai berikut: Dengan permutasi ini, kunci internal K i diturunkan dari (C i, D i ) yang dalam hal ini K i merupakan penggabungan bit-bit C i pada posisi:,,,,,,,,,,,,,,,,,,,,,, dengan bit-bit D i pada posisi:,,,,,,,,,,,,,,,,,,,,,, Jadi, setiap kunci internal K i mempunyai panjang bit. Kunci eksternal PC- Dalam permutasi ini, tiap bit kedelapan (parity bit) dari delapan byte kunci diabaikan. Hasil permutasinya adalah sepanjang bit, sehingga dapat dikatakan panjang kunci DES adalah bit. Selanjutnya, bit ini dibagi menjadi bagian, kiri dan kanan, yang masing-masing panjangnya bit, yang masing-masing disimpan di dalam C dan D : C : berisi bit-bit dari K pada posisi,,,,,,,,,,,,,,,,,,,,,,,,,, C D C D j j PC- PC- K C D PC- K Gambar. Proses Pembangkitan Kunci Kunci Internal DES K j
.. Enchipering Proses enciphering terhadap blok plainteks dilakukan setelah permutasi awal (lihat Gambar ). Setiap blok plainteks mengalami kali putaran enciphering (lihat Gambar ). Setiap putaran enciphering merupakan jaringan Feistel yang secara matematis dinyatakan sebagai L i = i i = L i ( i, K i ) Diagram komputasi ungsi diperlihatkan pada Gambar. bit i- Ekspansi menjadi bit Vektor A dikelompokkan menjadi kelompok, masing-masing bit, dan menjadi masukan bagi proses substitusi. Proses substitusi dilakukan dengan menggunakan delapan buah kotak-s (S-box), S sampai S. Setiap kotak-s menerima masukan bit dan menghasilkan keluaran bit. Kelompok -bit pertama menggunakan S, kelompok -bit kedua menggunakan S, dan seterusnya. (cara pensubstitusian dengan kotak-s sudah dijelaskan pada materi Prinsip-prinsip Perancangan Cipher Blok ) Keluaran proses substitusi adalah vektor B yang panjangnya bit. Vektor B menjadi masukan untuk proses permutasi. Tujuan permutasi adalah untuk mengacak hasil proses substitusi kotak-s. dilakukan dengan menggunakan matriks permutasi P (Pbox) sbb: bit bit E( i- ) E( i )Ki = A bit K i Bit-bit P(B) merupakan keluaran dari ungsi. Akhirnya, bit-bit P(B) di-xo-kan dengan L i untuk mendapatkan i (lihat Gambar ): S... S atriks substitusi i = L i P(B) Jadi, keluaran dari putaran ke-i adalah B (L i, i ) = ( i, L i P(B)) bit bit P(B) bit L i- Gambar. incian Komputasi Fungsi E adalah ungsi ekspansi yang memperluas blok i yang panjangnya -bit menjadi blok bit. Fungsi ekspansi direalisasikan dengan matriks permutasi ekspansi sbb: bit Gambar. Skema Perolehan i i.. Terakhir (Inverse Initial Permutation) Selanjutnya, hasil ekpansi, yaitu E( i ), yang panjangnya bit di-xo-kan dengan K i yang panjangnya bit menghasilkan vektor A yang panjangnya -bit: terakhir dilakukan setelah kali putaran terhadap gabungan blok kiri dan blok kanan. Proses permutasi menggunakan matriks permutasi awal balikan (inverse initial permutation atau IP - ) sbb: E( i ) K i = A
.. Dekripsi Proses dekripsi terhadap cipherteks merupakan kebalikan dari proses enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K, K,, K, maka pada proses dekripsi urutan kunci yang digunakan adalah K, K,, K. Untuk tiap putaran,,,, keluaran pada setiap putaran deciphering adalah L i = i i = L i ( i, K i ) yang dalam hal ini, (, L ) adalah blok masukan awal untuk deciphering. Blok (, L ) diperoleh dengan mempermutasikan cipherteks dengan matriks permutasi IP -. Pra-keluaran dari deciphering adalah adalah (L, ). Dengan permutasi awal IP akan didapatkan kembali blok plainteks semula. Tinjau kembali proses pembangkitan kunci internal pada Gambar. Selama deciphering, K dihasilkan dari (C, D ) dengan permutasi PC-. Tentu saja (C, D ) tidak dapat diperoleh langsung pada permulaan deciphering. Tetapi karena (C, D ) = (C, D ), maka K dapat dihasilkan dari (C, D ) tanpa perlu lagi melakukan pergeseran bit. Catatlah bahwa (C, D ) yang merupakan bit-bit dari kunci eksternal K yang diberikan pengguna pada waktu dekripsi. Selanjutnya, K dihasilkan dari (C, D ) yang mana (C, D ) diperoleh dengan menggeser C (yang sama dengan C ) dan D (yang sama dengan C ) satu bit ke kanan. Sisanya, K sampai K dihasilkan dari (C, D ) sampai (C, D ). Catatlah bahwa (C i, D i ) diperoleh dengan menggeser C i dan D i dengan cara yang sama seperti pada Tabel, tetapi pergeseran kiri (let shit) diganti menjadi pergeseran kanan (right shit)... Keamanan DES Isu-isu yang menjadi perdebatan kontroversial menyangkut keamanan DES:. Panjang kunci. Jumlah putaran. Kotak-S... Panjang Kunci Panjang kunci eksternal DES hanya bit atau karakter, itupun yang dipakai hanya bit. Pada rancangan awal, panjang kunci yang diusulkan IB adalah bit, tetapi atas permintaan NSA, panjang kunci diperkecil menjadi bit. Alasan pengurangan tidak diumumkan. Tetapi, dengan panjang kunci bit akan terdapat atau... kemungkinan kunci. Jika diasumsikan serangan exhaustive key search dengan menggunakan prosesor paralel mencoba setengah dari jumlah kemungkinan kunci itu, maka dalam satu detik dapat dikerjakan satu juta serangan. Jadi seluruhnya diperlukan tahun untuk menemukan kunci yang benar. Tahun, Electronic Frontier Foundation (EFE) merancang dan membuat perangkat keras khusus untuk menemukan kunci DES secara exhaustive search key dengan biaya $. dan diharapkan dapat menemukan kunci selama hari. Tahun, kombinasi perangkat keras EFE dengan kolaborasi internet yang melibatkan lebih dari. komputer dapat menemukan kunci DES kurang dari hari.... Jumlah Putaran Dari penelitian, DES dengan jumlah putaran yang kurang dari ternyata dapat dipecahkan dengan knownplaintext attack lebih mangkus daripada dengan brute orce attack.... Kotak - S Pengisian kotak-s DES masih menjadi misteri tanpa ada alasan mengapa memilih konstanta-konstanta di dalam kotak itu.. KESIPULAN Pengamanan selalu dibutuhkan, salah satunya di dunia digital. Salah satu yang banyak digunakan adalah Data Encryption Standard (DES) yang merupakan salah satu dari cipher blok. DES diaplikasikan dengan melakukan pengolahan pengolahan angka, oleh karena itu konsep dasar yang digunakan DES adalah teori bilangan. Pada awalnya DES digunakan sebagai salah pengaman yang paling aman, tetapi seiring berjalannya waktu banyak kekurangan sistem ini yang menjadi kontroversi karena menyangkut kemanannya.
. EFEENSI []http://en.wikipedia.org/wiki/data_encryption_standard ; Tanggal Akses : // []csrc.nist.gov/publications/ips/ips-/ips-.pd ; Tanggal Akses : // []kur.i.itb.ac.id/ile/des.doc ; Tanggal Akses : // []www.google.co.id/url?sa=t&source=web&ct=res&cd= &ved=cdaqfjal&url=http%a%f%fwww.inor matika.org%f~rinaldi%fkriptograi%f- %FData%Encryption%Standard%(D ES).ppt&rct=j&q=data+encryption+standard&ei=JltS- _BOkQXogCw&usg=AFQjCNGmFVaYSDU TvenLWqKkLypdw ;Tanggal Akses : // []belhob.wordpress.com////the-desalgorithm ; Tanggal Akses : // []en.wikipedia.org/wiki/lucier_(cipher) ; Tanggal Akses : // []http://www.total.or.id/ino.php?kk=data%encryptio n%standard ;Tanggal Akses : //