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. 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 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 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 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).
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.
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)
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. Waktu Enkripsi File teks (.txt) 110 100 90 80 70 60 50 40 30 20 10 0 0
Tabel 3 Waktu enkripsi file teks
38,62
Tabel 4 Waktu dekripsi file teks
Average Time (ms)
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.
5
50
100 150 200 250 300
Size File (kb) No
Ukuran File (kb)
Average (ms)
1
5
5,4
2
7
26
3
9
15,2
4
23
38,3
Gambar 10 Waktu enkripsi file teks
8
Pada Tabel 5 dan 6 waktu rata-rata enkripsi file dokumen lebih kecil daripada waktu ratarata dekripsi.
Waktu Dekripsi File teks (.txt)
Waktu Enkripsi File Dokumen (.doc)
0
50 100 150 200 250 300 Size File (kb)
Gambar 11 Waktu dekripsi file teks
80 60 40 20 0
Average Time (ms)
Average Time (ms)
180 160 140 120 100 80 60 40 20 0
0 32 64 96 128160192224256288 Size File (kb)
Tabel 5 Waktu enkripsi file dokumen
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
Gambar 12 Waktu enkripsi file dokumen
Waktu Dekripsi File Dokumen (.doc) Average Time (ms)
No
200 150 100 50 0 0
200 Size File (kb)
400
Gambar 13 Waktu dekripsi file dokumen
Tabel 7 Penggunaan memori enkripsi file teks Tabel 6 Waktu dekripsi file dokumen Ukuran File (kb)
Average (KB)
No
Ukuran File (kb)
Average (ms)
No 1
5
1607,2
1
32
9,4
2
7
1390,6
9
1715,6
2
37
10,8
3
3
59
20,2
4
23
1779
4
62
26,5
5
54
1925,6
5
81
40,6
6
77
2078,8
6
115
63,8
7
111
2450
7
141
82,5
8
152
2903,3
8
175
82,7
9
193
2976,7
9
245
110,9
10
273
10
300
Waktu Rata-rata (ms)
143,5
Memori Rata-rata (KB)
2881,6 2170,84
59,09
9
Tabel 8 Penggunaan memori dekripsi file teks No
Ukuran File (kb)
Average (KB)
No
Ukuran File (kb)
Average (KB)
1
5
486,4
2
7
689,9
1
32
1009,2
3
9
867,6
2
37
1330,8
4
23
1190,2
3
59
1308
5
54
1233,6
4
62
1380
6
77
1424
5
81
1705,6
7
111
1096,8
6
115
1994,8
141
1700,6
8
152
2828,6
7
9
193
3213,4
8
175
2261
10
273
3140,2
9
245
2123,7
1617,07
10
300
2595,2
Memori Rata-rata (KB)
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 Enkripsi File teks (.txt) Average Memory (KB)
Tabel 9 Penggunaan memori enkripsi file dokumen
3000 2500 2000 1500 1000
Memori Rata-rata (KB)
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
0 30 60 90120150180210240270300
7
141
735,7
Size File (kb)
8
175
1571,8
9
245
1231,1
10
300
2807,3
Gambar 14 Memori enkripsi file teks
Memori Rata-rata (KB)
Average Memory (KB)
1740,89
Memory Enkripsi File Dokumen (.doc) 3000 2500 2000 1500 1000
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.
0 306090120150180210240270300 Size File (kb)
Gambar 15 Memori dekripsi file teks
10
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 Gambar 16 Memori enkripsi file dokumen 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. 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. 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-jce20050328-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]
11