PERANCANGAN PROGRAM PENGAMANAN PESAN EMAIL DENGAN METODE KRIPTOGRAFI ELGAMAL BERBASIS WEB SERVICE Fety Zurrahmi Universitas Bina Nusantara, Jl Puncak Trikora No 132, 085284079916,
[email protected]
Rojali Universitas Bina Nusantara, Jln Syahdan No 9, (021)5345830,
[email protected]
Bayu Kanigoro Universitas Bina Nusantara, Jln Syahdan No 9, (021)5345830,
[email protected]
Abstract Our life is now surrounded by cryptography. Start of transactions at ATM machines, conversations via mobile phones and internet access. Once the importance of cryptography for security information, so that when it comes to safety issues related to computer use, it will not be separated by cryptography. Cryptography is also used in the process of sending an email. If an email is sent over a public network, the security level is very risky. The techniques of information theft is an increasingly sophisticated e-mail throughout the day. The use of cryptography will greatly help provide security information email us. Although the attacker managed to get the text that we send, but can not get any information because of the text that has been encrypted obtained previously. Obtained ciphertext can only be opened by a party who has the private key. One of the algorithms used for encryption and ElGamal algorithm is discussed. This algorithm emphasizes the discrete algorithm problem. With these problems, the ElGamal ciphertext encrypted result will be very difficult in the cryptanalyst. Keywords : Cryptography, Email, ElGamal
Abstrak Kehidupan kita saat ini dilingkupi oleh kriptografi. Mulai dari transaksi di mesin ATM, percakapan melalui telepon genggam, dan mengakses internet. Begitu pentingnya kriptografi untuk keamanan informasi, sehingga jika berbicara mengenai masalah keamanan yang berkaitan dengan penggunaan komputer, maka tidak akan bisa dipisahkan dengan kriptografi. Kriptografi juga digunakan dalam proses pengiriman email. Jika sebuah email dikirim melalui jaringan publik maka tingkat keamanannya sangat berisiko. Teknik-teknik pencurian informasi dari sebuah email ini semakin canggih dari hari kehari. Penggunaan kriptografi akan sangat membantu memberikan keamanan informasi email kita. Walaupun attacker berhasil mendapatkan teks yang kita kirim namun tidak bisa mendapatkan informasi apapun karena teks yang sudah didapat sudah terenkripsi sebelumnya. Chipertext yang didapat hanya bisa dibuka oleh pihak yang memiliki kunci private. Salah satu algoritma yang digunakan untuk Enkripsi dan dibahas adalah algoritma ElGamal. Algoritma ini menekankan pada permasalahan Algoritma diskrit. Dengan permasalahan tersebut maka chipertext hasil enkripsi ElGamal akan sangat sulit di kriptanalis. Kata kunci : Kriptografi, Email, ElGamal.
PENDAHULUAN Latar belakang Penggunaan teknologi komputer dan telekomunikasi pada saat ini telah mengubah cara pandang masyarakat dalam berkomunikasi. Salah satu perkembangan yang sangat signifikan adalah penggunaan email untuk pertukaran informasi atau pesan melalui jaringan internet. Namun demikian perlu diperhatikan tingkat keamanan informasi tersebut, karena email menggunakan jaringan internet yang merupakan infrastruktur telekomunikasi dengan standar terbuka yang dapat dipergunakan oleh banyak pihak. Penyadapan informasi merupakan hal yang sangat merugikan bagi pengguna jaringan komunikasi saat ini. Dengan adanya kemungkinan penyadapan informasi tersebut, maka aspek keamanan dalam pertukaran informasi menjadi sangat penting. Hal ini akan membuat para pengguna jaringan komunikasi merasa aman dan nyaman. Kriptografi adalah salah satu teknik yang dapat memberikan beberapa layanan yang mendukung untuk meningkatkan keamanan informasi antara lain Authentication, Non-Repudiation dan Confidentiality. Authentication merupakan layanan yang berhubungan dengan identifikasi kebenaran sumber pesan. non-repudiation merupakan layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan yaitu pengirim pesan menyangkal melakukan pengiriman pesan. Sedangkan Confidentiality layanan yang ditujukan untuk menjaga agar informasi atau pesan tidak dapat dibaca oleh pihak yang tidak berhak yaitu melalui proses enkripsi dan dekripsi. Hubungan kriptografi dengan email disini yaitu kriptografi sebagai media untuk proses pengkodean pesan yang akan dikirim oleh pesan email sehingga pesan yang dikirim berupa kode-kode yang akan diterima oleh penerima pesan yang dituju. Didalam kriptografi itu sendiri terdapat proses enkripsi dan dekripsi didalamnya, sebagai salah satu proses pengkodean pesan yang akan diproses.
Rumusan masalah Berdasarkan latar belakang penelitian yang dijelaskan sebelumnya, maka dapat dirumuskan penelitian sebagai berikut: a. Bagaimana konversi karakter plaintext ke chipertext atau sebaliknya dengan menggunakan tabel ASCII, dimana jumlah maksimal karakter ASCII harus bilangan prima. b. Bagaimana menghitung algoritma diskrit dalam proses enkripsi plaintext. c. Dalam proses pengolahan enkripsi bilangan prima yang di input harus angka lebih dari 255, agar setelah di dekripsi data yang telah di enkripsi bisa keluar dengan data aslinya.
Tujuan dan Manfaat Tujuan dari penelitian ini adalah: a. Mengirimkan pesan berupa chipertext hasil enkripsi ke penerima dengan kriptografi ElGamal. b. Menerima pesan dan membaca plaintext hasil dekripsi dengan kriptografi ElGamal. c. Membuat text yang dikirimkan seolah-olah tidak memiliki informasi apapun, sehingga orang yang tidak berhak menerima pesan ini tidak mengetahui informasi dari pesan tersebut. Manfaat dari penelitian ini adalah: a. Dapat menjaga kerahasiaan informasi dari pihak-pihak yang tidak memiliki wewenang mengakses informasi tersebut. b. Dapat melindungi informasi agar informasi tersebut tidak mengalami perubahan baik oleh yang tidak berhak ataupun sesuatu hal yang lain. c. Dapat memastikan keaslian atau kebenaran baik atau orang ataupun mesin orang bahwa memang pihak yang benar-benar berhak menerima informasi yang dituju. d. Dapat memberikan referensi untuk materi yang masih relevan untuk dikembangkan dikemudian hari.
METODE PENELITIAN Untuk merancang dan membuat aplikasi maka digunakan metode analisis. Metode analisis terbagi menjadi beberapa langkah diantaranya: 1. Studi Pustaka Mencari sumber buku, artikel, literatur internet yang berkaitan untuk menunjang penulisan dan pembuatan program sesuai topik yang diajukan. Mempelajari dan memahami materi penunjang yang ada agar mudah dipahami. 2. Metodologi Analisis Metode analisis yang digunakan pada penelitian ini adalah sebagai berikut: a. Mempelajari Kriptografi b. Mempelajari metode ElGamal c. Mempelajari bahasa pemrograman PHP 3. Metode perancangan Tahapan perancangan dalam penulisan dibagi menjadi beberapa tahap yaitu: a. Perancangan UML b. Perancangan desain tampilan layar 4. Uji coba dan evaluasi Setelah melakukan program aplikasi telah selesai dibuat, maka pengujian program akan dilakukan lalu dievaluasi.
HASIL DAN BAHASAN Tampilan aplikasi yang telah dirancang
Gambar 1. Tampilan halaman login Bagi user yang sudah mempunyai id maka sudah dapat login dan menggunakan aplikasi setelah login aplikasi ini seperti gambar dibawah ini.
Gambar 2. Tampilan utama aplikasi
Pada gambar 3 dan gambar 4 ditampilkan proses tampilan enkripsi file pesan yang akan dikirim dengan langkah memasukkan file yang ingin dienkripsi, lalu memasukkan bilangan prima yang harus lebih dari 250 dan memasukkan 2 bilangan acak yang kurang dari bilangan prima yang dimasukkan. Dan setelah itu keluar hasil chipertext dan key yang siap dikirim untuk receiver yang dituju.
Gambar 3. Tampilan proses enkripsi data
Gambar 4. Tampilan hasil proses enkripsi
Setelah proses enkripsi selesai, maka kita bisa mengecek kembali apakah hasil chipertext dari proses enkripsi sudah benar akurat atau belum dengan melakukan proses dekripsi seperti tampilan pada gambar 5 dan 6 dengan langkah memasukkan file hasil enkripsi dan juga memasukkan key yang didapat dari proses enkripsi tadi.
Gambar 5. Tampilan proses dekripsi
Gambar 6. Tampilan hasil proses dekripsi
Setelah dilakukan pengecekan dengan proses dekripsi dari hasil enkripsi yang dilakukan dan hasil sudah sama dengan data awal, maka kita bisa mengirim pesan tersebut dengan receiver yang dituju seperti pada tampilan pada gambar 7 dan 8. Dengan langkah memasukkan file data hasil enkripsi dan memberikan key untuk bisa membuka pesan chipertext tersebut dengan proses dekripsi.
Gambar 7. Tampilan proses pengiriman pesan
Gambar 8. Tampilan pemberitahuan pesan berhasil dikirim
Berikut adalah flowchart dari alur aplikasi email kriptografi.
Start
User Login
Verifikasi Login
Sistem Enkripsi isi File dengan metode ElGamal
Upload file
Sistem memberikan kunci kepada Sender
Receiver membuka File Enkripsi dengan kunci yang telah ada
Receiver menerima File dimana isinya telah dienkripsikan
End
Gambar 9. Flowchart utama Email Kriptografi
Flowchart umum dari metode ElGamal. Start
Input bilangan prima, bilangan acak g, x, dan pesan yang akan di enkrip
Bangkitakan bilangan kunci x Ya
Tidak g
1 <= x <= p-
Hitung y
y, g, p kunci public x kunci private
Enkripsi pesan
Kirim email
Terima email
Dekripsi pesan
Plainteks m
End
Gambar 10. Flowchart umum ElGamal
Flowchart proses enkripsi dan dekripsi.
Start
Input p, g, x
Hitung y =
mod p
Input k
Hitung a = Hitung b =
mod p . m mod p
Chiper (a, b)
End Gambar 11. Flowchart Enkripsi
Start
p, x
1/
=
mod p
m = b/
mod p
m
End Gambar 12. Flowchart dekripsi
Metode ElGamal Algoritma ElGamal merupakan algoritma kriptografi asimetris. Pertama kali dipublikasikan oleh Taher ElGamal pada tahun 1984. Algoritma ini pada mulanya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi. Algoritma ini didasarkan atas masalah logaritma diskret pada grup
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 plaintext dan menghasilkan blok-blok ciphertext yang kemudian dilakukan proses dekripsi, dan hasilnya digabungkan kembali menjadi pesan yang utuh dan dapat dimengerti. Untuk membentuk sistem kriptografi ElGamal, dibutuhkan bilangan prima p dan elemen primitif grup
Untuk lebih jelasnya mengenai algoritma ElGamal, berikut ini diberikan suatu
sistem kriptografi ElGamal, yaitu sistem kriptografi yang menggunakan algoritma ElGamal, definisi himpunan-himpunan plaintext, ciphertext dan kunci, serta proses enkripsi dan dekripsi, seperti diberikan pada penjelasan berikut ini. Diberikan bilangan prima p dan sebuah elemen primitif α *. C =
P=
*×
K = {(p, α, a, β) : =
* dan a
*. Ditentukan
{0, 1,..., p - 2}. Didefinisikan
mod p}.
Nilai p, a dan β dipublikasikan, dan nilai a dirahasiakan. Untuk K = {(p ,α, a, β), plaintext m
dan untuk suatu bilangan acak rahasia k
{0, 1,..., p -
2} didefinisikan (m, k) = (
)
dengan
dan . m mod p * didefinisikan
untuk
(
)=
mod p
Algoritma ini disebut Algoritma diskret karena nilainya berhingga dan bergantung pada bilangan prima yang digunakan. Karena bilangan prima yang digunakan adalah bilangan prima besar, maka sangat sulit bahkan tidak mungkin menurunkan kunci privat dari kunci publik yang diketahui walaupun serangan dilakukan dengan menggunakan sumberdaya komputer yang sangat besar. ElGamal digunakan dalam perangkat lunak linux dikembangkan oleh GNU yang merupakan directory dari program PGP serta program keamanan jaringan lainnya. Keamanan algoritma ini terletak pada sulitnya menghitung algoritma diskrit. Masalah algortima diskrit adalah, jika p adalah bilangan prima dan g dan y adalah sembarang bilangan bulat. Carilah x sedemikian
(mod p).
Uji coba dari aplikasi yang telah berhasil dieksekusi Tabel 1. Inputan key file biodata.txt P
G
X
P
X
257
150
70
257
70
Tabel 2. Hasil evaluasi pengujian file biodata.txt Isi file
Biodata Diri Nama
: Fety Zurrahmi
Ttl
: Pekanbaru, 01 Juni 1989
Alamat
: Perumahan Bintara 2 Jalan Puncak Trikora Blok C No 132 Cibening Bekasi Barat
Hasil
26 233 23 229 71 25 68 228 45 47 244 122 127 119 108 9 89 70 140 112 68 116 197 69 147 155 58 75 4 247 173 171 107 192 199 236 243 140 39 18 232 129 43 56 37 193 194 124 9 92 88 12 109 58 233 88 183 255 104 27 97 213 25 43 229 74 159 27 182 249 181 73 155 180 187 13 57 9 82 113 227 10 91 14 212 28 224 14 12 251 123 124 93 77 172 121 180 113 114 242 39 18 88 212 149 70 224 100 121 148 217 236 230 238 243 218 165 68 216 111 201 23 235 188 30 232 193 160 246 45 67 109 23 214 77 24 36 164 85 60 199 236 236 185 179 124 178 55 228 86 47 146 21 32 256 109 20 96 27 211 45 47 232 166 171 49 232 151 87 126 244 160 100 185 159 82 167 67 116 78 64 255 230 225 190 137 115 210 122 230 143 80 43 209 223 179 246 121 226 186 74 25 100 171 124 18 126 24 111 217 181 29 30 139 166 227 254 142 24 33 238 196 93 64 46 75 122 211 32 145 32 27 215 256 215 175 20 135 155 26 115 195 99 91 244 68 45 42 164 23 71 74 184 118 230 144 77 135 36 53 122 84 233 96 175 19 72 51 9 252 241 154 43 61 2 112 247 191 218 12 207 37 57 40 216 91 177 153 252 86 212 47 20 240 116 78 14 23 151 76
Hasil
Biodata Diri Nama
: Fety Zurrahmi
Ttl
: Pekanbaru, 01 Juni 1989
Alamat
: Perumahan Bintara 2 Jalan Puncak Trikora Blok C No 132 Cibening Bekasi Barat
Status
Hasil dekripsi sama dengan isi file awal yang akan di enkripsi
Uji coba yang gagal dieksekusi. Tabel 3. Inputan key file tes.txt P
Q
D
P
X
71
40
25
71
25
Tabel 4. Hasil evaluasi pengujian file tes.txt Isi file
halo apa kabar
Hasil enkripsi
16 21 58 51 15 20 60 19 30 30 24 41 40 34 32 41 6 30 38 15 25 26 4 5 8 51 6 27
Hasil dekripsi
!%( )$+
Status
Tidak sama dengan file aslinya (Gagal)
SIMPULAN DAN SARAN Simpulan dari hasil simulasi yang dilakukan dengan aplikasi yang dikembangkan disimpulkan sebagai berikut: a. Algoritma kriptografi ElGamal sudah mampu memenuhi kebutuhan sebagai aplikasi pengamanan pesan email pada sistem yang dibuat. b. Pada proses enkripsi pesan menginput bilangan prima dan dua buah bilangan acak yang kurang dari bilangan prima itu sendiri. Dan bagian terpenting bilangan prima yang diinput dianjurkan harus lebih dari bilangan 255 dikarenakan karakter tiap pesan diterjemahkan berdasarkan bilangan ASCII. c. Semua karakter sudah dapat di enkripsi dengan sempurna berdasarkan public key yang di cari. d. Proses pengiriman pesan email berdasarkan hanya dalam bentuk file .txt hasil chipertext yang dilakukan dengan berdasarkan bilangan ASCII perkarakter dari pesan tersebut. e. Proses dekripsi dapat berjalan dengan sempurna sesuai dengan data awalnya. Saran yang diajukan dengan kemungkinan dilakukan pengembangan lebih lanjut: a. Pengembangan program dalam proses enkripsi tidak hanya untuk file .txt saja seperti pada skripsi ini, bisa juga berlaku untuk file microsoft word dan semacamnya untuk pengembangan selanjutnya. b. Pengembangan lebih lanjut dapat menambahkan proses enkripsi tidak hanya satu kali proses agar dapat terjaga pesan yang ingin dikirim.
REFERENSI Danang Tri Massandy. (2009). Algoritma ElGamal Dalam Pengamanan Pesan Rahasia. Diakses pada 24 Februari 2014 dari : http://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/20092010/Makalah0910/MakalahStrukdis0910-056.pdf Idris Winarno, S.ST., M.Kom, Kholid Fathoni, S.Kom, Yudhistira Taufan A. (2011). Enkripsi Email Dengan Menggunakan Metode ElGamal Pada Perangkat Mobile. Diakses pada 24 Februari 2014 dari : http:/repo.eepis-its.edu/1228/1/MAKALAH.pdf Jeffrey Hoffstein, Jill Pipher, Joseph H. Silverman. (2008). An Introduction to Mathematical Cryptography Muhammad Ifanto. (2009). Metode Enkripsi dan Dekripsi dengan Menggunakan Algoritma ElGamal. Diakses pada 12 April 2014 dari : http://webmail.informatika.org/~rinaldi/Matdis/20092010/Makalah0910/MakalahStrukdis0910-096.pdf M. Syaiful Rizal. (2010). Implementasi Algoritma Kriptografi Kunci-Publik ElGamal Untuk Keamanan Pengiriman Email. Diakses pada 24 Februari 2014 dari : http://repo.eepis-its.edu/283/1/896.pdf Thyaa Hartatiana. (2012). Algoritma ElGamal. Diakses pada 20 Juli 2014 dari : http://www.slideshare.net/mutiara123/algoritma-elgama1 William Stallings. (2010). Cryptography and Network Security : Principles and Practice, fifth edition.
RIWAYAT PENULIS Fety Zurrahmi lahir di kota Pekanbaru pada tanggal 1 Juni 1989. Penulis menamatkan pendidikan S1 di Universitas Bina Nusantara dalam bidang Teknik Informatika dan Matematika pada tahun 2014.