• Tidak ada hasil yang ditemukan

Perbandingan Performansi Algoritme Kriptografi Advanced Encryption Standard (AES) dan Blowfish pada Text di Platform Android

N/A
N/A
Protected

Academic year: 2018

Membagikan "Perbandingan Performansi Algoritme Kriptografi Advanced Encryption Standard (AES) dan Blowfish pada Text di Platform Android"

Copied!
9
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

1551

Perbandingan Performansi Algoritme Kriptografi Advanced Encryption

Standard (AES) dan Blowfish pada Text di Platform Android

Muhammad Taufiqur Rahman1, Aryo Pinandito2, Eko Sakti Pramukantoro3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1mtaufiqurrahman13@gmail.com, 2aryo@ub.ac.id, 3ekosakti@ub.ac.id

Abstrak

Untuk membuat suatu aplikasi Android, developer perlu mempertimbangkan berbagai hal selain segi keamanan, seperti performa aplikasi, karena Android sendiri sebagai perangkat bergerak secara inheren mempunyai keterbatasan sumber daya sehingga usaha untuk meningkatkan performa dari aplikasi yang dikembangkan khusus untuk platform Android perlu dilakukan. Pertanyaan-pertanyaan pada forum developer seperti Stackoverflow mengenai algoritme mana yang performanya lebih baik diplatform Android bermunculan, untuk menjawab pertanyaan tersebut maka akan dilakukan perbandingan performansi antara dua algoritma kriptografi yang kecepatannya baik dan populer digunakan, yaitu AES dan Blowfish. Penelitian ini memilih dua algoritme kriptografi kunci-simetris yang populer digunakan yaitu algoritme Advanced Encryption Standard (AES) dan algoritme Blowfish untuk dibandingkan performanya pada sistem operasi Android. Data yang digunakan didapat dari data generator berdasarkan aturan-aturan tertentu. Perbandingan performa akan dilakukan dengan 3 parameter, yaitu: panjang data, panjang kunci, dan perbedaan arsitektur prosesor. Pengujian tiap data dilakukan 20 kali untuk meningkatkan akurasi performa algoritme. Hasil pengujian menunjukkan bahwa algoritma Blowfish mempunyai performa enkripsi dan dekripsi lebih baik dibandingkan dengan algoritma AES pada pengujian terhadap panjang data dan panjang kunci, pada pengujian terhadap prosesor Intel AES lebih unggul dengan 0.3-0.4 ms lebih cepat sedangkan pada prosesor ARM Blowfish lebih cepat 0.2 ms.

Kata kunci: kriptografi, AES, blowfish, performa, android Abstract

To create an Android application, developers need to consider things other than security, such as application performance, because Android itself as a mobile device inherently has limited resources so that efforts to improve the performance of applications developed specifically for the Android platform needs to be done. Questions on developer forums such as Stackoverflow on which algorithms are performing better on Android platforms are emerging, to answer those questions there will be a performance comparison between two well-known and popularly used cryptographic algorithms, AES and Blowfish. The study chose two popular symmetric cryptography algorithms that are used: Advanced Encryption Standard (AES) algorithms and Blowfish algorithms to compare performance on the Android operating system. The data used derived from the generator data based on certain rules. Comparison of performance will be done with 3 parameters, namely: data length, key length, and differences in processor architecture. Testing each data is done 20 times to improve the accuracy of algorithmic performance. The test results show that the Blowfish algorithm has better encryption and decryption performance than the AES algorithm on testing of data length and key length, on testing of Intel AES processor is superior to 0.3-0.4 ms faster while on ARM processor Blowfish is faster by 0.2 Ms.

Keywords: crypthograpy, AES, blowfish, performance, android

1. PENDAHULUAN

Untuk membuat suatu aplikasi, developer Android perlu mempertimbangkan berbagai hal

(2)

meningkatkan performa dari aplikasi yang dikembangkan khusus untuk platform Android perlu dilakukan. Pertanyaan-pertanyaan pada forum developer seperti Stackoverflow mengenai algoritme mana yang performanya lebih baik diplatform Android bermunculan, untuk menjawab pertanyaan tersebut maka perlu dilakukan perbandingan performansi antara dua algoritma kriptografi umum yang kecepatannya baik dan populer digunakan.

Blowfish adalah cipher block berkunci yang didesain oleh Bruce Schneier pada tahun 1993 yang mencakup jumlah besar cipher dan enkripsi. Blowfish memberikan hasil enkripsi yang baik (sulit untuk dipecahkan) dan sampai saat ini belum ada kriptanalisis yang mengklaim telah dapat memecahkannya. Hal tersebut mungkin juga dikarenakan sistem enkripsi lain yang lebih banyak mendapat perhatian seperti Advanced Encryption Standard (Narendra, 2013). AES sendiri awalnya adalah sebuah kompetisi yang diadakan oleh Nasional Institute of Standards and Technology (NIST) untuk memilih algoritme block cipher yang paling tepat untuk digunakan sebagai standar. Rijndael, sebuah block cipher yang dikembangkan oleh Vincent Rijmen dan Joan Daemen memenangkan kompetisi ini dan algoritme yang mereka kembangkan digunakan dalam AES. AES pada awalnya dikembangkan untuk menggantikan algoritme Data Encryption Standard (DES) yang telah ditemukan kelemahannya dan dapat dijebol dalam beberapa jam saja dengan menggunakan komputer biasa. Kekuatan algoritme AES jauh melebihi DES, jika mesin yang digunakan untuk menjebol DES digunakan untuk menjebol AES, maka diperlukan waktu jutaan tahun hingga AES dapat terpecahkan (Erwin, 2015).

Walaupun Blowfish mempunyai masalah kunci lemah (Kara & Manap, 2008) kedua algoritme tersebut memiliki tingkat keamanan yang tinggi, karena sampai sekarang belum ditemukan algoritme atau mesin yang mampu untuk memecahkan data hasil enkripsi algoritme kriptografi tersebut dengan cepat. Tiap-tiap algoritme memiliki perbedaan dalam tingkat kerumitan dan proses perhitungannya, maka dari itu penelitian ini akan menguji dan membandingkan performa daripada keamanan kedua algoritme tersebut untuk menemukan algoritme mana yang lebih unggul dalam hal performa dari kedua algoritme tersebut pada aplikasi Android.

Untuk mengoptimalkan performa maksimal kedua algoritme (AES dan Blowfish) pada aplikasi teks Android, ukuran data akan digunakan sebagai pembanding terhadap waktu proses algoritme karena panjang data adalah sangat penting untuk aplikasi teks, dan perlu diketahui untuk aplikasi yang mendukung plaintext yang panjang seperti aplikasi email atau yang membatasi panjang plaintext seperti aplikasi SMS, manakah enkripsi yang lebih baik performanya.

Selanjutnya, kunci juga faktor yang vital pada enkripsi karena semakin panjang kunci dari sebuah enkripsi maka dapat semakin lama juga proses enkripsi, tetapi akan lebih aman juga hasil enkripsinya, sehingga perlu diuji apakah panjang kunci dapat mempengaruhi performa aplikasi secara signifikan dan algoritme mana yang performanya lebih baik dengan kunci yang lebih panjang/pendek.

Perlu juga diuji performa kedua algoritme jika dihadapkan dengan arsitektur prosesor yang berbeda (ARM dan Intel) untuk mengetahui algoritme enkripsi mana yang lebih baik diantara AES dan Blowfish untuk masing-masing prosesor.

Hasil dari perbandingan kedua algoritme dapat digunakan sebagai acuan data dua algoritme enkripsi yang populer saat ini, juga dapat digunakan developer Android untuk memilih algoritme enkripsi mana yang sesuai dengan aplikasi yang dikembangkan, dapat juga digunakan sebagai bahan referensi penelitian yang berkaitan dengan algoritme enkripsi AES dan Blowfish.

2. LANDASAN KEPUSTAKAAN

2.1. Kriptografi

Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga pesan-pesan agar tetap aman (Scheiner, 1996).

(3)

Gambar 2.1 Proses Enkripsi-Dekripsi Sumber: (Muchad, 2010)

Dekripsi sendiri adalah kebalikan dari proses enkripsi yaitu proses konversi data yang sudah dienkripsi (ciphertext) kembali menjadi data aslinya (original plaintext) sehingga dapat dibaca dan dimengerti kembali.

2.2. Plaintext dan Chipertext

Plaintext yaitu suatu pesan atau informasi yang tidak disandikan, adalah pesan yang hendak dikirimkan (berisi data asli) atau juga disebut clear text. Sebuah cipher adalah sebuah algoritma untuk menampilkan enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur. Ciphertext sendiri adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi (MyCrypto, 2016).

2.3. Kunci

Dalam kriptografi, kunci adalah suatu informasi yang mengendalikan jalannya sebuah algoritma kriptografi (MyCrypto, 2016). Dalam enkripsi, kunci memberikan cara khusus bagaimana suatu algoritma mentransformasikan teks terang (plaintext) menjadi teks tersandi (ciphertext), ataupun proses sebaliknya (disebut dekripsi). Teks tersandi dapat diubah menjadi teks terang, jika sang pembaca mengetahui algoritma yang digunakan, dan memiliki kunci yang benar. Dengan kata lain, kunci bertindak sebagai suatu password dalam algoritma tersebut. Selain enkripsi, kunci juga digunakan pada algoritma kriptografi lainnya, seperti tanda tangan digital dan kode otentikasi pesan.

2.4. Advanced Encryption Standard (AES)

AES merupakan standar enkripsi dengan kunci-simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini terdiri atas 3 blok cipher, yaitu AES-128, AES-192 and AES-256, yang diadopsi dari koleksi yang lebih besar yang awalnya diterbitkan sebagai Rijndael. Masing-masing cipher memiliki ukuran 128-bit, dengan ukuran kunci masing-masing 128, 192, dan 256 bit, untuk keperluan pengujian disini akan digunakan varian AES-256 karena

merupakan varian yang paling aman dibandingkan dengan kedua varian lainnya. AES telah dianalisis secara luas dan sekarang digunakan di seluruh dunia, seperti halnya dengan pendahulunya, Data Encryption Standard (DES).

2.5. Blowfish

Blowfish merupakan algoritme kunci simetrik cipher blok yang dirancang pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Pada saat itu banyak sekali rancangan algoritme yang ditawarkan, namun hampir semua terhalang oleh paten atau kerahasiaan pemerintah Amerika. Schneier menyatakan bahwa Blowfish bebas paten dan akan berada pada domain publik (Scheiner, 1996). Dengan pernyataan Schneier tersebut Blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritme kriptografi yang cepat, kuat, dan tidak terhalang oleh lisensi.

2.6. Pengujian di Android

Pengujian aplikasi di platform Android sendiri dapat dilakukan di IDE yang tersedia seperti Android Studio.

Android studio mempunya tool tersendiri yang dapat membantu menganalisis performa aplikasi yaitu logcat yang berisi log dari berbagai aplikasi dan bagian dari sistem dikumpulkan dalam serangkaian circullar buffer yang kemudian dapat dilihat dan disaring oleh perintah logcat. Logcat dapat digunakan dari shell ADB untuk melihat pesan log.

Logcat akan digunakan sebagai alat untuk melihat performa dari proses enkripsi dan dekripsi algoritme kriptografi, setelah proses enkripsi atau dekripsi selesai waktu yang dibutuhkan untuk pemrosesan akan ditampilkan di logcat.

3. METODOLOGI

(4)

Gambar 3.1 Metode Penelitian

4. PERANCANGAN

4.1. Pengujian

Pada tahap ini dilakukan perancangan pengujian performa terhadap algoritme AES dan Blowfish dalam prototipe aplikasi text. Pengujian yang dilakukan adalah sebagai berikut:

1. Pengujian performa algoritme enkripsi AES dan Blowfish terhadap panjang data aplikasi teks.

2. Pengujian performa algoritme enkripsi AES dan Blowfish terhadap panjang key.

3. Pengujian performa algoritme enkripsi AES dan Blowfish terhadap perbedaan arsitektur prosesor (ARM dan Intel).

Pada pengujian kemungkinan akan muncul nilai yang abnormal dikarenakan proses Android yang berjalan di latar, nilai yang condong/abnormal akan diabaikan dan dihapus untuk kemudian diganti dengan nilai dari hasil pengujian baru yang normal dari pengujian lain. Pengujian untuk penggantian nilai yang abnormal dilakukan diluar lingkup 20 kali pengujian. Data yang didapat dari pengujian akan digunakan untuk perbandingan performa algoritme AES dan Blowfish. Tiap-tiap pengujian mempunyai skenario pengujian yang berbeda, menurut Jakob Nielsen pengujian kuantitatif dengan 20 kali pengujian mempunyai tingkat kepercayaan 90% (Nielsen, 2006), oleh karena itu dalam pengujian ini setiap pengujian akan diulang sebanyak 20 kali untuk mengurangi batas kesalahan (margin of error).

Saat prototipe dijalankan aplikasi akan

mengambil data teks dan kunci dari database, setelah itu untuk keperluan pengujian data teks dan kunci tersebut akan dilakukan proses enkripsi dan dicatat kecepatan eksekusi enkripsi, hasil enkripsi akan disimpan didalam database untuk selanjutnya dilakukan proses dekripsi, setelah proses dekripsi dijalankan kecepatan eksekusi dekripsi akan dicatat dan disimpan, proses pencatatan waktu eksekusi akan diulang 20 kali untuk meningkatkan tingkat ketepatan waktu eksekusi yang sebenarnya. Skema pengujian bisa dilihat dalam Gambar 4.1.

Gambar 4.1 Diagram Skenario Pengujian

4.2. Logika Prototipe

Untuk melakukan pengujian dibutuhkan sebuah prototipe untuk menampung data pengujian dan pengimplementasian algoritme kriptografi, alur program dijelaskan dalam Gambar 4.2 dimulai dengan Main Activity saat prototipe pertama kali dibuka, dalam awal program terdapat 3 buah tombol, yaitu tombol Uji AES, tombol Uji Blowfish, dan tombol SQLite.

(5)

Gambar 4.2 Alur Prototipe

4.3. Implementasi Algoritme

Kedua algoritme akan diimplementasikan dengan memanfaatkan library yang tersedia di Android.

Untuk algoritme AES library yang digunakan adalah AESCrypt-Android yang dibuat oleh user scottyab dan dipublikasikan di github, untuk mengimplementasikan library ini kedalam prototipe aplikasi akan digunakan Maven Dependency yang disediakan.

Untuk algoritme Blowfish library yang digunakan adalah jBlowfish yang dibuat github user dorneanu, untuk pengimplementasiannya karena tidak ada Maven Dependency yang disediakan maka kelas jBlowfish akan dimasukkan kedalam prototipe agar dapat dipanggil saat dibutuhkan.

4.4. UI Prototipe

Dalam pengujian dibutuhkan aplikasi berbasis Android dengan pengimplementasian algoritme AES dan Blowfish didalamnya, kedua algoritme akan digunakan untuk mengenkripsi dan dekripsi text/bytes dalam aplikasi Android. Pada tampilan awal akan ditampilkan menu yang terdiri dari:

1. Uji AES 2. Uji Blowfish 3. SQLite

Rancangan dari menu dapat dilihat dalam Gambar 4.3 sebelah kiri, menu pertama akan menampilkan skenario pengujian algoritme AES, menu kedua menampilkan skenario pengujian algoritme Blowfish, menu ketiga menampilkan basis data dari prototipe ini.

Menu pertama dari aplikasi yaitu “UJI

AES” akan menuju activity class yang

mengimplementasikan enkripsi dan dekripsi ketiga skenario menggunakan algoritme AES, sedangkan menu kedua “UJI BLOWFISH” akan menuju activity class yang mengimplemetasikan enkripsi dan dekripsi algoritme Blowfish, kedua menu tersebut berfungsi untuk memproses data dari tiap-tiap

skenario yang sebelumnya telah disimpan di basis data untuk kemudian dilakukan proses enkripsi/dekripsi menggunakan masing-masing

algoritme. Menu ketiga “SQLITE” berfungsi

untuk menampilkan isi dari basis data yang berisi data dari ketiga skenario yang telah dimasukkan.

Menu pertama dan kedua dalam Gambar 4.3 sebelah kiri akan menuju activity seperti Gambar 4.3 sebelah kanan, Terdapat 3 bagian yang merepresentasikan ketiga skenario yang ada dan masing-masing skenario akan dilakukan proses pengujian enkripsi dan dekripsi, saat tombol enkripsi test atau dekripsi test pada setiap skenario ditekan maka proses enkripsi atau dekripsi akan dijalankan dilatar dan hasil prosesnya akan ditampilkan didalam logcat pada Android Studio.

Gambar 4.3 Rancangan UI Prototipe

5. IMPLEMENTASI PROTOTIPE

Setelah prototipe aplikasi dibuat, objek penelitian akan dipasang pada prototipe tersebut agar data pengujian dapat diolah dengan algoritme AES atau Blowfish. Tampilan awal prototipe aplikasi saat pertama dibuka ditunjukkan dalam Gambar 5.1 sebelah kiri, saat prototipe pertama dibuka data uji akan diload di thread lain agar tidak mengganggu UI thread, ada 3 tombol yang tampak pada halaman awal yaitu tombol Uji AES, Uji Blowfish, dan SQLITE.

(6)

data pengujian pada basis data untuk diolah dan didapatkan hasil waktu eksekusi algoritme.

Gambar 5.1 Prototipe Aplikasi

6. PENGUJIAN DAN KOMPARASI

6.1. Panjang Data

Komparasi performa menggunakan dua algoritme yaitu AES dan Blowfish diuji performa kecepatan enkripsi dan dekripsinya. Panjang data yang diuji adalah 5 sampai 160 bytes kelipatan 5, setiap data diuji 20 kali kemudian diambil rata-ratanya, total data pengujian yang dihasilkan pada uji ini adalah 2560 data.

Pengujian enkripsi AES direpresentasikan dengan warna biru dalam Gambar 6.1, sedangkan hasil enkripsi Blowfish direpresentasikan dengan warna merah, total data yang didapat dari proses enkripsi kedua algoritme adalah 1280 data, dari komparasi performa kedua algoritme terhadap panjang data terlihat algoritme Blowfish lebih cepat dalam melakukan proses enkripsi walaupun perbedaan kecepatan enkripsi dengan algoritme AES tidak terlalu jauh.

Gambar 6.1 Komparasi Enkripsi Terhadap Perbedaan Panjang Data

Dengan kondisi perangkat yang sama

dengan pengujian enkripsi, uji dekripsi dengan total hasil pengujian 1280 data yang didapat kemudian dijalankan, dalam Gambar 6.2 warna biru merepresentasikan kecepatan dekripsi algoritme AES sedangkan warna merah merepresentasikan algoritme Blowfish. Kecepatan kedua algoritme hampir sama, tetapi kecepatan algoritme Blowfish sedikit lebih cepat daripada algoritme AES.

Gambar 6.2 Komparasi Dekripsi Terhadap Perbedaan Panjang Data

6.2. Panjang Kunci

Komparasi performa menggunakan dua algoritme yaitu AES dan Blowfish diuji performa kecepatan enkripsi dan dekripsinya. Panjang kunci yang diuji adalah 4 sampai 56 byte, setiap data diuji 20 kali kemudian diambil rata-ratanya, total data pengujian yang dihasilkan pada uji ini adalah 4240 data.

Pengujian enkripsi AES direpresentasikan dengan warna biru dalam Gambar 6.3, sedangkan hasil enkripsi Blowfish direpresentasikan dengan warna merah, total data yang didapat dari proses enkripsi kedua algoritme dalah 2120 data, dari komparasi performa kedua algoritme terhadap panjang kunci terlihat algoritme Blowfish lebih cepat dalam melakukan proses enkripsi walaupun perbedaan kecepatan enkripsi dengan algoritme AES tidak terlalu jauh.

0 0,5 1 1,5 2 2,5

5

20 35 50 65 80 95

110 125 140 155

W

ak

tu

(

ms

)

Panjang Data

AES Blowfish

0 0,5 1 1,5 2 2,5 3 3,5

5 20 35 50 65 80 95 110125140155

W

ak

tu

(ms

)

Panjang Data

(7)

Gambar 6.3 Komparasi Enkripsi Terhadap Perbedaan Panjang Kunci

Dengan kondisi perangkat yang sama dengan pengujian enkripsi, uji dekripsi dengan total hasil pengujian 2120 data yang didapat kemudian dijalankan, dalam Gambar 6.4 warna biru merepresentasikan kecepatan dekripsi algoritme AES sedangkan warna merah merepresentasikan algoritme Blowfish. Kecepatan kedua algoritme hampir sama, tetapi kecepatan algoritme Blowfish sedikit lebih cepat daripada algoritme AES.

Gambar 6.4 Komparasi Dekripsi Terhadap Perbedaan Panjang Kunci

6.3. Perbedaan Aritektur Prosesor

Komparasi performa menggunakan dua algoritme yaitu AES dan Blowfish diuji performa kecepatan enkripsi dan dekripsinya. Kedua pengujian dilakukan dengan input yang sama tetapi akan dilakukan di dua perangkat dengan prosesor yang berbeda (ARM dan Intel), dari pengujian didapatkan 1440 data. Komparasi terhadap panjang data dibagi menjadi 2 bagian, yaitu komparasi enkripsi dan komparasi dekripsi.

Dalam pengujian enkripsi akan dilakukan pemberian input dengan bytes data dan kunci

yang bervariasi, bytes data yang digunakan adalah 10, 20, 30 sedangkan kunci yang digunakan adalah 8, 16, 32. Hasil enkripsi dalam Gambar 6.5 menggunakan AES baik di perangkat dengan prosesor ARM maupun Intel adalah kurang dari 2 ms, sedangkan untuk enkripsi yang menggunakan Blowfish di perangkat ARM terlihat beberapa melampaui 2 ms tetapi di Intel hasilnya lebih stabil antara 1.2-1.5 ms.

Gambar 6.5 Komparasi Enkripsi Terhadap Perbedaan Arsitektur Prosesor

Pada pengujian dekripsi dilakukan dengan perangkat yang sama dengan pengujian sebelumnya, hasil enkripsi dalam Gambar 6.6 menunjukkan bahwa proses dekripsi dengan menggunakan algoritme AES di prosesor ARM membutuhkan waktu 1.2-3.1 ms, sedangkan di prosesor Intel terlihat lebih cepat membutuhkan waktu 0.9-1.3 ms. Untuk algoritme Blowfish, proses dekripsi di prosesor ARM membutuhkan waktu 1.6-2.3 ms dan di prosesor Intel membutuhkan 1.2-1.5 ms.

0 0,5 1 1,5 2 2,5

4 8 12 16 20 24 28 32 36 40 44 48 52 56

W

ak

tu

(ms

)

Panjang Kunci

AESen (ns) Blowen (ns)

0 0,5 1 1,5 2 2,5 3

4 8 12 16 20 24 28 32 36 40 44 48 52 56

W

ak

tu

(ms

)

Panjang Kunci

AESde (ns) Blowde (ns)

0 0,5 1 1,5 2 2,5 3

W

ak

tu

(ms

)

Bytes|key

ARM AES (en)

ARM Blowfish (en) Intel AES (en)

(8)

Gambar 6.6 Komparasi Dekripsi Terhadap Perbedaan Arsitektur Prosesor

6.4. Analisis Kesimpulan

Pada pengujian terhadap panjang data didapat 2560 data pengujian, rata-rata dari semua data pengujian enkripsi ditunjukkan pada Tabel 6.1 menggunakan AES didapat 1.19 ms dibandingkan dengan rata-rata performa enkripsi Blowfish yaitu 0.99 ms terbukti proses enkripsi menggunakan Blowfish lebih cepat. Dari sisi dekripsi performa AES yaitu 1.3 ms juga lebih lambat dari dekripsi menggunakan Blowfish yaitu 1.18 ms.

Tabel 6.1 Kecepatan Rata-Rata Algoritme pada

Skenario 1

Tipe AES (ms) Blowfish (ms)

Enkripsi 1.191691 0.995949

Dekripsi 1.306787 1.181375

Untuk pengujian terhadap panjang data Blowfish sedikit lebih cepat daripada AES baik dari segi enkripsi maupun dekripsi seperti dalam Gambar 4.8, meskipun begitu perbedaan kedua algoritme tidak lebih dari 0.2 ms.

Gambar 6.7 Komparasi AES & Blowfish pada Skenario 1

Pada pengujian terhadap panjang kunci didapat 4240 data pengujian, pada Tabel 6.2 menunjukkan rata-rata performa keseluruhan data, pada proses enkripsi didapatkan performa 1.14 ms untuk algoritme AES dan untuk 0.96 ms untuk Blowfish, sedangkan untuk proses dekripsi algoritme AES menghasilkan 1.17 ms dan 0.91 ms untuk proses dekripsi menggunakan algoritme Blowfish.

Tabel 6.2 Kecepatan Rata-Rata Algoritme pada Skenario 2

Tipe AES (ms) Blowfish (ms)

Enkripsi 1.146506 0.96263

Dekripsi 1.172907 0.916703

Dari data diatas dapat disimpulkan bahwa untuk pengujian terhadap panjang kunci Blowfish lebih cepat daripada AES seperti terlihat dalam Gambar 6.8, perbedaan keduanya sama dengan hasil dari skenario sebelumnya yaitu perbedaan performa tidak lebih dari 0.2 ms.

Gambar 6.8 Komparasi AES & Blowfish pada Skenario 2

Pada pengujian terhadap prosesor yang berbeda didapat 1440 data pengujian, pada Tabel 6.3 menunjukkan hasil rata-rata dari keseluruhan data pengujian, hasil dari perangkat ARM ditunjukkan pada baris 1 dan 2, enkripsi menggunakan AES didapat 1.43 ms sedangkan untuk Blowfish 1.56 ms, untuk dekripsi pada prosesor ini sendiri didapat 2.11 ms untuk

0 0,5 1 1,5 2 2,5 3 3,5

W

ak

tu

(ms

)

Bytes|key

ARM AES (de)

ARM Blowfish (de)

Intel AES (de)

Intel Blowfish (de)

0 0,5 1 1,5

Enkripsi Dekripsi

AES Blowfish

0 0,5 1 1,5

Enkripsi Dekripsi

(9)

algoritme AES dan 1.99 ms untuk algoritme Blowfish. Pada perangkat Intel sendiri terdapat pada baris 3 dan 4, saat menguji enkripsi didapatkan untuk algoritme AES 1 ms dan untuk Blowfish 1.3 ms, sedangkan untuk proses dekripsi algoritme AES menghasilkan 1.09 ms dan untuk Blowfish menghasilkan 1.42 ms.

Tabel 6.3 Kecepatan Rata-Rata Algoritme pada Skenario 3

Tipe AES (ms) Blowfish (ms)

Enkripsi(ARM) 1.433477 1.561135

Dekripsi(ARM) 2.111118 1.994007

Enkripsi(Intel) 1.006473 1.382202

Dekripsi(Intel) 1.099686 1.422959

Dari hasil pengujian seperti terlihat dalam Gambar 6.9 didapatkan algoritme AES dan Blowfish performanya hampir sama dengan Blowfish sedikit lebih unggul di prosesor ARM, sedangkan di prosesor Intel didapatkan hasil algoritme AES performanya lebih baik daripada Blowfish dengan margin 0.3-0.4 ms lebih cepat.

Gambar 6.9 Komparasi AES & Blowfish pada Skenario 3

Pada perbandingan pada arsitektur prosesor didapatkan hasil kecepatan eksekusi algoritme AES lebih cepat daripada algoritme Blowfish, ini disebabkan prosesor Intel modern dilengkapi dengan teknologi yang mensupport algoritme kriptografi AES, sehingga saat performa AES yang normalnya lebih lambat daripada Blowfish (seperti ditunjukkan dipengujian pada prosesor ARM), AES dapat melampaui performa algoritme Blowfish diprosesor Intel.

7. KESIMPULAN

Berdasarkan perancangan, implementasi dan hasil pengujian dari studi perbandingan performa algoritme kriptografi AES dengan Blowfish pada text di platform Android, maka didapatkan kesimpulan sebagai berikut:

1. Blowfish memiliki performa kecepatan algoritme terhadap panjang data sedikit lebih

baik daripada algoritme AES secara keseluruhan dengan keunggulan 0.2 ms saat enkripsi dan 0.12 ms saat dekripsi.

2. Blowfish memiliki performa kecepatan algoritme terhadap panjang kunci sedikit lebih baik daripada algoritme AES secara keseluruhan dengan keunggulan 0.18 saat enkripsi dan 0.26 saat dekripsi.

3. AES dan Blowfish performa kecepatan algoritmenya hampir sama di perangkat Android dengan prosesor ARM dengan algoritme Blowfish sedikit lebih unggul sekitar 0.2 ms, sedangkan di perangkat Android dengan prosesor Intel algoritme AES 0.3-0.4 ms lebih cepat dibandingkan dengan algoritme Blowfish.

8. DAFTAR PUSTAKA

Schneier, Bruce. 1996. Applied Cryptography. John Wiley & Sons, Inc.

Erwin. 2015. Penggunaan AES pada Enkripsi Data Perangkat Mobile dengan Sistem Operasi Android. Program Studi Teknik Informatika Institut Teknologi Bandung.

Narendra, Dendy. 2013. Metoda Enkripsi Blowfish. Program Studi Teknik Informatika STEI ITB.

MyCrypto. Encryption Algorithms. [online]

Tersedia di:

<http://www.mycrypto.net/encryption/c rypto_algorithms.html> [Diakses 18 September 2016]

Nielsen, Jakob. 2006. Quantitative Studies: How Many Users to Test?. nngroup. Kara, Orhun. Manap, Cevat. 2008. A New Class

of Weak Keys for Blowfish. TUBITAK UEKAE.

0 0,5 1 1,5 2 2,5

Enkripsi (ARM)

Dekripsi (ARM)

Enkripsi (INTEL)

Dekripsi (INTEL)

Gambar

Gambar 2.1 Proses Enkripsi-Dekripsi
Gambar 3.1  Metode Penelitian
Gambar 4.3 Rancangan UI Prototipe
Gambar 5.1  Prototipe Aplikasi
+4

Referensi

Dokumen terkait

Bentuk partisipasi masyarakat Mojo terhadap kegiatan Ekowisata Hutan Mangrove dapat dilihat berdasarkan variabel-variabel yang digunakan yaitu usaha/ kegiatan yang terkait

Dari hasil observasi dan evaluasi bahwa pelaksaaan model pembelajaran kooperatif type jigsaw sudah baik dan membuat siswa aktif namun pada proses

 išanalizuoti užimtumo didinimo programoje išskirtų tikslinių grupių integracijos į darbo rinką galimybes (prioritetą teikiant jaunimo ir pagyvenusių asmenų

Apibendrinant galima teigti, kad dviem iš dešimties apklaustų jaunų ilgalaikių bedarbių trūksta pasitikėjimo savimi, motyvacijos ieškotis darbo, nes juos tenkina esama

 Marketing, Contracting, Customer Relationship Skills, Kemampuan menjual tidak hanya dimiliki oleh marketer saja, akan tetapi manajer proyek harus memiliki kemampuan untuk

Dengan keunggulan yang diperoleh dari sistem perawatan usulan (preventive maintenance), yaitu dapat memberikan dampak penurunan rata-rata downtime komponen kritis sebesar

Sejak beberapa tahun terakhir, penulisan referensi R dalam bentuk buku teks berbahasa Inggris mulai digalakkan oleh beberapa penerbit terkenal diantaranya Chapmann

Bagi aliran Essensialime sendiri, tujuan dari pendidikan itu sangat jelas dituangkan dalam kurikulum, yaitu untuk membina peradaban bagi manusia itu sendiri, untuk