ANALISIS PERBANDINGAN ALGORITMA ASIMETRIS ELGAMAL DAN MASSEY-OMURA DALAM ENKRIPSI DAN DEKRIPSI DATA
ANALISIS PERBANDINGAN ALGORITMA ASIMETRIS
ELGAMAL DAN MASSEY-OMURA DALAM
ENKRIPSI DAN DEKRIPSI DATA
(Skripsi)
Oleh :
Ahmad Adi Wijaya
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
(2)
ABSTRACT
COMPARATIVE ANALYSIS OF ASYMMETRIC ELGAMAL AND MASSEY-OMURA ALGORITHMS IN ENCRYPTION AND
DECRYPTION OF DATA
By
AHMAD ADI WIJAYA
Information can be kept secure by an encryption process in cryptograpy technigue. In this research we discussed comparative analysis of asymmetric algorithms ElGamal and Massey-Omura in terms of their complexities and time speed performances. The testing was conducted using 30 data with size varies between 66 bytes and 2000 bytes. Thirty data was tested 50 times. The result shows that Elgamal Algorithm is faster in encryption and decryption compared to Massey-Omura Algorithm and the complexity of both algorithms are linear algorithms (O (n)).
Keywords: Big-O, encryption, performance, cryptography, linear, Elgamal, Massey-Omura, complexity
(3)
ABSTRAK
ANALISIS PERBANDINGAN ALGORITMA ASIMETRIS
ELGAMALDAN MASSEY-OMURA DALAM
ENKRIPSI DAN DEKRIPSI DATA
Oleh
AHMAD ADI WIJAYA
Informasi dapat dijaga agar tetap aman dengan proses enkripsi. Pada penelitian ini didiskusikan tentang analisis dan performance dari algoritma kriptografi asimetris yaitu algoritma Elgamal dan Massey-Omura. Analisis perbandingan yang dilakukan adalah kompleksitas dari algoritma, performance waktu dan kecepatan. Pengujian dilakukan dengan 30 data dengan ukuran (size) antara 66 byte dan 2000 byte. 30 data diuji sebanyak 50 kali. Analisis kompleksitas algoritma yang dilakukan adalah perhitungan keadaan terburuk (worst case) atau (Big-O) dari kedua algoritma. Hasil dari penelitian menunjukan algoritma ElGamal lebih cepat dalam enkripsi maupun dekripsi dibandingkan algorima Massey-Omura dan pada komplesitas kedua algoritma menunjukan bahwa kedua algoritma adalah algoritma linier (O(n )).
Kata kunci : Big-O, enkripsi, performance, kriptografi, linier, Elgamal, Massey-Omura, kompleksitas.
(4)
ANALISIS PERBANDINGAN ALGORITMA ASIMETRIS
ELGAMAL DAN MASSEY-OMURA DALAM
ENKRIPSI DAN DEKRIPSI DATA
Oleh
AHMAD ADI WIJAYA
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER
Pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG
BANDAR LAMPUNG 2015
(5)
(6)
(7)
(8)
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 13 Agustus 1993 di Tanjung Karang, Bandar Lampung. Penulis merupakan anak kedua dari tiga bersaudara pasangan Raswidi dan Aminah.
Penulis menyelesaikan pendidikan formal pertama kali di TK Asia Bandar Lampung tahun 1999, kemudian melanjutkan pendidikan dasar di SDN 1 Kebon Jeruk Bandar Lampung pada tahun 2005, pendidikan menengah pertama di SMPN 22 Bandar Lampung dan selesai pada tahun 2008. Pendidikan menengah atas di SMAN 6 Bandar Lampung diselesaikan pada tahun 2011.
Tahun 2011, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer FMIPA Unila melalui jalur SNMPTN tertulis. Selama menjadi mahasiswa penulis aktif di Organisasi Himpunan Mahasiswa Jurusan Ilmu Komputer (HIMAKOM) sebagai Anggota Biro Kewirausahaan pada periode 2012-2013, kemudian menjadi kepala biro Kewirausahaan pada periode 2013-2014. Penulis melakukan kerja praktik di UPT Pusat Komputer Unila pada bulan Agustus 2014.
(9)
PERSEMBAHAN
Kupersembahkan karya ini untuk:
Papa dan Mama yang kucinta
Adik dan Kakakku tersayang
Terimakasih atas dukungan dan doanya selama ini.
Keluarga Ilmu Komputer 2011,
Serta Almamater Tercinta ,
(10)
MOTO
“Menjadi yang terbaik belum tentu menjadi yang baik, menjadi baik sudah tentu menjadi yang terbaik”
(Anonymous)
“Sesungguhnya sesudah kesulitan itu ada kemudahan” (QS. Al-Insyirah : 6)
(11)
SANWACANA
Puji syukur penulis panjatkan kehadirat Allah subhanahu wa ta’ala atas berkah rahmat, hidayah, dan kesehatan yang diberikan kepada penulis sehingga dapat menyelesaikan penulisan skripsi ini.
Skripsi ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung. Judul dari skripsi ini adalah “Analisis Perbandingan Algoritma Asimetris ElGamal dan Massey-Omura Dalam Enkripsi dan Dekripsi Data”.
Dalam penyusunan skripsi ini, penulis banyak menghadapi kesulitan. Namun, berkat bantuan dan dorongan dari berbagai pihak, akhirnya penulis dapat menyelesaikannya. Untuk itu pada kesempatan ini, penulis mengucapkan terimakasih kepada:
1. Mama dan Papa yang telah memberikan doa, dukungan dan semangat serta memfasilitasi kebutuhan untuk menyelesaikan skripsi ini.
2. Ibu Dra. Wamiliana, M.A., Ph.D. sebagai pembimbing I penulis, yang telah memberikan ide untuk skripsi dan ditengah-tengah kesibukannya telah membimbing penulis dan memberikan dorongan sehingga skripsi ini dapat diselesaikan.
3. Bapak Rico Andrian, S.Si., M.Kom. sebagai pembimbing II penulis, yang telah memberikan saran, bantuan, dan membimbing penulis dalam pembuatan skripsi ini.
4. Bapak Rangga Firdaus, S.Kom., M.Kom. sebagai pembahas yang telah memberikan masukan-masukan yang bermanfaat dalam perbaikan skripsi. 5. Bapak Prof. Suharso, Ph.D. selaku Dekan FMIPA Universitas Lampung.
(12)
6. Bapak Ir. Machudor Yusman, M.Kom. selaku Ketua Jurusan Ilmu Komputer FMIPA Universitas Lampung.
7. Bapak Dwi Sakethi S.Si., M.Kom. selaku Sekretaris Jurusan Ilmu Komputer FMIPA Universitas Lampung.
8. Ibu Anie Rose Irawati, S.T., M.Cs. selaku Pembimbing Akademik selama penulis menjadi mahasiswa Ilmu Komputer Universitas Lampung.
9. Bapak dan Ibu Dosen Jurusan Ilmu Komputer yang telah memberikan ilmu pengetahuan dan pengalaman dalam hidup untuk menjadi lebih baik.
10.Bapak dan Ibu staf administrasi yang telah membantu segala urusan administrasi selama kuliah.
11.Teman-teman tersayang Ilmu Komputer 2011, terimakasih untuk kisah indah kita selama empat tahun terakhir dan mudah-mudahan ikatan ini akan tetap berlanjut meski kita telah berpisah kelak.
12.Almamater Tercinta.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, akan tetapi sedikit harapan semoga skripsi ini bermanfaat bagi perkembangan ilmu pengetahuan terutama bagi rekan-rekan Ilmu Komputer.
Bandar Lampung, 23 Desember 2015
(13)
DAFTAR ISI
Halaman
DAFTAR ISI ... i
DAFTAR GAMBAR ... iii
DAFTAR TABEL ... iv
BAB 1. PENDAHULUAN ... 1
1.1Latar Belakang ... 1
1.2Rumusan Masalah ... 4
1.3Batasan Masalah... 4
1.4Tujuan ... 4
1.5Manfaat ... 5
BAB 2. TINJAUAN PUSTAKA ... 6
2.1Kriptografi ... 6
2.2Tujuan Kriptografi ... 8
2.3Algoritma Kriptografi ... 9
2.3.1 Algoritma Simetris ... 9
2.3.2 Algoritma Asimetris ... 10
2.4Sistem Kriptografi ... 10
2.5Algoritma ElGamal ... 11
2.6Algoritma Massey-Omura ... 12
2.7Running Time ... 12
2.8Kompleksitas Algoritma ... 13
BAB 3. METODE PENELITIAN ... 16
3.1Tahapan Penelitian ... 16
(14)
ii
3.3Skenario Pengujian ... 17
3.3.1 Parameter Sistem ... 17
3.3.2 Faktor Eksperimen ... 17
3.3.3 Analisis Algoritma ... 18
3.4Waktu dan Tempat... 18
3.5Alat Pendukung Penelitian ... 18
3.6Teknik Pengujian ... 19
3.7Contoh Pengujian Data ... 22
3.7.1 Percobaan Data1... 22
3.7.2 Percobaan Data8... 22
3.7.3 Percobaan Data15... 23
3.7.4 Percobaan Data23... 24
3.7.5 Percobaan Data30... 24
BAB 4. HASIL DAN PEMBAHASAN ... 26
4.1Perbandingan Kecepatan ... 26
4.1.1 Waktu Enkripsi ... 26
4.1.2 Waktu Dekripsi ... 27
4.1.3 Kecepatan ... 28
4.1.4 Besar Data Yang Telah Dienkripsi ... 29
4.1.5 Besar Data Yang Telah Didekripsi ... 30
4.2 Kompleksitas Algoritma ... 32
4.3 Perbandingan Algoritma ElGamal dan Massey-Omura ... 37
BAB 5. KESIMPULAN ... 39
5.1 Kesimpulan... 39
5.2 Saran ... 40
(15)
DAFTAR GAMBAR
Halaman
Gambar 1. Skema Algoritma Simetri ... 10
Gambar 2. Skema Algoritma Asimetri... 10
Gambar 3. Tahapan Penelitian ... 16
Gambar 4. Pembangkit Kunci ... 19
Gambar 5. Input Plaintext ... 20
Gambar 6. Tampilan Ciphertext ... 20
Gambar 7. Tampilan Dekripsi ... 21
Gambar 8. Data Yang Telah Disimpan ... 21
Gambar 9. Percobaan Data1 ... 22
Gambar 10. Percobaan Data8 ... 23
Gambar 11. Percobaan Data15 ... 23
Gambar 12. Percobaan Data23 ... 24
Gambar 13. Percobaan Data30 ... 25
Gambar 14. Perbandingan Waktu Enkripsi ... 27
(16)
DAFTAR TABEL
Halaman
Tabel 1. Besar data yang telah dienkripsi ... 29
Tabel 2. Besar data yang telah didekripsi ... 31
Tabel 3. Massey-Omura Generate Key ... 32
Tabel 4. Massey-Omura Enkripsi ... 32
Tabel 5. Massey-Omura Dekripsi ... 34
Tabel 6. Enkripsi ElGamal ... 35
Tabel 7. Dekripsi ElGamal ... 36
(17)
BAB I PENDAHULUAN
1.1Latar Belakang
Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan pengamanan terhadap konten yang dikirim mungkin saja tidak aman, karena ketika dilakukan penyadapan maka data dapat langsung dibaca oleh penyadap. Beberapa informasi penting seperti dari individu atau perusahaan menuntut keamanan dan kerahasian agar informasi tersebut tidak diketahui oleh pihak yang tidak memiliki hak. Permasalahan tersebut dapat diatasi dengan salah satu cara untuk mempertahankan kerahasiaan dari informasi, antara lain pesan yang dikirimkan disandikan menjadi kode-kode yang tidak dipahami, sehingga bila ada pihak ketiga yang ingin mengetahui isi pesan akan kesulitan dalam menterjemahkan isi informasi yang sebenarnya. Suatu teknik penyandian dikembangkan atas dasar permasalahan tersebut, yang dikenal sebagai kriptografi. Kriptografi adalah ilmu yang mempelajari mengenai bagaimana cara mengamankan suatu informasi. Pengamanan ini dilakukan dengan mensandikan informasi tersebut dengan suatu kunci khusus. Informasi ini sebelum disandikan
(18)
2
dinamakan plaintext. Setelah disandikan dengan suatu kunci dinamakan ciphertext. (Didi, 2006).
Terdapat berbagai macam algoritma kriptografi, baik simetris maupun asimetris. Algoritma simetris adalah algoritma yang menggunakan kunci yang sama pada proses enkripsi dan dekripsi, sedangkan algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan satu lagi dekripsi.
Algoritma kriptografi yang dipercaya kuat namun diketahui lambat dalam proses penyandiannya maka tidak akan dijadikan pilihan oleh pengguna, Salah satu algoritma asimetri yang terkenal adalah ElGamal. Kekuatan algoritma ElGamal terletak pada kesulitan penghitungan logaritma diskret pada bilangan modulo prima yang besar sehingga upaya untuk melakukan cryptanalisis logaritma ini menjadi sangat sukar (Mulya, 2013). Algoritma yang tidak kalah dalam hal keamanan dari ElGamal yaitu algoritma Omura. Algoritma Massey-Omura kesulitan terletak pada logaritma diskrit. Algoritma ini merupakan pengembangan dari Three Pass Protocol, yaitu melakukan suatu kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak kedua tanpa perlu untuk bertukar atau mendistribusikan kunci enkripsi (Reza, 2012).
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
(19)
3
sehari-hari. Oleh karena itu perhitungan analisis algoritma dibutuhkan untuk menentukan performance berdasarkan waktu proses dari algoritma yang di analisis.
Salah satu contoh yang mendiskusikan tentang analisis algoritma dilakukan oleh Fauzi pada (2014) yang membahas analisis kompleksitas algoritma Prim, algoritma Kruskal, dan algoritma Sollin. Analisis dilakukan dengan menentukan nilai O(n) pada masing masing algoritma. Program dianalisis dan didapatkan hasil untuk dibandingkan tiap algoritma.
Penelitian lain oleh Farah et al (2012) membahas tentang performance dari algoritma kriptografi diantaranya waktu proses, kecepatan algoritma, dan besar data keluaran. Penelitian ini dilakukan dengan data sebesar 68KB, 105KB, 124 KB, dan 235KB. Hasil dari percobaan ditampilkan dalam grafik perbandingan dari ketiga algoritma yang digunakan. Hasil yang didapatkan berbeda-beda. RSA terbaik dalam hal waktu proses enkripsi dan kecepatan enkripsi, dan ElGamal dalam hal waktu proses dekripsi dan kecepatan dekripsi. RSA menggunakan penyimpanan terkecil dalam ciphertext, dari keseluruhan performance RSA lebih baik dari pada ElGamal dan Paillier.
Penelitian ini akan membandingkan dua algoritma asimetris untuk melakukan enkripsi dan dekripsi data yaitu algoritma ElGamal dan Massey-Omura. Perbandingan akan dilakukan pada waktu proses, kecepatan, besar data dan analisis algoritmanya.
(20)
4
1.2Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah menganalisis perbandingan kriptografi algoritma ElGamal dan Massey-Omura.
1.3Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut :
1. Data yang diinput berupa teks atau tulisan, bukan suara maupun gambar. 2. Ukuran teks yang dapat dienkripsi maksimal 2000 karakter, yang dapat
berupa angka, huruf dan tombol lain yang tersedia pada keyboard. 3. Karakter yang digunakan berdasarkan Tabel ASCII 256.
1.4Tujuan
Tujuan dari penelitian ini adalah sebagai berikut :
1. Menganalisis perbandingan kecepatan mengenkripsi dan deskripsi menggunakan algoritma ElGamal dan Massey-Omura.
2. Melakukan analisis algoritma untuk menentukan kompleksitas algoritma terhadap algoritma ElGamal dan Massey-Omura.
(21)
5
1.5Manfaat
Manfaat dari penelitian ini adalah sebagai berikut :
1. Memahami sistem kerja dari proses kriptografi mengunakan Algoritma ElGamal dan Massey-Omura.
2. Sebagai bahan acuan untuk penelitian dibidang keamanan data. 3. Dapat digunakan dalam pengamanan data.
(22)
BAB II
TINJAUAN PUSTAKA
2.1 Kriptografi
Kriptografi (cryptography) berasal dari Bahasa Yunani: “cryptós” artinya secret” (rahasia), sedangkan “gráphein” artinya “writing” (tulisan), jadi kriptografi berarti “secret writing” (tulisan rahasia). Definisi kriptografi ada beberapa yang telah dikemukakan di dalam berbagai literatur. Definisi yang dipakai di dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat, dan mata-mata. Namun saat ini kriptografi lebih dari sekadar privacy, tetapi juga untuk tujuan data integrity, authentication, dan non-repudiation (Mollin ,2006). Kriptografi merupakan ilmu sekaligus seni untuk menjaga keamanan pesan, selain itu ada pengertian tentang kriptografi yaitu kriptografi merupakan ilmu yang mempelajari teknik-teknik matematika yang
(23)
7
berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi. Kata “seni” di dalam definisi di atas maksudnya adalah mempunyai cara yang unik untuk merahasiakan pesan. Kata “graphy” di dalam “cryptography” itu sendiri sudah menyiratkan suatu seni (Munir, 2006).
Adapun istilah-istilah yang digunakan dalam kriptografi dalam melakukan proses kerjanya adalah sebagai berikut:
a. Plaintext
Plaintext merupakan pesan asli yang belum disandikan atau informasi yang ingin dikirimkan atau dijaga keamanannya.
b. Ciphertext
Ciphertext merupakan pesan yang telah disandikan (dikodekan) sehingga siap untuk dikirimkan.
c. Enkripsi
Enkripsi merupakan proses yang dilakukan untuk menyandikan plaintext menjadi ciphertext dengan tujuan pesan tersebut tidak dapat dibaca oleh pihak yang tidak berwenang.
d. Dekripsi
Dekripsi merupakan proses yang dilakukan untuk memperoleh kembali plaintext dari ciphertext.
e. Kunci
Kunci yang dimaksud disini adalah kunci yang dipakai untuk melakukan dekripsi dan enkripsi. Kunci terbagi menjadi dua bagian, kunci pribadi (private key) dan kunci umum (public key).
(24)
8
f. Kriptosistem
Kriptosistem merupakan sistem yang dirancang untuk mengamankan suatu sistem informasi dengan memanfaatkan kriptografi.
g. Kriptanalasis
Kriptanalasis merupakan suatu ilmu untuk mendapatkan plainteks tanpa harus mengetahui kunci secara wajar (Munir, 2006).
2.2 Tujuan Kriptografi
Empat tujuan mendasar dari ilmu kriptografi yang juga merupakan aspek keamanan informasi, yaitu :
a. Kerahasiaan (confidentiality)
Kerahasiaan berarti data tersebut hanya bisa diakses oleh pihak-pihak tertentu saja.
b. Otentikasi (authentication)
Pada saat mengirim atau menerima informasi, kedua belah pihak perlu mengetahui bahwa pengirim dari pesan tersebut adalah orang yang sebenarnya.
c. Integritas data (integrity)
Tuntutan integritas data ini berhubungan dengan jaminan setiap pesan yang dikirim pasti sampai pada penerimanya tanpa ada bagian dari pesan tersebut yang diganti, diduplikasi, dirusak, diubah urutannya dan ditambahkan.
(25)
9
d. Ketiadaan penyangkalan (nonrepudiation)
Nonrepudiation mencegah pengirim maupun penerima mengingkari bahwa mereka telah mengirimkan atau menerima suatu pesan/informasi (Munir, 2006).
2.3 Algoritma Kriptografi
Algoritma kriptografi atau sering disebut dengan cipher adalah suatu fungsi matematis yang digunakan untuk melakukan enkripsi dan dekripsi (Schneier, 1996). Algoritma kriptografi ada dua macam, yaitu algoritma simetris (symmetric algorithms) dan algoritma asimetris (asymmetric algorithms).
2.3.1 Algoritma Simetris
Algoritma simetris atau disebut juga algoritma konvensional adalah algoritma yang menggunakan kunci yang sama pada proses enkripsi dan dekripsi. Algoritma ini mengharuskan pengirim dan penerima menyetujui satu kunci tertentu sebelum dapat berkomunikasi secara aman. Keamanan algoritma simetri tergantung pada rahasia kunci. Pemecahan kunci berarti memungkinkan setiap orang dapat mengenkripsi dan mendekripsi pesan dengan mudah.
(26)
10
Gambar 1.Skema Algoritma Simetris 2.3.2 Algoritma Asimetris
Algoritma Asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan satu lagi deskripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsi suatu pesan, sedangkan hanya satu orang saja yang memiliki rahasia itu, yang dalam hal ini kunci rahasia, untuk melakukan pembongkaran terhadap kode yang dikirim untuknya.
Gambar 2.Skema Algoritma Asimetris 2.4 Sistem Kriptografi
Menurut Stinson (1995), sistem kriptografi (cryptosystem) adalah suatu 5- tuple ( P, C, K, E, D ) yang memenuhi kondisi sebagai berikut :
(27)
11
2. C adalah himpunan ciphertext,
3. K atau ruang kunci (keyspace), adalah himpunan kunci, 4. E adalah himpunan fungsi enkripsi ek : P → C , 5. D adalah himpunan fungsi dekripsi dk : C → P ,
6. Untuk setiap k ∈ K terdapat ek ∈ E dan dk ∈ D. Setiap ek : P → C dan dk : C → P merupakan fungsi sedemikian hingga dk(ek(x) ) = x, untuk setiap plaintext x ∈P .
Sistem kriptografi terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya. Sistem kriptografi merupakan suatu fasilitas untuk mengkonversikan plaintext menjadi ciphertext, dan sebaliknya.
2.5 Algoritma ElGamal
Algoritma ElGamal merupakan algoritma kriptografi asimetris yang pertama kali dipublikasikan oleh Taher ElGamal pada tahun 1985. Algoritma ini didasarkan atas masalah logaritma diskrit pada grup bilangan prima. Kekuatan 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 tidak dipatenkan, tetapi algoritma ini didasarkan pada algoritma Diffie – Hellman, sehingga hak paten algoritma Diffie – Hellman juga mencakup algoritma ElGamal. Karena hak paten algoritma Diffie – Hellman berakhir pada bulan April 1997, maka algoritma
(28)
12
ElGamal dapat diimplementasikan untuk aplikasi komersil. Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Algoritma ini merupakan cipher blok, yaitu melakukan proses enkripsi pada blok-blok plainteks dan menghasilkan blok-blok cipherteks yang kemudian dilakukan proses dekripsi, dan hasilnya digabungkan kembali menjadi pesan yang utuh dan dapat dimengerti. Bilangan prima p dibutuhkan untuk membentuk sistem kriptografi ElGamal (Mulya, 2013).
2.6 Algoritma Massey-Omura
Massey-Omura Cryptosystem adalah salah satu cryptosystem kunci publik yang berdasarkan pada logaritma diskrit. Diusulkan oleh James Massey dan Jim K. Omura pada tahun 1982 sebagai pengembangan atas Three Pass Protocol oleh Shamir pada tahun 1980, dimana pengirim dan penerima tidak bertukar kunci namun protocol ini memerlukan pengirim dan penerima yang memiliki dua kunci untuk mengenkripsi dan mendekripsi pesan (Yan, 2013).
2.7 Running Time
Running time merupakan waktu yang dibutuhkan untuk mengeksekusi setiap instruksi di dalam program sampai selesai. Didalam program terdapat beberapa operasi yaitu penambahan (+), pengurangan (-), perkalian (*), pembagian (/), return (pengembalian nilai dari fungsi), inisialisasi, dan perbandingan dimana setiap operasi ini running time masing-masing 1 unit (Weiss, 2007).
(29)
13
2.8 Kompleksitas Algoritma
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, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi. Untuk n cukup besar, bahkan tidak terbatas, dilakukan analisis efisiensi dari suatu algoritma untuk menentukan kompleksitas waktu yang sesuai atau disebut juga kompleksitas waktu asimptotik dengan melihat waktu tempuh (running time). Kompleksitas waktu asimptotik terdiri dari tiga macam. Pertama, keadaan terbaik (best case) dinotasikan dengan Ω (g(n)) (Big-Omega), keadaan rata-rata (average case) dinotasikan dengan Θ (g(n)) (Big-Theta) dan keadaan terburuk (worst case) dinotasikan dengan O(g(n)) (Big-O). Kompleksitas waktu algoritma dihitung dengan menggunakan notasi O(f(n)), dibaca ”Big-O dari f(n)” (Weiss, 2007).
Notasi O menyatakan running time dari suatu algoritma untuk memungkinkan kasus terburuk. Notasi O memiliki beberapa bentuk : 1. O(1), merupakan algoritma konstan yang artinya running time
algoritma tersebut tetap, tidak bergantung pada n.
2. O(n), disebut algoritma linier yang artinya bila n menjadi 2n maka running time algoritma tersebut akan menjadi dua kali semula.
(30)
14
3. O(n2), disebut algoritma kuadratik yang biasanya hanya digunakan untuk kasus dengan n yang berukuran kecil. Sebab, bila n dinaikkan menjadi dua kali semula, maka running time algoritma akan menjadi empat kali semula.
4. O(n3), disebut algoritma kubik dimana bila n dinaikkan menjadi dua kali semula, maka running time algoritma akan menjadi delapan kali semula.
5. O(2n), disebut algoritma eksponensial dimana bila n dinaikkan menjadi dua kali semula, maka running time algoritma akan menjadi kuadrat kali semula.
6. O(log n), disebut algoritma logaritmik dimana laju pertumbuhan waktu lebih lambat dari pada pertumbuhan n. Algoritma yang termasuk algoritma logaritmik adalah algoritma yang memecahkan persoalan besar dengan mentransformasikannya menjadi beberapa persoalan yang lebih kecil dengan ukuran sama. Basis algoritma tidak terlalu penting, sebab bila misalkan n dinaikkan menjadi dua kali semula, log n meningkat sebesar jumlah tetapan.
7. O(n log n), terdapat pada algoritma yang membagi persoalan menjadi beberapa persoalan yang lebih kecil, menyelesaikan setiap persoalan secara independen, kemudian menggabungkan solusi masing-masing persoalan.
8. O(n!), disebut algoritma faktorial dimana algoritma jenis ini akan memproses setiap masukan dan menghubungkannya dengan n-1
(31)
15
masukan lainnya. Bila n menjadi dua kali semula, maka running time algoritma akan menjadi faktorial dari 2n.
Jadi, 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) (Weiss, 2007).
(32)
BAB III
METODE PENELITIAN
3.1 Tahapan Penelitian
Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian aplikasi dilakukan berdasarkan pada skenario pengujian yang ditentukan.
Waktu Enkripsi dan Dekripsi Algoritma ElGamal
Kompleksitas Algoritma ElGamal
Hasil 30 Data Plainteks
Waktu Enkripsi dan Dekripsi Algoritma Massey-Omura
Kompleksitas Algoritma Massey-Omura
Kecepatan Algoritma ElGamal
Besar Data Enkripsi dan Dekripsi Algorimat ElGamal
Kecepatan Algoritma Massey-Omura
Besar Data Enkripsi dan Dekripsi Algoritma Massey-Omura
(33)
17
3.2 Analisis Kebutuhan
Analisis kebutuhan yang digunakan dalam penelitian ini sebagai berikut.
a. Input yang dibutuhkan dalam melakukan enkripsi berupa teks atau tulisan, bukan suara maupun gambar.
b. Ukuran teks yang dapat dienkripsi senilai 2000 karakter, teks berupa angka, huruf dan tombol lain yang tersedia pada keyboard.
c. Output yang di hasilkan berupa ciphertext, dan dapat di dekripsi kembali menjadi plaintext.
3.3 Skenario Pengujian
Skema untuk mengukur kecepatan algoritma dalam penelitian ini direncanakan menggunakan tiga standar yang harus dibuat sama didalam setiap pengujiannya agar didapatkan hasil yang konsisten dan obyektif, ketiga standar tersebut adalah parameter sistem, faktor eksperimen, dan analisis algoritma.
3.3.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.
3.3.2 Faktor Eksperimen
Faktor penelitian yang diuji pada penelitian ini adalah kecepatan algoritma. Kecepatan yang dimaksud adalah meliputi kecepatan proses enkripsi dan
(34)
18
kecepatan proses dekripsi, setiap algoritma akan diuji pada proses enkripsi dan dekripsi terhadap berbagai ukuran data.
3.3.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.4 Waktu dan Tempat
Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan pada semester genap tahun ajaran 2014-2015.
3.5 Alat Pendukung Penelitian
Penelitian ini dilakukan dengan menggunakan alat untuk mendukung dan menunjang pelaksanaan penelitian.
1. Perangkat Keras (Hardware)
Perangkat keras yang digunakan dalam penelitian ini adalah 1 unit Netbook dengan spesifikasi:
Processor : Intel (R) Core (TM) i3-380M
Installed memory (RAM) : 2,00 GB
(35)
19
2. Perangkat Lunak (Software)
Perangkat lunak yang digunakan dalam penelitian ini adalah: a. Sistem Operasi Windows 7 Ultimate
b. Microsoft Visual Studio 2010 Ultimate 3.6 Teknik Pengujian
Pengujian untuk mendapatkan data dilakukan dengan tahapan sebagai berikut. Membentuk kunci, yaitu dengan memasukan nilai G, X, dan P (P harus bilangan prima), kemudian klik buat kunci untuk mencari nilai Y ( y = gx mod p ).
(36)
20
Plaintext diinputkan pada kolom yang disediakan.
Gambar 5. Input Plaintext
Tekan tombol enkripsi untuk memulai proses enkripsi data yang dipilih.
(37)
21
Tampil waktu dan ciphertext pada kotak dialog yang menandakan bahwa enkripsi telah dilakukan.
Tekan tombol dekripsi untuk memulai proses dekripsi.
Gambar 7. Tampilan Dekripsi
Ciphertext dan waktu dekripsi akan terlihat pada kolom yang disediakan. Tombol Save dapat digunakan untuk menyimpan data yang telah dilakukan.
(38)
22
3.7 Contoh Pengujian Data
Pengujian berikut menggunakan Data1, Data8, Data15, Data23, dan Data30. 3.7.1 Percobaan Data1
Data1 berisi 66 karakter dengan besar file 66 byte. Isi dari Data1 dapat dilihat pada gambar berikut.
Gambar 9. Percobaan Data1 3.7.2 Percobaan Data8
Data8 berisi 500 karakter dengan besar file 500 byte. Isi dari Data8 dapat dilihat pada gambar berikut.
(39)
23
Gambar 10. Percobaan Data8 3.7.3 Percobaan Data 15
Data15 berisi 1000 karakter dengan besar file 1000 byte. Isi dari Data15 dapat dilihat pada gambar berikut.
(40)
24
3.7.4 Percobaan data 23
Data23 berisi 1531 karakter dengan besar file 1531 byte. Isi dari Data23 dapat dilihat pada gambar berikut.
Gambar 12. Percobaan Data23 3.7.5 Percobaan data 30
Data30 berisi 2000 karakter dengan besar file 2000 byte. Isi dari Data30 dapat dilihat pada gambar berikut.
(41)
25
(42)
39
BAB V KESIMPULAN
5.1.Kesimpulan
Hasil penelitian yang telah dilakukan, memperoleh beberapa hal sebagai berikut :
1. Algoritma ElGamal dan Massey-Omura merupakan algoritma kriptografi yang dapat digunakan untuk menyandikan suatu pesan yang sulit dipahami.
2. Rata-rata waktu enkripsi yang diperlukan oleh algoritma ElGamal lebih cepat dibandingkan waktu Massey-Omura, begitu pula untuk waktu dekripsi.
3. Rata-rata kecepatan algoritma ElGamal lebih cepat dibandingkan algoritma Massey-Omura.
4. Besar ukuran data setelah dienkripsi dengan algoritma ElGamal lebih besar dibandingkan algoritma Massey-Omura dan kedua nya lebih besar dari data awal. Selain itu, chipertext ElGamal 8 kali lebih besar dari plaintext, sedangkan untuk besar ukuran data setelah didekripsi memiliki besar yang sama seperti data awal.
(43)
40
5.2.Saran
Saran yang dapat diberikan untuk selanjutnya adalah: 1. Melakukan kriptanalisis terhadap kedua algoritma.
(44)
DAFTAR PUSTAKA
Didi, Surian. 2006. Algoritma Kriptografi. Tesla, Indonesia.
Farah, Shahzadi., M. Younas Javed, Azra Shamim. 2012. An experimental study on Performance Evaluation of Asymmetric Encryption Algorithms. Recent Advances in Information Science, Vol. 1, Halaman 121-124.
Fauzi, C.S.N.,. 2014. Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin untuk Menyelesaikan Masalah Minimum Spanning Tree. Skripsi Universitas Lampung.
Mollin, Richard. 2006. An Introduction To Cryptography Second Edition. Chapman dan Hall / CRC, London.
Munir, Rinaldi. 2006. Kriptografi. Penerbit Informatika, Bandung.
Mulya, Megah. 2013. Perbandingan Kecepatan Algoritma Kriptografi Asimetris. Journal of Research in Computer Science and Applications, Vol. 1, No. 2, Halaman 7-12.
Reza, Muhammad, Muhammad Andri Budiman dan Dedy Arisandi. 2012.
Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura. Jurnal Dunia Teknologi Informasi, Vol. 1, Halaman 20-27.
Schneier, Bruce. 1996. Applied Cryptographi. Second Edition, John Wiley and Sons, Singapore.
(45)
42
Weiss, Mark Allen. 2007. Data Structures and Algorithm Analysis in C. Penerbit ANDI, Yogyakarta.
Yan. Song Y. 2013. Computational Number Theory and Modern Cryptography. John Wiley & Sons, Singapore.
(1)
3.7.4 Percobaan data 23
Data23 berisi 1531 karakter dengan besar file 1531 byte. Isi dari Data23 dapat dilihat pada gambar berikut.
Gambar 12. Percobaan Data23 3.7.5 Percobaan data 30
Data30 berisi 2000 karakter dengan besar file 2000 byte. Isi dari Data30 dapat dilihat pada gambar berikut.
(2)
25
(3)
BAB V KESIMPULAN
5.1.Kesimpulan
Hasil penelitian yang telah dilakukan, memperoleh beberapa hal sebagai berikut :
1. Algoritma ElGamal dan Massey-Omura merupakan algoritma kriptografi yang dapat digunakan untuk menyandikan suatu pesan yang sulit dipahami.
2. Rata-rata waktu enkripsi yang diperlukan oleh algoritma ElGamal lebih cepat dibandingkan waktu Massey-Omura, begitu pula untuk waktu dekripsi.
3. Rata-rata kecepatan algoritma ElGamal lebih cepat dibandingkan algoritma Massey-Omura.
4. Besar ukuran data setelah dienkripsi dengan algoritma ElGamal lebih besar dibandingkan algoritma Massey-Omura dan kedua nya lebih besar dari data awal. Selain itu, chipertext ElGamal 8 kali lebih besar dari plaintext, sedangkan untuk besar ukuran data setelah didekripsi memiliki besar yang sama seperti data awal.
(4)
40
5.2.Saran
Saran yang dapat diberikan untuk selanjutnya adalah: 1. Melakukan kriptanalisis terhadap kedua algoritma.
(5)
DAFTAR PUSTAKA
Didi, Surian. 2006. Algoritma Kriptografi. Tesla, Indonesia.
Farah, Shahzadi., M. Younas Javed, Azra Shamim. 2012. An experimental study on Performance Evaluation of Asymmetric Encryption Algorithms. Recent Advances in Information Science, Vol. 1, Halaman 121-124.
Fauzi, C.S.N.,. 2014. Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin untuk Menyelesaikan Masalah Minimum Spanning Tree. Skripsi Universitas Lampung.
Mollin, Richard. 2006. An Introduction To Cryptography Second Edition. Chapman dan Hall / CRC, London.
Munir, Rinaldi. 2006. Kriptografi. Penerbit Informatika, Bandung.
Mulya, Megah. 2013. Perbandingan Kecepatan Algoritma Kriptografi Asimetris. Journal of Research in Computer Science and Applications, Vol. 1, No. 2, Halaman 7-12.
Reza, Muhammad, Muhammad Andri Budiman dan Dedy Arisandi. 2012.
Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura. Jurnal Dunia Teknologi Informasi, Vol. 1, Halaman 20-27.
Schneier, Bruce. 1996. Applied Cryptographi. Second Edition, John Wiley and Sons, Singapore.
(6)
42
Weiss, Mark Allen. 2007. Data Structures and Algorithm Analysis in C. Penerbit ANDI, Yogyakarta.
Yan. Song Y. 2013. Computational Number Theory and Modern Cryptography. John Wiley & Sons, Singapore.