ABSTRACT. Keywords: Cryptography, Asymmetric algorithms, ElGamal, Encryption, Decryption, Cryptographic attacks.

dokumen-dokumen yang mirip
IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL UNTUK KEAMANAN PESAN (MESSAGE SECURITY)

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

Perbandingan Penggunaan Bilangan Prima Aman Dan Tidak Aman Pada Proses Pembentukan Kunci Algoritma Elgamal

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography.

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

ABSTRAK. Kata kunci :SSL, RSA, MD5, Autentikasi, Kriptografi. Universitas Kristen Maranatha

Security Sistem Informasi.

BAB II. Dasar-Dasar Kemanan Sistem Informasi

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

IMPLEMENTASI KEAMANAN MENGGUNAKAN PERTUKARAN KUNCI DIFFIE HELLMAN DAN ALGORITMA ENKRIPSI BLOWFISH KOMPETENSI JARINGAN KOMPUTER SKRIPSI

Pembangkitan Kunci pada Algoritma Asimetris ElGamal untuk Meningkatkan Keamanan Data bertipe.docx

JARINGAN KOMPUTER I WAYAN MULIAWAN NIM

KRIPTOGRAFI HILL CIPHER DENGAN MENGGUNAKAN OPERASI MATRIKS

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

1 ABSTRAK. Masalah keamanan merupakan salah satu aspek penting dari sebuah

ABSTRAK. Universitas Kristen Maranatha

KRIPTOGRAFI VISUAL DENGAN ALGORITMA ELGAMAL YANG DIMODIFIKASI UNTUK CITRA BERWARNA DENGAN TIGA CITRA HASIL ENKRIPSI MENGGUNAKAN PERANGKAT LUNAK MATLAB

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

K i r p i t p o t g o ra r f a i

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH

BAB II TINJAUAN PUSTAKA

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

PERANCANGAN PROGRAM PENGAMANAN PESAN DENGAN METODE KRIPTOGRAFI ELGAMAL BERBASIS WEB SERVICE

SKRIPSI BILQIS

BAB II LANDASAN TEORI

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

APLIKASI KRIPTOGRAFI KOMPOSISI ONE TIME PAD CIPHER DAN AFFINE CIPHER

FAST EXPONENTIATION. 1. Konsep Modulo 2. Perpangkatan Cepat

Enkripsi Teks dengan Algoritma Affine Cipher

ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA

BAB 2 TINJAUAN PUSTAKA

Sistem Kriptografi Kunci Publik Multivariat

BAB III ANALISIS DAN PERANCANGAN

: IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL UNTUK FILE CITRA 2 DIMENSI

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

KRIPTOGRAFI VISUAL DENGAN IMPLEMENTASI ALGORITMA LUC PADA CITRA BERWARNA

+ Basic Cryptography

Penerapan algoritma RSA dan Rabin dalam Digital Signature

BAB Kriptografi

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGKODEAN CITRA MENJADI DUA BUAH CITRA BAYANG DAN PENDEKODEAN MENJADI CITRA ASAL ABSTRAK

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE)

DAFTAR ISI ABSTRAK KATA PENGANTAR

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

1 ABSTRACT. Nowadays in the age of information, many people using internet for

BAB III ANALISIS DAN DESAIN SISTEM

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Penerapan Matriks dalam Kriptografi Hill Cipher

ANALISA DAN PENERAPAN ALGORITMA DES UNTUK PENGAMANAN DATA GAMBAR DAN VIDEO

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. 1.1 Latar Belakang

Serangan (Attack) Terhadap Kriptografi

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

BAB 2 LANDASAN TEORI

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB 2 LANDASAN TEORI

Kriptografi. A. Kriptografi. B. Enkripsi

2.5.1 Enkripsi Dekripsi BAB III. IMPLEMENTASI ALGORITMA DAN REALISASI PERANGKAT LUNAK Program Pengaman Data Dengan

IMPLEMENTASI DAN ANALISIS ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA TIGA VARIASI PANJANG KUNCI UNTUK BERKAS MULTIMEDIA

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

PERANCANGAN APLIKASI PENGAMANAN DATA FILE MENGGUNAKAN KOMBINASI METODE AFFINE CIPHER DAN RSA SKRIPSI FITRA MAULIDA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

KRIPTOGRAFI ELGAMAL MENGGUNAKAN METODE FERMAT TESIS. Oleh THERESA ANASTASIA OCTAVIA SINUHAJI / TINF

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN ABSTRAC KATA PENGANTAR

IMPLEMENTASI ALGORITMA ELGAMAL UNTUK ENKRIPSI TEXT PADA APLIKASI CLIENT

ANALISIS WAKTU ENKRIPSI-DEKRIPSI FILE TEXT MENGGUNAKAN METODA ONE-TIME PAD (OTP) DAN RIVEST, SHAMIR, ADLEMAN (RSA)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI. Kriptografi mempunyai peranan penting dalam dunia komputer. Hal ini

RANCANG BANGUN APLIKASI PESAN MENGGUNAKAN ALGORITMA VIGENERE CIPHER DAN ONE TIME PAD ABSTRAK

PERANCANGAN APLIKASI PENGAMANAN INFORMASI TEKS DENGAN MENGGUNAKAN ALGORITMA KRIPTOGRAFI ALPHA-QWERTY REVERSE

Studi dan Analisis Mengenai Aplikasi Matriks dalam Kriptografi Hill Cipher

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

2.1 Keamanan Informasi

IMPLEMENTASI DAN ANALISIS KRIPTOGRAFI HYBRID ALGORITMA FEAL DAN ALGORITMA ELGAMAL DALAM PENGAMANAN FILE TEKS SKRIPSI SYABRUL MAJID

Transkripsi:

IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL UNTUK KEAMANAN PESAN (MESSAGE SECURITY) Nur Rochmat 1, R.Rizal Isnanto 2, Maman Somantri 2 Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jln. Prof. Sudharto, Tembalang, Semarang, Indonesia ABSTRACT Distribution of information is very vulnerable from the other party interference, one option of securing information is to encode the information. Coding technique is known as cryptography. The basic principle of cryptographic security is encryption and decryption process. Encryption change the original message (plaintext) into a coded message (ciphertext), while the decryption returns the ciphertext into plaintext. At the initial appearance only known symmetric key cryptography (key used for encryption and decryption are the same). Every couple of people who will communicate securely, must use one key. Key management problem comes when a person wants to communicate with many people. In 1975 discovered asymmetric algorithms, this algorithm has two key pairs consisting of a public key for encryption and a private key to decrypt it. ElGamal algorithm is a cryptographic algorithm asymmetry created by Taher El Gamal. Based on the concept of ElGamal cryptographic algorithms, the research will be to implement the algorithm into a simple electronic mail application. The application program begins with the registration process, there are key generating process in it. Once the registration process is completed, the key will be stored in the database. The key consists of a public key and a private key. The public key is used to encrypt messages in the process of writing a message. This key is publicly accessible.the private key is used to decrypt messages on the message read. This key can only be accessed by the intended recipient. In the application program the process of making key be done, encryption and decryption of a message so the key management measures and outcomes that occur in the process of encryption and decryption with ElGamal algorithm can be known. In another experiment conducted tests with models such as the ciphertext only attack, know-plain attack and brute force attack to determine the strength of the ElGamal algorithm from those kind of attack models. Based on the results of testing that has been done can be concluded that the ElGamal algorithm is very good to solve the problem of key distribution management. In addition, the algorithm also has good resistance to attack methods such as ciphertext-only attack, know-plain attack and brute force attack. Keywords: Cryptography, Asymmetric algorithms, ElGamal, Encryption, Decryption, Cryptographic attacks. I. PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi yang tumbuh pesat dewasa ini turut mempengaruhi berbagai sisi bidang kehidupan manusia, salah satunya dalam penyampaian informasi. Pendistribusian informasi sangat rentan terhadap serangan dan gangguan dari pihak lain. Sebagai contoh keberhasilan KPK (Komisi Pemberantasan Korupsi) dalam melakukan penyadapan informasi pribadi milik beberapa pejabat negara, menunjukkan bahwa pendistribusian pesan yang berisi informasi masih sangat rentan dari gangguan pihak lain. Salah satu cara pengamanan dalam penyampaian informasi adalah dengan melakukan pengkodean terhadap informasi tersebut. Teknik pengkodean ini dikenal dengan nama kriptografi. Kriptografi merupakan seni dan ilmu untuk menjaga kerahasiaan berita. Prinsip dasar pengamanan kriptografi adalah proses enkripsi dan dekripsi. Enkripsi mengubah pesan asli (plaintext) menjadi pesan terkodekan (chipertext), proses ini dilakukan sebelum pesan dikirimkan, sedangkan dekripsi mengubah chipertext menjadi plaintext, prosesnya dilakukan setelah pesan sampai di tempat tujuan. Pada awalnya metode kriptografi didasarkan pada penggunaan kunci yang sama, baik untuk enkripsi maupun untuk dekripsi atau dikenal dengan kriptografi kunci simetris atau disebut juga algoritma kunci pribadi. Untuk berkomunikasi dengan aman diperlukan satu kunci untuk setiap sambungan komunikasi, sehingga dinilai kurang efektif. Pada perkembangannya muncul algoritma kunci asimetris atau biasa disebut kunci publik. Pada algoritma jenis ini memiliki dua buah kunci. Kunci pertama disebut dengan kunci publik digunakan pada proses enkripsi, kunci ini tidak bersifat rahasia sehingga setiap orang boleh melihat dan menggunakannya. Kunci yang lain atau disebut kunci pribadi, digunakan pada proses dekripsi, kunci ini bersifat rahasia dan hanya digunakan oleh penerima pesan. Algoritma kriptografi ElGamal merupakan salah satu algoritma kunci publik yang didasarkan pada logaritma diskrit. Algoritma ini dikembangkan pertama kali oleh ilmuan Mesir Taher ElGamal pada tahun 1985. Algoritma kriptografi ElGamal termasuk algoritma kriptografi kunci publik Dalam penelitian ini diambil studi kasus pada suatu perangkat lunak surat elektronik sederhana yang menggunakan konsep algoritma kriptografi ElGamal. Pada perangkat lunak ini pembuatan kunci dilakukan pada proses pendaftaran, enkripsi dilakukan pada proses tulis pesan sedangkan deskripsi dilakukan pada proses baca pesan. 1) Mahasiswa Teknik Elektro Universitas Diponegoro. 2) Dosen Teknik Elektro Universitas Diponegoro. 1

Pembahasan ini diharapkan dapat digunakan untuk lebih mejelaskan proses yang ada pada algoritma kriptografi ElGamal dan pengimplementasiannya dalam suatu perangkat lunak lain ataupun penelitian lebih lanjut tentang algoritma kriptografi ElGamal. 1.2 Tujuan Penelitian Tujuan dari pembuatan tugas akhir ini adalah sebagai berikut : 1 Menerapkan algoritma kriptografi kunci publik ElGamal dalam suatu perangkat lunak menggunakan bahasa pemrograman Delphi. 2 Melakukan pengamanan terhadap informasi yang ada pada pesan, sehingga informasi tersebut tidak dapat diketahui oleh pihak lain yang tidak berhak. 3 Mengetahui keamanan algoritma ElGamal. 1.3 Batasan Masalah Batasan masalah yang diberikan pada tugas akhir ini adalah sebagai berikut : 1 Data yang digunakan dalam penelitian ini adalah data simulasi. 2 Pada aplikasi pengiriman pesan, masukan dibatasi hanya pada penggunaan karakter teks. 3 Kunci yang digunakan maksimal delapan buah karakter. 4 Proses inti terdiri dari pendaftaran, login, tulis surat dan baca surat. 5 Aplikasi perangkat lunak yang dibuat adalah aplikasi pengiriman surat elektronik sederhana yang hanya diterapkan pada localhost. 6 Sistem operasi yang digunakan adalah Windows. II. LANDASAN TEORI 2.1 Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu cryptos dan graphia. Cryptos artinya rahasia (secret), sedangkan graphia artinya tulisan (writing). Kriptografi adalah ilmu yang mempelajari teknikteknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes, Oorschot and Vanstone, 1996). 2.1.1 Tujuan Tujuan kriptografi ini juga biasa dinamakan sebagai aspek-aspek keamanan, sebagai berikut. 1 Kerahasiaan, adalah aspek yang berhubungan dengan penjagaan isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka informasi yang telah dienkripsi. 2 Integritas data, adalah aspek yang berhubungan dengan penjagaan dari perubahan data secara tidak sah. 3 Autentikasi, adalah aspek yang berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. 4 Non-repudiation (menolak penyangkalan), adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang mengirimkan, atau harus dapat membuktikan bahwa suatu pesan berasal dari seseorang, apabila ia menyangkal mengirim informasi tersebut. (Menezes, Oorschot and Vanstone, 1996). 2.1.2 Keamanan Kriptanalis melakukan berbagai usaha dan cara yang mungkin untuk mengetahui plaintext dari ciphertext yang bersesuaian. Beberapa serangan yang dilakukan oleh kriptanalis diantaranya : 1. Ciphertext-only attacks. Pada tipe ini, penyerang mengetahui ciphertext yang dikirim dan juga mengetahui algoritma yang dipakai, tetapi tidak mengetahui plaintext maupun kuncinya. 2. Known-plaintext attack. Pada tipe ini, penyerang dapat mengakses ciphertext dan plaintext. Cara yang umum dilakukan adalah dengan memperhatikan struktur sebelumnya yang berhasil dipecahkan. 3. Exhaustive attack (brute-force attack). Teknik ini merupakan serangan untuk mengungkap plaintext atau kunci dengan mencoba semua kemungkinan kunci. 2.2 Algoritma ElGamal Algoritma ElGamal ditemukan oleh ilmuwan Mesir, yaitu Taher ElGamal pada tahun 1985, merupakan algoritma kriptografi kunci publik. Algoritma ElGamal terdiri atas tiga proses, yaitu pembentukan kunci, proses enkripsi, dan proses dekripsi. Algoritma ElGamal mendasarkan kekuatannya pada fakta matematis kesulitan menghitung logaritma diskret. Masalah logaritma diskrit adalah dengan memperhatikan hal berikut ini : Jika diberikan suatu bilangan a, maka menghitung b α a (mod p) adalah mudah, tetapi jika diberikan suatu bilangan b, maka untuk menemukan a sehingga b α a (mod p) adalah permasalahan yang sulit. 2.3 Surat Elektronik E-mail atau electronic mail atau surat menyurat elektronik adalah sistem korespondensi secara elektronis antara satu komputer dengan komputer lain dengan memanfaatkan sistem jaringan komputer. III. PERANCANGAN SISTEM 3.1 Perancangan Algoritma Kriptografi ElGamal 3.1.1 Proses Pembentukan Kunci Langkah-langkah dalam pembuatan kunci adalah sebagai berikut: i. Pilih sembarang bilangan prima p. 2

ii. Pilih dua buah bilangan acak, g dan x, dengan syarat g < p dan 1 < x p 2. iii. Hitung y = g x mod p. Dari langkah-langkah diatas akan diperoleh kunci publik untuk enkripsi dan kunci pribadi untuk dekripsi. Kunci publik yang digunakan adalah nilai p, g, y sedangkan kunci pribadi yang digunakan adalah nilai x, p. 3.1.2 Proses Enkripsi Langkah-langkah dalam mengenkripsi pesan adalah sebagai berikut. i. Susun plaintext menjadi blok-blok m 1, m 2,, nilai setiap blok di dalam selang [0, p 1]. ii. Pilih bilangan acak k, dengan 1 k p 2. iii. Setiap blok m dienkripsi dengan rumus gamma (γ ) = g k mod p delta (δ) = y k m mod p Pasangan γ dan δ adalah ciphertext untuk blok pesan m. Hasil yang didapat dari proses enkripsi berupa pesan rahasia (ciphertext). 3.1.3 Proses Dekripsi Langkah-langkah dalam mendekripsi pesan adalah sebagai berikut. i. Penentuan nilai gamma dan delta. Nilai gamma (γ ) diperoleh dari ciphertext dengan urutan ganjil sedangkan delta (δ) dengan urutan genap. ii. Hitung plaintext m dengan persamaan: m = δ. γ (p-1-x) mod p iii. Ubah nilai m yang didapat kedalam nilai ASCII Hasil yang didapat dari proses enkripsi berupa pesan asli (plaintext). 3.2 Perancangan Sistem Aplikasi dibuat dengan menggunakan bahasa pemrograman Delphi dengan database yang terletak pada localhost. Perangkat lunak yang digunakan adalah Borland Delphi 7 untuk membangun aplikasi, ZEOS 6.6.6 untuk koneksi aplikasi ke database. Database menggunakan XAMPP. Gambar 3.1 menunjukkan desain arsitektur sistem. Gambar 3.2 ERD Sistem simulasi surat elektronik. 3.2.2 Perancangan Context Diagram Context diagram untuk menggambarkan hubungan sistem dengan dunia luar. Diagram ini menunjukkan aliran data dari dan keluar sistem. Context diagram yang ada pada sistem menggambarkan hubungan umum yang terjadi antara pengguna, sistem dan admin. Karena sifatnya yang masih umum context diagram biasa didebut dengan DFD level 0 dari suatu sistem. Gambar 3.3 menunjukkan Context Diagram dari sistem. Gambar 3.3 Context Diagram Sistem simulasi surat elektronik. 3.3 Perancangan Basis data Relasi antar tabel digunakan untuk menunjukkan keterkaitan antar tabel sehingga dapat dilakukan efisiensi dalam pembuatan tabel dan tidak terjadi duplikasi (penggandaan) data. Relasi antar tabel akan bermanfaat saat melakukan query data. Gambar 3.4 menunjukkan relasi antar tabel Gambar 3.1 Desain arsitektur Sistem simulasi surat elektronik. 3.2.1 Perancangan Entity Relationship Diagram (ERD) Pada sistem yang akan dibuat dilakukan perancangan dengan menggunakan ERD hal ini bertujuan untuk mengetahui hubungan antara entitas yang ada pada sistem surat elektronik dilihat dari sedut pandang pengguna. Gambar 3.2 Menunjukkan ERD yang ada pada sistem. Gambar 3.4 Relasi antar tabel 3.4 Perancangan Form Pada perancanagan form diantaranya terdiri dari form pendaftaran yang digunakan untuk pembentukan kunci, 3

form untuk tulis pesan (enkripsi), form baca pesan (dekripsi). Gambar 3.5 menunjukkan desain form Utama. Gambar 3.5 Gambar Desain form Utama IV. IMPLEMENTASI DAN PENGUJIAN 4.1 Pengujian Enkripsi dan Dekripsi Pengujian dilakukan dengan cara membandingkan hasil proses enkripsi dan dekripsi dari program aplikasi yang telah dibuat dengan hasil penghitungan enkripsi dan dekripsi secara manual. Data yang digunakan untuk pengujian ini adalah seperti pada Tabel 4.1. Tabel 4.1. Data Pengujian Program. Keterangan Nilai Pesan amankan dokumen itu nilai (p,g,y,x) (383, 148, 295, 338) k 1 = 319, k 2 = 259, k 3 = 353, k 4 = 105, k 5 = 267, k 6 = 279, k nilai k 7 = 190, k 8 = 252, k 9 = 60, k 10 = 87, k 11 = 360, k 12 = 139, k 13 = 48, k 14 = 376, k 15 = 116, k 16 = 20, k 17 = 38, k 18 = 330, k 19 = 211 4.1.1 Pengujian Proses Enkripsi A. Proses enkripsi dengan program aplikasi. Hasil dari proses ini akan berupa pesan rahasia (ciphertext). Gambar 4.1 menunjukkan proses enkripsi yang ada pada form Tulis pesan. Sedangkan Tabel 4.2 untuk lebih memperjelas data proses enkripsi yang terjadi pada program aplikasi. Gambar 4.1 Proses enkripsi pesan pada program aplikasi Tabel 4.2. Proses enkripsi pesan pada program aplikasi Keterangan Nilai Plaintext amankan dokumen itu Kunci publik (383, 148, 295) (p,g,y) k 1 = 319, k 2 = 259, k 3 = 353, k 4 = 105, k 5 = 267, k 6 = 279, k 7 = 190, k 8 = 252, nilai k k 9 = 60, k 10 = 87, k 11= 360, k 12 = 139, k 13 = 48, k 14= 376, k 15 = 116, k 16 = 20, k 17 = 38, k 18 = 330, k 19 = 211 197,140,122,78,85,312,379,172, 340,310,269,321,339,286,31,142, Hasil Enkripsi 168,292,37,362,38,164,356,275, (ciphertext) 144,70,69,142,50,7,313,353,256, 374,27,217,70,10, B. Proses Enkripsi dengan cara manual. Langkah-langkah penyelesaian proses enkripsi secara manual adalah sebagai berikut: Diketahui : Plaintext : amankan dokumen itu Nilai p = 383, g = 148 dan y = 295. Nilai k 1 = 319, k 2 = 259, k 3 = 353, k 4 = 105, k 5 = 267, k 6 = 279, k 7 = 190, k 8 = 252, k 9 = 60, k 10 = 87, k 11 = 360, k 12 = 139, k 13 = 48, k 14 = 376, k 15 = 116, k 16 = 20, k 17 = 38, k 18 = 330, k 19 = 211. Jawab : i. Ubah pesan asli (plaintext) ke dalam ASCII a = 97, m = 109, a = 97, n = 110, k =107, a =97, n =110, spasi = 32, d = 100, o = 111, k = 107, u = 117, m = 109, e = 101, n = 110, spasi = 32, i = 105, t = 116, u = 117. sehingga nilai pesan ASCII adalah sebagai berikut : m 1 = 97, m 2 = 109, m 3 = 97, m 4 = 110, m 5 = 107, m 6 = 97, m 7 = 110, m 8 = 32, m 9 = 100, m 10 = 111, m 11 = 107, m 12 =117, m 13 =109, m 14 = 101, m 15 = 110, m 16 =32, m 17 =105, m 18 =116, m 19 =117. ii. Hitung gamma (γ ) dengan rumus γ = g k mod p. γ 1 = 148 319 mod 383 γ 2 = 148 259 mod 383 = 197 = 122 γ 3 = 148 353 mod 383 Dst... = 85 Hasil nilai γ 1 = 197, γ 2 = 122, γ 3 = 85, γ 4 = 379, γ 5 = 340, γ 6 = 269, γ 7 = 339, γ 8 = 31, γ 9 = 168, γ 10 = 37, γ 11 = 38, γ 12 = 356, γ 13 = 144, γ 14 = 69, γ 15 = 50, γ 16 = 313, γ 17 = 256, γ 18 = 27, γ 19 = 70. iii. Hitung delta dengan rumus δ = y k. m mod p δ 1 = 295 319. 97 mod 383 = 140 δ 2 = 295 259. 109 mod 383 = 78 δ 3 = 295 353. 97 mod 383 = 312 Dst... Hasil nilai δ 1 = 140, δ 2 = 78, δ 3 = 312, δ 4 = 172, δ 5 = 3 10, δ 6 = 321, δ 7 = 286, δ 8 = 142, δ 9 = 292, δ 10 = 362, δ 11 = 164, δ 12 = 275, δ 13 = 70, δ 14 = 142, δ 15 = 7, δ 16 = 353, δ 17 = 374, δ 18 = 2 17, δ 19 = 10. iv. Susun hasil perhitungan gamma (γ ) dan delta (δ) Ciphertext : 197, 140, 122, 78, 85, 312, 379, 172, 340, 310, 269, 321, 339, 286, 31, 142, 168, 292, 37, 362, 38, 164, 356, 275, 144, 70, 69, 142, 50, 7, 313, 353, 256, 374, 27, 217, 70, 10, 4.1.2 Pengujian Proses Dekripsi A. Proses dekripsi dengan menggunakan aplikasi. Gambar 4.2 menunjukkan proses dekripsi yang ada pada form Tulis pesan. Tabel 4.3 untuk lebih 4

memperjelas data proses dekripsi yang terjadi pada program aplikasi. Gambar 4.2 Proses dekripsi pesan pada program aplikasi Tabel 4.3. Proses dekripsi pesan pada program aplikasi Keterangan Nilai 197,140,122,78,85,312,379,172, 340,310,269,321,339,286,31,142, Pesan rahasia (ciphertext) 168,292,37,362,38,164,356,275, 144,70,69,142,50,7,313,353,256, 374,27,217,70,10, Kunci publik (p,x) (383,338) Hasil Dekripsi (plaintext) amankan dokumen itu B. Proses dekripsi dengan cara manual. Langkah-langkah penyelesaian proses dekripsi secara manual adalah sebagai berikut : Diketahui : Ciphertext : 197, 140, 122, 78, 85, 312, 379, 172, 340, 310, 269, 321, 339, 286, 31, 142, 168, 292, 37, 362, 38, 164, 356, 275, 144, 70, 69, 142, 50, 7, 313, 353, 256, 374, 27, 217, 70, 10, Nilai p = 383, x = 338. Jawab : i. Pisahkan nilai gamma dan delta pada pesan rahasia (ciphertext). γ = Ciphertext urutan ganjil. δ = Ciphertext urutan genap. Nilai gama γ 1 = 197, γ 2 = 122, γ 3 = 85, γ 4 = 379, γ 5 = 340, γ 6 = 269, γ 7 = 339, γ 8 = 31, γ 9 = 168, γ 10 = 37, γ 11 = 38, γ 12 = 356, γ 13 = 144, γ 14 = 69, γ 15 = 50, γ 16 = 313, γ 17 = 256, γ 18 = 27, γ 19 = 70. Nilai delta δ 1 = 140, δ 2 = 78, δ 3 = 312, δ 4 = 172, δ 5 = 310, δ6 = 321, δ 7 = 286, δ 8 = 142, δ 9 = 292, δ 10 = 362, δ 11 = 164, δ 12 = 275, δ 13 = 70, δ 14 = 142, δ 15 = 7, δ 16 = 353, δ 17 = 374, δ 18 = 217, δ 19 = 10 ii. Hitung m (pesan asli) dengan rumus : m = δ. γ (p-1-x) mod p m 1 = 140. 197 (383-1-338) mod 383 = 140. 197 44 mod 383 = 97 m 2 = 78. 122 (383-1-338) mod 383 = 78. 122 44 mod 383 = 109 m 3 = 312. 85 (383-1-338) mod 383 = 312. 85 44 mod 383 = 97 Dst.. Sehingga Hasil nya : m 1 = 97, m 2 = 109, m 3 = 97, m 4 = 110, m 5 = 107, m 6 = 97, m 7 = 110, m 8 = 32, m 9 = 100, m 10 = 111, m 11 = 107, m 12 =117, m 13 =109, m 14 = 101, m 15 = 110, m 16 =32, m 17 =105, m 18 =116, m 19 =117 iii. Ubah m kedalam ASCII. 97 = a, 109 = m, 97 = a, 110 = n, 107 = k, 97 = a, 110 = n, 32 = spasi, 100 = d, 111 = o, 107 = k, 117 = u, 109 = m, 101 = e, 110 = n, 32 = spasi, 105 = i, 116 = t, 117 = u. iv. Hasil dari penyusunan inilah yang merupakan pesan asli (plaintext) yang dihasilkan pada proses dekripsi. plaintext: amankan dokumen itu. Hasil proses perhitungan enkripsi dekripsi dengan program aplikasi dan secara manual adalah sama. Selain itu plaintext setelah dekripsi sama dengan nilai plaintext sebelum di enkripsi. 4.2 Pembahasan analisis keamanan Algoritma ElGamal 4.2.1 Cipher only attack Dengan melihat percobaan enkripsi pesan pada Tabel 4.2. Dari hasil itu terlihat bahwa jumlah ciphertext yang dihasilkan tidak sama dengan jumlah plaintext. Hal ini terjadi dikarenakan ciphertext terdiri dari nilai gamma dan delta. Akibat proses tersebut menjadikan jumlah ciphertext lebih banyak dari jumlah plaintext. Dengan adanya perbedaan jumlah tersebut tentunya akan menyulitkan menebak plaintext sebenarnya meskipun kriptanalis memiliki ciphertext. 4.2.2 Known-plain attack Untuk mengetahui keamanan ElGamal dari jenis serangan ini akan dilakukan tiga kali percobaan proses enkripsi pesan dengan plaintext dan kunci yang sama. Nilai plaintext: amankan dokumen itu, dengan kunci publik (p, g, y) = (383, 148, 295). Pada tiga kali percobaan dihasilkan data seperti terlihat pada Tabel 4.4. Tabel 4.4 Hasil Pengujian known-plain attack No Plaintext Kunci (p, g, y) Ciphertext 1. amankan dokumen itu 383, 148, 295 197,140,122,78,85,312,379, 172,340,310,269,321,339, 286,31,142,168,292,37,362, 38,164,356,275,144,70,69, 142,50,7,313,353,256,374, 27,217,70,10, 2. amankan dokumen itu 3. amankan dokumen itu 383,148, 295 118,39,275,178,233,302,244, 196,252,287,283,379,126, 274,96,65,273,23,54,5,356, 78,242,60,170,125,170,288, 268,207,187,224,193,307, 154,243,205,198, 383, 148, 295 142,127,292,271,86,341,39, 119,185,109,132,247,233, 149,239,263,174,28,258,47, 352,20,207,257,230,311,378, 12,119,17,115,102,134,308, 377,31,13,85, Dari Tabel 4.4 dapat dilihat bahwa dengan plaintext dan kunci yang sama menghasilkan ciphertext yang berbeda. Hal ini dikarenakan adanya nilai k yang acak. Nilai k yang 5

acak membuat nilai gamma dan delta selalu berubah sehingga ciphertext yang dihasilkan untuk setiap percobaan selalu berubah. Hal tersebut akan menyulitkan kriptanalis dalam mengkorelasikan (menemukan hubungan) antara plaintext dengan ciphertext, sehingga akan menyulitkan penemuan algoritma alternatif. 4.2.3 Exhaustive Attack atau Bruteforce attack Pengujian bruteforce dilakukan dengan mencoba semua kombinasi kunci yang digunakan untuk melakukan dekripsi (p dan x). Percobaan akan dilakukan sebanyak tiga kali dengan panjang kunci berbeda pada plaintext yang sama. Pada setiap panjang kunci yang sama akan dilakukan sebanyak empat kali percobaan penyerangan dengan nilai x acak. Plaintext yang digunakan adalah: Amankan dokumen rahasia itu dan jaga jangan sampai hilang, Serahkan pada Bp.Wardoyo hari senin besok jam 9 pagi di Auditorium Jl Prof Sudarto..Data nilai kunci percobaan pada Tabel 4.5. Tabel 4.5 Data nilai kunci percobaan bruteforce attack. Percobaan Nilai (p, g, y) Nilai x Acak 1. p : 383 g : 148 y : 295 2. p : 21599 g : 20543 y : 17305 3. p : 472254227 g : 12618948 y : 168465791 x 1 : 9 x 2 : 40 x 3 : 250 x 4 : 370 x 1 :125 x 2 :1897 x 3 :17500 x 4 : 21111 x 1 :1234 x 2 :1234567 x 3 : 213333737 x 4 : 413373733 Dari percobaan dapat dibuat tabel waktu rata-rata untuk setiap satu kali percobaan serangan dengan bruteforce attack.,seperti dapat dilihat pada Tabel 4.6 Tabel 4.6 waktu rata rata untuk setiap satu kali percobaan serangan Perc obaa n Nilai x acak Waktu serangan (dt) Waktu rata-rata serangan Waktu serang (x 1 + x 2 + x 3 + x 4)/4 1. x 1 : 9 0,050 42,5 milidetik x 2 : 40 0,040 x 3 : 250 0,030 x 4 : 370 0,050 2. x 1 : 125 0,040 37,5 milidetik x 2 : 1897 0,030 x 3 : 17500 0,040 x 4 : 21111 0,040 3. x 1 : 1234 0,031 49,25 milidetik x 2 : 1234567 0,040 x 3 : 213333737 0,040 x 4 : 413373733 0,086 Pengujian bruteforce didasarkan pada jumlah karakter kunci x. Jumlah karakter kunci x ini akan menentukan banyaknya jumlah percobaan yang harus dilakukan untuk mendapatkan hasil (plaintext). Tabel 4.7 Jumlah bit kunci x pada percobaan bruteforce attack. Percobaan Kunci x Jumlah bit Kunci 1. 338 3 karakter kunci atau (24bit) 2. 20123 5 karakter kunci atau (40bit) 3. 293839738 9 karakter kunci atau (72bit) Dengan menggunakan rumus maka jumlah kemungkinan kunci mungkin adalah : bit kunci Jumlah kemungkinan kunci =2 i. Percobaan 1 Dengan data pada Tabel 4.7 maka jumlah bit kunci percobaan 1 adalah 24. Dengan rumus jumlah kemungkinan kunci adalah : Jumlah kemungkinan kunci = 2 24 = 16.777.216. Apabila mencoba seluruh kemungkinan kunci, maka jumlah percobaan untuk mendapatkan hasil sama dengan jumlah kemungkinan kunci. Pada percobaan bruteforce untuk mendapatkan hasil setidaknya dilakukan separuh dari percobaan junlah kemungkinan kunci. Sehingga untuk mendapatkan hasil setidaknya dilakukan sebanyak : 0,5 x Jumlah kemungkinan kunci. 0,5 x 16.777.216 = 8.388.608 percobaan Lihat Tabel 4.8, pada percobaan 1 tercatat waktu ratarata yang diperlukan untuk melakukan setiap satu kali serangan adalah 42,5 milidetik atau 0,0425 detik. Dengan menggunakan waktu tersebut sebagai waktu yang dibutuhkan untuk setiap kali percobaan serangan, maka untuk mendapatkan hasil diperlukan waktu 0,0425 x banyak percobaan. Dengan demikian waktu yang diperlukan adalah : 0,0425 x 8.388.608 = 356.515,84 detik. ii. Percobaan 2 Jumlah kemungkinan kunci = 2 40 = 1.099.511.627.776 Banyak percobaan : 0,5 x Jumlah kemungkinan kunci. : 0,5 x 1.099.511.627.776 : 549.755.813.888 percobaan waktu yang diperlukan : 0,0375 x banyak percobaan. : 0,0375 x 549.755.813.888 : 20.615.843.020,8 detik. iii. Percobaan 3 Jumlah kemungkinan kunci = 2 72 = 4.722.366.482.869.645.213.696 Banyak percobaan : 0,5 x Jumlah kemungkinan kunci. : 0,5 x 4.722.366.482.869.645.213.696 : 2.361.183.241.434.822.606.848 percobaan waktu yang diperlukan : 0,04925 x banyak percobaan : 0,04925 x 2.361.183.241.434.822.606.848 : 116.288.274.640.665.013.387,264 detik. 6

Tabel 4.10 Data percobaan lama waktu bruteforce attack. Kunci x Jumla h bit Lama waktu bruteforce (detik) 338 24 356.515,84 20123 40 20.615.843.020,8 293839738 72 116.288.274.640.665.013.387,264 Dari percobaan yang dilakukan semakin besar jumlah karakter nilai x yang diambil maka akan semakin lama dalam proses pemecahan secara bruteforce. Hasil percobaan terlihat jumlah ciphertext adalah dua kali jumlah plaintext. Hal tersebut mengakibatkan panjang ciphertext lebih besar dibanding panjang plaintext. Ciphertext yang panjang akan membutuhkan waktu yang lebih lama saat proses pengiriman. Dengan melihat hal tersebut maka algoritma jenis ini kurang sesuai digunakan untuk jenis aplikasi yang berjalan real time. V. PENUTUP 5.1 Kesimpulan Dari hasil pengamatan selama perancangan, implementasi dan uji coba perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut. 1. Algoritma asimetri ElGamal sangat baik untuk mengatasi masalah manajemen distribusi kunci. 2. ElGamal ini mempunyai ketahanan yang baik terhadap metode serangan Ciphertext only attack dan Know plain attack. 3. Semakin panjang karakter kunci semakin lama waktu yang dibutuhkan dalam model serangan brute force attack. 4. Semakin panjang karakter kunci selain akan meningkatkan kekuatan pesan dari serangan juga akan menghasilkan ciphertext yang lebih besar. Sehingga algoritma ini kurang sesuai untuk jenis aplikasi yang berjalan real time. 5.2 Saran Untuk pengembangan aplikasi ini di masa depan yang akan datang, disarankan untuk menambahkan hal-hal sebagai berikut. 1. Menambahkan masukan yang tidak hanya sebatas pada karakter teks, koneksi tidak sebatas local host, dan penambahan proses lain yang dibutuhkan seperti misalnya proses ubah kunci. 2. Perlu dilakukan kombinasi dengan algoritma lain untuk mengurangi ukuran jumlah chipertext yang dihasilkan. Misalnya dengan melakukan proses pemampatan sebelum dilakukan proses kirim. 3. Perlu dilakukan kombinasi dengan algoritma kriptografi lain atau bahkan menggabungkan metode lain seperti steganografi sesuai dengan kebutuhan program aplikasi yang akan dibuat untuk meningkatkan kekuatan terhadap berbagai macam serangan yang mungkin dilakukan. DAFTAR PUSTAKA [1] Ardhian. A, A. Achmad, M.Z. Riyanto., Ancaman Keamanan Komunikasi dan Serangan Terhadap Kriptografi, http://sandi.math.web.id, 2008. [2] A.Menezes, P.van Oorschot, and S.Vanstone, Handbook of Applied Cryptography, CRCPress, New Jersey, 1996. [3] Munir, Rinaldi, Kriptografi,Informatika,Bandung, 2006. [4] Riyanto, M.Z, Pengamanan pesan rahasia menggunakan algoritma kriptografi ElGamal atas grup pergandaan Zp*. Jurusan Matematika FMIPA Universitas Gadjah Mada, Yogyakarta, 2007. BIODATA Nur Rochmat (L2F309026), lahir di Klaten, 28 Januari 1985. Mahasiswa Jurusan Teknik Elektro, konsentrasi Komputer dan Informatika, Universitas Diponegoro Semarang. Menyetujui, Pembimbing I R.Rizal Isnanto, ST, MM, MT. NIP. 197007272000121001 Tanggal... Pembimbing II Maman Somantri, ST, MT. NIP. 197406271999031002 Tanggal... 7