Zulfikar Sam P2700213033
Analisis Sistem Keamanan Data Dengan Menggabungkan Algoritma Kriptopgrafi Des dan Mars #1
Zulfikar #
Pascasarjana Teknik Elektro Universitas Hasanuddin 1
[email protected]
ABSTRAK Dalam suatu perusahaan keamanan data merupakan hal yang yang sangat penting. Masalah keamanan dan integritas data merupakan hal yang harus diperhatikan. Upaya menjaga informasi agar tidak jatuh ke tangan orang yang tidak berkepentingan menuntut perlunya diterapkan suatu mekanisme yang baik dalam mengamankan data. Ada banyak metode kriptografi yang umum dapat diterapkan, dalam klasifikasinya terdiri atas dua, yaitu metode Simetris dan Asimetris. Dalam proyek ini, dilakukan suatu analisis keamanan data dengan menggabungkan dua macam algotirma Simetris Simetris yang sejenis yaitu Algritma Kriptografi Des dan Mars yang implementasi proses enkripsi dan dekripsi sama-sama menggunakan blok ciphertext.. Tentunya dalam implementasi ini dianalisis pengujian teradap jenis file, pengaruh panjang key, dan kecepatan dalam proses enkripsi dan deskripi. Dari hasil pengujian terlihat bahwa penggabungan algoritma kriptopgrafi tersebut telah dicoba pada jenis file doc, bmp dan mp3 yang mana kecepatan enkripsi maupun dekripsi relatif sama diatara ketiga file tersebut, hanya membutuhkan sebuah kunci untu menjalankan prosesnya, panjang kunci yang diperlukan diperlukan untuk proses enkripsi maupun dekripsi berkisar dari delapan sampai enam belas karakter, lama proses enkripsi dan dekripsi yang dilakukan dipengaruhi oleh kecepatan dan kemampuan komputer yang digunakan serta besar ukuran file, selain itu proses juga dipengaruhi oleh algoritma yang digunakan. Kata Kunci: Des, Des, Mars, Kriptografi, Keamanan Data, Data, Enkripsi, Dekripsi
1.
Pendahuluan Teknologi Informasi berkembang cukup pesat, memungkinkan keamanan data menjadi hal yang rawan. Banyaknya penyusup yang dapat melihat bahkan bahkan merusak data merupakan merupakan hal yang harus diperhatikan. sehingga diperlukan sistem komputer dengan tingkat keamanan yang dapat terjamin dan bisa terhindar dari serangan (attack ( attack ), ), walaupun pada akhirnya akan terjadi trade off antara tingkat keamanan dan kemudahan akses. [1] Terlebih lagi bagi sebuah perusahaan yang memiliki gudang data yang besar dibutuhkan sebuah arsitektur database yang didalamnya terdapat sistem keamanan yang berlapis. [2] Diperlukan suatu metode pengamanan data yang efektif untuk menunjang hal tersebut. Dari beberapa metode yang telah diteliti pada dasarnya terbagi atas dua jenis yaitu metode Simetris dan Metode Asimetris. Kedua metode dengan berbagai varian banyak digunakan untuk mengamankan data, namun pada implementasinya belum pernah dilakukan suatu studi penggabungan untuk menganalisis keakuratan dan keamanan data dalam prosesnya. Penelitian terkait yang menggunakan metode Simetris diantaranya yang dilakukan
Pasca Sarjana Unhas Teknik Elektro 2013
oleh Ashadi Kurniawan, dkk. yang menggunakan metode Enkripsi Algoritma RC5 [1], Victor Asido Elyakim, dkk. yang menggunakan Enkripsi Simetris dengan algoritma FEAL [3], sedangkan yang menggunakan metode Asimetris diantaranya yang dilakukan oleh Putu H. Ajrana, dkk. yang menggunakan Algoritma Vigenere Chiper [4], dan yang dilakukan oleh Munawar yang merancang suatu metode kriptografi asimetris [5]. Sehingga pada penilitian akan dianalisis permasalahan tersebut, dengan suatu studi kasus yang selanjutnya akan menghasilkan sebuah kesimpulan bagaimana performansi dari penggabungan dua kriptopgrafi yang sejenis.
2. Tinjuan Pustaka 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani yaitu cryptós cryptós yang artinya “secret” “secret” (yang tersembunyi) dan gráphein gráphein yang artinya “writting” “writting” (tulisan). Jadi, kriptografi berarti ”secret writting” writting” (tulisan rahasia). Definisi yang dikemukakan oleh Bruce Schneier (1996), kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of keeping messages secure).
Zulfikar Sam P2700213033
Kriptografi merupakan ilmu sekaligus seni untuk menjaga keamanan pesan (message). Algoritma kriptografi adalah : Aturan untuk enkripsi (enciphering) dan dekripsi (deciphering). - Fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext . Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment . Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment . Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :
Gambar 1. Proses Enkripsi/Dekripsi Sederhana
Algoritma kriptografi berkembang terus dan terbagi atas dua bagian yaitu algoritma kriptografi klasik dan modern. Pada kriptografi klasik, kriptografer menggunakan algoritma sederhana, yang memungkinkan cipherteks dapat dipecahkan dengan mudah (melalui penggunaan statistik, terkaan, intuisi, dan sebagainya). Algoritma kriptografi modern dibuat sedemikian kompleks sehingga kriptanalis sangat sulit untuk memecahkan cipherteks tanpa mengetahui kunci. Pengelompokan algoritma juga dilakukan berdasarkan kunci enkripsi – dekripsi yang digunakan, yaitu symmetric cryptosystem cryptosystem atau simetris (menggunakan kunci yang sama untuk proses enkripsi – dekripsi) dan Assymmetric cryptosystem cryptosystem atau asimetris (menggunakan kunci yang berbeda untuk proses enkripsi – dekripsi). 2.2 Enkripsi dan Dekripsi Proses penyandian pesan dari plaintext ke ciphertext dinamakan enkripsi / enchipering . Sedangkan proses mengembalikan pesan dari chipertext ke plaintext dinamakan deskripsi /dechipering . Proses enkripsi dan deskripsi ini dapat diterapkan pada pesan yang dikirim ataupun pesan yang disimpan. Algoritma Kriptografi dari setiap kriptografi klasik selalu terdiri dari dua bagian yaitu enkripsi dan dekripsi. Secara sederhana proses kriptografi dapat digambarkan sebagai berikut :
Pasca Sarjana Unhas Teknik Elektro 2013
Gambar 2. Kriptografi secara umum.
Operasi enkripsi dan dekripsi dijelaskan secara umum sebagai berikut : EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi) Ada dua cara yang paling dasar pada kriptografi klasik. yaitu adalah Transposisi dan Subsitusi : Transposisi adalah mengubah susunan huruf pada plaintext sehingga urutannya berubah. Contoh yang paling sederhana adalah mengubah suatu kalimat dengan menuliskan setiap kata secara terbalik. Substitusi yaitu setiap huruf pada plaintext akan digantikan dengan huruf lain berdasarkan suatu cara atau rumus tertentu. tertentu. 2.3 Jenis – Jenis Jenis Kriptografi 2.3.1 Algoritma Simetris Algoritma simetris disebut juga algoritma kunci rahasia ( private key). key). Dalam algoritma simetris ini enkripsi dapat dilakukan jika si pengirim informasi dan penerimanya telah sepakat untuk menggunakan metode enkripsi atau kunci rahasia (secret key) enkripsi key) enkripsi tertentu. Proses enkripsi dan dekripsi dalam algoritma simetris ini menggunakan satu kunci rahasia (secret key) yang key) yang telah disepakati sebelumnya. Plain Text
Encryption
Encryption Text
Secret Key
Encryption Text
Decryption
Plain Text
Gambar 3. Algoritma Simetris
2.3.2 Algoritma Kunci Publik (Publik Key)
Algoritma kunci publik ( public ( public key) key) ini disebut juga algoritma asimetris. Berbeda dengan algoritma simetris, algoritma kunci publik ini menggunakan dua kunci yang berbeda, yaitu kunci publik dan kunci rahasia atau kunci pribadi ( private key). key).
Zulfikar Sam P2700213033 Public Key
Plai Plain n Text Text
Encr Encryp ypti tion on
Private Key
Cipher Text
Decr Decryp ypti tion on
Plai Plain n Text Text
Gambar 4. Algoritma Asimetris
2.4 DES (Data Encr yption Standard ) Standard DES ( Data Encryption Standard ) atau juga dikenal sebagai Data Encryption Algorithm (DEA) oleh ANSI dan DEA-1 oleh ISO, merupakan nama dari sebuah algoritma untuk mengenkripsi data yang dikeluarkan oleh Federal Information Processing Standard (FIPS) 46-1 Amerika Serikat. Algoritma dasarnya dikembangkan oleh IBM, NSA, dan NBS yang berperan penting dalam pengembangan bagian akhir algoritmanya. Secara umum, algoritma utama DES terbagi menjadi tiga bagian proses dimana bagian proses yang satu dengan yang lain saling berinteraksi dan terkait antara satu dengan yang lain. Bagian proses tersebut adalah: Pemrosesan Kunci, Enkripsi Data, dan Dekripsi Data. 2.4.1 Pemrosesan Kunci Sebelum melakukan proses enkripsi dan dekripsi, maka terlebih dahulu disusun algoritma yang menunjang adanya pemrosesan kunci. a. User memasukkan sebuah kunci sebesar 64 bit atau 8 karakter. b. Permutasi dilakukan pada kunci 64 bit tadi. Pada tahapan ini, bit kunci berkurang menjadi 56 bit. Bit 1 pada kunci ke-56 merupakan bit 57 pada kunci awalnya, bit 2 adalah bit 49, dan seterusnya hingga bit 56 adalah bit 4 kunci 64. Posisi bit permutasi sesuai dengan tabel Permuted Choice 1 (PC1). 1 (PC1). c. Dari permutasi output PC1 dibagi menjadi dua bagian yaitu 28 bit pertama disebut C[0] dan 28 bit terakhir disebut D[0]. d. Dari C[0] dan D[0] kemudian dihitung sub-sub kunci untuk setiap iterasi, yang dimulai dari j=1. e. Untuk setiap iterasi, j rotasi ke kiri satu kali atau sebanyak dua kali untuk setiap C[j-1] dan D[j1]. Dari hasil rotasi ini akan didapatkan hasil C[j] dan D[j]. Tabel berikut ini akan menunjukkan langkah setiap rotasi yang diterapkan pada setiap iterasinya. f. Iterasi dilakukan terus-menerus hingga 16 kunci berhasil disusun
Gambar 5. Diagram Blok Pemrosesan Kunci
2.4.2 Enkripsi Data Algoritma enkripsi data 64 bit ini terdiri dari langkah-langkah sebagai berikut: a. Ambil blok data sebanyak 64 bit. Apabila dalam mengambil blok data kurang dari 64 bit, maka perlu adanya penambahan supaya dalam penggunaannya sesuai dengan jumlah datanya atau dengan proses padding proses padding . b. Blok data 64 bit dipermutasikan dengan Initial Permutation (IP). c. Blok data 64 bit yang telah dipermutasikan tersebut dibagi menjadi dua bagian, yaitu 32 bit pertama disebut L[0] dan 32 bit kedua disebut R[0]. d. Ke-16 sub kunci dioperasikan dengan blok data, dimulai dari j=1 dan terbagi menjadi cara-cara berikut ini: R[j] = L[j-1] XOR f(R[j-1] , K[j]) L[j] = R[j-1]
e.
Permutasi akhir dilakukan kembali dengan tabel permutasi yang merupakan invers dari permutasi awal.
Gambar 6. Diagram Blok Enkripsi Data
Pasca Sarjana Unhas Teknik Elektro 2013
Zulfikar Sam P2700213033 2.5 MARS Pada tahun 1997, National Institute of Standard and Technology (NIST) mengadakan program untuk menentukan algoritma standar untuk enkripsi data yang dikenal dengan Advanced Encryption Standard (AES) sebagai pengganti Data Encryption Standard (DES) . NIST bertugas untuk menilai algoritma algoritma yang sudah masuk sebagai kandidat untuk AES dengan kriteria kunci yang digunakan harus panjang, ukuran blok yang digunakan harus lebih besar, lebih cepat, dan fleksibel. Pada tahun 1999, terpilih 5 buah algoritma sebagai kandidat final untuk AES yaitu MARS, RC6, RIJNDAEL, SERPENT dan TWOFISH. Pada tahun 2000, algoritma RIJNDAEL terpilih sebagai algoritma standar untuk enkripsi yang dikenal dengan AES. Meskipun algoritma MARS tidak terpilih sebagai algoritma AES, tetapi algoritma MARS dapat dijadikan sebagai salah satu alternatif untuk enkripsi data dalam berbagai aplikasi. MARS adalah algoritma kriptografi block cipher kunci simetris yang dikeluarkan oleh IBM dengan ukuran blok 128 bit dan ukuran variabel kunci berkisar pada 128 sampai 448 bit.
Pasca Sarjana Unhas Teknik Elektro 2013
D[2]
D[1]
D[0 ]
Penjumlahan forward mixing
8 iterasi untuk forward mixing
8 iterasi untuk transformasi kunci dalam forward mode Cryptographic Core
8 iterasi untuk transformasi kunci dalam backward mode
8 iterasi untuk backward mixing Backward mixing
Pengurangan
Chipertext
D[3]
D[2]
D[1]
D[0 ]
Gambar 7. Struktur Cipher Algoritma MARS
3.
Perancangan Analisis Pada analisis ini menggunakan pendekatan studi pustaka dengan beberapa hasil penelitian sebelumnya. Analisis pertama dengan menggunakan metode Kriptografi DES kemudian dilakukan analisis metode Kriptopgrafi MARS. Dalam analisis ini selanjutnya akan mengumpulkan informasi bagaimana performansi dari penggabungan dua kriptopgrafi yang sejenis. Dalam proses kerja yang dilakukan sebagaimana yang telah dijelaskan, analisis penguian meliputi a. Jenis File b. Variasi Panjang/Ukuran File c. Variasi Kunci d. Kecepatan Proses
4.
Hasil Implementasi Berdasarkan perancangan dapat diperloleh hasil sebagai berikut : a. Pengujian Terhadap Jenis File
2.5.1 Element Pembangun Algoritma MARS Tipe - 3 Feistal 3 Feistal Network Operasi XOR, penjumlahan, pengurangan, perkalian, fired rotation dan data dependent rotation 2.5.2 Struktur Cipher Algoritma MARS Struktur cipher pada MARS dibagi dalam 3 tahap yakni : Tahap pertama adalah forward mixing, berfungsi mixing, berfungsi untuk mencegah serangan terhadap chosen plaintext. Terdiri dari penambahan sub kunci pada setiap word data , diikuti dengan delapan iterasi mixing tipe-3 feitsal (dalam forward mode) dengan berbasis S-box. Tahap kedua adalah "cryptographic core" dan cipher, terdiri dari enam belas iterasi tranformasi kunci tipe-3 feistal. Untuk menjamin bahwa proses enkripsi dan dekripsi mempunyai kekuatan yang sama, delapan iterasi pertama ditunjukkan dalam “ forward mode" dan delapan iterasi terakhir ditunjukkan dalam "backward mode”. Tahap terakhir adalah backward mixing, berfungsi untuk melindungi serangan kembali terhadap chosen chipertext. Tahap ini merupakan invers dari tahap pertama, terdiri dari delapan iterasi mixing tipe-3 feistel (dalam backward mode) dengan berbasis s-box, diikuti dengan pengurangan sub kunci dari word data. Hasil pengurangan inilah yang disebut dengan ciphertext .
D [3]
Plaintext
Panjang Panjang Jenis File Sebelum File Sesudah File Enkripsi Enkripsi (byte) (byte) Doc 1480704 1480736 BMP 1440056 1440080 MP3 1531904 1531936
Lama Enkripsi
Dekripsi
9,703125 9,703125 9,421875 9,484375 10,01563 10,04688
Kec per byte Enkripsi Enkripsi 152600,7 152841,8 152951,3
Dekripsi 152604,0 151837,1 152478,8
b. Pengujian Terhadap Pengaruh Panjang Kunci No
Panjang Kunci
1 2 3
<8 8 >8
Panjang File Sesudah Enkripsi (byte) 333.312 333.312 333.312
Panjang File Sesudah Enkripsi (byte) 333.344 333.344 333.344
Lama Enkripsi 2,328125 2,21875 2,203125
Dekripsi 2,21875 2,203125 2,21875
Zulfikar Sam P2700213033
c.
Kecepatan Proses No
Panjang File (Kbyte)
1
100
2
200
3
300
4
400
5
500
6
600
7
700
8
800
9
900
10
1000
Proses
Lama (sec)
enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi enkripsi dekripsi
0,734375 0,71875 1,453125 1,4375 2,046875 2,046875 2,734375 2,734375 3,46875 3,421875 4,09375 4,09375 4,765625 4,75 5,40625 5,34375 6,0625 6,03125 6,75 6,734375
Kecepatan (Kbyte/sec) 136,1702128 139,1304348 137,6344086 139,1304348 146,5648855 146,5648855 146,2857143 146,2857143 144,1441441 146,1187215 146,5648855 146,5648855 146,8852459 147,3684211 147,9768786 149,7076023 148,4536082 149,2227979 148,1481481 148,4918794
Grafik 2. Kecepatan Deskripsi
Dari hasil diatas, dapat diketahui bahwa kecepatan rata-rata untuk proses enkripsi yaitu 5500 37,515625
sedangkan 5500 37,3125
146,605581 Kbyte
untuk
proses
per dekripsi
detik, yaitu
147,403685 Kbyte per detik.
Untuk lebih jelasnya dapat dilihat pada grafik dibawah ini.
Grafik 1. Kecepatan Enkripsi
Pasca Sarjana Unhas Teknik Elektro 2013
5.
Simpulan 5.1 Kontribusi Penelitian Berdasarkan analisa yang telah dilakukan, dan memperhatikan hasil pengujian dapat diambil kesimpulan sebagai berikut : 1. Program enkripsi dan dekripsi dengan algoritma DES dan MARS, dari hasil pengujian dapat telah dicoba pada pada jenis file doc, bmp dan mp3 yang mana kecepatan enkripsi maupun dekripsi relatif sama diatara ketiga file tersebut. 2. Program enkripsi dan dekripsi dengan algoritma DES dan MARS hanya memerlukan sebuah kunci untuk menjalankan prosesnya. 3. Panjang kunci yang diperlukan untuk proses enkripsi maupun dekripsi berkisar dari delapan sampai enam belas karakter. 4. Lama proses enkripsi dan dekripsi yang dilakukan dipengaruhi oleh kecepatan dan kemampuan komputer yang digunakan serta besar ukuran file, selain itu proses juga dipengaruhi oleh algoritma yang digunakan.
5.2 Usulan Pengembangan Penelitian Untuk lebih meningkatkan kecepatan proses enkripsi dan dekripsi dapat dilakukan dengan cara meningkatkan penggunaan blok ciphertext menjadi 256 bit.
Zulfikar Sam P2700213033 Daftar Pustaka
[1] [2]
[3]
[4]
[5] [6]
[7]
IBM Corporation, “MARS - a candidate cipher for AES”, AES forum QUASIM, MD.TABREZ. 2013. Security Issues in Distributed Database System Model. COMPUSOFT. Vol II-XII : 396-399. Elyakim, Victor Asido., Asido., Utama, Afen Prana., Sitio, Arjon Samuel., Simbolon, John P., 2010. Pengamanan Database Menggunakan Metoda Enkripsi Simetri dengan Algoritma Feal: Studi Kasus Pemko Pematangsiantar. SNIKOM2010. 43-45. Arjana, Putu H., Rahayu, Rahayu, Tri Puji., Hariyanto, Yakub. 2012. Implementasi Enkripsi Data Dengan Algoritma Vigenere Chiper. SENTIKA. 2089-9815 : 164-169. http://www.cs.technion.ac.il/users/wwwb/ cgi bin/tr-get.cgi/1991/CS/CS0708.ps Raharjo, Budi, Keamanan Sistem Informasi Berbasis Internet, PT Insan Infonesia, Bandung, 2002 Wahana Komputer, Memahami Model Enkripsi & Security Data, Andi Yogyakarta, 2003
Pasca Sarjana Unhas Teknik Elektro 2013