7
1 Dalam segi keamanan penyandian dataalgoritme 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. 1990). 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) = an2 + bn + c, dengan a, b, dan c adalah suatu konstanta, maka dapat dikatakan growth rate algoritme tersebut adalah n2 yang merupakan bagian paling signifikan pada polinomial an2 + 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 n2, n3, n!, dan nn.
METODE PENELITIAN
Tahapan PenelitianTahap-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 10 ukuran file teks yang berbeda, dengan ukuran file minimum 5 kb dan maksimum 273 kb dengan selang acak. Begitupula dengan 10 ukuran file dokumen yang berbeda, dengan ukuran file minimum 32 kb dan maksimum 300 kb dengan selang acak sebagai obyek kajian, pengujian ini dilakukan penghitungan waktu eksekusi dan penggunaan memori dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 10 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 ProgramProgram 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).
8
Input dan OutputInput 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 (ms) dan pemakaian memori (KB) 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 10 ukuran file teks yang berbeda, dengan ukuran file minimum 5kb dan maksimum 273kb dengan selang acak. Begitupula dengan 10 ukuran file dokumen yang berbeda, dengan ukuran file minimum 32 kb dan maksimum 300 kb dengan selang acak sebagai obyek kajian, pengujian ini dilakukan penghitungan waktu eksekusi dan penggunaan memori dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 10 kali untuk masing-masing file teks dan dokumen.
Tabel 3 Waktu enkripsi file teks
No Ukuran File (kb) Average (ms) 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 10 273 108,7 Waktu Rata-rata (ms) 38,62
Tabel 4 Waktu dekripsi file teks
No Ukuran File (kb) Average (ms) 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 101,6 9 193 156,9 10 273 152,1 Waktu Rata-rata (ms) 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 10 dan 11.
Gambar 10 Waktu enkripsi file teks
0 10 20 30 40 50 60 70 80 90 100 110 0 50 100 150 200 250 300 A ve rag e Ti m e ( m s) Size File (kb) Waktu Enkripsi File teks (.txt)
9
Gambar 11 Waktu dekripsi file teksTabel 5 Waktu enkripsi file dokumen
No Ukuran File (kb) Average (ms) 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 10 300 64,1 Waktu Rata-rata (ms) 29,4
Tabel 6 Waktu dekripsi file dokumen
No Ukuran File (kb) Average (ms) 1 32 9,4 2 37 10,8 3 59 20,2 4 62 26,5 5 81 40,6 6 115 63,8 7 141 82,5 8 175 82,7 9 245 110,9 10 300 143,5 Waktu Rata-rata (ms) 59,09
Pada Tabel 5 dan 6 waktu rata-rata enkripsi file dokumen lebih kecil daripada waktu rata-rata dekripsi.
Gambar 12 Waktu enkripsi file dokumen
Gambar 13 Waktu dekripsi file dokumen
Tabel 7 Penggunaan memori enkripsi file teks
No Ukuran File (kb) Average (KB) 1 5 1607,2 2 7 1390,6 3 9 1715,6 4 23 1779 5 54 1925,6 6 77 2078,8 7 111 2450 8 152 2903,3 9 193 2976,7 10 273 2881,6 Memori Rata-rata (KB) 2170,84 0 20 40 60 80 100 120 140 160 180 0 50 100 150 200 250 300 A ve rag e Ti m e ( m s) Size File (kb) Waktu Dekripsi File teks (.txt)
0 20 40 60 80 0 32 64 96 128160192224256288 A ve rag e Ti m e ( m s) Size File (kb)
Waktu Enkripsi File Dokumen (.doc)
0 50 100 150 200 0 200 400 A ve rag e Ti m e ( m s) Size File (kb) Waktu Dekripsi File Dokumen (.doc)
10
Tabel 8 Penggunaan memori dekripsi file teksNo Ukuran File (kb) Average (KB) 1 5 486,4 2 7 689,9 3 9 867,6 4 23 1190,2 5 54 1233,6 6 77 1424 7 111 1096,8 8 152 2828,6 9 193 3213,4 10 273 3140,2 Memori Rata-rata (KB) 1617,07
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.
Gambar 14 Memori enkripsi file teks
Gambar 15 Memori dekripsi file teks
Tabel 9 Penggunaan memori enkripsi file dokumen
No Ukuran File (kb) Average (KB) 1 32 1009,2 2 37 1330,8 3 59 1308 4 62 1380 5 81 1705,6 6 115 1994,8 7 141 1700,6 8 175 2261 9 245 2123,7 10 300 2595,2 Memori Rata-rata (KB) 1740,89
Tabel 10 Memori dekripsi file dokumen
No Ukuran File (kb) Average (KB) 1 32 519,4 2 37 545,8 3 59 798 4 62 1038,8 5 81 1125,2 6 115 1162,4 7 141 735,7 8 175 1571,8 9 245 1231,1 10 300 2807,3 Memori Rata-rata (KB) 1153,55 Pada Tabel 9 dan 10 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.
1000 1500 2000 2500 3000 0 30 60 90120150180210240270300 A ve rag e M e m o ry (K B ) Size File (kb)
Memory Enkripsi File teks (.txt)
1000 1500 2000 2500 3000 0 306090120150180210240270300 A ve rag e M e m o ry (K B ) Size File (kb) Memory Enkripsi File Dokumen
11
Gambar 16 Memori enkripsi file dokumenGambar 17 Memori dekripsi file dokumen
KESIMPULAN DAN SARAN
KesimpulanProgram 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.
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.
DAFTAR PUSTAKA
Andi R. 2003. Memahami Model Enkripsi & Security Data. Andi: Yogyakarta.
Ariyus D. 2006. Kriptografi, Keamanan Data dan Komunikasi. Graha Ilmu: Yogyakarta.
Bishop D. 2003. Introduction to Cryptography with Java Applets, Sudbury
Massachusetts: Jones and Bartlett Publishers.
Cottom AB. 2004. Handbook of Cryptography CS 6520. [Online]. Tersedia: http://www.mcs.csuhayward.edu/~pwo ng/cs6520_sum04/sec1/blowfish.pdf Cormen TH, Leiserson CE, dan Rivest RL
1990. Introduction to Algorithms. Massachussets-London: The MIT Press
Hariyanto B. 2005. Esensi-esensi Bahasa Pemrograman Java. Bandung: Informatika.
Hidayat T. 2006. Sistem Kriptografi IDEA.
[Online]. Tersedia:
http://budi.insan.co.id/courses/namadi k menjur/taufik-report.pdf .
http://cryptix.org/cryptix-jce-20050328-snap, 11 April 2006.
Kristianto A. 2003. 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/. [20 Agustus 2007]