Protokol Pertukaran Kunci Berbasis Kriptosistem Kunci Publik Elgamal.

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
bilangan bulat
dilambangkan dengan (Menezes,
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
sehingga
. Jadi dapat dikatakan 6|18.

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).
Misalkan ambil

maka a dan b merupakan prima relatif karena

dan
.

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
Serupa dengan
pada

karena
.

Definisi : (Invers perkalian)
Untuk
, inverse perkalian dari modulo adalah bilangan bulat
sedemikian sehingga
. Jika terdapat nilai , maka nilai tersebut
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
|
kodomain dari . Range dari adalah
(Fraleigh, 2000).
Dalam penulisan karya ilmiah ini, lambang
digantikan dengan f.

Misalkan
dimana

yang menyatakan suatu fungsi akan

dan f adalah suatu aturan yang dinyatakan dengan
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)
Suatu fungsi
adalah satu-satu jika
(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).
Sebagai contoh, misalkan
dan
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
secara perhitungan tidak layak untuk menentukan
dimana
(Menezes, 1996).
Sebagai contoh, misalkan
fungsi
dimana
dilihat pada Tabel 1.

adalah sisa dari

Tabel 1. Hasil perhitungan
1
3

2
9

3
10

dan untuk setiap
didefinisikan
dibagi
, maka fungsi dapat

dengan

4
13

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
,
dan didefinisikan fungsi pada dengan
, dimana adalah
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 :
(i)

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).

8
Himpunan bilangan bulat, bilangan riil, dan bilangan kompleks adalah grup
dengan operasi . Unsur identitasnya adalah
dan invers dari adalah – .
Grup-grup tersebut merupakan grup yang komutatif.
Definisi : (Grup hingga/finite group)
Suatu grup
dikatakan berhingga jika order dari grup tersebut berhingga.
Banyaknya elemen dalam grup berhingga disebut order (Menezes, 1996).
Banyak elemen dari grup hingga atau order biasa dinotasikan dengan
atau
| | . Himpunan bilangan bulat
dengan operasi penjumlahan modulo ,
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

Himpunan
merupakan sebuah grup berorder
modulo dengan elemen identitas .

|

. Sama halnya
(Menezes, 1996).
di bawah operasi perkalian

Sebelumnya telah diketahui bahwa
merupakan suatu grup dengan
operasi penjumlahan modulo . Sedangkan grup multiplikatif
merupakan
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
multiplikatif.
akan bernilai sama dengan
apabila merupakan bilangan
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 )
memiliki generator jika dan hanya jika
atau
dimana
1
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)
Diberikan grup
dan
. Suatu pemetaan
disebut
homomorfisma grup jika untuk setiap
,
.
Jika
bersifat injektif, maka
disebut monomorfisma grup. Jika
bersifat
surjektif, maka disebut epimorfisma grup. Jika
bersifat bijektif, maka
disebut isomorfisma grup. Jika terdapat isomorfisma dari
ke , maka
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

, dimana :
dan
.

Ring dikatakan komutatif jika

(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
selanjutnya. Himpunan
terdiri dari bilangan-bilangan bulat modulo
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

tidak mempunyai pembagi nol.

mempunyai pembagi nol, maka

Andaikan
sehingga
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
setiap
;
dan
. Andaikan
,
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
yang berarti bahwa terdapat
sedemikian sehingga
. Perhatikan
. Akibatnya,
merupakan
bahwa
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
dengan membangkitkan
.
haruslah suatu field agar menjamin setiap unsur
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
merupakan akar
maka
. Setiap elemen tak nol dari
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
|
adalah
Grup multiplikatif dari

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
nilai
yang merupakan generator dari grup siklik
seperti yang telah
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
.
mod
, maka
2 Jika
merupakan generator dari grup siklik
|
.
, maka
mod
juga merupakan
3 Misalkan
generator dari
generator
jika dan hanya jika
. Akibatnya, jika
siklik
maka banyaknya generator adalah
.
4

merupakan generator dari
untuk setiap faktor prima dari

jika dan hanya jika

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
. Untuk mengetahui generator dari
atau
dilakukan
perhitungan terhadap
dan
. Hasil perhitungan
terhadap beberapa elemen dari
dapat dilihat pada Tabel 2.
Tabel 2 Hasil perhitungan nilai
10
100
1

11
121
1

12
144
1

dan
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
pembuktian terlebih dahulu bahwa
isomorfis dengan
atau
.
Teorema : Misalkan adalah sebuah grup siklik dengan generator . Jika order
dari adalah tak hingga, maka isomorfis dengan
Jika order dari
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
yang dibangkitkan oleh suatu generator, misalkan ,
setiap unsur pada grup
berpadanan dengan tepat satu unsur anggota grup
yang dimisalkan . Nilai
yang akan dipilih berkisar antara
sehingga dapat dikatakan bahwa
. 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
4

Pilih bilangan bulat acak
Hitung nilai

Kirim chipertext

dengan
dan

.
.

) 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:
, dengan

,

karena

.
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
107 = 23 dan
Didapatkan nilai
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.