1
ANALISIS ALGORITMA
ELGAMAL
UNTUK KEAMANAN
PESAN TEKS DALAM PENGIRIMAN
Marischa Elveny¹), Rahmad Syah²)
Sekolah Tinggi Teknik Harapan Medan (STTH) Jurusan Teknik Informatika
[email protected] [email protected]
Abstrak
Dalam perkembangan teknologi yang semakin pesat, terdapat ancaman-ancaman yang membuat masyarakat merasa tidak nyaman. Salah satunya gangguan dari man in the middle yang dapat membaca, menyisipkan, ataupun mengubah data antara dua pihak yang sedang berkomunikasi. Oleh karena itu, dalam penelitian ini penulis membentuk suatu sistem aplikasi dengan menggunakan algoritma ElGamal yang memiliki kemampuan untuk menjaga keamanan data pada saat pengiriman email. Metodologi untuk membangun sistem dilakukan dengan studi literature, metode pengumpulan data, analisis, pembuatan perangkat lunak, dan pengujian. analisis sistem ini, terdapat dua prosedur utama, yaitu prosedur enkripsi dan prosedur dekripsi. Hasil yang dicapai dalam pembangunan system ini adalah, pengiriman email dapat dijaga, dimana tulisan (teks) tidak dapat dimengerti lagi maknanya oleh pihak ketiga.
Kata kunci : Algoritma Elgamal, Email, Kriptografi, Asimetris
1.
Pendahuluan
Perkembangan teknologi saat ini yang semakin pesat, membuat masyarakat semakin mudah dalam mendapatkan informasi. Salah satunya adalah Email
(Electronic Mail) merupakan suatu layanan
pengiriman pesan baik berupa teks ataupun gambar yang dikirimkan dari satu alamat email ke alamat email lainnya melalui jaringan komputer (internet). Di dalam perkembangan teknologi yang semakin pesat ini, terdapat ancaman-ancaman yang membuat masyarakat merasa tidak nyaman. Salah satu
contohnya adalah man in the middle, dengan cara ini orang dapat membaca, menyisipkan, ataupun mengubah data antara dua pihak yang sedang berkomunikasi[10]. Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi 2 macam, yaitu kriprografi kunci-simetri dan kriptografi kunci-asimetri [6].
Dalam penelitian ini penulis ingin membuat suatu sistem untuk menjaga keamanan data pada saat pengiriman email dengan menggunakan Algoritma ElGamal. Algoritma ElGamal merupakan algoritma dalam kriptografi yang termasuk dalam kategori algoritma asimetris. Keamanan algoritma ElGamal terletak pada kesulitan penghitungan logaritma diskrit pada bilangan modulo prima yang besar sehingga upaya untuk menyelesaikan masalah logaritma ini menjadi sangat sukar. [9]
Menurut penelitian sebelumnya, belum ada serangan yang berhasil memecahkan algoritma ini. Panjang kunci ElGamal dapat berkisar antara 256 bit sampai tak terhingga. Panjang kunci sebesar 1024 bit
– 2048 bit dapat dianggap aman untuk 10 tahun kedepan. Tentu saja prediksi ini didasarkan pada daya komputasi saat ini dan perkiraan kasar kemajuan hardware dalam waktu dekat. Panjang private key sendiri dapat berkisar antara 160 bit sampai 240 bit. [7].
2.
Metodologi penelitian
Dalam penelitian ini dijelaskan terlebih dahulu langkah atau tahap-tahap dari penelitian yang akan dirancang, sehingga dapat dicapai sistem yang diinginkan.
2 1. Melakukan tahap persiapan, yaitu dengan
menganalisa aspek-aspek yang dibutuhkan untuk mendukung penelitian dari sistem. Persiapan yang dilakukan meliputi aspek perangkat lunak dan perangkat keras yang akan digunakan.
2.
Melakukan tahapan pengujian, yaitu denganmenguji setiap fungsi yang ada pada sistem apakah sudah berjalan dengan baik atau tidak, apabila ada kesalahan atau kelemahan maka akan dilakukan proses evaluasi dan perbaikan.
Kunci-kunci tersebut berhubungan satu sarna lain. Dengan kunci publik orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri.
3.
ANALISIS DAN PERANCANGAN
3.1 Analisis metode
Faktor yang mendasari pembentukan sistem dengan algoritma ElGamal adalah keamanan data. Keamanan data menjadi aspek terpenting dalam suatu sistem informasi.
Berdasarkan analisa yang dilakukan terhadap sistem, maka hasil yang didapat adalah sistem akan menghasilkan ciphertext dari proses enkripsi dan
plaintext dari hasil dekripsi.
3.1.1 Algoritma ElGamal
Diciptakan oleh Taher ElGamal pada tahun 1984. Algoritma ini pada mulanya digunakan oleh digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi.
ElGamal digunakan di dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program PGP, dan pada sistem sekuriti lainnya. Keamanan algoritma ini terletak pada sulitnya menghitung algoritma diskrit.
Berikut ini adalah besaran-besaran yang digunakan didalam algoritma ElGamal:
1. Bilangan prima, p (tidak rahasia) 2. Bilangan acak, g (g < p) (tidak rahasia) 3. Bilangan acak, x (x < p) (rahasia,kunci privat) 4. y = gx mod p (tidak rahasia, kunci
publik) 5. m (plaintext) (rahasia) 6. a dan b (cipherteks) (tidak rahasia)
3.1.2 Algoritma Membangkitkan Pasangan Kunci:
1. Pilih sembarang bilangan prima p ( p dapat
di-share di antara anggota kelompok ).
2. Pilih dua buah bilangan acak, g dan x, dengan syarat g < p dan 1 ≤ x ≤ p – 2.
3. Hitung y = gx mod p.
Hasil dari algoritma tersebut adalah kunci publik (y,g,p ) dapat di-share diantara anggota kelompok, sedangkan kunci privat (x, p) menjadi kunci rahasia.
3.2 Analisis pemodelan
Pada sistem algoritma ElGamal, secara garis besar terdiri atas dua fungsi, yaitu fungsi enkripsi dan fungsi dekripsi. Ada beberapa fungsi pendukung yang digunakan, yaitu fungsi untuk memanggil file, fungsi untuk mengirim file dari email server ke email client
dan fungsi-fungsi lainnya. Gambar 1 Skema Kriptografi Simetri [6]
Gambar 2 Skema Kriptografi Asimetri [6]
Gambar 3 Skema pengiriman file dari email server
3
3.3 Proses
Enkripsi
Dan
Deskripsi
3.3.1 Enkripsi
Pasangan a dan b adalah cipherteks untuk blok pesan m. jadi, ukuran cipherteks dua kali ukuran plainteksnya.
1. Susun plainteks menjadi blok-blok m1, m2,…., sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, p – 1]
2. Pilih bilangan acak k, yang dalam hal ini 1 ≤ k ≤ p –
2
3. Setiap blok m dienkripsi dengan rumus a = gk mod p
b = ykm mod p
3.3.2 Dekripsi
Gunakan kunci privat x untuk mendekripsi a dan b menjadi plainteks m dengan persamaan:
m = b/ax mod p
Yang berarti bahwa plainteks dapat ditemukan kembali dari pasangan cipherteks a dan b.
3.4 Perancangan
Sistem
Pada tahap ini algoritma elgamal terlebih dahulu dinyatakan dalam bagian-bagian tertentu sehingga tahap perancangan yang dilakukan mencakup perancangan struktur program, perancangan algoritma, perancangan diagram alir dan perancangan antarmuka pemakai.
Pada sistem ini, terdapat dua prosedur utama, yaitu prosedur enkripsi dan prosedur dekripsi. Selain kedua prosedur tersebut, terdapat beberapa prosedur yang mendukung proses kerja dari kedua prosedur utama, terutama prosedur pembuatan kunci yaitu kunci publik dan kunci privat.
a) Enkripsi
Prosedur ini digunakan untuk melakukan proses enkripsi. Di dalam proses enkripsi akan dipanggil beberapa subprogram yang mendukung proses enkripsi. Subprogram dari proses enkripsi dapat dilihat pada gambar 4 untuk generate prima, gambar 5 untuk nilai a dan gambar b untuk nilai b:
Generate prima
Gambar 4 Diagram alir Generate
Prima
4
buat_b
k = 1
ya
B = asc(m) * y mod p
tidak
i <= k
ya
b = b * y mod p i = i + 1
return
tidak b = asc(kar)
i = 1
buat_ai
n = 1
ya
ai = a mod p
tidak
i <= n
ya
ai = ai * g mod p i = i + 1
return
tidak ai = 1
i = 1
b) Dekripsi
Prosedur ini digunakan untuk melakukan proses dekripsi. Di dalam proses dekripsi akan dipanggil beberapa subprogram yang membantu proses dekripsi. Subprogram dari proses enkripsi dapat dilihat pada gambar 7 untuk nilai ai.
3.5
Perancangan Antarmuka
Antarmuka pemakai (user interface) merupakan bagian sistem yang dikendalikan oleh user untuk mencapai dan melaksanakan fungsi-fungsi suatu sistem. Antarmuka merupakan gabungan dari elemen-elemen suatu sistem, elemen-elemen-elemen-elemen pengguna, dan
juga komunikasi atau interaksi diantara keduanya. (Sudarmawan, 2007).
3.5.1 Perancangan Antar muka utama
Tampilan pada gambar 8, terdapat fasilitas untuk login, dimana user yang ingin mengirim email harus melakukan login dengan memasukkan nama pengguna dan kata sandi terlebih dahulu. Di dalam tampilan ini juga terdapat fasilitas untuk membuat alamat email yang baru. Kemudian, di dalam tampilan ini juga terdapat fasilitas untuk keluar dari perangkat lunak, apabila user tidak jadi menggunakannya.
3.5.2 Rancangan Tampilan Membuat Surat Baru
Tampilan pada gambar 9, dirancang untuk membuat surat baru. Di dalam tampilan ini terdapat beberapa fasilitas yaitu draf surat, sebagai tempat surat yang tidak jadi di kirim. Pertinggal, sebagai bukti bahwa surat telah dikirim.
3.5.3 Rancangan Tampilan Lampiran
Tampilan gambar 10, dirancang sebagai tempat file yang dilampirkan pada saat mengirim surat. Dan isi dalam surat tersebut akan langsung terenkripsi. Text
yang di dekripsi juga dapat dilihat pada tampilan ini Gambar 6 Diagram alir untuk nilai b
Gambar 7 Diagram alir untuk nilai ai
Gambar 8 Rancangan Tampilan Utama
5 4. HASIL DAN PENGUJIAN
4.1Pengujian
proses enkripsi data dan mengirim email, maka user harus login terlebih dahulu dengan cara menuliskan nama pengguna dan kata sandi, lalu menekan tombol
login.
Gambar 11 Tampilan Utama
Setelah user login maka akan muncul kotak dialog seperti yang ditunjukkan oleh gambar 12.
Apabila user ingin melihat surat yg telah diterima, user dapat mengklik tombol cek surat. Isi surat yang diterima akan langsung terenkripsi secara otomatis yang ditunjukkan pada gambar 13
Jika user ingin mendekripsi isi surat, maka user dapat mengklik tombol dekripsi yang hasilnya dapat dilihat pada gambar 14.
Gambar 14 Tampilan hasil dekripsi
5.
Kesimpulan
Setelah melakukan analisis serta pengujian pada sistem yang dibangun, maka dapat diperoleh kesimpulan sebagai berikut :
1. Dengan menggunakan algoritma ElGamal maka keamanan data dalam pengiriman email dapat dijaga, dimana tulisan (teks) tidak dapat dimengerti lagi maknanya oleh pihak ketiga. 2. Hasil enkripsi yang dihasilkan memiliki panjang
dua kali lipat dari plaintext. Gambar 12 Tampilan kotak dialog SEKripto
6
6.
Daftar Pustaka
[1]. Alfina, O., 2007. Implementasi Enkripsi/Dekripsi Data Menggunakan Algoritma Kunci Simetris Bit
Inserted Carrier (BIC). Medan: Universitas
Sumatera Utara.
[2]. Ariyus, Dony., 2008. Pengantar Ilmu Kriptografi. Yogyakarta: Andi Offset.
[3]. Caroline, L, M., 2011. Perbandingan Algoritma Kriptografi Kunci Publik RSA, Rabin, Dan
ElGamal. Bandung: Institut Teknologi bandung.
[4]. Majid, A, H., 2007. Implementasi Algoritma Elgamal Sebagai Program Add-In di Microsoft Word. Bandung: Institut Teknologi Bandung. [5]. Membuat Aplikasi Client Server Dengan Visual
Basic 2008. 2010. Yogyakarta: Andi. Semarang: Wahana Komputer.
[6]. Munir, R., 2006. Kriptografi. Bandung: Informatika.
[7]. Pratama, S, F., 2007. Algoritma ElGamal Untuk
Keamanan Aplikasi E-mail. Bandung: Institut
Teknologi Bandung.
[8]. Priyanto, R., 2009. Langsung Bisa Visual Basic.net 2008. Bandung: Andi.
[9]. Riyanto, M, Z., 2007. Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Elgamal Atas
Grup Pergandaan Zp*. Yogyakarta: Universitas
Gajah Mada.
[10].Syafrizal, M., 2007. Tentang E-mail. Yogyakarta: STMIK AMIKOM.
[11].Tarigan, P., 2010. Kriptografi Modern. Universitas Gunadarma.
[12].Taufan, Y, A., Winarno, I, S.ST, M.Kom, dan Fathoni, K, S.Kom., 2011. Enkripsi Email Dengan Menggunakan Metode ElGamal Pada Perangkat
Mobile. Surabaya.Politeknik Elektronika Negeri