SEMINAR TUGAS AKHIR PERIODE JANUARI 2012
ANALISIS ALGORITMA ENKRIPSI ELGAMAL, GRAIN V1, DAN AES DENGAN STUDI KASUS APLIKASI RESEP MASAKAN 2
3
Dimas Zulhazmi W.1, Ary M. Shiddiqi , Baskoro Adi Pratomo Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Email :
[email protected],
[email protected],
[email protected]
1,2,3
Abstrak - Dalam hal komunikasi data antar komputer maupun transfer file dari satu device ke device lain yang melalui suatu jaringan, keamanan data sangatlah penting. Oleh karena itu, diperlukan cara untuk mengamankan data yang kita kirimkan, dan salah satu caranya adalah dengan melakukan enkripsi terhadap data kita. Untuk menemukan metode enkripsi yang paling efektif, melalui tugas akhir ini akan melakukan analisis terhadap beberapa metode enkripsi yang mewakili jenis-jenis enkripsi yang telah disebutkan di atas. Enkripsi simetris block cipher akan diwakili oleh AES (Advance Encryption Standard), enkripsi stream cipher akan menggunakan Grain V1, sedangkan ElGamal Encryption merepresentasikan salah satu algoritma enkripsi asimetris untuk block cipher. Studi kasus yang digunakan adalah melalui enkripsi gambar masakan pada aplikasi resep masakan yang bisa digunakan pada smartphone berbasis Android. Secara garis besar, aplikasi ini bekerja sebagai berikut. Gambar resep masakan akan dienkripsi terlebih dahulu sebelum dikirim melalui jaringan. Setelah sampai ke penerima, file gambar tersebut didekripsi untuk mendapatkan isi gambar yang asli. Dari hasil uji coba di atas, ketiga metode enkripsi dekripsi di atas, akan dinilai metode mana yang paling efektif dilihat dari waktu enkripsi dekripsi serta ukuran data hasil enkripsi. Dan hasil uji coba telah menunjukkan bahwa algoritma Grain V1 rata-rata lebih cepat 703,33 ms dari AES pada proses enkripsi, selain itu pada proses dekripsi Grain V1 rata-rata lebih cepat 2261,55 ms dari AES. Grain V1 rata-rata lebih cepat 57043,22 ms dari ElGamal pada proses enkripsi, selain itu pada proses dekripsi Grain V1 rata-rata lebih cepat 6508,63 ms dari ElGamal. Sedangkan untuk ukuran file hasil enkripsi, Grain V1 rata-rata lebih kecil 47,09 bytes dari AES dan rata-rata lebih kecil 172,67 bytes dari ElGamal. Kata kunci: enkripsi, Grain V1, AES, Advanced Encryption Standard, ElGamal, Android, resep masakan. 1.
PENDAHULUAN
Salah satu hal yang penting dalam komunikasi data antar komputer melalui jaringan adalah keamanan data. Keamanan data bisa dijaga dengan berbagai cara, salah satunya adalah dengan cara
Dimas Zulhazmi Wigraha 5107100036
melakukan enkripsi terhadap data yang dikirimkan. Dengan enkripsi, user lain selain yang kita inginkan tidak bisa membaca data yang kita berikan. Secara umum enkripsi bisa dibagi menjadi dua jenis, yaitu enkripsi simetris dan enkripsi asimetris. Enkripsi dikatakan simetris bila hanya menggunakan satu buah kunci yang sama untuk melakukan enkripsi dan dekripsi. Sedangkan enkripsi asimetris menggunakan dua buah kunci yang berbeda untuk enkripsi-dekripsi, yaitu kunci publik dan kunci privat. Selain itu berdasarkan cara pengolahan data juga terdapat dua macam enkripsi, yaitu stream cipher dan block cipher. Stream cipher digunakan untuk enkripsi yang simetris. Sedangkan block cipher bisa digunakan untuk enkripsi simetris maupun asimetris. Perbedaan antara stream cipher dan block cipher adalah dalam pemrosesan data, block cipher memproses setiap blok data sedangkan stream cipher memproses perbit data. Dari berbagai macam enkripsi yang telah dijelaskan di atas, melalui Tugas Akhir ini akan dianalisis beberapa algoritma yang mewakili jenis enkripsi tersebut. Enkripsi simetris block cipher akan diwakili oleh AES (Advance Encryption Standard), enkripsi asimetris block cipher akan menggunakan ElGamal, sedangkan Grain V1 merepresentasikan enkripsi stream cipher. Dalam menganalisis ketiga algoritma di atas, dalam Tugas Akhir ini akan dipergunakan gambar resep masakan. Ketiga algoritma enkripsi ini akan digunakan dalam proses transfer gambar pada aplikasi resep masakan. Gambar akan dienkripsi dahulu, lalu dari server dikirim ke client untuk kemudian client akan mendekripsi menjadi gambar semula. Melalui aplikasi ini, akan dianalisis algoritma enkripsi dekripsi AES, ElGamal dan Grain V1 dalam hal waktu enkripsi dekripsi serta ukuran data setelah dienkripsi.
2. DASAR TEORI
Disini akan dijelaskan beberapa hal mengenai teori yang berkaitan dengan perangkat lunak yang diimplementasikan. Hal ini ditujukan untuk memberikan gambaran secara umum terhadap sistem yang akan dibuat. Selain itu hal tersebut berguna untuk menunjang pembuatan sistem sehingga kebutuhan akan sistem dapat diketahui. 2.1 Kriptografi Berdasarkan metode mengolah data ada dua macam kriptografi yaitu stream cipher dan block cipher. Stream cipher adalah cipher yang 1
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 beroperasi pada bit satuan, yaitu proses enkripsi dan dekripsi dilakukan bit per bit. Cipher akan mengenkripsi data bit per bit setiap kali transformasi. Kunci yang digunakan untuk enkripsi pada stream cipher disebut KeyStream. Sedangkan block cipher adalah sebuah cipher yang beroperasi pada kelompok-kelompok bit yang memiliki panjang yang tetap. Kelompok-kelompok bit tersebut yang kita namakan blok. Misalkan sebuah algoritma block cipher menggunakan 128-bit plaintext sebagai input, maka output yang dikeluarkan algoritma tersebut adalah 128-bit ciphertext. Begitu juga saat dekripsi input text berupa ciphertext 128-bit maka output yang dihasilkan adalah sebuah text yang memiliki besar 128-bit. Proses pengubahan kode plaintext ke ciphertext disebut enkripsi, sedangkan pengembalian kode ciphertext menjadi plaintext semula disebut dekripsi. Proses ini dapat dilihat pada Gambar 1. Plaintext
Enkripsi
Ciphertext
Dekripsi
3. AES Advance Encryption Standard termasuk enkripsi block cipher yang memiliki kunci simetris. Dalam proses enkripsi input, diperlukanlah empat macam operasi yang dilakukan berulang-ulang dalam beberapa putaran dan menggunakan kunci cipher. Jumlah putaran yang digunakan algoritma ini ada tiga macam seperti pada Tabel 1. Tabel 1 Jumlah Putaran Pengoperasian AES
Tipe AES128 AES192 AES256
Panjang Kunci 128 bit
Panjang Blok Input 128 bit
Jumlah Putaran 10
192 bit
128 bit
12
256 bit
128 bit
14
Proses dari enkripsi dan dekripsi AES dapat dilihat pada Gambar 4.
Plaintext semula
Gambar 1 Diagram Proses Kriptografi
1. Enkripsi Simetris Kriptografi yang pertama kali dibuat menggunakan algoritma simetris. Algoritma simetris menggunakan kunci yang sama untuk proses enkripsi dan dekripsi data. Diagram algoritma simetris dapat dilihat pada Gambar 2. Kunci
A
Plaintext
Enkripsi
Ciphertext
Dekripsi
Plaintext
B
Gambar 4 Diagram Proses Enkripsi Dekripsi AES
Gambar 2 Diagram Algoritma Simetris
4. ElGamal ElGamal termasuk enkripsi block cipher yang memiliki kunci asimetris. Keamanan algoritma ElGamal terletak pada kesulitan penghitungan logaritma diskret pada bilangan modulo prima yang besar sehingga upaya untuk menyelesaikan masalah logaritma ini menjadi sangat sukar. Algoritma ElGamal mempunyai kunci publik berupa tiga pasang bilangan dan kunci rahasia berupa satu bilangan. Algoritma ini mempunyai kerugian pada ciphertext-nya yang mempunyai panjang dua kali lipat dari plaintext-nya. a. Proses Pembentukan Kunci Proses pembuatan kunci pada ElGamal dijelaskan pada Gambar 5.
2. Enkrips Asimetris Algoritma asimetris menggunakan dua buah kunci yang disebut sebagai kunci publik dan kunci rahasia. Kunci publik bisa diketahui oleh semua orang karena sifatnya yang tidak rahasia. Sedangkan kunci rahasia tentu bersifat rahasia sehingga tidak semua orang mengetahuinya, hanya orang-orang yang diberi kewenangan yang mengetahui dan dapat menggunakan kunci rahasia ini. Diagram algoritma asimetris dapat dilihat pada Gambar 3.
A
Plaintext
Public key
Kunci
Private key
Enkripsi
Ciphertext
Dekripsi
Plaintext
B
Gambar 3 Diagram Algoritma Asimetris
Dimas Zulhazmi Wigraha 5107100036
2
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012
Penentuan bilangan prima aman yang bernilai besar dengan cara: Tentukan bilangan prima p ≥ 5 p = 2.q + 1 Penentuan elemen primitif Bila α2 mod p ≠ 1 dan α q mod p ≠ 1
Pembentukan kunci berdasarkan bilangan prima aman dan elemen primitif Pilih a ∈{0,1,..., p − 2} sembarang β = α a mod p
5. Grain V1 Grain V1 termasuk enkripsi stream cipher yang memiliki kunci simetris. Grain cipher adalah bit oriented synchronous stream cipher. Pada synchronous stream cipher; keystream dibangkitkan secara terpisah dari plaintext. Grain cipher didasarkan pada dua shift register, pertama dengan linear feedback (LFSR) dan kedua dengan nonlinear feedback (NFSR). Grain Cipher terdiri dari sebuah LFSR, sebuah NFSR, dan sebuah fungsi penyaring (filter). Linerar feedback shift register (LFSR) adalah shift register yang bit inputannya merupakan fungsi linear dari state sebelumnya. Diagram umum Grain cipher dapat dilihat pada Gambar 8.
Gambar 5 Proses Pembuatan Kunci ElGamal
b. Proses Enkripsi Proses enkripsi pada ElGamal dijelaskan pada Gambar 6. Ambil sebuah karakter dalam pesan yang akan dienkripsi dan transformasi karakter tersebut ke dalam kode ASCII sehingga diperoleh bilangan bulat M Hitung nilai r dan t dengan persamaan berikut: k ∈{0,1,..., p − 1} r = α k (mod p) t = β k M (mod p) Diperoleh ciphertext untuk karakter M tersebut dalam blok (r, t).
Lakukan proses di atas untuk seluruh karakter dalam pesan
Gambar 6 Proses Enkripsi ElGamal
c. Proses Dekirpsi Proses dekripsi pada ElGamal akan dijelaskan pada Gambar 7. Ambil sebuah blok ciphertext dari pesan yang telah dienkripsikan pengirim
Dengan menggunakan a yang dirahasiakan oleh penerima, hitung nilai plaintext dengan menggunakan M = t (ra) -1 mod p dan (ra) -1 = r -a = r p-1-a mod p Gambar 7 Proses Dekripsi ElGamal
Dimas Zulhazmi Wigraha 5107100036
Gambar 8 Diagram Umum Grain Cipher
3. DESAIN DAN IMPLEMENTASI
Dalam Tugas Akhir ini, akan dibuat sebuah emulator untuk menguji ketiga algoritma enkripsi yang dipakai pada Tugas Akhir ini. Kemudian ketiganya akan diujicobakan juga pada android melalui aplikasi yang telah dibuat. Melalui uji coba ini, akan didapatkan algoritma enkripsi mana yang paling efektif jika digunakan untuk mengenkripsi file gambar resep masakan. Ukuran keefektifan akan didasarkan pada waktu enkripsi-dekripsi yang dibutuhkan serta besarnya ukuran data hasil enkripsi pada masing-masing algoritma. Algoritma yang paling efektif inilah yang akan dipakai seterusnya pada aplikasi Droid Cookbook. Tugas akhir ini dikembangkan di sisi client dan server. Client dalam hal ini adalah aplikasi mobile berbasis Android yang memiliki fitur secara umum: 1. Melakukan proses update daftar resep masakan pada server melalui mekanisme xml-rpc. 2. Melakukan proses mungunduh file gambar resep masakan dari server. 3. Memilih algoritma enkripsi yang diinginkan dalam proses enkripsi file gambar resep masakan. 4. Melakukan proses dekripsi terhadap file gambar resep masakan yang telah diunduh. 5. Mengetahui waktu yang dibutuhkan untuk mendekripsi file gambar resep masakan dari masing-masing algoritma serta
3
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 mengetahui ukuran file gambar resep masakan setelah dienkripsi, Sedangkan untuk server dibangun dengan menggunakan teknologi PHP-MySQL dengan memiliki fitur secara umum: 1. Menyediakan layanan untuk menangani request client untuk web service berbasis xml-rpc untuk proses update daftar resep masakan. 2. Melakukan proses enkripsi terhadap file gambar resep masakan yang akan diunduh oleh client. 3. Menyediakan layanan untuk menangani request unduh file gambar resep masakan dari client. 4. Mengetahui waktu yang dibutuhkan untuk proses enkripsi dan dekripsi pada file gambar resep masakan serta ukuran file gambar resep masakan setelah dienkripsi. Aplikasi client – server memerlukan koneksi jaringan agar aplikasi client yang berupa aplikasi mobile bisa melakukan proses komunikasi dari dan ke server. Secara umum arsitektur client – server untuk keseluruhan sistem ditunjukkan pada Gambar 9.
3.1 Perancangan Use Case Rancangan diagram use case pada sistem dari aplikasi Droid Cookbook ini dapat dilihat pada Gambar 11. Perancangan use case berdasarkan kebutuhan akan sistem yang akan dibangun. System Update daftar resep masakan
Download file gambar resep masakan
User Memilih algoritma enkripsi
Melihat resep masakan
Gambar 11 Diagram Use Case
Seperti yang terlihat pada Gambar 11 terdapat 1 aktor pada sistem ini, yaitu User. Untuk penjelasan use case pada masing-masing aktor dapat dilihat pada Tabel 2. Tabel 2 Tabel Deskripsi Use Case
Gambar 9 Skema Sistem Client-Server pada Aplikasi Droid Cookbook
Rancangan arsitektur secara keseluruhan dari sistem yang dibangun dalam tugas akhir ini ditunjukkan pada Gambar 10.
Kode Use Nama Use Case Case UC-01 Use Case Update Daftar Resep Masakan UC-02 Use Case Download File Gambar Resep Masakan UC-03 Use Case Memilih Algoritma Enkripsi
UC-04
Gambar 10 Arsitektur Sistem
Dimas Zulhazmi Wigraha 5107100036
Use Case Melihat Resep Masakan
Penjelasan Memperbaharui daftar resep masakan terakhir yang telah ada di server. Mengunduh file gambar setelah dienkripsi di server. Memilih algoritma enkripsi untuk mengenkripsi file gambar resep masakan. Melihat daftar resep masakan saat ini dan isi resep masakan.
3.2 Perancangan Perangkat Lunak Pada bagian ini akan ditunjukkan algoritma yang digunakan pada proses-proses yang terjadi dan digambarkan dalam diagram alur (flowchart). A. Perancangan Aplikasi Server 4
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 1. Flowchart Proses Enkripsi Menggunakan Algoritma AES PadaAlgoritma enkripsi gambar menggunakan AES dapat dijelaskan pada Gambar 12.
PadaAlgoritma enkripsi gambar menggunakan Grain V1 dapat dijelaskan pada Gambar 14. Mulai
Mulai File Gambar diambil per-bit
File Gambar diblok-blokan, yang isi dari tiap blok adalah bit-bit
Dengan menggunakan key dan IV, setiap 1 bit akan langsung dienkripsi dan menghasilkan ciphertext
Dengan menggunakan key, setelah mendapatkan 1 blok akan langsung dienkripsi dan menghasilkan ciphertext
Tidak
Apakah semua bit sudah dienkripsi?
Tidak
Apakah semua blok sudah dienkripsi?
Ya
Selesai Ya
Gambar 14 Flowchart Proses Enkripsi Menggunakan Algoritma Grain V1
Selesai
Gambar 12 Flowchart Proses Enkripsi Menggunakan Algoritma AES
2. Flowchart Proses Enkripsi Menggunakan Algoritma ElGamal PadaAlgoritma enkripsi gambar menggunakan ElGamal dapat dijelaskan pada Gambar 13.
B. Perancangan Aplikasi Client 1. Flowchart Proses Dekripsi Menggunakan Algoritma AES Pada Algoritma dekripsi gambar menggunakan AES dapat dijelaskan pada Gambar 15. Mulai
Mulai
Ciphertext diblok-blokan, yang isi dari tiap blok adalah bit-bit
File Gambar diblok-blokan, yang isi dari tiap blok adalah bit-bit
Dengan menggunakan key, setelah mendapatkan 1 blok akan langsung didekripsi dan menghasilkan plaintext
Dengan menggunakan public key, setelah mendapatkan 1 blok akan langsung dienkripsi dan menghasilkan ciphertext Tidak
Tidak
Apakah semua blok sudah dienkripsi?
Apakah semua blok sudah didekripsi?
Ya
Ya
Selesai
Selesai
Gambar 13 Flowchart Proses Enkripsi Menggunakan Algoritma ElGamal
3. Flowchart Proses Enkripsi Algoritma Grain V1 Dimas Zulhazmi Wigraha 5107100036
Gambar 15 Flowchart Proses Dekripsi Menggunakan Algoritma AES
Menggunakan 5
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 2. Flowchart Proses Dekripsi Menggunakan Algoritma ElGamal Pada Algoritma dekripsi gambar menggunakan ElGamal dapat dijelaskan pada Gambar 16. Mulai
Ciphertext diblok-blokan, yang isi dari tiap blok adalah bit-bit
Dengan menggunakan private key, setelah mendapatkan 1 blok akan langsung didekripsi dan menghasilkan plaintext
4. UJI COBA
Pada bab ini dibahas tentang hasil uji coba dan analisis kinerja aplikasi. Uji coba ini dibagi menjadi dua studi kasus meliputi uji coba fungsionalitas dan uji coba performa. 4.1 Uji Coba Fungsionalitas Uji coba ini di lakukan untuk melihat apakah fungsi-fungsi dasar dari perangkat lunak ini berjalan seperti yang di harapkan atau tidak. Uji coba fungsionalitas dilakukan dengan cara menjalankan aplikasi yang telah dibuat, dan melakukan pengujian terhadap fitur-fitur yang telah dibuat. Aplikasi yang telah diimplementasikan akan diuji secara keseluruhan yang melingkupi aplikasi server dan client. Arsitektur uji coba fungsionalitas dalam tugas akhir ini ditunjukkan pada Gambar 18.
Tidak
Apakah semua blok sudah didekripsi?
Gambar 18 Arsitektur Uji Coba Fungsionalitas
Ya
Selesai
Gambar 16 Flowchart Proses Dekripsi Menggunakan Algoritma Grain V1
1. Uji Coba Lama Waktu Enkripsi Uji coba ini dilakukan melalui software Eclipse dengan melihat hasil compile. Gambar 19 merupakan screenshot view lama waktu enkripsi.
3. Flowchart Proses Dekripsi Menggunakan Algoritma Grain V1 Pada Algoritma dekripsi gambar menggunakan Grain V1 dapat dijelaskan pada Gambar 17. Gambar 19 Tampilan Lama Waktu Enkripsi Mulai
Ciphertext diambil per-bit
2. Uji Coba Update Daftar Resep Masakan Uji coba ini bertujuan untuk mencoba memperbarui daftar resep masakan. Proses ini dilakukan dengan cara user menekan tombol update. Tampilan ini dapat dilihat pada Gambar 20.
Dengan menggunakan key dan IV, setiap 1 bit akan langsung didekripsi dan menghasilkan palintext Tidak
Apakah semua bit sudah didekripsi?
Ya
Selesai
Gambar 17 Flowchart Proses Dekripsi Menggunakan Algoritma Grain V1
Dimas Zulhazmi Wigraha 5107100036
Gambar 20 Tampilan Update Resep Masakan
3. Uji Coba Memilih Algoritma Enkripsi dan Uji Coba Lama Waktu Dekripsi 6
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 Setelah user memilih salah satu resep masakan, user akan memilih metode enkripsi. Pilihan algorima enkripsi ada tiga, yaitu: AES, ElGamal, dan Grain V1. Tampilan ini dapat dilihat pada Gambar 21.
Gambar 23 Tampilan Ukuran File Enkripsi
Gambar 21 Tampilan Pilih Metode Enkripsi
Setelah user menekan salah satu tombol metode enkripsi, maka akan mengunduh file gambar resep masakan yang dipilih ke server. Server akan mengenkripsi gambar tersebut dan mengirimkan ke client, kemudian client akan mendekripsi gambar tersebut dan ditampikan beserta lama waktu dekripsi. Uji coba ini dilakukan untuk melakukan proses enkripsi pada server, dekripsi pada client, dan mengetahui lama waktu dekripsi dengan menggunakan algoritma yang diinginkan. Apabila proses berhasil maka akan terlihat seperti pada Gambar 22.
4.2 Uji Coba Performa Uji coba ini bertujuan untuk mengetahui dan membandingkan performa dari aplikasi pada tugas akhir ini. Uji coba performa meliputi uji coba perbandingan waktu dekripsi pada client, uji coba perbandingan waktu enkripsi pada server, dan uji coba mengetahui besar ukuran file enkripsi. 1. Uji Coba Perbandingan Rata-Rata Waktu Dekripsi Antara Algoritma AES, ElGamal, dan Grain V1 Dalam uji coba ini terdapat tiga skenario proses. Pada setiap skenario akan dilakukan proses dekripsi AES, ElGamal, dan Grain V1. Kemudian dari masing-masing proses akan diukur waktu prosesnya dengan cara mengurangkan waktu selesai dengan waktu mulai. Hasil uji coba dapat dilihat pada tabel 3 dan grafik hasil uji coba dapat dilihat pada gambar 24. Tabel 3 Hasil Uji Coba Perbandingan Waktu Dekripsi AES, ElGamal, dan Grain V1
Skenario (dimensi gambar) Skenario1 (250x250) Skenario2 (1024x861) Skenario3 (20x20)
20000 15000 10000 5000 0
Gambar 22 Tampilan Melihat Waktu Dekripsi
4. Uji Coba Ukuran File Enkripsi Uji coba ini dilakukan dengan melihat ‘Details’ file gambar resep masakan setelah dienkripsi yang sudah tersimpan di client. Gambar 23 merupakan screenshot view besar ukuran file setelah dienkripsi.
Rata2 Waktu (milidetik) AES ElGamal Grain V1 1517,66
3171
240,66
6808,33
17220,33
687,33
405,33
831
131
AES Elgamal Grain v1
Gambar 24 Grafik Hasil Perbandingan Waktu Dekripsi AES, ElGamal, dan Grain V1
Dimas Zulhazmi Wigraha 5107100036
7
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012
2. Uji Coba Perbandingan Rata-Rata Waktu Enkripsi Antara Algoritma AES, ElGamal, dan Grain V1 Dalam uji coba ini terdapat tiga skenario proses. Pada setiap skenario akan dilakukan proses enkripsi AES, ElGamal, dan Grain V1. Kemudian dari masing-masing proses akan diukur waktu prosesnya dengan cara mengurangkan waktu selesai dengan waktu mulai. Hasil uji coba dapat dilihat pada tabel 4 dan grafik hasil uji coba dapat dilihat pada gambar 25. Tabel 4 Hasil Uji Coba Perbandingan Waktu Enkripsi AES, ElGamal, dan Grain V1
Skenario (dimensi gambar) Skenario1 (250x250) Skenario2 (1024x861) Skenario3 (20x20)
Rata2 Waktu (milidetik) AES ElGamal Grain V1 1238,66
4587,66
1111,66
1592,33
17790
1129,33
1102,33
1982
989
20000 10000 0
AES Elgamal Grain v1
Gambar 25 Grafik Hasil Perbandingan Waktu Enkripsi AES, ElGamal, dan Grain V1
3. Uji Coba Perbandingan Rata-Rata Ukuran File Enkripsi Antara Algoritma AES, ElGamal, dan Grain V1 Dalam uji coba ini terdapat tiga skenario proses. Pada setiap skenario akan dilakukan proses pengukuran file enkripsi AES, ElGamal, dan Grain V1. Hasil uji coba dapat dilihat pada tabel 5 dan grafik hasil uji coba dapat dilihat pada gambar 26. Tabel 5 Hasil Uji Coba Perbandingan Ukuran File Enkripsi AES, ElGamal, dan Grain V1
Skenario (dimensi gambar) Skenario1 (250x250) Skenario2 (1024x861) Skenario3 (20x20)
Ukuran File (bytes) AES ElGamal Grain V1 49,328
98,688
30,826
314,384
628,8
196,486
12,944
25,92
8,082
Dimas Zulhazmi Wigraha 5107100036
800 600 400 200 0
AES Elgamal Grain v1
Gambar 26 Grafik Hasil Perbandingan Ukuran File Enkripsi AES, ElGamal, dan Grain V1
5. KESIMPULAN
Dari hasil pengamatan selama perancangan, implementasi perangkat lunak yang dilakukan, dapat diambil simpulan sebagai berikut: 1. Pada tugas akhir ini telah berhasil diimplementasikan sebuah sistem yang terdiri dari sebuah aplikasi client berupa aplikasi mobile berbasis Android yang dapat melakukan proses dekripsi menggunakan algoritma AES, ElGamal, dan Grain V1 dan sebuah aplikasi server berbasis web yang dapat menangani semua request dari client dan melakukan enkripsi menggunakan AES, ElGamal, serta Grain V1 terhadap file gambar resep masakan. 2. Berdasarkan hasil uji coba performa, perbandingan antara proses enkripsi dekripsi algoritma AES, ElGamal, dan Grain V1 diperoleh kesimpulan bahwa Grain V1 ratarata lebih cepat 703,33 ms dari AES pada proses enkripsi, selain itu pada proses dekripsi Grain V1 rata-rata lebih cepat 2261,55 ms dari AES. Dan Grain V1 rata-rata lebih cepat 57043,22 ms dari ElGamal pada proses enkripsi, selain itu pada proses dekripsi Grain V1 rata-rata lebih cepat 6508,63 ms dari ElGamal. 3. Berdasarkan hasil pengujian performa, perbandingan antara proses enkripsi dekripsi algoritma AES, ElGamal, dan Grain V1 diperoleh kesimpulan bahwa proses Grain V1 hasil ukuran file enkripsinya rata-rata lebih kecil 47,09 bytes dari AES dan rata-rata lebih kecil 172,67 bytes dari ElGamal.
6. DAFTAR PUSTAKA [1] Ifanto, Mukhammad. Metode Enkripsi dan Dekripsi dengan Menggunakan Algoritma Elgamal. Institut Teknologi Bandung. 2009. [2] Adiwidya, B.M.D. Algoritma AES (Advanced Encryption Standard) dan Penggunaannya dalam Penyandian Pengompresian Data. Institut Teknologi Bandung. 2009.
8
SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 [3] Stallings, William. Cryptography and Network Security Principles and Practices, Fourth Edition. New Jersey: Prentice Hall; 2005. [4] Herlambang, Stephen. Studi dan Analisis Grain Cipher. Institut Teknologi Bandung. 2010. [5] Setyaji, Rahmat. Sejarah DES (Data Encryption Standard) [Internet]. 2010 [diakses terakhir pada: 19 Januari 2012]. http://rahmatset.web.ugm.ac.id/web/04/sejarah-des-dataencryption-standard [6] Suhendra, Arianto. Pengenalan Web Framework: Apache Struts 2008 Oct 5 [diakses terakhir pada: 2 Juni 2011] [Internet]. ttp://suhearie.wordpress.com/2008/10/05/peng enalan-web-framework-apache-struts/ [7] Astuti, Indri. Algoritma ElGamal [Internet]. 2010 [diakses terakhir pada: 19 Januari 2012]. http://www.scribd.com/doc/77103165/Algorit ma-ElGamal [8] Srinivasan, R. Remote Procedure Call Version 2 [Internet]. 1995 [diakses terakhir pada: 20 Mei 2011]. http://www.ietf.org/rfc/rfc1831.txt [9] Walsh, Norman. A Technical Introduction to XML [Internet]. 1998 [diakses terakhir pada: 3 Juni 2011]. http://www.xml.com [10]Model – View – Controller in PHP [Internet]. 2009 [diakses terakhir pada: 29 Mei 2011]. http://php-html.net/tutorials/model-viewcontroller-in-php/ [11]OSSFest Tim. Sejarah Android (Sistem Operasi) [Internet]. 2010 [diakses terakhir pada: 20 Mei 2011]. http://ossfestindonesia.web.id/2010/10/sejarah-androidsistem-operasi/
Dimas Zulhazmi Wigraha 5107100036
9