ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA 1
Pradana Marlando 2Wamiliana, 3Rico Andrian 1, 3
Jurusan Ilmu Komputer FMIPA Unila 2 Jurusan Matematika FMIPA Unila
Abstract Information can be kept secure by an encryption process in cryptography technique. In this research we discussed comparative analysis of symmetric algorithms: Tiny Encryption Algorithm (TEA) and LOKI in terms of their complexity, time and speed performances. The testing was conducted using 30 data with size varies between 50 bytes and 1500 bytes. Thirty data were tested 50 times. The result shows that TEA is faster in encryption and decryption compared to LOKI and the complexity of both algorithms are linear algorithms (O (n)). Keywords: Big-O, cryptographic, encryption , LOKI, performance, Tiny Encryption Algorithm, TEA
1. Pendahuluan Suatu pesan yang memiliki informasi yang penting menjadi hal yang berbahaya jika diketahui oleh orang lain, dan karena perkembangan teknologi pula proses penyadapan informasi dapat dilakukan dengan mudah saat ini. Informasi atau pesan dapat dijaga agar tetap aman dengan proses enkripsi atau penyandian. Penyandian dilakukan agar pesan tidak dapat dengan mudah dibaca oleh sembarang orang. Orang yang rasa ingin tahunya besar akan melihat bahwa sebuah pesan acak sebagai suatu misteri yang perlu dipecahkan, karenanya diperlukan suatu teknik kriptografi yang baik dalam menjaga informasi atau pesan tetap aman. Kriptografi merupakan ilmu sekaligus seni untuk menjaga keamanan pesan dengan menggunakan proses penyandian pesan tersebut ke dalam bentuk yang sulit dimengerti maksudnya. Proses penyandian pada pesan plaintext menjadi chipertext disebut enkripsi sedangkan proses pengembalian chipertext menjadi plaintext disebut dekripsi [1]. Algoritma kriptografi dibagi menjadi dua kelompok besar yaitu algoritma simetris dan algoritma asimetris. Algoritma simetris menggunakan kunci rahasia yang umum dimiliki oleh pengirim maupun penerima sering disebut secret-key cipher system. Algoritma asimetris memiliki dua kunci yang berbeda yaitu kunci publik dan private key yang berbeda untuk proses enkripsi dan dekripsinya [1]. Contoh dari algoritma simetris adalah algoritma Tiny Encryption Algorithm (TEA), LOKI, dan contoh dari algoritma asimetris adalah algoritma Pohlig-Hellman, RSA, dan lain-lain. Setiap algoritma memiliki kompleksitasnya masing-masing yang mempengaruhi performance dari algoritma tersebut. Tingkat performance tersebut dapat dilihat dari waktu proses dari algoritma. Waktu proses tersebut dipengaruhi oleh berbagai aspek dari perangkat komputer dan data yang diproses. Algoritma yang memiliki waktu proses yang cepat lebih dipilih dalam melakukan proses dalam kehidupan sehari-hari. Oleh karena itu perhitungan analisis algoritma dibutuhkan untuk menentukan performance berdasarkan waktu proses dari algoritma yang di analisis. Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah,
Hal. 36 dari 186
sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi [4]. Pada penelitian ini akan didiskusikan perbandingan antara dua algoritma simetri yaitu algrotima TEA dan algoritma LOKI.
1.1 Algoritma Tiny Encryption Algorithm Tiny Encription Algorithm (TEA) merupakan suatu algoritma sandi yang diciptakan oleh David Wheeler dan Roger Needham dari Computer Laboratory, Cambridge University, England pada bulan November 1994. Algoritma ini merupakan algoritma mengenkripsi suatu blok plaintext dengan jumlah bit tertentu dan menghasilkan blok ciphertext yang dirancang untuk penggunaan memory yang seminimal mungkin dengan kecepatan proses yang maksimal [2].
1.2 Algoritma LOKI LOKI dirancang oleh kriptografer Australia yaitu Lawrie Brown, Josef Pieprzyk, dan Jennifer Seberry. LOKI didesain sebagai hasil dari analisis yang dilakukan secara detail terhadap blok cipher yang standar digunakan pada saat itu, yaitu DES (Data Encryption Standar). Ada versi terbaru dari LOKI ini, maka LOKI yang dibuat pertama kali lebih dikenal dengan nama LOKI89 sesuai dengan tahun pembuatannya, walaupun LOKI pertama kali diperkenalkan pada tahun 1990 [3].
2.
Metode
Penelitian ini dilakukan berdasarkan tahapan penelitian yang terdapat pada Gambar 1. Pengujian dilakukan berdasarkan pada skenario pengujian. Berikut adalah skenario pengujian yang sudah ditetepkan :
Gambar 1 Tahapan Penelitian
1. Parameter Sistem Pengujian eksekusi program simulasi akan dilakukan pada komputer dengan spesifikasi perangkat keras dan perangkat yang sama. Pengujian juga dilakukan beberapa kali agar hasil pengukuran waktu konsisten mengingat kecepatan ekseskusi program dapat berubah ubah sesuai dengan ketidak stabilan kesibukan prosesor.
Hal. 37 dari 186
2. Faktor Pengujian Faktor pengujian yang diuji pada penelitian ini adalah kecepatan algoritma. Kecepatan yang dimaksud adalah meliputi kecepatan proses enkripsi dan kecepatan proses dekripsi, setiap algoritma akan diuji pada proses enkripsi dan dekripsi terhadap berbagai ukuran data. 3. Analisis Algoritma Analisis algoritma dilihat dari analisis kompleksitas waktu algoritma dihitung dengan menggunakan notasi O(f(n)) dimana notasi O menyatakan running time (T(n)) dari suatu algoritma untuk memungkinkan kasus terburuk (worst case).
3.
Implementasi dan Hasil
Dari implementasi terhadap 30 data yang dilakukan didapat hasil sebagai berikut:
3.1 Waktu Proses Gambar 2 menampilkan perbandingan waktu enkripsi dalam detik diantara algoritma TEA dan LOKI. TEA menunjukkan lebih unggul dibandingkan LOKI dalam hal waktu enkripsi. Algoritma TEA juga menunjukkan lebih unggul dibandingkan LOKI dalam hal waktu dekripsi seperti ditampilkan pada Gambar 3. 0.08 0.07 WAKTU (detik)
0.06 0.05 0.04
LOKI
0.03
TEA
0.02 0.01 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Gambar 2 Waktu Enkripsi
0.0800000 0.0700000 WAKTU (detik)
0.0600000 0.0500000 0.0400000
LOKI
0.0300000
TEA
0.0200000 0.0100000 0.0000000 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Gambar 3 Waktu Dekripsi
Hal. 38 dari 186
3.2 Kecepatan Gambar 4 menampilkan kecepatan enkripsi dari algoritma TEA dan LOKI, dan Gambar 5 menampilkan kecepatan dekripsi dari algoritma TEA dan LOKI. Berdasarkan Gambar 4 dapat diambil kesimpulan bahwa kecepatan TEA lebih unggul dibandingkan LOKI, sedangkan pada Gambar 5 menunjukkan bahwa LOKI lebih unggul dibandingkan TEA dalam kecepatan dekripsi 45000 40000 35000 Byte/detik
30000 25000 Kecepatan
20000 15000 10000 5000 0 LOKI
TEA
Gambar 4 Kecepatan Enkripsi 25000
Byte/detik
20000
15000 Kecepatan 10000
5000
0
LOKI
TEA
Gambar 5 Kecepatan Dekripsi
3.3 Besar Data Tabel 1 menampilkan perbandingan besar data setelah enkripsi dan dekripsi dari algoritma TEA dan LOKI. LOKI menghasilkan ciphertext yang sama dengan besar plaintext, sedangkan TEA menghasilkan besaran yang sama untuk tiap ciphertext. Algoritma TEA dan LOKI menghasilkan besar data yang sama dengan plaintext awal setelah dekripsi.
Hal. 39 dari 186
Tabel 1 Besar Data Enkripsi
Data Besar Plaintext (byte) LOKI (byte) TEA (byte) 1 56 123 50 2 104 123 100 3 152 123 150 4 200 123 200 5 256 123 250 6 304 123 300 7 352 123 350 8 400 123 400 9 456 123 450 10 504 123 500 11 552 123 550 12 600 123 600 13 656 123 650 14 704 123 700 15 752 123 750 16 800 123 800 17 856 123 850 18 904 123 900 Data Besar Plaintext (byte) LOKI (byte) TEA (byte) 19 952 123 950 20 1000 123 1000 21 1030 123 1050 22 1070 123 1100 23 1120 123 1150 24 1170 123 1200 25 1220 123 1250 26 1270 123 1300 27 1320 123 1350 28 1360 123 1400 29 1420 123 1450 30 1460 123 1500 3.4 Kompleksitas Kompleksitas waktu algoritma dihitung dengan menggunakan notasi O(f(n)) dimana notasi O menyatakan running time (T(n)) dari suatu algoritma untuk memungkinkan kasus terburuk (worst case). Perhitungan nilai T(n) dari algoritma TEA adalah sebagai berikut T(n) = T1(n) + T2(n) + T3(n) =7 + 8n + 7 + 8n + 5n =14+ 21n
Hal. 40 dari 186
Dengan T1(n) adalah perhitungan kompleksitas untuk enkripsi, T2(n) adalah perhitungan untuk dekripsi, dan T3(n) adalah perhitungan untuk pembangkit kunci Perhitungan nilai T(n) dari algoritma LOKI adalah sebagai berikut T(n) = T1(n)+ T2(n)+ T3(n) T(n) = -7 +11n +11 + 5n +10 + 5n T(n) = 14 + 21n Dengan T1(n) adalah perhitungan pembangkit kunci, T2(n) adalah perhitungan untuk enkripsi dekripsi, dan T3(n) adalah perhitungan untuk dekripsi.
Kompleksitas dari kedua algoritma adalah O(n) yang artinya kedua algoritma adalah algoritma linear. 3.5 Perbandingan Algoritma TEA dan LOKI Dari hasil implementasi tersebut dapat dibuat tabel perbandingan antara algoritma TEA dan LOKI sebagai berikut. Tabel 2 Perbandingan Algoritma TEA dan LOKI
No
Faktor
Algoritma TEA
Algoritma LOKI
Rata-rata Waktu proses enkripsi (detik)
0.017734 detik
0.0393501 detik
1
Rata-rata Waktu proses dekripsi (detik)
0.014832 detik
0.0359322 detik
2
Rata-rata kecepatan enkripsi (byte/detik)
41576 byte/detik
19653 byte/detik
3
Rata-rata kecepatan dekripsi (byte/detik)
9192 byte/detik
21614 byte/detik
4
Data yang di enkrip selalu 123 byte
Data yang dienkrip mengalami pennambahan jumlah bit sehingga besar data enkrip dan data awal lebih besar atau sama
Data yang di dekrip kembali ke data awal
Data yang didekrip kembali ke data awal
14+21n = O(n)
14+21n = O(n)
5
Data enkrip (Ciphertext) (byte) Data dekrip (Plaintext)
6 (byte) 7
Kompleksitas Algoritma
Hal. 41 dari 186
4.
Kesimpulan
Hasil penelitian yang telah dilakukan, memperoleh beberapa hal sebagai berikut : 1. Algoritma TEA dan LOKI merupakan algoritma kriptografi yang dapat digunakan untuk menyandikan suatu pesan yang sulit dipahami. 2. Rata-rata waktu enkripsi yang diperlukan oleh algoritma TEA lebih cepat dibandingkan waktu LOKI, begitu pula untuk waktu dekripsi. 3. Rata-rata kecepatan enkripsi algoritma TEA lebih cepat dibandingkan algoritma LOKI, sedangkan LOKI lebih cepat dibandingkan TEA dalam hal rata-rata kecepatan dekripsi. 4. Besar ukuran data setelah dienkripsi dengan algoritma LOKI sama dengan data awal, sedangkan TEA memiliki besar data yang sama tiap enkripsinya. Untuk besar ukuran data setelah didekripsi memiliki besar yang sama seperti data awal. 5. Kompleksitas yang dimiliki kedua algoritma adalah O(n).
5. Referensi [1] [2] [3] [4]
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi. SAINTIKOM, Jakarta. Nurdin. 2013 Implementasi Algoritma TEA dan Fungsi Hash MD4 Untuk Enkripsi dan Dekripsi Data. Jurnal Penelitian Teknik Informatika Universitas Malikussaleh. Indriani, Raden Fitri. 2007. Cipher Blok Menggunakan LOKI. Skripsi. Weiss, Mark Allen. 2007. Data Structures and Algorithm Analysis in C. Yogyakarta: Penerbit ANDI.
Hal. 42 dari 186