IMPLEMENTASI ALGORITMA DATA ENCRYPTION STANDARD UNTUK PENGAMANAN TEKS DATA ENCRYPTION STANDARD ALGORITHM IMPLEMENTATION FOR TEXT SECURITY Satrio Wahyu Setyarsanto 1, Aris Marjuni 2 1,2 Universitas Dian Nuswantoro;Jl. Nakula I No. 5-11, (024)3517261 Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Dian Nuswantoro, Semarang e-mail : 1 satrio4043@gmail.com, 2 aris.marjuni@dsn.dinus.ac.id ABSTRAK Penyimpanan data pada media penyimpanan digital semakin banyak dilakukan oleh instansi pemerintahan maupun perusahaan swasta.banyak dari data tersebut digunakan untuk mengambil kebijakan bagi suatu perusahaan atau instansi pemerintahan. Beberapa instansi pemerintahan maupun perusahaan swasta masih menyimpan data tersebut tanpa pengamanan sehingga rentan terhadap akses oleh pihak yang tidak terotoritas. Algoritma Data Encryption Standard merupakan salah satu algoritma simetris yang dapat digunakan untuk mengamankan data tersebut. Hasil yang didapat pada implememtasi algoritma ini yaitu data berupa teks dapat diamankan dengan cukup aman dengan menggunakan algoritma Data Encryption Standard dan kunci acak 8 karakter. Serangan dengan metode Brute Force memerlukan waktu lebih dari 24 jam untuk menemukan kunci acak 8 karakter yang digunakan. Penerapan algoritma ini sangat penting mengingat bahwa di era digital ini pencurian atau pengubahan data marak terjadi dan beberapa dapat merugikan instansi atau perusahaan yang diserang. Kata Kunci -- Kriptografi, Data, Data Encryption Standard, Brute Force ABSTRACT Data storage on digital storage media increasingly carried out by government agencies and private companies. A lot of the data used to formulate policy for private company or government agency. Several government agencies and private companies are still storing such data without security and can accessed by unauthorized parties. Data Encryption Standard algorithm is a symmetric algorithm that can be used to secure the data. The result from implementation of this algorithm for text security is that algorithm can secured enough and by using a random 8 character key. Brute Force attack method need more than 24 hours to find an 8 random key characters which is used as password. The application of this algorithm is very important to remember that in this digital era theft or alteration of data is rampant and some may harm the agency or company that was attacked. Keyword -- Cryptography, Data, Data Encryption Standard, Brute Force
1. PENDAHULUAN Penggunaan teknologi informasi sebagai media penyimpanan data semakin banyak dilakukan oleh instansi pemerintahan maupun perseorangan. Pada beberapa perusahaan, penyimpanan data seperti data keuangan, data pegawai atau data produk baru. Akan tetapi banyak diantaranya masih menyimpan data-data tersebut tanpa menggunakan suatu algoritma keamanan sehingga sering terjadi pencurian data. Algoritma Data Encryption Standard merupakan salah satu algoritma kriptografi yang dapat diterapkan untuk mengamankan suatu data. Kelebihan dari algoritma ini adalah pada algoritma Data Encryption Standard menggunakan beberapa kali permutasi serta menggunakan S-Box serta melakukan enkripsi sebanyak 16 kali perputaran [1]. 2. METODE PENELITIAN Untuk dapat mengimplementasikan algoritma Data Encryption Standard dalam mengamankan data berupa teks menggunakan metode - Studi literatur : mempelajari buku literatur atau karya tulis lain yang memuat tentang kriptografi dan algoritma Data Encryption Standard. - Analisa permasalahan : untuk mengetahui dan menentukan metode algoritma yang digunakan untuk mengenkripsi atau mendekripsi data secara efektif - Evaluasi : mengevaluasi hasil enkripsi algoritma Data Encryption Standard yang menggunakan kombinasi kata sandi yang acak jika diserang dengan menggunakan Bruteforce. 3. HASIL DAN PEMBAHASAN Untuk megatasi masalah keamanan, penerapan algoritma kriptografi diperlukan untuk mengamankan suatu data atau file yang dianggap penting. Hal ini ditujukan untuk menghindari agar data atau file yang dianggap pentinig tersebut tidak diakses oleh orang-
orang yang tidak terotorisasi. Terdapat 2 macam algoritma kriptografi yaitu algoritma kunci simterik (symmetric key) dan algoritma kunci tidak simetrik (asymmetric key), algoritma Data Encryption Standard sendiri merupakan jenis algoritma dengan kunci simetris dimana kunci yang digunakan untuk enkripsi dan dekripsi pesan menggunakan kunci yang sama. Algoritma Data Encryption Standard sendiri diadaptasi oleh National Institute of Standards and Technology (NIST) sebagai standar pengolahan informasi Federal Amerika Serikat [2]. Algoritma Data Encrption Standard menggunakan kunci 8 karakter 64 bit, akan tetapi yang benar-benar digunakan dalam proses dalam algoritma hanya 56 bit. Ilutrasi langkah-langkah algoritma Data Encryption Standard dengan plainteks Satrio Wa dan kunci 12345678 adalah seperti berikut : 1. Plainteks diubah menjadi biner untuk kemudian dipermutasikan dengan tabel boks Initial Permutation dan mendapatkan hasil permutasi biner 11111111 01001101 01100100 11110011 00000000 10111110 00110000 01101001 Yang kemudian dibagi menjadi 2 bagian yaitu L 0 dan R 0 dimana masing-masing sepanjang 32 bit. 2. Kunci 8 karakter diubah menjadi biner untuk kemudian dipermutasikan dengan tabel permutasi PC-1 dan menghasilkan bit-bit kunci sepanjang 56 bit seperti berikut : 0000000 0000000 0011111 1111111 0110011 0011110 0010000 0001111 3. Hasil pada langkah 2 kemudian dipecah menjadi 2 bagian yaitu C 0 dan D 0 yang masing-masing sepanjang 28 bit. Hasilnya C0 = 0000000 0000000 0011111 1111111 D0 = 0110011 0011110 0010000 0001111 4. Hasil pada langkah 3 kemudian dilakukan rotasi bit sebanyak 16 kali untuk kemudian menghasilkan 16 kunci untuk 16 ronde algoritma Data Encryption Standard. Hasil rotasi bit-bit adalah C1 = 0000000 0000000 0111111 1111110 D1 = 1100110 0111100 0100000 0011110 C2 = 0000000 0000000 1111111 1111100
D2 = 1001100 1111000 1000000 0111101 C16 = 0000000 0000000 0011111 1111111 D16 = 0110011 0011110 0010000 0001111 5. Setelah mendapatkan hasil pada langkah 4 masing-masing hasil tersebut dipermutasikan dengan tabel permutasi PC-2 untuk menghasilkan kunci sepanjang 48 bit yang akan digunakan untuk 16 ronde algoritma Data Encryption Standard. Hasil permutasi dengan tabel permutasi PC-2 adalah K1 = 010100 000010 110010 101100 010101 110010 101011 000010 K2 = 010100 001010 110010 100100 010100 001010 001101 000111 K16 = 010100 010010 110010 001100 101001 110100 001111 000000 6. Setelah didapatkan kunci untuk masing-masing ronde algoritma Data Encryption Standard dengan memanfaatkan jaringan Feistel yang secara matematis dapat ditulis Li= Ri 1 (1) Ri= Li 1 f(ri 1, Ki) ( 2 ) Dilakukan enkripsi sebanyak 16 kali dengan memanfaatkan jaringan Feistel tersebut. Penggunaan jaringan Feistel tersebut pertama kali yaitu melakukan ekspansi R 0 dari 32 bit menjadi 48 bit dengan menggunakan fungsi tabel E. hasil yang didapatkan 100000 000001 010111 111100 000110 100000 001101 010010 Hasil ekspansi tersebut kemudian dilakukan operasi logika XOR dengan kunci K 1 dan mendapatkan hasil 110100 000011 100101 010000 010011 010010 000100 010000
Tiap 6 bit dari hasil tersebut kemudian dipermutasikan dengan menggunakan S-Box dimana tiap 6 bit mewakili satu nilai pada S-Box. Hasil S-Box yang didapatkan adalah 1001 1101 0100 0001 0000 1101 0010 1010 Hasil dari S-Box tersebut dipermutasikan kembali dengan menggunakan tabel permutasi fungsi P sehingga didapatkan nilai fungsi f. hasil yang didapatkan sebagai berikut : 1001 1000 1000 1011 0110 0100 0001 1010 Nilai fungsi f tersebut kemudian di XOR dengan L 0 untuk mendapatkan nilai R 1 yang akan digunakan pada ronde kedua. Setelah dilakukan sebanyak 16 ronde perputaran algoritma Data Encryption Standard didapatkan nilai R 16 dan L 16 seperti berikut : 01100011 10101010 10000011 01001000 00111100 10000010 00110111 11010101 Hasil tersebut kemudian dipermutasikan terakhir kali untuk mendapatkan teks sandi dengan menggunakan tabel Inverse Initial Permutation yang kemudian didapatkan hasil 01001110 01111100 10001010 10010001 10001010 11011000 01000011 00110110 Biner tersebut apabila ditranslasikan kembali kedalam huruf akan menghasilkan teks N Ṧ ṦǾC6 4. KESIMPULAN Algortima Data Encryption Standard dapat mengamankan sebuah data berbentuk teks dengan cukup aman serta memberikan efek avalanche sehingga karakter teks asli benar-benar menghilang dalam teks sandi. Akan tetapi ketika mengamankan sebuah file teks yang cukup besar memerlukan waktu yang lebih lama.
5. SARAN Diharapkan dalam pengembangan algoritma Data Encryption Standard dapat mengamankan file teks dengan ukuran besar dengan waktu yang lebih cepat. DAFTAR PUSTAKA [1] R. Sadikin, Kriptografi untuk Keamanan Jaringan, Yogyakarta: Penerbit ANDI, 2012. [2] S. Gurpreet Singh, "A Study of Encryption Algorithms (RSA, DES, 3DES and AES) for Information Security," International Journal of Computer Applications, vol. 67, pp. 33-38, 2013.