Tinjauan Pustaka T1 672008027 Full text

2

1. Pendahuluan

Komunikasi data antar komputer berkembang untuk memenuhi kebutuhan pengguna. Perkembangan ini mengakibatkan semakin besarnya informasi yang disimpan dalam suatu sistem komputer baik organisasi maupun individu. Setiap informasi yang disimpan harus dilindungi keamanannya dari pihak-pihak yang tidak memiliki hak akses unauthorized user. Keamaman data menjadi suatu hal yang diprioritaskan dalam penyimpanan informasi. Kebutuhan pengamanan data mendorong terciptanya algoritma-agoritma tertentu untuk mengamankan suatu data [1]. Kriptografi dapat diartikan sebagai suatu ilmu ataupun seni yang mempelajari bagaimana sebuah data dikonversi ke bentuk tertentu yang sulit untuk dimengerti [2]. Kriptografi Data Encryption Standard DES menjadi standard algoritma enkripsi kunci simetri, namun saat ini standard ini telah tergantikan oleh algoritma lain karena DES dianggap tidak aman lagi [3]. Karena DES mempunyai potensi kelemahan pada key, maka dibuat varian dari DES. Salah satu contoh varian DES adalah Double DES dan Triple DES. Hal ini karena DES memiliki kunci lemah yang mengakibatkan setiap putaran proses enciphering menghasilkan plaintext semula [4]. Beranjak dari permasalahan di atas, maka dilakukan penelitian yang memodifikasi DES dengan teknik menkombinasi antara Right Row dan Left Row pada proses pembangkitan kunci internal disertai dengan kombinasi fungsi XOR dan Concatenate. Fokus dalam penelitian ini adalah bagaimana memodifikasi kriptografi DES dengan menggunakan teknik kombinasi Right Row dan Left Row pada proses pembangkitan kunci internal. Peranan kunci yang penting dalam proses enciphering menjadi alasan mengapa proses modifikasi DES dengan kombinasi Right Row dan Left Row serta operasi XOR dan Concatenate dilakukan pada proses ini. Pada pengujian modifikasi DES ini tidak dilakukan kriptanalisis sebab memakan resource dan waktu yang cukup banyak, hal ini dikarenakan kunci DES memiliki panjang 56 artinya 2 56 = 72.057.594.037.927.936 kemungkinan key yang harus dicoba secara paksa dengan super komputer [3].

2. Tinjauan Pustaka

Pada bagian ini akan membahas beberapa pustaka yang digunakan sebagai landasan teori untuk memodifikasi Kriptografi DES. Berikut ini sebagai pustaka yang diacu adalah penelitian terdahulu yang telah dilakukan terkait dengan modifikasi kriptografi DES. Penelitian sebelumnya yang berjudul Enhancing the Security of DES Algorithm Using Transposition Cryptography Techniques menggunakan teknik transposition untuk meningkatkan keamanan kriptografi DES. Penelitian ini menggunakan plaintext yang akan dienkripsi dengan algoritma DES yang sudah dimodifikasi dengan tambahan teknik transposition. Teknik transposition yang digunakan dalam penelitian ini adalah Simple Columnar Transposition Technique SCTTMR. SCTTMR adalah teknik transposition yang menyusun plaintext ke dalam sebuah bujur sangkar atau tabel atau matriks dan membacanya dengan urutan kolom secara acak. Teknik SCTTMR dilakukan di awal proses enkripsi. 3 Sehingga plaintext yang akan dienkripsi menggunakan algoritma DES sudah merupakan hasil dari modifikasi SCTTMR. Penelitian ini menghasilkan peningkatan keamanan pada algoritma DES. Jika intruder ingin menyerang algoritma modifikasi ini, maka diperlukan urutan random kolom yang digunakan pada proses SCTTMR dan memerlukan waktu yang lebih lama [5]. Penelitian lain yang berjudul Modified Key Model of Data Encryption Standard menggunakan 8 bit pertama hasil permutasi kompresi pertama dan 8 bit terakhir pada permutasi ke dua sebagai 16 bit kombinasi untuk tiap 48 bit key pada saat pengangkatan 16 kunci internal. Sehingga ketika dilakukan proses enchipering DES kunci yang digunakan 48 bit pada 16 bit pertama selalu statik atau sama. Tujuan dari penelitian ini adalah memperumit kriptografi DES normal pada saat pengangkatan kunci sehingga lebih sulit untuk dilakukan teknik kriptanalisis DES normal [6]. Kedua penelitian di atas merupakan penelitian yang memodifikasi kriptografi DES dengan menggunakan teknik transposition dan pengangkatan internal key. Berdasarkan penelitian sebelumnya maka penelitian ini akan melakukan modifikasi algoritma DES dengan menkombinasi Right Row Left Rows disertai dengan operasi XOR dan Concatenate. Penerapan teknik ini akan dilakukan pada proses pembangkitan kunci internal DES. Dengan adanya teknik ini yang dilakukan pada pembangkitan kunci diharapkan keamanan DES meningkat. Penelitian ini akan berfokus pada kriptografi DES maka dipaparkan lebih jelas dan detail tentang DES. Data Encryption Standard DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher block. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal internal key atau upa- kunci subkey. Kunci internal dibangkitkan dari kunci eksternal external key yang panjangnya 64 bit [7]. Proses enkripsi DES dapat dilihat melalui Gambar 1. Saat proses enkripsi berlangsung diperlukan 2 input utama, yaitu : plaintext yang akan dienkripsi dan key. Panjang plaintext harus 64 bits dan key 56 bits. Gambar 1 Proses Enkripsi DES [2] 4 Blok plaintext dipermutasi dengan matriks permutasi awal initial permutation atau IP. Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali 16 putaran. Setiap putaran menggunakan kunci internal yang berbeda. Saat proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri L dan kanan R, yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi f dilakukan XOR dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru langsung diambil dari blok R sebelumnya. Proses ini adalah satu putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai : 1   i i R L 1 , 1 1 i i i i K R f L R     2 Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan invers initial permutation atau IP -1 menjadi blok ciphertext. Secara lebih detail algoritma enkripsi DES dapat dilihat pada Gambar 2. Plainteks IP L R f  , 1 1 K R f L R   L 1 = R K 1 f  , 2 1 1 2 K R f L R   L 2 = R 1 K 2 , 15 14 14 15 K R f L R   L 15 = R 14 K 16 , 16 15 15 16 K R f L R   L 16 = R 15 IP -1 Cipherteks f  Gambar 2 Algoritma Enkripsi DES[2] 5 Proses enciphering terjadi sebanyak 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K 1 , K 2 , …, K 16 . Kunci-kunci 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 64 bit atau 8 karakter. Misalkan kunci eksternal yang tersusun dari 64 bit adalah K. Kunci eksternal ini menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi. Dalam permutasi ini, tiap bit ke delapan parity bit dari delapan byte kunci diabaikan. Hasil permutasinya adalah sepanjang 56 bit, sehingga dapat dikatakan panjang kunci DES adalah 56 bit. Selanjutnya, 56 bit ini dibagi menjadi 2 bagian, kiri dan kanan, yang masing-masing panjangnya 28 bit, yang masing-masing disimpan di dalam C dan D . Selanjutnya, kedua bagian digeser ke kiri left shift sepanjang satu atau dua bit bergantung pada tiap putaran. Operasi pergeseran bersifat wrapping atau round-shift. Setelah pergeseran bit, C i , D i mengalami permutasi kompresi dengan menggunakan matriks permutasi kompresi. 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 dengan bit-bit D i, , sehingga setiap kunci internal Ki mempunyai panjang 48 bit. Proses pembangkitan kunci-kunci internal ditunjukkan pada Gambar 3. Kunci eksternal Permutasi PC-1 C D Left Shift Left Shift C 1 D 1 Left Shift Left Shift Permutasi PC-2 K 1 C j D j Permutasi PC-2 K j     Left Shift Left Shift C 16 D 16 Permutasi PC-2 K 16 Gambar 3 Proses Pembangkitan Kunci-Kunci Internal DES [7] Proses dekripsi terhadap ciphertext 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 1 , K 2 , …, K 16 , maka pada proses dekripsi urutan kunci yang digunakan adalah K 16 , K 15 , …, K 1 . Untuk tiap putaran 16, 15, …, 1, keluaran pada setiap putaran deciphering adalah 1   i i R L 1 6 , 1 1 i i i i K R f L R     2 yang dalam hal ini, R 16 , L 16 adalah blok masukan awal untuk deciphering. Blok R 16 , L 16 diperoleh dengan mempermutasikan ciphertext dengan matriks permutasi IP -1 . Pra-keluaran dari deciphering adalah L , R . Dengan permutasi awal IP akan didapatkan kembali blok plaintext semula. Selama deciphering, K 16 dihasilkan dari C 16 , D 16 dengan permutasi PC-2. C 16 , D 16 tidak dapat diperoleh langsung pada permulaan deciphering. Tetapi karena C 16 , D 16 = C , D , maka K 16 dapat dihasilkan dari C , D tanpa perlu lagi melakukan pergeseran bit. C , D yang merupakan bit-bit dari kunci eksternal K yang diberikan pengguna pada waktu dekripsi. Selanjutnya, K 15 dihasilkan dari C 15 , D 15 yang mana C 15 , D 15 diperoleh dengan menggeser C 16 yang sama dengan C dan D 16 yang sama dengan C satu bit ke kanan. Sisanya, K 14 sampai K 1 dihasilkan dari C 14 , D 14 sampai C 1 , D 1 . Proses kombinasi Right Row Left Row akan beroperasi pada row saat pembagian C dan D dari external key ke pembangkitan internal key. Proses ini akan bekerja dengan cara membagi kembali antara C dan D ke dalam 2 bagian bit. Kemudian bit pada C bagian row kanan akan digeser ke kanan pada bit D bagian kanan, begitu pula dengan sebaliknya. Pada bit D bagian kanan akan digeser ke kiri pada bit C bagian kanan. Sebagai contoh misal x = 11110101, y = 00001010 jika dilakukan teknik kombinasi Right Row Left Row maka bit x akan dibagi menjadi 2 yaitu x left = 1111, x right = 0101 sedangkan y menjadi y left = 0000, y right = 1010. Lalu dilakuakn kombinasi dengan menggeser bit x right 0101 geser 4 ke kanan rightrow dgn y right maka skrg menjadi y left x right = 00000101. Lalu untuk y right digeser 4 bit ke kiri menjadi x left y right = 11111010. Kombinasi Right Row Left Row yang dilakukan pada row secara sederhana dapat digambarkan pada Gambar 4. Gambar 4 Teknik Kombinasi Right Row Left Row Ada empat operasi logika yang sering dilakukan, yaitu AND, OR, XOR dan NOT, dimana pada masing-masing operasi dilakukan untuk pengaturan bit pada data biner. Operasi XOR sering digunakan untuk membalikkan kondisi bit tertentu [8]. Proses XOR dapat digambarkan pada Tabel 1. Tabel 1 Operasi XOR 7 Proses Concatenate adalah suatu proses yang dilakukan untuk menggabungkan 2 string menjadi satu rangkaian string. Sebagai contoh String x dan y jika dikonkatenasi maka akan menjadi xy. Atau contoh yang lain dalam biner x = 110110, y = 101010, apabila dilakukan proses konkatenasi ∙ maka akan menjadi xy = 110110101010 [9].

3. Metode Penelitian