1 Dalam segi keamanan penyandian data algoritme IDEA mempunyai standar yang lebih sederhana namun cukup ampuh untuk mencegah serangan cryptanalysis terhadap kunci enkripsi dan dekripsi. Pembangkit kunci yang diperoleh dengan menjalankan fungsi Pembangkit Bilangan Acak terbukti dapat menyandikan data plaintext menjadi ciphertext yang sulit diterjemahkan langsung namun mudah didekripsi dengan menggunakan kunci dekripsi asli. 2 Dari segi efisiensi waktu algoritme IDEA mempunyai akselerasi yang cukup baik dalam mengenkripsi dan mendekripsi data, terutama karena struktur algoritmenya lebih singkat namun tidak mengurangi kemampuan dasar dalam mengamankan penyandian data. 3 Dalam membangkitkan kunci kriptografi simetris fitur Java.SecureRandom memiliki kemampuan yang baik dalam mengolah dan mengacak kunci sehingga tidak ditemukan kunci kriptografi yang menyerupai ataupun yang sama persis. Akibatnya algoritme IDEA yang sudah cukup dikenal ketahanannya mempunyai daya dukung yang lebih baik dalam pengamanan data. Analisis Algoritme Analisis algoritme dilakukan untuk menduga besarnya sumber daya waktu yang dibutuhkan untuk sembarang ukuran input n (Cormen et al. 199). Kompleksitas, T(n), didefinisikan sebagai waktu yang dibutuhkan oleh suatu algoritme untuk menyelesaikan proses dengan input berukuran n. Berdasarkan waktu eksekusi program T(n), dapat ditentukan growth rate-nya, yaitu laju pertumbuhan waktu terhadap variasi ukuran input. Sebagai contoh, analisis suatu algoritme menghasilkan T(n) = an 2 + bn + c, dengan a, b, dan c adalah suatu konstanta, maka dapat dikatakan growth rate algoritme tersebut adalah n 2 yang merupakan bagian paling signifikan pada polinomial an 2 + bn + c. Nilai-nilai konstanta a, b, dan c tergantung pada jenis komputer dan platform bahasa pemrograman yang hanya dapat ditentukan melalui percobaan eksekusi program. Kompleksitas komputasi dari suatu algoritme memberikan gambaran umum bagaimana perubahan T(n) terhadap n. Waktu eksekusi ini tidak dipengaruhi oleh faktor-faktor nonteknis implementasi seperti bahasa pemrograman ataupun sarana perangkat lunak tertentu. Dalam platform uji yang seragam, suatu algoritme dengan growth rate yang rendah, misalkan log n atau n log n, lebih cepat jika dibandingkan dengan algoritme yang memiliki growth rate lebih besar, misalnya n 2, n 3, n!, dan n n. METODE PENELITIAN Tahapan Penelitian Tahap-tahap yang dilakukan dalam penelitian ini: 1 Tahap pembangunan program enkripsi dan dekripsi data menggunakan algoritme IDEA dengan bahasa pemrograman Java, dengan komponen JAVA Swing digunakan untuk membuat tampilan berbasis Graphical User Interface (GUI), dan Windows XP sebagai sistem operasi. 2 Tahap pengujian program terhadap file teks (.txt) dan dokumen (.doc). Pada tahap ini, uji coba dilakukan dengan cara menghitung waktu eksekusi enkripsi dan dekripsi data dan untuk mengetahui penggunaan memori pada saat enkripsi dan dekripsi data digunakan fasilitas Task Manager yang tersedia pada sistem operasi windows. Spesifikasi Uji Implementasi Uji implementasi dilakukan dengan menggunakan 1 ukuran file teks yang berbeda, dengan ukuran file minimum 5 kb dan maksimum 273 kb dengan selang acak. Begitupula dengan 1 ukuran file dokumen yang berbeda, dengan ukuran file minimum 32 kb dan maksimum 3 kb dengan selang acak sebagai obyek kajian, pengujian ini dilakukan penghitungan waktu eksekusi dan penggunaan memori dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 1 kali untuk masing-masing file teks dan dokumen. Lingkungan Penelitian Perangkat keras dan perangkat lunak yang digunakan adalah sebagai berikut. a. Perangkat lunak: sistem operasi Windows Vista Home Basic dan aplikasi bahasa pemrograman Java, b. Perangkat keras: Prosesor Intel Core2 Duo. HASIL DAN PEMBAHASAN Konsep Program Program yang dibuat adalah aplikasi enkripsi dan dekripsi IDEA. Program ini digunakan untuk mengenkripsikan dan mendekripsikan sebuah file untuk tipe file teks (.txt) dan dokumen (.doc). 7
Input dan Output Input program untuk proses enkripsi adalah nama file yang akan dienkripsi. Output yang didapatkan setelah proses enkripsi file yang sudah terenkripsi dan file kunci (key). Pada saat melakukan dekripsi file, pengguna memasukkan nama file terenkripsi yang akan didekripsi, serta secara tidak langsung juga memasukkan nama file kunci (key). Uji Coba Untuk mengetahui penghitugan kinerja algoritme IDEA dalam hal waktu eksekusi dan pemakaian memori pada saat proses enkripsi dan dekripsi maka dilakukan pengujian terhadap file teks (.txt) dan dokumen (.doc). Untuk penghitungan penggunaan memori, penulis menggunakan fasilitas Task Manager yang terdapat pada sistem operasi Windows. Hasil Implementasi Implementasi algoritme IDEA dilakukan dengan menggunakan bahasa pemrograman Java. Hal ini didasarkan atas pertimbangan bahwa Java mampu membangkitkan bilangan besar. Platform Java yg digunakan adalah Netbeans IDE 6.5. Implementasi program dapat dilihat pada lampiran 1. Untuk pemilihan file yang akan di enkripsi dan dekripsi, dalam hal ini ada dua jenis file, yaitu file teks dan dokumen dapat dilihat pada lampiran 2. Proses memasukkan key password ada pada lampiran 5 dan untuk melihat durasi waktu dalam proses enkripsi dapat dilihat pada lampiran 6. Tampilan proses enkripsi dan dekripsi dapat dilihat pada lampiran 7 dan 8. Uji implementasi dilakukan dengan menggunakan 1 ukuran file teks yang berbeda, dengan ukuran file minimum 5kb dan maksimum 273kb dengan selang acak. Begitupula dengan 1 ukuran file dokumen yang berbeda, dengan ukuran file minimum 32 kb dan maksimum 3 kb dengan selang acak sebagai obyek kajian, pengujian ini dilakukan penghitungan waktu eksekusi dan penggunaan memori dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 1 kali untuk masing-masing file teks dan dokumen. Tabel 3 Waktu enkripsi file teks 1 5 5,4 2 7 26 3 9 15,2 4 23 38,3 5 54 17,5 6 77 26,1 7 111 34,8 8 152 42,9 9 193 71,3 1 273 18,7 Waktu Rata-rata 38,62 Tabel 4 Waktu dekripsi file teks 1 5 5,5 2 7 7,8 3 9 12,4 4 23 21,4 5 54 43,2 6 77 59,7 7 111 96,7 8 152 11,6 9 193 156,9 1 273 152,1 Waktu Rata-rata 65,73 Pada Tabel 3 dan 4 waktu rata-rata enkripsi file teks lebih kecil dari waktu rata-rata dekripsi. Seiring meningkatnya ukuran file, waktu enkripsi juga mengalami peningkatan. Dapat dilihat pada gambar 1 dan 11. Time 11 1 9 8 7 6 5 4 3 2 1 Waktu Enkripsi File teks (.txt) 5 1 15 2 25 3 Gambar 1 Waktu enkripsi file teks 8
Time 18 16 14 12 1 8 6 4 2 Waktu Dekripsi File teks (.txt) 5 1 15 2 25 3 Gambar 11 Waktu dekripsi file teks Tabel 5 Waktu enkripsi file dokumen Pada Tabel 5 dan 6 waktu rata-rata enkripsi file dokumen lebih kecil daripada waktu ratarata dekripsi. Time Waktu Enkripsi File Dokumen (.doc) 8 6 4 2 32 64 96 12816192224256288 Gambar 12 Waktu enkripsi file dokumen 1 32 4,7 2 37 9,5 3 59 14,3 4 62 17,3 5 81 18,8 6 115 28,2 7 141 37,7 8 175 42,1 9 245 57,3 1 3 64,1 Waktu Rata-rata 29,4 Time Waktu Dekripsi File Dokumen (.doc) 2 15 1 5 2 4 Gambar 13 Waktu dekripsi file dokumen Tabel 7 Penggunaan memori enkripsi file teks Tabel 6 Waktu dekripsi file dokumen 1 32 9,4 2 37 1,8 3 59 2,2 4 62 26,5 5 81 4,6 6 115 63,8 7 141 82,5 8 175 82,7 9 245 11,9 1 3 143,5 Waktu Rata-rata 59,9 1 5 167,2 2 7 139,6 3 9 1715,6 4 23 1779 5 54 1925,6 6 77 278,8 7 111 245 8 152 293,3 9 193 2976,7 1 273 2881,6 Memori Rata-rata 217,84 9
Tabel 8 Penggunaan memori dekripsi file teks 1 5 486,4 2 7 689,9 3 9 867,6 4 23 119,2 5 54 1233,6 6 77 1424 7 111 196,8 8 152 2828,6 9 193 3213,4 1 273 314,2 Memori Rata-rata 1617,7 Pada Tabel 7 dan 8 penggunaan memori rata-rata pada proses enkripsi file teks lebih besar daripada penggunaan memori pada saat dekripsinya. Hal ini menandakan pada proses enkripsi file, chipertext yang dihasilkan lebih besar daripada plaintext. Memory 3 25 2 15 1 Memory Enkripsi File teks (.txt) 3 6 91215182124273 Gambar 14 Memori enkripsi file teks Tabel 9 Penggunaan memori enkripsi file dokumen 1 32 19,2 2 37 133,8 3 59 138 4 62 138 5 81 175,6 6 115 1994,8 7 141 17,6 8 175 2261 9 245 2123,7 1 3 2595,2 Memori Rata-rata 174,89 Tabel 1 Memori dekripsi file dokumen 1 32 519,4 2 37 545,8 3 59 798 4 62 138,8 5 81 1125,2 6 115 1162,4 7 141 735,7 8 175 1571,8 9 245 1231,1 1 3 287,3 Memori Rata-rata 1153,55 Memory Memory Enkripsi File Dokumen (.doc) 3 25 2 15 1 3691215182124273 Pada Tabel 9 dan 1 penggunaan memori rata-rata pada proses enkripsi file teks lebih besar daripada penggunaan memori pada saat dekripsinya. Hal ini menandakan pada proses enkripsi file, chipertext yang dihasilkan lebih besar daripada plaintext. Gambar 15 Memori dekripsi file teks 1
Saran Untuk penelitian selanjutnya, bisa lebih dikembangkan pada file gambar, audio, video, atau file teks lainnya. Penelitian ini mengimplementasikan algoritme IDEA yang selanjutnya dapat dikembangkan dengan mengimplementasi algoritme simetris lainnya sebagai uji perbandingan algoritme. Gambar 16 Memori enkripsi file dokumen DAFTAR PUSTAKA Andi R. 23. Memahami Model Enkripsi & Security Data. Andi: Yogyakarta. Ariyus D. 26. Kriptografi, Keamanan Data dan Komunikasi. Graha Ilmu: Yogyakarta. Bishop D. 23. Introduction to Cryptography with Java Applets, Sudbury Massachusetts: Jones and Bartlett Publishers. Gambar 17 Memori dekripsi file dokumen KESIMPULAN DAN SARAN Kesimpulan Program enkripsi dan dekripsi algoritme IDEA ini dapat berjalan dengan baik dan dapat digunakan untuk enkripsi dan dekripsi file.txt dan file.doc. Berdasarkan hasil pengujian dapat disimpulkan bahwa semakin besar ukuran file yang akan dienkripsi atau didekripsi maka semakin panjang waktu yang diperlukan, serta semakin banyak ruang memori yang dibutuhkan untuk proses enkripsi atau dekripsi file tersebut. Algoritme IDEA memiliki tingkat keamanan yang cukup tangguh dalam hal mengamankan data atau informasi. Hal ini disebabkan karena algoritme IDEA mempunyai fungsi Confusion (Pengacakan) dan Diffusion (Penyebaran). Fungsi pengacakan didefinisikan sebagai suatu cara untuk memaksa tiap-tiap plaintext bit agar dapat mempengaruhi tiap-tiap ciphertext bit dan tiap-tiap kunci bit untuk mempengaruhi tiap-tiap ciphertext bit. Sedangkan fungsi penyebaran didefinisikan sebagai penggabungan tiga operasi grup aljabar yang berbeda. Cottom AB. 24. Handbook of Cryptography CS 652. [Online]. Tersedia: http://www.mcs.csuhayward.edu/~pwo ng/cs652_sum4/sec1/blowfish.pdf Cormen TH, Leiserson CE, dan Rivest RL 199. Introduction to Algorithms. Massachussets-London: The MIT Press Hariyanto B. 25. Esensi-esensi Bahasa Pemrograman Java. Bandung: Informatika. Hidayat T. 26. Sistem Kriptografi IDEA. [Online]. Tersedia: http://budi.insan.co.id/courses/namadi k menjur/taufik-report.pdf. http://cryptix.org/cryptix-jce- 25328-snap, 11 April 26. Kristianto A. 23. Keamanan Data pada Jaringan Komputer. Yogyakarta: Gava Media. Menezes A. et.al. 1996. Handbook of Applied Cryptography. [Online]. Tersedia: http://www.cacr.math.uwaterloo.ca/ha c/. [2 Agustus 27] 11