PROTOKOL PERTUKARAN KUNCI BERBASIS KRIPTOSISTEM KUNCI PUBLIK ELGAMAL
RESTU AULIYA
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2016
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Protokol Pertukaran Kunci Berbasis Kriptosistem Kunci Publik ElGamal adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Januari 2016 Restu Auliya NIM G54110057
ABSTRAK RESTU AULIYA. Protokol Pertukaran Kunci Berbasis Kriptosistem Kunci Publik ElGamal. Dibimbing oleh SUGI GURITMAN dan TEDUH WULANDARI MAS’OED. Komunikasi atau pertukaran data sekarang ini sangat mudah dilakukan bahkan komunikasi jarak jauh sekalipun. Namun kemudahan ini tidak hanya membawa dampak positif tetapi juga negatif, salah satunya adalah keamanan datadata yang dipertukarkan tersebut. Data tersebut harus dienkripsi menjadi pesan rahasia agar tidak seorang pun, selain party yang berkomunikasi, dapat mengetahui isi pesan rahasia tersebut. Kriptosistem pertukaran kunci publik ElGamal merupakan salah satu metode yang dapat digunakan untuk pengamanan tersebut. Karya ilmiah ini menjelaskan teori-teori yang digunakan dalam protokol pertukaran kunci berbasis kriptosistem kunci publik ElGamal, mekanisme protokol tersebut dan menganalisis keamanan dari kriptosistem kunci publik ElGamal. Party-party yang berkomunikasi akan membuat sebuah kunci rahasia atau kunci sesi dengan pertukaran kunci publik. Setelah pertukaran tersebut, party-party akan memeroleh kunci rahasia atau kunci sesi yang akan digunakan untuk mengenkripsi dan dekripsi data. Kriptosistem kunci publik ElGamal dapat dikatakan cukup aman karena adanya masalah logaritma diskret dan proses autentikasi yang mencegah terjadinya man-in-the-middle attack. Kata kunci: ElGamal, komunikasi, kriptosistem, kunci rahasia
ABSTRACT RESTU AULIYA. Key Exchange Protocol Based on ElGamal Public Key Cryptosystem. Supervised by SUGI GURITMAN and TEDUH WULANDARI MAS’OED. Nowadays, communication or data exchange is not something hard to do even if it is a long distance communication. However this advantage is not only bring positive effect but also negative effect, include the security of data. Data must be encrypted into a secret message so that no one could access it except the parties that doing the communication. ElGamal public key cryptosystem is suitable for this kind of operation. This manuscript describes theories that used in key exchange protocol based on ElGamal public key cryptosystem, the protocol mechanism, and analyze the security of ElGamal public key cryptosystem. The parties will provide a secure secret key by exchanging the public keys. After exchanging the public keys, parties generate the secret key that will be used to encrypt and decrypt data. ElGamal public key cryptosystem is secure enough because it has discrete logarithm problems and authentication process which is prevent it from man-in-the-middle-attack. Keywords: communication, cryptosystem, ElGamal, secret key
PROTOKOL PERTUKARAN KUNCI BERBASIS KRIPTOSISTEM KUNCI PUBLIK ELGAMAL
RESTU AULIYA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains pada Departemen Matematika
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih adalah Matematika Murni dengan judul Protokol Pertukaran Kunci Berbasis Kriptosistem Kunci Publik ElGamal. Penyusunan karya ilmiah ini juga tidak lepas dari bantuan berbagai pihak. Untuk itu penulis mengucapkan terima kasih kepada : 1. keluarga: Papa, Mama, Amel, dan Nicho, yang selalu mendoakan dan memberikan motivasi, 2. Bapak Dr. Sugi Guritman dan Ibu Teduh Wulandari Mas’oed, M.Si. selaku dosen pembimbing atas segala ilmu, motivasi, saran dan bimbingannya selama penulisan karya ilmiah ini, serta kepada Bapak Drs. Siswandi, M.Si selaku dosen penguji atas saran dan ilmu yang telah diberikan, 3. seluruh dosen Departemen Matematika, atas segala ilmu yang diberikan, 4. staf Departemen Matematika: Bapak Yono, Bapak Deni, Ibu Susi, dan Ibu Ade, atas bantuan dan saran yang telah diberikan, 5. Hendar Nugraha, atas semua doa, semangat, bantuan, saran, kritik, masalah, solusi, motivasi, dan semua yang telah diberikan selama ini, 6. Irma Fatmawati, Adam Priyo Hartono, Nabila Aditiarini, Henny Iswandriani, Dwi Irma Astuti, Hasannudin, Ikhwan Abiyyu, dan Mutammimul Ula, atas segala bentuk doa, bantuan dan dukungan yang diberikan, 7. seluruh mahasiswa Matematika IPB yang telah berperan aktif dalam memberi saran dan dukungan, 8. semua pihak yang telah membantu dalam penyusunan karya ilmiah ini. Semoga karya ilmiah ini bermanfaat.
Bogor, Januari 2016 Restu Auliya
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
2
TINJAUAN PUSTAKA
2
Teori Bilangan
2
Aljabar Abstrak
4
Kriptografi
12
PEMBAHASAN
14
Penurunan Kriptosistem ElGamal
14
Ilustrasi Protokol ElGamal
20
Analisis Keamanan Protokol Pertukaran Kunci ElGamal
21
SIMPULAN
22
DAFTAR PUSTAKA
22
LAMPIRAN
23
RIWAYAT HIDUP
27
DAFTAR TABEL 1 Hasil perhitungan 2 Hasil perhitungan nilai
dimana
adalah sisa dari dan
dibagi .
6 17
DAFTAR GAMBAR 1 2 3 4 5 6 7 8
Hasil Pemetaan X ke Y Hasil pemetaan X ke Y Hasil pemetaan Y ke X Padanan satu-satu dengan Pembangkitan Bilangan Prima Acak Pembangkitan Akar Primitif Tes Elemen Prima Primitif, Kunci Publik, dan Kunci Privat Enkripsi dan Dekripsi
5 6 6 18 23 24 25 26
DAFTAR LAMPIRAN 1 2 3 4
Proses Pembangkitan Kunci Proses Pembangkitan Kunci Proses Pembangkitan Kunci Proses Enkripsi dan Dekripsi
23 24 25 26
PENDAHULUAN Latar Belakang Pada zaman sekarang ini, menjaga kerahasiaan suatu data merupakan hal yang cukup sulit dilakukan. Banyak pihak yang tidak berwenang mampu mengakses data-data yang tidak seharusnya mereka ketahui. Berlandaskan alasan inilah digunakan ilmu kriptografi yaitu suatu teknik matematika yang berurusan dengan keamanan informasi seperti keutuhan data, kerahasiaan dan autentikasi entitas. Konsep kriptografi sebenarnya telah banyak diterapkan dalam kehidupan sehari-hari, namun mungkin tidak banyak orang yang menyadarinya. Misalkan saja kegiatan berkirim pesan melalui telepon selular. Teks yang dikirimkan akan diubah menjadi bilangan dan dikirimkan melalui jaringan, kemudian diterima telepon selular sebagai teks kembali. Mengubah teks pesan menjadi bilangan yang tidak memiliki makna ini disebut proses enkripsi sedangkan mengembalikan bilangan yang tidak memiliki makna menjadi suatu teks pesan disebut proses dekripsi. Misalkan saja terdapat dua pihak yang akan melakukan komunikasi atau pertukaran data. Mereka tidak ingin ada orang lain yang mengetahui data yang mereka pertukarkan, maka mereka menggunakan sistem kriptografi. Kedua pihak harus memiliki kunci untuk menjaga kerahasiaan data mereka. Kunci ini merupakan kunci sesi untuk melakukan proses enkripsi dan dekripsi sehingga pihak yang tidak memiliki kunci hanya dapat mengetahui teks sandi yang tidak bermakna saja tanpa bisa mengetahui teks asli dari data yang dipertukarkan. Kunci sesi tersebut dibagi menjadi dua jenis yaitu kunci simetrik dan kunci asimetrik. Kunci dikatakan simetrik apabila kunci yang digunakan untuk proses enkripsi dan dekripsi bernilai sama atau setimbang dan hanya boleh diketahui oleh pihak yang akan berkomunikasi. Sedangkan kunci dikatakan asimetrik apabila kunci enkripsi dan kunci dekripsi memiliki nilai yang berbeda. Kunci enkripsi yang bersifat asimetrik ini juga sering disebut sebagai kunci publik karena bersifat umum atau terbuka sedangkan untuk kunci dekripsi seringkali disebut kunci privat karena bersifat rahasia. Pembangkitan kunci sesi yang bersifat simetrik dapat menggunakan berbagai macam metode seperti DES (Data Encryption System), AES (Advanced Encryption Standard), metode substitusi dan lain-lain sedangkan untuk kunci yang bersifat asimetrik dapat menggunakan metode Diffie-Hellman, ElGamal dan lainnya. Kunci sesi dapat dibangkitkan oleh salah satu pihak saja lalu dikirimkan kepada pihak lainnya (key transport) atau kedua belah pihak sama-sama membangkitkan kunci lalu memastikan bahwa kunci yang mereka miliki adalah sama (key agreement). Pada bahasan kali ini akan dijelaskan mengenai mekanisme pembangkitan kunci sesi oleh kedua belah pihak yang akan melakukan komunikasi (key agreement) dan kunci sesi yang dibangkitkan bersifat asimetrik dengan menggunakan metode ElGamal serta bagaimana cara menerapkannya pada perangkat lunak Maple 13.
2 Tujuan Penelitian Tujuan dari karya ilmiah ini adalah : 1 Menjelaskan teori-teori yang digunakan dalam pertukaran kunci berbasis kriptosistem kunci publik ElGamal. 2 Menjelaskan mekanisme pembangkitan kunci sesi dengan protokol pertukaran kunci berbasis kriptosistem publik ElGamal. 3 Menganalisis keamanan protokol pertukaran kunci berbasis kriptosistem kunci publik ElGamal.
TINJAUAN PUSTAKA Untuk menjelaskan kriptosistem ElGamal, sebelumnya diperlukan pemahaman mengenai beberapa bagian dari teori bilangan, aljabar, dan kriptografi. Teori Bilangan Dalam kehidupan sehari-hari terdapat berbagai macam bilangan yang sudah tidak asing lagi seperti bilangan bulat, bilangan riil, bilangan imajiner dan sebagainya. Pada bahasan kali ini akan berfokus pada bilangan bulat. Himpunan + dilambangkan dengan (Menezes, bilangan bulat * 1996). Terdapat beberapa jenis operasi yang dapat dikenakan pada bilangan bulat dan yang akan digunakan pada bahasan kali ini adalah operasi pembagian. Definisi : (Keterbagian) Misalkan a, b adalah bilangan bulat. Maka a membagi b (ekuivalen dengan a adalah pembagi b atau a adalah faktor dari b) jika terdapat sebuah bilangan bulat c dimana . Jika a membagi b, maka dilambangkan dengan a|b (Menezes, 1996). Sebagai contoh, pilih nilai dan . Terdapat nilai ( )( ). Jadi dapat dikatakan 6|18. sehingga
sedemikian
Definisi : (Pembagi bersama) Suatu bilangan bulat c adalah pembagi bersama dari a dan b jika c|a dan c|b (Menezes, 1996). Definisi : (Greatest common divisor/Pembagi bersama terbesar) Suatu bilangan bulat tak negatif d adalah pembagi bersama terbesar dari bilangan bulat a dan b yang dilambangkan dengan ( ) jika : (i) d adalah pembagi bersama dari a dan b, dan (ii)
jika c|a dan c|b maka c|d.
3 Ekuivalen dengan ( ) adalah bilangan bulat positif terbesar yang membagi ( ) a dan b dengan pengecualian (Menezes, 1996). Sebagai contoh, pembagi bersama dari 12 dan 18 adalah * ( ) .
+ dan
Selain dapat dikenakan berbagai operasi, bilangan bulat juga terbagi menjadi beberapa jenis dan yang akan difokuskan pada bahasan kali ini adalah mengenai bilangan bulat prima dan bilangan bulat modulo n. Definisi : (Bilangan prima) Suatu bilangan bulat dikatakan prima jika pembagi positifnya hanya 1 dan p. Jika tidak memenuhi maka p disebut bilangan komposit (Menezes, 1996). Definisi : (Prima relatif) Dua buah bilangan bulat a dan b dikatakan prima relatif apabila (Menezes, 1996). dan
Misalkan ambil ( ) .
(
)
maka a dan b merupakan prima relatif karena
Definisi : (Fungsi- Euler) Untuk , didefiniskan ϕ ( ) adalah banyaknya bilangan bulat pada selang ) yang prima relatif dengan . Fungsi ϕ disebut fungsi-ϕ Euler (Menezes, , 1996). Teorema : (Sifat-sifat Fungsi- Euler) . 1. Jika prima, maka ( ) 2. FungsiEuler bersifat multiplikatif. Artinya jika ( ( ) ( ) ( ). 3. Jika adalah faktorisasi prima dari , maka ( )
(
)(
)
(
)
)
, maka
(Menezes, 1996).
Fungsi- Euler ini akan digunakan kemudian dalam pemahaman aljabar. Pada bilangan bulat juga terdapat teorema-teorema yang biasa digunakan. Pembahasan kali ini akan memberikan pemahaman mengenai teorema dasar aritmatika dan beberapa bagian dari aritmatika modular. Teorema : (Teorema Dasar Aritmatika) Setiap bilangan bulat dapat difaktorkan sebagai produk dari kuasa prima yang khas : , di mana adalah bilangan prima yang berbeda dan bilangan bulat positif (Menezes, 1996).
4 Definisi : (Kongruen) Jika dan bilangan bulat, maka disebut kongruen terhadap modulo ditulis dengan ( ), jika membagi ( ) (Menezes, 1996). Ambil (
).
dan
(
maka
) karena 10 membagi
Definisi : (Bilangan bulat modulo n) Bilangan bulat modulo n dinotasikan dengan adalah suatu himpunan bilangan bulat * + . Penjumlahan, pengurangan, dan perkalian dalam dimodulokan dengan n (Menezes, 1996). = {0,1,2,...,24}. Dalam pada Serupa dengan
(
karena
).
.
Definisi : (Invers perkalian) Untuk , inverse perkalian dari modulo adalah bilangan bulat ). Jika terdapat nilai , maka nilai tersebut sedemikian sehingga ( unik dan dikatakan invertible (Menezes, 1996). Jika invertible (
( ) maka a invertible jika dan hanya jika . Elemen yang pada adalah dan 8. Sebagai contoh, karena ).
Aljabar Abstrak Berikut akan diberikan pemahaman mengenai beberapa konsep aljabar yang berhubungan dengan kriptografi. Fungsi Definisi : (Fungsi) Sebuah fungsi yang memetakan ke adalah suatu hubungan antara dan dengan ketentuan bahwa setiap muncul sebagai anggota pertama dari tepat satu pasangan terurut ( ) dalam . Fungsi seperti ini juga biasa disebut peta atau pemetaan dari ke . Dapat dituliskan dan nyatakan ( ) dengan ( ) . Domain dari adalah himpunan dan himpunan adalah + (Fraleigh, 2000). kodomain dari . Range dari adalah , - * ( )| Dalam penulisan karya ilmiah ini, lambang digantikan dengan f.
yang menyatakan suatu fungsi akan
Misalkan * + dan f adalah suatu aturan yang dinyatakan dengan ( ) dimana adalah sisa dari dibagi . Sehingga diperoleh ( )
( )
( )
( )
( )
5 ( )
( )
Dan kodomain adalah * sebagai berikut
( )
( )
(
)
+. Pemetaan fungsi tersebut dapat diilustrasikan
Gambar 1 Hasil Pemetaan X ke Y Definisi : (Fungsi satu-satu) adalah satu-satu jika Suatu fungsi (Fraleigh, 2000).
Definisi : (Fungsi onto) Fungsi dikatakan onto Definisi : (Bijeksi) Jika fungsi (Menezes, 1996).
jika range dari
( )
adalah
adalah 1-1 dan
( ) hanya ketika
(Fraleigh, 2000).
( )
, maka
disebut bijeksi
Definisi : (Fungsi invers) Jika adalah sebuah bijeksi dari ke maka merupakan hal yang mudah untuk mendefinisikan bijeksi dari ke dengan ketentuan: untuk setiap nyatakan ( ) dengan dan ( ) . Fungsi yang diperoleh dari ini disebut fungsi invers dari dan dinotasikan dengan (Menezes, 1996). * + dan Sebagai contoh, misalkan yang didefinisikan dengan gambar berikut
*
+. Fungsi
6 X
f
Y
1 2 3 4
a b c d
Gambar 2 Hasil Pemetaan X ke Y adalah bijeksi dan jika sebagai berikut
maka fungsi
f
Y
yang digambarkan
X 1 2 3 4
a b c d
Gambar 3 Hasil Pemetaan Y ke X Dapat dikatakan apabila suatu fungsi memiliki sifat bijeksi maka fungsi tersebut memiliki invers. Definisi : (Fungsi satu arah/one way function) Suatu fungsi dari himpunan ke himpunan disebut fungsi satu arah jika ( ) mudah dihitung untuk setiap tetapi untuk hampir semua elemen ( ) dimana ( ) secara perhitungan tidak layak untuk menentukan (Menezes, 1996). Sebagai contoh, misalkan fungsi ( ) dimana dilihat pada Tabel 1.
* + dan untuk setiap didefinisikan adalah sisa dari dibagi , maka fungsi dapat
Tabel 1. Hasil perhitungan ( ) 1 3
2 9
3 10
4 13
dengan
5 5
adalah sisa dari
6 15
7 11
8 16
dibagi
9 14
10 8
Diberikan sembarang bilangan bulat dari sampai dengan adalah relatif mudah menghitung ( ). Tetapi, bila diberikan suatu bilangan misalkan , tanpa
7 melihat tabel secara perhitungan sangat sulit menentukan ( ) .
sehingga
Definisi : (Fungsi satu arah pintu jebakan/trapdoor one way function) Fungsi satu arah pintu jebakan adalah suatu fungsi satu arah yang diberikan informasi tambahan (disebut informasi pintu jebakan) sehingga menjadi mudah untuk menentukan dengan ( ) untuk setiap ( ) (Menezes, 1996). Sebagai ilustrasi pilih bilangan prima dan , dibentuk bilangan , dibuat himpunan * +, , dimana adalah dan didefinisikan fungsi pada dengan ( ) ) sisa dari dibagi n. Misalkan ( , diperoleh karena ( ) . Menghitung ( ) adalah relatif mudah dilakukan, tetapi proses balikannya adalah jauh lebih sulit, yaitu diberikan bilangan r untuk mencari nilai x sedemikian sehingga dibagi n sisanya adalah r. Jika faktor dari n adalah besar dan tidak diketahui, maka perhitungannya menjadi sangat sulit. Apabila faktor n diberikan yaitu bilangan prima dan , maka perhitungan menginversikan menjadi lebih mudah. Faktor p dan q inilah yang disebut dengan informasi tambahan. Definisi : (Operasi biner) Suatu operasi biner dalam himpunan S adalah pemetaan dari ke S. Hal ini berarti bahwa merupakan suatu aturan yang menetapkan setiap pasangan elemen S ke suatu elemen S (Menezes, 1996). ( ) Perkalian pada merupakan operasi biner, begitu pun pada himpunan bilangan riil (R) dan bilangan kompleks (C). Tetapi pembagian pada bukanlah operasi biner sebab .
Grup Definisi : (Grup) Sebuah grup ( ) memuat sebuah himpunan dan memenuhi tiga aksioma berikut :
dengan operasi biner
pada
( ) ( ) Operasi grup bersifat asosiatif yaitu untuk semua . (ii) Terdapat elemen yang disebut elemen identitas dimana untuk setiap . (iii) Untuk setiap terdapat satu elemen yang disebut invers dari dimana . Suatu grup dikatakan abelian (atau komutatif) jika (iv) untuk setiap (Menezes, 1996). (i)
8 Himpunan bilangan bulat, bilangan riil, dan bilangan kompleks adalah grup dan invers dari adalah – . dengan operasi . Unsur identitasnya adalah Grup-grup tersebut merupakan grup yang komutatif. Definisi : (Grup hingga/finite group) dikatakan berhingga jika order dari grup tersebut berhingga. Suatu grup Banyaknya elemen dalam grup berhingga disebut order (Menezes, 1996). Banyak elemen dari grup hingga atau order biasa dinotasikan dengan ( ) atau dengan operasi penjumlahan modulo , | | . Himpunan bilangan bulat membentuk sebuah grup berorder . Himpunan dengan operasi perkalian modulo bukanlah suatu grup karena tidak semua elemennya memiliki invers perkalian. Definisi : (Subgrup) Suatu himpunan bagian dari dan tidak kosong adalah subgrup dari jika juga merupakan suatu grup terhadap operasi yang dikenakan pada . Jika adalah subgrup dari dan maka disebut subgrup sebenarnya dari (Menezes, 1996). Definisi : (Order elemen) Nyatakan sebagai suatu grup dan . Order dari elemen didefinisikan sebagai bilangan bulat terkecil dimana dengan syarat bilangan bulat tersebut ada. Jika bilangan tersebut tidak ada, maka order dari elemen didefinisikan sebagai (Menezes, 1996). Definisi : (Grup siklik) Suatu grup disebut siklik apabila terdapat elemen sehingga untuk setiap terdapat suatu bilangan bulat dengan . Elemen disebut generator dari (Menezes, 1996). Jika adalah suatu grup dan maka himpunan dari semua pangkat terhadap membentuk suatu subgrup siklik dari yang disebut subgrup yang dibangkitkan oleh dan dinotasikan dengan 〈 〉. Sebagai ilustrasi ambil * bawah operasi penjumlahan modulo . dicari generator dari . * 〈 〉
* +
〈 〉
*
〈 〉
*
〈 〉
*
+
+ + +
+ merupakan suatu grup berorder di merupakan suatu grup siklik dan akan
9 Dapat dilihat bahwa order dari elemen dan sama dengan order dari grup ( ) sehingga dan merupakan generator dari . Selain dengan melakukan pengecekan satu per satu order setiap elemen, untuk mengetahui apakah elemen tersebut merupakan generator atau bukan, dapat pula digunakan pembagi bersama terbesar. Apabila dengan merupakan grup siklik dan ( ) a merupakan generator dari maka . Dari contoh sebelumnya ( ) dapat dilihat bahwa sehingga merupakan generator dari . Definisi : (Grup multiplikatif) Grup multiplikatif dari adalah * | dengan jika n prima maka
*
| ( ) + . Sama halnya + (Menezes, 1996).
merupakan sebuah grup berorder ( ) di bawah operasi perkalian Himpunan modulo dengan elemen identitas . Sebelumnya telah diketahui bahwa merupakan suatu grup dengan merupakan operasi penjumlahan modulo . Sedangkan grup multiplikatif suatu grup di bawah operasi perkalian modulo dan dinotasikan seperti pada definisi di atas. Elemen merupakan elemen dari grup yang telah dipastikan memiliki invers perkalian dan dinotasikan dengan ( ). Secara umum ( ) tidak siklik dengan sembarang bilangan bulat dan ( ) merupakan suatu grup apabila merupakan bilangan multiplikatif. ( ) akan bernilai sama dengan prima karena apabila merupakan bilangan prima maka elemen ( ) akan sama saja dengan elemen tanpa nol. Order dari ( ) dinotasikan dengan ( ) dan apabila prima maka order dari juga dapat dinotasikan sebagai ( ). Pada bahasan kali ini, untuk sembarang bilangan bulat, akan didefinisikan bahwa ( ). Misalkan diambil * + maka ( ) dengan ( ) * + . Tanpa melakukan perhitungan, dapat dipastikan bukanlah suatu grup siklik di bawah operasi perkalian modulo 15 bahwa dengan terlebih dahulu memahami lebih lanjut sifat-sifat generator grup siklik . Teorema : (Sifat-sifat generator grup siklik ) 1 memiliki generator jika dan hanya jika atau dimana bilangan prima ganjil dan . 2 Jika merupakan generator dari grup siklik , maka * mod | ( )+. 3 Misalkan generator dari . Maka ( mod ) juga merupakan generator jika dan hanya jika ( ( )) . Akibatnya, jika siklik maka banyaknya generator adalah ( ( )). ( )
merupakan generator dari jika dan hanya jika setiap faktor prima dari ( ) (Menezes 1996).
(mod ) untuk
Berdasarkan sifat generator ke-1 grup siklik , memiliki generator jika dan hanya jika atau dengan p bilangan prima ganjil. Karena tidak memenuhi sifat tersebut, maka tanpa dilakukan perhitungan pun dapat
10 dipastikan bahwa modulo 15.
bukanlah suatu grup siklik di bawah operasi perkalian
Definisi : (Homomorfisma Grup) ) . Suatu pemetaan Diberikan grup ( ) dan ( disebut ) homomorfisma grup jika untuk setiap , ( ( ) ( ). Jika bersifat injektif, maka disebut monomorfisma grup. Jika bersifat surjektif, maka disebut epimorfisma grup. Jika bersifat bijektif, maka ke , maka disebut isomorfisma grup. Jika terdapat isomorfisma dari dikatakan isomorfis dengan , ditulis (Fraleigh, 2000).
Ring Definisi : (Ring) Suatu ring ( ) terdiri atas himpunan dilambangkan dengan (penjumlahan) dan aksioma berikut :
dengan dua operasi biner yang (perkalian) pada , memenuhi
(i)
( ) adalah grup komutatif (abelian) dengan elemen identitas yang dilambangkan dengan .
(ii)
Operasi
asosiatif dimana : (
(iii)
Operasi
)
(
distributif terhadap ( (
)
Ring dikatakan komutatif jika
) (
) , dimana : (
) )
(
(
) dan
)
. (Menezes, 1996).
Aksioma 1,2, dan 3 dipenuhi pada beberapa struktur seperti dan sehingga masing-masing merupakan ring. Pada aksioma ke-(ii) dikatakan bahwa operasi perkalian termasuk asosiatif, apabila ring tersebut memiliki unsur identitas, biasanya dinotasikan dengan “ ”. Jika ring tersebut juga bersifat komutatif dan tanpa pembagi nol, maka ring tersebut merupakan suatu daerah integral yang akan dijelaskan pada bahasan 〉 terdiri dari bilangan-bilangan bulat modulo selanjutnya. Himpunan 〈 merupakan suatu ring komutatif dan memiliki unsur kesatuan. Daerah Integral Telah diketahui bahwa dalam ring berlaku jika , maka atau . Artinya, jika hasil kali dua bilangan bulat sama dengan nol,
11 maka salah satu faktornya harus sama dengan nol. Berikut akan didefinisikan suatu unsur pembagi nol dalam ring yang komutatif. Definisi : (Pembagi nol) Jika dan adalah dua elemen taknol dari suatu ring di mana dan adalah pembagi nol (Fraleigh, 2000)
, maka
Definisi : (Daerah Integral) Daerah integral adalah suatu ring komutatif dengan unsur kesatuan tidak mengandung pembagi nol (Fraleigh, 2000). Teorema : merupakan daerah integral jika dan hanya jika * +. bilangan prima Bukti ( )Diketahui
dan merupakan
merupakan bilangan prima
Ditunjukkan:
ring komutatif dan memiliki unsur kesatuan dibawah operasi perkalian yaitu 1.
Akan dibuktikan Andaikan sehingga
tidak mempunyai pembagi nol.
mempunyai pembagi nol, maka
Jika
,
, maka , atau
Kontradiksi dengan adalah bilangan prima, karena bilangan prima hanya akan habis dibagi oleh 1 dan bilangan itu sendiri. Sehingga haruslah atau Sehingga integral. ( )Diketahui
tidak mempunyai pembagi nol, dan
merupakan daerah
merupakan daerah integral maka tidak memiliki pembagi nol
Ditunjukkan: Andaikan
bukan bilangan prima maka
Karena Maka (
)
Akibatnya dan bilangan prima.
adalah pembagi nol. Terjadi kontradiksi, maka
haruslah
12 Lapangan (Field) Definisi : (Lapangan) Suatu lapangan adalah sebuah ring komutatif dimana semua elemen taknol memiliki invers perkalian (Menezes, 1996). Teorema : Setiap daerah integral yang berhingga adalah lapangan. Bukti : Misalkan adalah suatu daerah integral berhingga yang memiliki elemen sebanyak dimana dan masing-masing merupakan elemen yang berbeda. Diambil sebarang dengan . Perhatikan bahwa untuk ; dan * + . Andaikan , setiap untuk sebarang ; . Karena hukum kanselasi kanan dan kiri berlaku pada daerah integral diperoleh , kontradiksi dengan yang diketahui bahwa masing-masing merupakan elemen yang berbeda di . Jadi pengandaian salah, yang benar adalah , untuk sebarang dan . Akibatnya masing-masing elemen yang berbeda di dan berakibat juga { * . Karena , terdapat dengan + tunggal * + sedemikian sehingga . Diambil sebarang sedemikian sehingga . Perhatikan yang berarti bahwa terdapat ( ) ( ) bahwa . Akibatnya, merupakan elemen satuan di . Karena * + , salah satu dari perkalian tersebut, katakan , harus sama dengan . Dengan sifat komutatif diperoleh . Jadi setiap elemen tak nol di mempunyai invers. Dengan kata lain, merupakan lapangan. Kriptografi Kriptografi Definisi : (Kriptografi) Studi teknik matematika yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data (Menezes, 1996).
Kriptosistem Definisi : (Teks asli/Plain text) Pesan atau data dalam bentuk aslinya yang dapat terbaca. Teks asli adalah masukan bagi algoritma enkripsi (Sadikin, 2012). Definisi : (Kunci rahasia/Secret key) Secret key yang juga merupakan masukan bagi algoitma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi (Sadikin, 2012).
13 Definisi : (Teks Sandi/Chipertext) Chipertext adalah keluaran algoritma enkripsi. Chipertext dapat dianggap sebagai pesan dalam bentuk tersembunyi (Sadikin, 2012). Definisi : (Algoritma Enkripsi) Algoritma enkripsi memiliki dua masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi (Sadikin, 2012). Definisi : (Algoritma Dekripsi) Algoritma dekripsi memiliki dua masukan yaitu teks sandi dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci rahasia yang dipakai algoritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi (Sadikin, 2012). Algoritma enkripsi dan dekripsi dalam kriptografi haruslah memiliki sifat bijeksi, fungsi satu arah dan fungsi satu arah pintu jebakan. Bijeksi diperlukan untuk mentransformasikan pesan dan mengembalikannya ke pesan asli sedangkan sifat fungsi satu arah dan fungsi satu arah pintu jebakan berguna untuk menjaga kerahasiaan pesan yang dipertukarkan.
Protokol Pertukaran Kunci Definisi : (Protokol) Algoritma multi-party yang didefinisikan oleh urutan langkah-langkah yang secara tepat menentukan tindakan yang diperlukan oleh dua party atau lebih untuk mendapatkan tujuan tertentu (Menezes, 1996). Definisi : (Kelompok/Party) Seseorang atau sesuatu yang mengirim, menerima, dan memanipulasi informasi (Menezes, 1996). Definisi : (Pembentukan Kunci/Key Establishment) Suatu proses atau protokol dimana pembagian rahasia menjadi mungkin bagi dua atau lebih party dalam kriptografi (Menezes, 1996).
Definisi : (Persetujuan Kunci/Key Agreement) Suatu teknik pembangkitan kunci dimana kunci yang dipertukarkan dibangkitkan oleh dua party atau lebih sebagai fungsi dari informasi yang menghubungkan masing-masing party sehingga tidak ada party yang dapat menetapkan nilai hasilnya (Menezes, 1996).
14 Definisi : (Kunci Simetrik) Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai sama. Kunci pada penyandian simetrik diasumsikan bersifat rahasia, hanya pihak yang melakukan enkripsi dan dekripsi yang mengetahui nilainya (Sadikin, 2012). Definisi : (Kunci Asimetrik/Kunci Publik) Penyandian dengan kunci asimetrik atau kunci publik adalah penyandian dengan kunci enkripsi dan dekripsi berbeda nilai (Sadikin, 2012).
Autentikasi Definisi : (Autentikasi entitas/Identifikasi) Dalam suatu transaksi yang melibatkan dua partai, teknik identifikasi atau autentikasi entitas menjamin agar pihak kedua meyakini (melalui bukti yang kuat) identitas pihak pertama, sementara itu pihak pertama aktif menciptakan bukti yang diperlukan (Guritman, 2003). Definisi : (Autentikasi asal data/autentikasi pesan) Dalam suatu transakasi yang melibatkan dua partai, teknik autentikasi asal data atau autentikasi pesan menjamin satu pihak yang menerima pesan meyakini (melalui bukti yang kuat) bahwa pesan benar-benar berasal dari identitas pihak yang mengirim pesan (Guritman, 2003). Definisi : (Integritas data) Integritas data adalah suatu sifat dimana data belum dimanipulasi (diganti, disisipi, dihapus, diubah urutannya, dll) dengan suatu cara yang tidak sah oleh pihak-pihak yang tidak berwenang, sejak data itu dibuat, dikirim, atau disimpan (Guritman, 2003).
PEMBAHASAN Pada bab ini akan dibahas skema pembentukan dan pertukaran kunci menggunakan algoritma El Gamal dan analisis keamanan dari algoritma El Gamal. Penurunan Kriptosistem ElGamal Algoritma El Gamal merupakan suatu algoritma pertukaran kunci secara asimetrik atau dengan menggunakan kunci publik yang dibuat oleh Taher El Gamal pada tahun 1984. Algoritma ini membantu pembentukan kunci dan kemudian mempertukarkan kunci tersebut secara aman dan rahasia.
15 Pada algoritma ElGamal, akan dibuat suatu kunci yang pada akhirnya digunakan untuk berkomunikasi antar party. Algoritma ini lebih rumit karena kunci yang telah dibangkitkan akan terlebih dahulu dienkripsi dan kemudian didekripsi sehingga tidak ada pihak yang akan mengetahui kunci rahasia yang akan dipergunakan tersebut. Apabila party telah mendapatkan kunci yang autentik, maka komunikasi mereka dapat dilakukan tanpa diketahui pihak luar. Komunikasi dapat dilakukan pada jaringan tidak aman sekali pun karena pihak yang tidak mengetahui kunci yang dimiliki party tidak dapat mengetahui isi pesan yang dipertukarkan oleh party tersebut. Pembangkitan kunci Misalkan terdapat dua party yang akan berkomunikasi yaitu A dan B. Pilih salah satu pihak untuk melakukan pembangkitan kunci, misalkan dipilih A. Langkah-langkah pembangkitan kunci yang harus dilakukan oleh A adalah : 1 Bangkitkan sebuah bilangan prima acak yang besar dinotasikan dengan dan . bangkitkan generator dari grup multiplikatif 2 Pilih bilangan bulat acak di mana dan hitung nilai . 3 Kunci publik A adalah ( ) dan kunci privat A adalah .
Berikut diberikan penjelasan langkah pertama : Pada langkah pertama, hal yang harus dilakukan adalah membangkitkan sebuah bilangan prima acak yang besar yang dinotasikan dengan berarti sama haruslah suatu field agar menjamin setiap unsur dengan membangkitkan . taknolnya mempunyai invers dan proses enkripsi dan dekripsi dapat dilakukan. Bilangan p haruslah suatu bilangan prima, jika bukan bilangan prima, maka bukanlah suatu field. Untuk membuktikan pernyataan tersebut, dapat digunakan teorema yang berkaitan dengan daerah integral yaitu : a) merupakan daerah integral jika dan hanya jika bilangan prima, dan b) Setiap daerah integral yang berhingga merupakan suatu field. Sehingga dapat disimpulkan bahwa bilangan haruslah suatu bilangan prima, jika bukan bilangan prima, maka bukanlah suatu field. Tahap selanjutnya adalah membangkitkan sebuah generator dari grup multiplikatif . haruslah suatu grup siklik yaitu grup yang dapat dibangkitkan oleh minimal satu dari anggota grup tersebut dan pembangkit inilah yang disebut generator. Sebelumnya, akan dibuktikan terlebih dahulu bahwa adalah suatu grup siklik. Ambil dan merupakan order dari sedemikian sehingga . Apabila bilangan bulat positif demikian itu tidak ada, maka dikatakan bahwa order adalah takhingga atau nol (Sukirman 2006). Karena maka . Setiap elemen tak nol dari merupakan akar persamaan dari dan persamaan memiliki paling banyak penyelesaian, sehingga . Menurut teorema, jika suatu grup ( )| ( ) berhingga, maka (Menezes 1996), sehingga | Jadi, dapat disimpulkan bahwa Dengan demikian periode dari * ( ) + adalah Grup multiplikatif dari adalah |
16 * | Jika adalah bilangan prima, maka 1996). Berdasarkan definisi tersebut terbukti bahwa
+ (Menezes merupakan grup siklik.
Setelah yakin bahwa merupakan grup siklik, selanjutnya akan dipilih seperti yang telah nilai yang merupakan generator dari grup siklik disebutkan sebelumnya. Apabila nilai tidak terlalu besar, tidak sulit untuk memeriksa apakah benar adalah generator dari grup siklik . Tetapi jika nilai cukup besar atau bahkan sangat besar, dibutuhkan algoritma untuk memastikan bahwa yang dipilih adalah benar generator atau pembangkit dari grup siklik . Tes Elemen Prima Primitif Pada bahasan kali ini, akan dijelaskan cara memeriksa apakah suatu elemen anggota grup siklik merupakan pembangkit atau generator dari grup siklik tersebut. Pengujian yang dilakukan untuk memeriksa elemen tersebut berdasarkan pada teorema berikut. Teorema (Sifat-sifat generator grup siklik ) 1 memiliki generator jika dan hanya jika atau di mana bilangan prima ganjil dan . 2 Jika merupakan generator dari grup siklik , maka * mod | ( )+. 3 Misalkan generator dari , maka ( mod ) juga merupakan generator jika dan hanya jika ( ( )) . Akibatnya, jika siklik maka banyaknya generator adalah ( ( )). ( )
4
merupakan generator dari jika dan hanya jika untuk setiap faktor prima dari ( )
(mod )
(Menezes, 1996). Telah diketahui bahwa order dari adalah . Jika diberikan bilangan prima ganjil yang memenuhi dengan adalah bilangan prima, maka dapat digunakan sifat generator keempat untuk memastikan apakah suatu elemen * merupakan sebuah generator atau bukan. Karena maka sehingga dan merupakan pembagi prima dari . Kemudian akan diperiksa apakah nilai dan nilai . Apabila kedua pernyataan tersebut dipenuhi, maka pastilah merupakan generator atau akar primitif dari . Algoritma Tes Elemen Prima Primitif Langkah-langkah yang harus dilakukan dalam algoritma tes elemen prima primitif antara lain : (i) Input : Bilangan prima aman dan (ii) Output : Pernyataan “ adalah elemen primitif” atau “ bukan elemen primitif” 1 Hitung . 2 Hitung mod dan mod .
17 3 4
Jika mod , maka output “ bukan elemen primitif”. Jika mod , maka output “ bukan elemen primitif”. Output “ adalah elemen primitif”.
Sebagai contoh, pilih bilangan prima dan diapatkan nilai atau . Untuk mengetahui generator dari dilakukan dan . Hasil perhitungan perhitungan terhadap terhadap beberapa elemen dari dapat dilihat pada Tabel 2. Tabel 2 Hasil perhitungan nilai 10 100 1
11 121 1
dan
12 144 1
13 169 1
14 196 1
15 225 3466
. 16 256 1
17 289 1
18 324 3466
Dari Tabel 2. dapat disimpulkan bahwa elemen merupakan elemen generator dari dan bukanlah generator.
dan
Berikut diberikan penjelasan langkah kedua : Pada langkah kedua, yang harus dilakukan adalah pilih bilangan bulat acak dimana nilai berkisar antara . Sebelumnya akan dilakukan isomorfis dengan atau . pembuktian terlebih dahulu bahwa Teorema : Misalkan adalah sebuah grup siklik dengan generator . Jika order ) Jika order dari dari adalah tak hingga, maka isomorfis dengan ( ) adalah berhingga misalkan , maka isomorfis dengan ( Bukti (Kasus I) Jika order dari G adalah takhingga, maka G isomorfis dengan ( ). Untuk semua integer positif . Pada kasus ini menyatakan bahwa tidak ada dua eksponen berbeda dan dapat memberikan unsur yang sama dan pada . Andaikan dan katakanlah . Maka Bertentangan dengan asumsi Kasus I. Karena itu setiap elemen dari dapat dinyatakan sebagai , untuk yang khas. Pemetaan dengan ( ) sehingga dengan jelas menggambarkan fungsi satu-satu, dan onto . Juga, (
)
(
)
maka sifat homomorfisma terpenuhi dan
( )
(
)
adalah isomorfisma.
18 (Kasus II) Jika order dari adalah berhingga misalkan , maka ) isomorfis dengan ( untuk beberapa integer positif . Misalkan adalah integer positif terkecil sedemikian sehingga . Jika dan untuk , kemudian ( ) . Seperti pada Kasus I, jika dan , lalu dan , kontradiksi dengan pilihan yang dilakukan. Dengan demikian unsur Adalah semuanya berbeda dan terdiri dari semua unsur-unsur dari . Pemetaan dengan ( ) untuk sehingga dengan jelas menggambarkan fungsi satu-satu, dan onto . Karena , dapat dilihat bahwa dimana . Jadi (
)
maka sifat homomorfisma terpenuhi dan 2000).
( )
(
)
adalah isomorfisma (Fraleigh
Berdasarkan pembuktian tersebut, dapat dipastikan bahwa sehingga setiap unsur pada grup yang dibangkitkan oleh suatu generator, misalkan , berpadanan dengan tepat satu unsur anggota grup yang dimisalkan . Nilai sehingga dapat dikatakan bahwa yang akan dipilih berkisar antara . Apabila diketahui nilai , akan mudah mengetahui anggota yang berpadanan dengan . Misalkan pilih , * + dan merupakan suatu grup siklik di bawah perkalian * +. modulo yang dibangkitkan oleh elemen dan atau elemen dan merupakan generator dari grup siklik yang dilambangkan dengan . Misalkan dipilih nilai * + maka dapat dituliskan sebagai * + . Karena berpadanan satu-satu dengan maka dapat diilustrasikan sebagai berikut :
Gambar 4 Padanan satu-satu
dengan
Apabila diberikan suatu nilai , akan mudah untuk menghitung anggota , misalkan yang berpadanan dengan nilai tersebut. Sedangkan jika diketahui suatu nilai akan sukar untuk menghitung nilai yang berpadanan. Sebagai contoh, misalkan diketahui , karena nilai dan telah diketahui maka untuk mengetahui nilai akan mudah dengan menghitung . Sebaliknya, misalkan diketahui , untuk mengetahui nilai yang berpadanan harus dilakukan perhitungan terhadap . Hal ini yang menyebabkan nilai akan sulit untuk diketahui walaupun nilai ( ) diunggah melalui jaringan
19 tidak aman karena tidak layak hitung atau dapat dikatakan sangat sulit untuk diketahui. Masalah tersebut disebut sebagai masalah komputasi logaritma diskret yang kemudian menjadi salah satu faktor keamanan yang dimiliki algoritma ElGamal.
Berikut diberikan penjelasan langkah ketiga : Nilai yang telah dipilih ini kemudian akan digunakan sebagai kunci privat dari party A. Setelah memilih bilangan , A menghitung nilai . Hasil yang diperoleh dari protokol pembangkitan kunci ini adalah kunci privat A yaitu yang nilainya hanya diketahui oleh party A sendiri dan kunci publik yaitu ( ) yang kemudian diunggah melalui jaringan tidak aman. Enkripsi Pada tahap sebelumnya, telah dipilih party A sebagai pihak yang membangkitkan kunci. Maka pihak yang akan melakukan enkripsi adalah party B. Hal yang harus dilakukan party B pada tahap enkripsi ini adalah : 1 Memeroleh kunci publik A yang autentik ( ). 2 Nyatakan pesan asli sebagai suatu bilangan bulat h dalam selang * + 3 Pilih bilangan bulat acak dengan . 4 Hitung nilai dan ( ) . Kirim chipertext
(
) ke A.
Berikut diberikan penjelasan langkah pertama : ) yang Party B haruslah mendapatkan kunci publik A yaitu ( autentik. Party B harus terlebih dahulu melakukan autentikasi asal data terhadap kunci publik yang dimilikinya dan memastikan bahwa kunci tersebut berasal dari party A. Pada pembahasan kali ini, tidak dijelaskan lebih lanjut mengenai autentikasi asal data. Berikut diberikan penjelasan langkah kedua : Nyatakan pesan asli sebagai bilangan bulat dengan selang yang telah ditentukan. Nilai yang dimaksud sama dengan nilai kunci sesi yang akan digunakan party A dan B dalam berkomunikasi kemudian. Kunci inilah yang harus dimiliki kedua party agar komunikasi dua arah dapat terjadi di antara kedua party tersebut. Kunci ini hanya digunakan untuk satu sesi komunikasi dan selanjutnya tidak akan digunakan kembali. Berikut diberikan penjelasan langkah ketiga dan keempat : Setelah memiliki nilai , pilih bilangan bulat acak dengan batas yang telah ditentukan. Kemudian dhitung nilai dan ( ) . Hasil dari perhitungan tersebut akan mengubah pesan asli menjadi chipertext ( ) yang kemudian dikirimkan kepada party A melalui jaringan tidak aman.
20 Dekripsi Untuk mengembalikan nilai menjadi , maka party A harus melakukan tahap dekripsi pesan. Hal yang harus dilakukan party A adalah : 1 2
Gunakan kunci privat untuk menghitung . ) Kembalikan nilai dengan menghitung (
dengan catatan .
Berikut diberikan penjelasan langkah pertama dan kedua : Sebelum melakukan langkah pertama dan kedua, party A harus sudah mendapatkan chipertext yang dikirimkan oleh party B. Kemudian dengan menggunakan kunci privat , A menghitung nilai dengan catatan . Nilai akan dikembalikan dengan menghitung ( ) ) . Akan dibuktikan bagaimana ( dapat mengembalikan chipertext menjadi pesan asli . Diketahui :
(
)
(
)
Ditunjukkan: (
)
,
(
karena
)
, dengan
*
+
. Dari pembuktian tersebut, dapat dilihat bahwa dengan menghitung nilai ( ) dengan menggunakan kunci privat dapat dengan mudah mengembalikan nilai menjadi .
Ilustrasi Protokol ElGamal Selanjutnya akan diberikan ilustrasi menggunakan perangkat lunak Maple 13.
protokol
ElGamal
dengan
Pembentukan Kunci Sebagai contoh kasus misalkan A dan B akan berkomunikasi dengan sebuah kunci berukuran bit dengan nilai adalah , diperoleh nilai sebesar dan nilai sebesar . Selanjutnya akan dipastikan apakah nilai merupakan generator atau akar primitif dari . Diketahui nilai maka akan dihitung . Karena kedua perhitungan tersebut menghasilkan dipastikan bahwa merupakan generator.
dan dan
, maka dapat
21 Kemudian akan dihitung nilai yaitu 8358222058517261267863236597617557285387836027141 dan nilai yaitu . Maka kunci privat A adalah dan kunci publik yang akan diunggah adalah (107,21,5). Enkripsi Pada tahap ini, party B haruslah aktif untuk mencari kunci publik yang telah diunggah oleh party A melalui jaringan tidak aman. Setelah dipastikan memiliki kunci publik A, party B kemudian memilih dan yang akan digunakan pada tahapan selanjutnya. Misalkan dipilih dengan * + dan dengan Hitung nilai 73(5)83 mod ( ) ( Didapatkan nilai ) 107 = 23 dan yang kemudian dikirimkan kepada party A untuk selanjutnya didekripsi. Dekripsi Pendekripsian dapat dilakukan ketika party A telah menerima chipertext c yang dikirimkan oleh party B. Selanjutnya akan dihitung nilai . Kembalikan nilai dengan menghitung ( ) . Dengan perhitungan ini didapatkan nilai yang sama dengan yang telah ditentukan sebelumnya pada tahap enkripsi. Nilai yang telah didapatkan dan bernilai sama ini kemudian digunakan oleh kedua party sebagai kunci sesi komunikasi mereka. Dengan memiliki kunci sesi ini, maka tidak akan ada pihak yang mampu mengetahui informasi yang dipertukarkan oleh kedua party.
Analisis Keamanan Protokol Pertukaran Kunci ElGamal Pada bahasan sebelumnya telah diberikan penjelasan mengenai masalah logaritma diskret. Hal inilah yang menjadikan protokol pertukaran kunci dengan kriptosistem ElGamal dapat dikatakan cukup aman. Apabila dipilih nilai dan yang tepat dan melalui berbagai tes yang ada, maka protokol ini akan menjadi sulit untuk diretas. Masalah logaritma diskret ini juga membantu menyembunyikan nilai kunci privat dengan sangat baik dan tidak mudah melakukan proses enkripsi dan dekripsi pesan yang dipertukarkan apabila tidak memiliki kunci privat tersebut. Pada tahapan pembentukan kunci, salah satu party akan mengunggah kunci publik yang kemudian akan digunakan melalui jaringan tidak aman. Pengunggahan ini berbeda dengan mengirim kunci publik tersebut kepada party lain yang bersangkutan, pengunggahan ini dilakukan tanpa ditujukan untuk siapa pun. Hal ini menyebabkan kecil kemungkinan pihak lain yang tidak berkepentingan mengetahui dengan siapa party tersebut akan berkomunikasi. Protokol pertukaran kunci ElGamal ini merupakan perbaikan dari protokol pertukaran kunci Diffie-Hellman karena pada protokol ini dilakukan proses autentikasi terlebih dahulu. Protokol pertukaran kunci Diffie-Hellman rentan terhadap man in the middle attack. Serangan ini merupakan suatu kegiatan mengubah isi pesan yang sedang dipertukarkan tanpa diketahui oleh salah satu party. Hal ini dapat terjadi karena pada protokol pertukaran kunci Diffie-Hellman
22 tidak dilakukan proses autentikasi sebelumnya. Sehingga dapat dikatakan bahwa protokol pertukaran kunci dengan kriptosistem ElGamal lebih aman untuk dilakukan. Banyaknya kelebihan yang dimiliki protokol ElGamal ini didapatkan dengan perhitungan dan proses yang lebih rumit dari kebanyakan protokol lainnya. Sehingga walaupun memiliki banyak kelebihan, namun proses yang harus dilalui cukup rumit. Meskipun demikian, tidak dapat dikatakan bahwa kriptosistem ini merupakan metode yang terbaik yang dapat digunakan. Protokol-protokol pertukaran kunci baik simetrik maupun asimetrik hanyalah melengkapi kekurangan antar satu sama lainnya.
SIMPULAN Dalam penulisan karya ilmiah ini telah dibahas mengenai protokol pertukaran kunci berbasis kriptosistem kunci publik ElGamal, implementasinya menggunakan software Maple 13 dan analisis keamanan protokol pertukaran kunci tersebut. Berdasarkan hasil pembahasan, protokol pertukaran kunci publik dengan algoritma ElGamal dapat dikatakan cukup aman. Protokol pertukaran kunci ini bukan hanya memerlukan proses autentikasi tetapi juga protokol ini dapat dikatakan memiliki proses perhitungan yang cukup rumit dan lama terlebih untuk bilangan yang terbilang besar. Protokol ini juga dikatakan aman karena adanya masalah logaritma diskret dimana tidak mudah untuk mengetahui isi pesan yang dipertukarkan jika hanya mengetahui kunci publik yang disebar melalui jaringan tidak aman tanpa mengetahui kunci privat.
DAFTAR PUSTAKA Buchmann JA. 2000. Introduction to Cryptography. New York (US): SpringerVerlag Fraleigh JB. 2000. A First Course in Abstract Algebra. Sixth Edition. New York (US): Addison-Wesley Publishing Company. Guritman S. 2003. Pengantar Kriptografi. Bogor: Institut Pertanian Bogor. Menezes AJ, van Oorcshot PC, Vanstone SA. 1996. Handbook of Applied Cryptoography. Florida: CRC Press. Niven I, Zuckerman HS, Montgomery HL. 1991. An Introduction to The Theory of Numbers. New York: John Wiley & Sons. Sadikin, R. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta: ANDI OFFSET. Wahyuni S, Wijayanti IE, Palupi DJE. 2013. Pengantar Struktur Aljabar II. Yogyakarta: Universitas Gadjah Mada.
23 Lampiran 1 Proses Pembangkitan Kunci
Gambar 5 Pembangkitan Bilangan Prima Acak
24
Lampiran 2 Proses Pembangkitan Kunci
Gambar 6 Pembangkitan Akar Primitif
25 Lampiran 3 Proses Pembangkitan Kunci
Gambar 7 Tes Elemen Prima Primitif, Kunci Publik, dan Kunci Privat
26 Lampiran 4 Proses Enkripsi dan Dekripsi
Gambar 8 Enkripsi dan Dekripsi
27
RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 25 September 1993 dari pasangan bapak Tunggul Silitonga dan ibu Rully Nurhaty. Penulis merupakan putri pertama dari tiga bersaudara. Pada tahun 2011 penulis lulus dari SMAN 39 Jakarta dan pada tahun yang sama penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) melalui jalur Seleksi Nasional Masuk Perguruan Tinggi Negeri (SNMPTN) undangan dan diterima di Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama menjadi mahasiswa IPB, penulis aktif menjadi anggota himpunan profesi Gugus Mahasiswa Matematika IPB sebagai anggota Divisi Math Event pada periode 2012-2013 dan 2013-2014. Penulis juga aktif mengikuti komunitas perkusi mahasiswa Matematika yaitu Gumakusi. Penulis pernah memenangkan beberapa kejuaraan dalam bidang olahraga dan seni tingkat fakultas dan tingkat IPB. Penulis juga pernah menjadi panitia di berbagai acara yang diselenggarakan oleh Gugus Mahasiswa Matematika (Gumatika), Badan Eksekutif Mahasiswa Fakultas MIPA, dan Badan Eksekutif Mahasiswa Keluarga Mahasiswa IPB.