Protokol Pertukaran Kunci Berbasis Kriptosistem Kunci Publik Diffie-Hellman

PROTOKOL PERTUKARAN KUNCI BERBASIS
KRIPTOSISTEM KUNCI PUBLIK DIFFIE-HELLMAN

HENDAR NUGRAHA

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
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 Diffie-Hellman 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
Hendar Nugraha
NIM G54110029

ABSTRAK
HENDAR NUGRAHA. Protokol Pertukaran Kunci Berbasis Kriptosistem Kunci
Publik Diffie-Hellman. Dibimbing oleh SUGI GURITMAN dan TEDUH
WULANDARI MAS’OED.
Karya ilmiah ini menjelaskan teori-teori yang digunakan dalam protokol
pertukaran kunci berbasis kriptosistem kunci publik Diffie-Hellman, mekanisme
protokol tersebut dan menganalisis keamanan dari kriptosistem kunci publik
Diffie-Hellman. Algoritme Diffie-Hellman merupakan salah satu protokol
komunikasi dengan sistem kriptografi kunci asimetri atau kunci publik. Algoritma
ini digunakan untuk mempertukarkan kunci rahasia bersama (kunci rahasia yang
digunakan untuk komunikasi dengan menggunakan sistem kriptografi simetri)
antara dua orang atau lebih. Tingkat keamanan dari algoritme Diffie-Hellman
didasarkan pada masalah logaritma diskret bagi grup pergandaan bilangan bulat
modulo prima. Karena tidak adanya proses autentifikasi dalam algoritme DiffieHellman, mengakibatkan algoritme ini rentan terhadap ancaman dari penyerang
aktif dalam proses pertukaran kunci.

Kata kunci:
Diffie-Hellman, kunci publik, kunci rahasia bersama,
masalah logaritma diskret, pertukaran kunci

ABSTRACT
HENDAR NUGRAHA. Key Exchange Protocol Based on Diffie-Hellman Public
Key Cryptosystem. Supervised by SUGI GURITMAN and TEDUH
WULANDARI MAS’OED.

This manuscript describes theories that used in key exchange protocol based on
Diffie-Hellman public key cryptosystem, the protocol mechanism, and analyze the
security of Diffie-Hellman public key cryptosystem. Diffie-Hellman algorithm is
one of the protocols of communication with asymmetric key or public key
cryptography system. This algorithm is used to exchange the shared secret key (a
secret key used for communication using a symmetric key cryptography system)
between two or more persons. Security level of Diffie-Hellman algorithm is based
on the discrete logarithm problem for multiplicative group of modulo a prime
integer. Since there is no authentication process in the Diffie-Hellman algorithm,
the algorithms are considered vulnerable to the threat of an active attacker in the
key exchange process.

Keywords:
Diffie-Hellman, discrete logarithm problem, key exchange, public
key, shared secret key

PROTOKOL PERTUKARAN KUNCI BERBASIS
KRIPTOSISTEM KUNCI PUBLIK DIFFIE-HELLMAN

HENDAR NUGRAHA

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 nikmat, hidayah, dan karunia-Nya sehingga penulis dapat menyelesaikan
karya ilmiah yang berjudul Protokol Pertukaran Kunci Berbasis Kriptosistem
Kunci Publik Diffie-Hellman. Pada Penyusunan karya ilmiah ini tidak lepas dari
bantuan beberapa pihak. Oleh karena itu, penulis mengucapkan terimakasih
kepada:
1 Allah SWT atas segala rahmat dan karunia-Nya,
2 Nabi besar Muhammad SAW sebagai nabi akhir zaman,
3 keluarga tercinta: Ibu Eti Ratipah dan Bapak Udin Supriyanto, serta kedua
saudara saya yang selalu memberikan semangat, motivasi dan doa,
4 Bapak Sugi Guritman, dan Ibu Teduh Wulandari Mas’oed selaku dosen
pembibing, terima kasih atas segala kesabaran, ilmu, saran dan motivasinya
selama membimbing menulis, serta Bapak Siswandi selaku dosen penguji,
5 Restu Auliya yang telah berjuang bersama dalam penyusunan karya ilmiah ini,
terimakasih atas doa, tenaga dan pikirannya serta waktunya untuk menemani
dan mengisi hari-hari selama ini,
6 staf tata usaha Departemen Matematika IPB,
7 teman-teman mahasiswa Matematika 48, terimakasih atas doa, semangat, serta

kebersamaannya selama ini,
8 semua pihak yang telah membantu dalam penyusunan karya ilmiah ini, terima
kasih.
Bogor, Januari 2016
Hendar Nugraha

DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

PENDAHULUAN


1

Latar Belakang

1

Tujuan Penelitian

1

TINJAUAN PUSTAKA

2

Teori Bilangan

2

Aljabar Abstrak


2

Aritmatika Modular

12

Kriptografi

13

PEMBAHASAN

15

Skema pertukaran kunci Diffie-Hellman

17

Implementasi Protokol Pertukaran Kunci Diffie Hellman


22

Analisis Keamanan Protokol Pertukaran Kunci Diffie-Hellman

23

SIMPULAN DAN SARAN

24

Simpulan

24

Saran

25

DAFTAR PUSTAKA


25

LAMPIRAN

26

RIWAYAT HIDUP

28

DAFTAR TABEL
1
2
3

Hasil perhitungan
Operasi perkalian pada
Perhitungan
mod


dengan
dan

adalah sisa dari
mod

dibagi

5
9
20

DAFTAR GAMBAR
1
2
3

Hasil pemetaan A ke B oleh
Hasil pemetaan A ke B oleh

Hasil pemetaan B ke A oleh

dengan

3
4
4

DAFTAR LAMPIRAN
1 Implementasi Algoritme 2
2 Implementasi Algoritme 3

26
27

PENDAHULUAN
Latar Belakang
Kemajuan dan perkembangan teknologi informasi dewasa ini telah
berpengaruh pada hampir semua aspek kehidupan manusia, tak terkecuali dalam
hal komunikasi. Misal dengan adanya jaringan internet, komunikasi jarak jauh
dapat dilakukan dengan cepat dan mudah. Namun di sisi lain, ternyata jaringan
internet tidak terlalu aman karena merupakan media komunikasi umum yang
dapat digunakan oleh siapapun, sehingga sangat rawan terhadap penyadapan
informasi oleh pihak-pihak yang tidak berhak mengetahui informasi tersebut.
Oleh karena penggunaan internet yang sangat luas seperti pada bisnis,
perdagangan, bank, industri, dan pemerintahan yang umumnya mengandung
informasi yang bersifat rahasia maka keamanan informasi menjadi faktor utama
yang harus dipenuhi.
Berbagai hal telah dilakukan untuk mendapatkan jaminan keamanan
informasi rahasia ini. Salah satu cara yang digunakan adalah dengan menyandikan
atau merubah isi informasi menjadi suatu kode-kode yang tidak dimengerti atau
tidak bermakna. Tentunya hal ini dilakukan tidak secara sembarang, karena
perubahan-perubahan tersebut menggunakan algoritme tertentu sehingga ketika
sudah diubah menjadi sandi tertentu dapat dikembalikan lagi menjadi keadaan
awal. Cara dan metode-metode untuk menjaga kerahasiaan suatu data atau
informasi ini disebut kriptografi. Metode tersebut dalam pengiriman data dapat
diilustrasikan seperti ini : data awal enkripsi chiperteks (sandi) dekripsi data
awal.
Dalam melakukan enkripsi dan dekripsi tersebut diperlukan suatu kunci
untuk mengubah pesan dari data awal menjadi sandi tersebut dan untuk mengubah
dari sandi tersebut menjadi data awal kembali. Sehingga bagian penting dalam
penyamaran data ini adalah pada bagian kunci tersebut. Kunci tersebut tidak boleh
jatuh kepada pihak-pihak yang tidak berhak untuk mengetahui isi pesan yang akan
dipertukarkan. Tersedianya kunci bersama bagi dua orang atau lebih yang akan
berkomunikasi tentunya dilakukan dengan proses atau metode yang aman agar
kunci tersebut terjaga kerahasiaannya. Proses yang berkaitan dengan ketersediaan
kunci bersama ini terdapat dua jenis, yaitu pengiriman kunci dan pertukaran
kunci. Salah satu contoh dari metode tersebut adalah protokol pertukaran kunci
Diffie-Hellman, yang kemudian akan menjadi fokus pada pembahasan dalam
karya ilmiah ini.

Tujuan Penelitian
1.
2.

Tujuan dari karya ilmiah ini adalah :
Menjelaskan dasar-dasar teori yang digunakan dalam protokol pertukaran
kunci Diffie Hellman.
Menjelaskan cara kerja protokol Diffie-Hellman dalam skema pertukaran
kunci.

2
3.

Menganalisis keamanan protokol pertukaran kunci Diffie-Hellman.

TINJAUAN PUSTAKA
Pada bab ini akan diberikan definisi–definisi mengenai teori bilangan,
aljabar, aritmatika modular dan kriptgrafi.

Teori Bilangan
Definisi 1 (Keterbagian)
Suatu bilangan bulat dikatakan terbagi oleh
,
sedemikian sehingga
, dan dinotasikan dengan
terbagi oleh dinotasian
(Niven 1991).

jika terdapat
Untuk kasus tidak

Definisi 2 (Pembagi Bersama Terbesar)
Suatu bilangan bulat tak negatif disebut pembagi bersama terbesar (greatest
common divisor/gcd) dan , dinotasikan
jika :
1.
adalah pembagi bersama dan
2. Jika
dan
, maka
.
(Menezes 1996)
Definisi 3 (Bilangan Prima)
Suatu bilangan bulat dikatakan prima jika tidak ada pembagi yang memenuhi
. Jika bilangan
bukan prima maka
dikatakan bilangan
komposit (Niven 1991).
Definisi 4 (Prima Relatif)
Bilangan bulat dan dikatakan prima relatif atau disebut juga koprima jika
(Menezes 1996).
Definisi 5 (Fungsi- Euler)
Untuk
, didefiniskan
adalah banyaknya bilangan bulat pada selang
yang prima relatif dengan . Fungsi disebut fungsi- Euler (Menezes
1996).

Aljabar Abstrak
Definisi 6 (Fungsi)
Sebuah fungsi yang memetakan
dengan ketentuan bahwa setiap

ke adalah suatu hubungan antara dan
muncul sebagai anggota pertama dari tepat

3
satu pasangan terurut
dalam , dengan
. Fungsi seperti ini juga biasa
disebut peta atau pemetaan dari ke . Dapat dituliskan
dan nyatakan
dengan
. Domain dari adalah himpunan dan himpunan
} (Fraleigh,
adalah kodomain dari . Range dari adalah f ] {
2000).
Contoh 1
Misalkan
{
} ,
{
} dan f adalah suatu aturan yang
memadankan setiap elemen dalam himpunan secara tepat satu ke elemen pada
himpunan , yaitu
yang pada contoh ini dinyatakan dengan
.
Sehingga diperoleh
dan
berikut

{

}. Pemetaan fungsi tersebut dapat diilustrasikan sebagai

A

f

1
2
3
4
5

Gambar 1 Hasil pemetaan A ke B oleh

B

1
2
3
4
5
6
dengan

Definisi 7 (Fungsi Injektif)
Suatu fungsi dari ke disebut fungsi injektif atau fungsi satu-satu (1-1) jika
untuk setiap dua anggota, misalkan
dengan
, maka
(Buchmann 2000).
Definisi 8 (Fungsi Surjektif)
Suatu fungsi dari ke disebut fungsi surjektif atau onto jika untuk setiap
ada
sehingga
(Buchmann 2000).
Definisi 9 (Fungsi Bijektif)
Suatu fungsi dari ke yang mana merupakan fungsi injektif dan sekaligus
fungsi surjektif, maka f disebut fungsi bijektif atau korespondensi 1:1 (Buchmann
2000).
Definisi 10 (Invertibel)
Jika f adalah suatu fungsi bijektif dari A ke B, maka ada suatu bijeksi g dari B ke A
sehingga untuk setiap
berlaku
jika dan hanya jika
.

4
Dalam hal demikian f disebut invertibel, g merupakan invers dari f dengan notasi
(Guritman 2003).
Contoh 2
{
} dan
misalkan
dengan gambar berikut
A

{

} . Fungsi

yang didefinisikan

B

f

5
6
7
8

1
2
3
4

Gambar 2 Hasil pemetaan A ke B oleh
adalah fungsi bijektif dan jika
sebagai berikut
B
5
6
7
8

maka fungsi

g

yang digambarkan

A
1
2
3
4

Gambar 3 Hasil pemetaan B ke A oleh
Dapat dikatakan apabila suatu fungsi memiliki sifat bijeksi maka fungsi
tersebut memiliki invers.
Definisi 11 (Fungsi Satu Arah / One Way Function)
Suatu fungsi
disebut dengan fungsi satu arah jika untuk setiap
adalah mudah dihitung. Tetapi untuk kebanyakan
, secara
perhitungan tak-layak (computationally infeasible) untuk dapat menentukan
atau
(Guritman 2003).
Contoh 3
Misalkan
{
} dan untuk setiap
didefinisikan fungsi
di mana adalah sisa dari
dibagi 5 , maka fungsi dapat dinyatakan dalam
tabel berikut

5
Tabel 1 Hasil perhitungan

dengan

adalah sisa dari

1

2

3

4

5

2

4

3

1

2

dibagi

Diberikan sembarang bilangan bulat dari sampai dengan , untuk menghitung
nilai
adalah relatif mudah. Tetapi, bila diberikan suatu nilai
misalkan 4,
tanpa melihat tabel untuk menentukan
sehingga
secara
perhitungan adalah sangat sulit. Sehingga secara umum, apabila diberikan anggota
kodomain dari f adalah tidak mudah untuk menentukan domainnya.
Definisi 12 (Fungsi Satu Arah Pintu Jebakan / Trapdoor One Way Function)
Fungsi satu arah pintu jebakan adalah fungsi satu arah
yang apabila
diberikan informasi ekstra (yang disebut informasi pintu jebakan), maka
perhitungan untuk mencari nilai
dengan diketahui
, sehingga
menjadi mudah (Guritman 2003).
Contoh 4
Misalkan pilih bilangan prima

dan

, dibentuk bilangan
, dibuat himpunan
{
}, dan didefinisikan fungsi pada dengan
, di mana
adalah sisa dari
dibagi n. Misalkan
, diperoleh karena
. Untuk menghitung
akan relatif mudah dilakukan, tetapi
proses balikannya adalah jauh lebih sulit, yaitu apabila diberikan bilangan
untuk mencari nilai x sedemikian sehingga
dibagi n sisanya adalah . 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 ekstra.
Definisi 13 (Operasi Biner)
Operasi biner
pada himpunan adalah pemetaan
aturan yang memetakan setiap pasangan berurut unsur
1996).

. Jadi,
ke dalam

adalah
(Menezes

Definisi 14 (Grup)
Diberikan sebarang himpunan tidak kosong dan operasi biner “ ” pada , maka
disebut grup terhadap operasi biner “ ” dan ditulis
jika memenuhi
1. Operasi biner “ ” pada bersifat asosiatif, artinya
,
2. Terdapat dengan tunggal elemen identitas yaitu
sedemikian hingga
untuk setiap
berlaku
,

6
3. Untuk setiap
terdapat elemen inversnya, yaitu
sedemikian
hingga berlaku
Suatu grup
disebut Abelian jika operasi binernya bersifat komutatif.
Selanjutnya, grup
dapat dituliskan dengan apabila operasi binernya telah
diketahui (Fraleigh 2000).
Bersifat closure, artinya setiap hasil dari operasi biner “ ” antar elemennya
akan tetap berada di .
Definisi 15 (Order Grup)
Order dari sebuah grup menyatakan banyaknya anggota himpunan dari grup
tersebut. Grup berhingga adalah suatu grup yang berorder atau memiliki jumlah
elemen berhingga (Menezes 1996).
Grup
merupakan sebuah himpunan bilangan bulat dengan anggota
himpunannya yaitu {
}. Penjumlahan
dihitung dalam modulo .
Karena operasi penjumlahan pada
bersifat asosiatif, terdapat elemen identitas
yaitu
, serta karena penjumlahan di
dihitung dalam modulo dan setiap
elemen dalam grup
memiliki invers maka
dikatakan sebagai grup.
Contoh 5
adalah sebuah grup berhingga yang memiliki enam buah elemen, yaitu
{
}, dengan operasi penjumlahan. Operasi penjumalahan pada grup ini
dihitung dalam modulo , artinya setiap hasil penjumlahan yang dilakukan
hasilnya merupakan sisa pembagian dari 6. Akibatnya berapapun hasil
penjumlahan dari setiap elemen
maka hasilnya adalah sebuah bilangan yang
merupakan elemen
juga . Misalkan
mod
mod
.
Definisi 16 (Grup Siklik)
Suatu grup disebut grup siklik jika ada elemen
sedemikian sehingga
untuk setiap elemen
dapat dinyatakan sebagai
, di mana
merupakan bilangan bulat positif (Menezes 1996).
Tidak semua elemen dari
merupakan generator atau pembangkit. Hanya
elemen misalkan
yang memenuhi
.
Contoh 6
adalah sebuah grup berhingga yang memiliki order dan elemen-elemennya
adalah {
}.
adalah sebuah grup siklik dengan salah satu generatornya
yaitu .
Bukti
mod 6)
mod 6)
mod 6)

7
mod 6)
mod 6)
mod 6)
Hasil dari setiap , untuk
telah mewakili setiap elemen dari .
Sehingga apabila perhitungan
dilanjutkan dengan nilai
dari
sampai
seterusnya, maka hasilnya akan kembali lagi ke , untuk
. Misal
untuk
maka
mod
, nilainya
sama dengan atau kembali lagi ke untuk
.
Definisi 17 (Order Elemen Grup)
Order dari elemen grup adalah bilangan bulat positif terkecil sedemikian
sehingga
, kemudian dinotasikan dengan
, di mana
adalah elemen grup tersebut dan adalah elemen identitas (Menezes 1996).
Contoh 7
Seperti pada kasus diatas berarti order dari atau
adalah karena hasil
dari perhitungan
, dan
merupakan elemen identitas dari operasi
penjumlahan. Order dari suatu generator nilainya maksimum atau nilainya sama
dengan jumlah order dari grup.
Definisi 18 (Grup Multiplikatif)
Grup multiplikatif dari
adalah
{
jika prima maka

{

} (Menezes 1996).

}. Secara khusus,

merupakan bilangan-bilangan yang mempunyai invers
Unsur dari
perkalian yang berasal dari . Dengan menghilangkan semua anggota yang tidak
mempunyai invers perkalian dari
maka akan didapatkan unsur-unsur dari .
bukan merupakan siklik. Jika bilangan merupakan bilangan
Secara umum
prima, maka unsur dari
adalah semua anggota tak nol dari
. Order dari
sebuah grup
dinotasikan dengan
.
Contoh 8
merupakan sebuah grup multiplikatif dengan elemen-elemennya yaitu
{
}. Grup ini bukan merupakan grup siklik karena tidak ada
elemen yang memiliki order maksimum atau bertindak sebagai generator. Karena
untuk dikatakan sebagai sebuah grup siklik, sebuah grup multiplikatif
harus
memiliki nilai
, dengan
adalah bilangan prima dan
merupakan bilangan bulat positif. Kemudian banyaknya order dari
ini adalah
8, atau dinotasikan dengan
.
Untuk menghitung sebuah order dari grup multiplikatif dapat menggunakan
sifat-sifat fungsi- Euler seperti pada teorema dibawah ini
Teorema 1 (Sifat-sifat Fungsi- Euler)
1. Jika prima, maka
.

8
2.

Fungsi-

3.

Jika

Euler bersifat multiplikatif. Artinya jika
.
adalah faktorisasi prima dari , maka

, maka

.
(Menezes 1996)
Contoh 9
Untuk menghitung order dari sebuah grup
dengan menggunakan sifat-sifat
maka perhitungannya adalah
. Sedangkan order
dari sebuah grup
yang -nya merupakan bilangan prima atau dinotasikan
dengan , maka menurut teorema diatas ordernya adalah
. Misalkan order
dari sebuah grup multiplikatif
dengan
yaitu
.
Sedangkan untuk menghitung order dari sebuah elemen grup atau
dari suatu grup caranya adalah menghitung nilai , dengan dihitung secara
berurutan dari sampai memenuhi
.
Contoh 10
Order dari yang merupakan salah satu elemen dari grup
dengan cara seperti yang dijelaskan diatas

dapat dihitung

mod
mod
mod
mod
mod
mod
Karena identitas dari operasi grup perkalian adalah
atau
adalah .

maka order dari elemen

Definisi 19 (Ring)
Himpunan dengan dua sembarang operasi biner, dinotasikan + (penjumlahan)
dan  (perkalian) pada , dikatakan sebuah ring apabila memenuhi beberapa
aksioma berikut :
1. ( ,+) merupakan grup abelian,
2. Operasi  bersifat asosiatif, artinya
dan bersifat closure,
3. Untuk setiap
berlaku sifat distributif kiri, yaitu
dan sifat distributif kanan yaitu
Ring
dapat dituliskan dengan apabila operasi binernya diketahui.
(Fraleigh 2000)

9
Unsur identitas tehadap operasi penjumlahan dinotasikan dengan “ ” dan
disebut unsur nol. Ring komutatif yaitu ring yang operasi pergandaannya bersifat
komutatif. Jika ada unsur identitas dibawah operasi perkalian, maka unsur disebut
unsur kesatuan, dinotasikan dengan “ ” dan disingkat unkes.
sehingga
maka disebut ring dengan unkes.
Contoh 11
adalah contoh dari sebuah ring komutatif dan mempunyai unsur identitas.
Seperti contoh diatas
dalam operasi penjumlahan modular , sudah terbukti
bahwa
merupakan sebuah grup dengan identitas penjumlahan 0. Sedangkan
operasi perkalian modular pada himpunan
memiliki identitas yaitu “ ”.
Bersifat closure, artinya setiap hasil perkalian antar elemennya tetap di
,
diperlihatkan pada tabel dibawah ini
Tabel 2 Operasi perkalian pada
mod 6
0
1
2
3
4
5

0
0
0
0
0
0
0

1
0
1
2
3
4
5

2
0
2
4
0
2
4

3
0
3
0
3
0
3

4
0
4
2
0
4
2

5
0
5
4
3
2
1

Kemudian bersifat asosiatif
bersifat komutatif
Juga bersifat distributif, misalnya
mod
sama dengan
Dengan demikian
bilangan prima misalkan
sebuah ring komutatif.

mod
.
adalah Ring. Pada kasus khusus jika merupakan
maka dapat dikatakan (
) juga merupakan

Definisi 20 (Pembagi Nol)
Diberikan ring komutatif dan
,
terdapat
,
sedemikian hingga

. Elemen disebut pembagi nol jika
(Fraleigh 2000).

Definisi 21 (Daerah Integral)
Suatu ring disebut daerah integral jika operasi pergandaannya bersifat komutatif,
memuat identitas “ ” dan tidak memuat pembagi nol. Jadi, untuk suatu daerah
integral , jika
, maka
atau
,
(Fraleigh 2000).

10
Teorema 1 :
{
dengan

merupakan daerah integral
}.

merupakan bilangan prima,

Bukti
Misalkan
daerah integral maka
tidak memuat pembagi nol, akan dibuktikan
merupakan bilangan prima. Andaikan bukan bilangan prima, maka ada
, dengan
dan
, sehingga
, akibatnya
mod
. Karena
,
dan
mod
maka atau
adalah pembagi nol. Terjadi kontradiksi dengan
tidak memuat pembagi nol,
sehingga terbukti prima.
Arah sebaliknya, misalkan merupakan bilangan prima.
merupakan ring
komutatif dan memiliki unsur kesatuan dibawah operasi perkalian yaitu . akan
dibuktikan bahwa
tidak memiliki pembagi nol. Ambil
dengan
,
. Karena merupakan bilangan prima,
,
maka
,
sehingga
. Jadi terbukti bahwa
tidak memuat pembagi nol.
Definisi 22 (Lapangan / Field)
Lapangan atau field adalah suatu ring komutatif di mana semua elemen tak nolnya
mempunyai invers terhadap perkalian (Menezes 1996).
Teorema 2 : Setiap daerah integral yang berhingga adalah lapangan.
Bukti
Misalkan
adalah daerah integral yang hingga dengan
}. Maka adalah ring yang komutatif dan mempunyai
{
unsur kesatuan. Akan dibuktikan setiap elemen tak nol dari mempunyai invers.
Ambil
sebarang
.
Dibentuk
himpunan
{
}. Karena daerah integral maka tidak mempunyai
pembagi nol, sehingga setiap elemen dari adalah elemen tak nol dari . Setiap
elemen dari
semuanya berbeda, sebab andaikan ada
dengan
yang
menyebabkan
, maka

(

)

(Karena

tanpa pembagi nol)

Dengan demikian diperoleh kontradiksi, karena seharusnya setiap elemen di
berbeda. Jadi banyaknya elemen dari tidak kurang dari . Selanjutnya karena
sifat tertutupnya operasi perkalian maka banyaknya elemen dari
juga tidak
lebih dari . Dapat dikatakan bahwa setiap elemen dari adalah elemen-elemen
tak nol dari . Sehingga terdapat
dengan
, dan karena komutatif
maka berlaku
, yang berarti bahwa
merupakan invers dari .

11
Selanjutnya karena
,
sebarang, maka setiap elemen tak nol dari
mempunyai invers. Jadi terbukti syarat-syarat lapangan terpenuhi.
Definisi 23 (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).
Teorema 3 : 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) Misalkan adalah sebuah grup siklik dengan generator dan order
dari adalah tak hingga. Untuk semua bilangan bulat positif
. Pada
kasus ini menyatakan bahwa tidak ada dua bilangan yang berbeda, misalkan dan
dapat memberikan unsur yang sama yaitu
dan
pada .
Andaikan ada bilangan dan sehingga
dan katakanlah
. Maka
Bertentangan dengan asumsi Kasus I. Karena itu setiap elemen dari dapat
dinyatakan sebagai
, untuk
yang khas. Pemetaan
dengan
. Untuk setiap
, dapat dikatakan fungsi injektif atau fungsi
satu-satu karena

Dan

juga dapat dikatakan sebagai fungsi surjektif atau onto karena untuk setiap
, ada
, sehingga
. Karena jelas merupakan fungsi surjektif
sekaligus injektif, maka merupakan suatu fungsi bijektif. Dan juga karena
maka sifat homomorfisma terpenuhi dan

adalah isomorfisma.

(Kasus II) Misalkan adalah sebuah grup siklik dengan generator dan order
dari
adalah berhingga. Untuk beberapa bilangan bulat positif
.
Misalkan adalah bilangan bulat positif terkecil sedemikian sehingga
.
Misalkan
dan
untuk
, kemudian
. Seperti pada Kasus I, jika
dan
,
lalu
dan
, kontradiksi dengan pilihan yang dilakukan.
Dengan demikian unsur

12
Adalah semuanya berbeda dan terdiri dari semua unsur-unsur dari . Pemetaan
dengan
untuk
. Untuk setiap
, dapat dikatakan fungsi injektif atau fungsi satu-satu karena

Dan

juga dapat dikatakan sebagai fungsi surjektif atau onto karena untuk setiap
, ada
, sehingga
. Karena jelas merupakan fungsi surjektif
sekaligus injektif, maka merupakan suatu fungsi bijektif. Karena
, dapat
dilihat bahwa
di mana
. Jadi
maka sifat homomorfisma terpenuhi dan

adalah isomorfisma (Fraleigh 2000).

Definisi 24 (Masalah Logaritma Diskret Pada Grup Pergandaan Bilangan Bulat
Modulo Prima)
Diberikan bilangan prima , dan
adalah grup siklik dengan order
.
Akibatnya terdapat suatu elemen yang membangun
yang disebut dengan
elemen primitif. Misalkan
adalah elemen primitif, maka untuk sebarang
tedapat suatu eksponen
sedemikian sehingga

Bilangan merupakan logaritma diskret dari dengan basis . Yang dimaksud
dengan masalah logaritma diskret disini adalah masalah untuk menemukan
bilangan bulat positif
. Untuk menentukan logaritma diskret bukanlah
permasalahan yang mudah, apalagi bila digunakan bilangan prima dan logaritma
diskret yang besar n (Buchmann 2000).

Aritmatika Modular
Definisi 25 (Kongruen)
Jika dan bilangan bulat, maka disebut kongruen terhadap modulo
ditulis dengan
, jika membagi
(Menezes 1996).
Contoh 12
Ambil sebarang bilangan bulat
dan
kongruen terhadap modulo
ditulis dengan
. Dengan
, maka dapat dikatakan
modulo ditulis dengan
, karena

, dapat dikatakan disebut
, jika membagi
disebut kongruen terhadap
membagi
.

Definisi 26 (Invers Perkalian)
Untuk
, invers perkalian dari modulo adalah bilangan bulat
sedemikian sehingga
. Jika terdapat nilai , maka nilai tersebut
unik dan dikatakan invertibel (Menezes 1996).

13
Tidak semua elemen dari
mempunyai invers perkalian, hanya elemen
yang prima relatif dengan saja yang memiliki invers perkalian pada . Hal ini
dapat dibuktikan dengan melihat Definisi 18 (Grup Multiplikatif).
Contoh 13
Misalkan sebuah grup
adalah himpunan bilangan bulat dengan elemen}. Dari semua elemen pada
elemennya yaitu {
yang prima relatif
dengan hanya ada satu yaitu , sehingga dari semua elemen pada
yang
mempunyai invers perkalian hanya saja. Dengan demikian dapat dikatakan grup
{ }. Dan invers dari adalah dirinya sendiri
multiplikatif dari
adalah
karena
mod
mod
atau
mod .
}.
Berbeda dengan grup
yang elemen-elemennya yaitu {
Karena semua elemen yang dimiliki
prima relatif dengan kecuali , maka
untuk mendapatkan grup multiplikatif dari
yaitu hanya dengan menghilangkan
bilangan saja, sehingga didapatkan
{
}.
Kriptografi
Definisi 27 (Kriptografi)
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang
berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data,
autentikasi entitas, dan autentikasi asal data (Menezes 1996).

Definisi 28 (Teks Asli / Plaintext)
Teks asli / Plaintext adalah pesan atau data dalam bentuk aslinya yang dapat
terbaca dan dapat dimengerti. Teks asli ini merupakan masukan bagi algoritme
enkripsi (Sadikin 2012).

Definisi 29 (Kunci Rahasia / Secret Key)
Kunci rahasia / Secret Key merupakan nilai yang bebas terhadap teks asli dan
menentukan hasil keluaran algoritme enkripsi. Kunci rahasia merupakan masukan
bagi algoritme enkripsi (Sadikin 2012).

Definisi 30 (Teks Sandi / Ciphertext)
Teks sandi adalah pesan atau data dalam bentuk bukan aslinya yang tidak
dimengerti. Algoritme enkripsi yang baik akan menghasilkan teks sandi yang
terlihat acak (Sadikin 2012).

Definisi 31 (Algoritme Enkripsi)
Algoritme enkripsi memiliki dua masukan teks asli dan kunci rahasia. Algoritme
enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks
sandi (Sadikin 2012).

14
Definisi 32 (Algoritme Dekripsi)
Algoritme dekripsi memiliki dua masukan yaitu teks sandi dan kunci rahasia.
Algoritme dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci
rahasia yang dipakai algoritme dekripsi sama dengan kunci rahasia yang dipakai
algoritme enkripsi (Sadikin 2012).

Definisi 33 (Transformasi Enkripsi dan Dekripsi)
1. Himpunan menyatakan ruang kunci dan anggota dari disebut kunci
.
Himpunan menyatakan ruang plaintext dan anggota dari disebut pesan
Himpunan menyatakan ruang ciphertext dan anggota dari disebut
sandi
.
2.
,
adalah fungsi enkripsi yang bersifat bijektif yang memetakan
tepat satu ke .
3.

4.

,
adalah fungsi dekripsi yang bersifat bijektif yang memetakan
tepat satu ke .
dan

saling bersesuaian, sehingga

Jadi,
5.

)
(
Pasangan kunci pada enkripsi dan dekripsi dinotasikan dengan
.
(Menezes 1996)

Definisi 34 (Kelompok / Party / User)
Kelompok / Party / User adalah seseorang atau sesuatu yang mengirim, menerima,
dan memanipulasi informasi (Menezes 1996).

Definisi 35 (Protokol)
Protokol adalah algoritme multi-party yang didefinisikan oleh urutan langkah –
langkah yang secara tepat menentukan tindakan yang diperlukan dari dua party
atau lebih untuk mencapai tujuan tertentu (Menezes 1996).
Definisi 36 (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 37 (Tujuan Kiptografi)
Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek
keamanan informasi, yaitu
1. Kerahasiaan, adalah aspek yang berhubungan dengan penjagaan isi

15
informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia
untuk membuka informasi yang telah dienkripsi.
2. Integritas data, adalah aspek yang berhubungan dengan penjagaan dari
perubahan data secara tidak sah. Untuk menjaga integritas data, sistem
harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihakpihak yang tidak berhak, antara lain penyisipan, penghapusan, dan
pensubstitusian data lain terhadap data yang sebenarnya.
3. Autentikasi, adalah aspek yang berhubungan dengan identifikasi atau
pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua
pihak yang saling berkomunikasi harus saling memperkenalkan diri.
Informasi yang dikirim harus diautentikasi keaslian, isi datanya, waktu
pengiriman, dan lain-lain.
4. Non-repudiation (menolak penyangkalan), adalah usaha untuk mencegah
terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang
mengirimkan, atau harus dapat membuktikan bahwa suatu pesan berasal
dari seseorang, apabila ia menyangkal mengirim informasi tersebut.
(Menezes 1996)
Definisi 38 (Pembentukan Kunci / Key Establishment)
Pembentukan kunci / Key establishment adalah suatu proses atau protokol yang
berkenaan dengan tersedianya kunci bersama bagi dua party atau lebih untuk
tujuan kriptografi (Menezes 1996).
Definisi 39 (Persetujuan Kunci / Key Agreement)
Persetujuan kunci / Key agreement adalah suatu teknik pembangkitan kunci di
mana kunci bersama tersebut dibangkitkan oleh dua party atau lebih sebagai
fungsi dari informasi yang menghubungkan masing-masing party sehingga tidak
ada party yang dapat menetapkan sendiri nilai hasilnya (Menezes 1996).
Definisi 40 (Kunci Simetrik)
Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan
kunci dekripsinya bernilai sama. Kunci pada penyandian simetrik diasumsikan
bersifat rahasia, hanya pihak yang melakukan enkripsi dan dekripsi yang
mengetahui nilainya (Sadikin 2012).
Definisi 41 (Kunci Asimetrik / Kunci Publik)
Penyandian dengan kunci asimetrik atau kunci publik adalah penyandian dengan
kunci enkripsi dan dekripsi berbeda nilai (Sadikin 2012).

PEMBAHASAN
Dalam bab pembahasan ini akan dijelaskan mengenai skema pertukaran
kunci Diffie-Hellman, konsep-konsep matematis dalam setiap langkahnya serta

16
analisis keamanan dari algoritme tersebut. Akan tetapi sebelumnya akan
dijelaskan mengenai pentingnya peran sebuah kunci untuk memenuhi tujuan
kriptografi.
Key Establishment Protocols
Untuk menjaga kerahasiaan pengiriman pesan dalam kriptografi dibutuhkan
sebuah kunci rahasia yang hanya diketahui oleh pengirim dan juga penerima
pesan saja. Kunci adalah parameter yang digunakan untuk mentransformasi proses
enkripsi dan dekripsi pesan. Dalam melakukan enkripsi dan dekripsi dibutuhkan
suatu kunci bersama, di mana kunci bersama ini bersifat rahasia yang hanya
diketahui oleh party yang berkomunikasi pada saat waktu tertentu saja. Jika kunci
ini diketahui oleh pihak lain yang tidak berhak untuk mengetahuinya, maka pesan
rahasia yang sudah dienkripsi dan dikirim akan mudah diketahui atau didekripsi
oleh pihak yang tidak berhak tersebut.
Misalkan dua party yang akan saling bertukar pesan di mana isi pesan
tersebut bersifat rahasia. Tentunya untuk mengamankan pesan tersebut maka
diperlukan proses enkripsi oleh pengirim untuk mengubah pesan asli menjadi
sebuah pesan tak bermakna dan proses dekripsi oleh penerima untuk mengubah
pesan tak bermakna yang diterima menjadi pesan asli kembali. Apabila kedua
party tersebut dalam kondisi yang memungkinkan untuk bertemu, maka
tersedianya kunci bersama akan mudah prosesnya, bisa langsung dibicarakan atau
didiskusikan secara langsung sebelum proses bertukar pesan rahasia berlangsung.
Akan tetapi apabila kedua party dalam posisi berjauhan dengan kondisi yang tidak
memungkinkan untuk bertemu secara langsung maka pasti kedua party tersebut
akan menentukan kunci besama dengan cara komunikasi jarak jauh melalui suatu
media.
Bisa dikatakan semua media yang digunakan dalam berkomunikasi jarak
jauh itu tidak aman, karena semuanya rentan terhadap penyerangan atau
penyadapan. Sedangkan kunci bersama ini bersifat rahasia, maka tidak mungkin
akan dikomunikasikan atau didiskusikan secara langsung melalui jalur yang tidak
aman. Sehingga apabila dalam kondisi yang tidak memungkinkan untuk bertemu,
diperlukan suatu proses atau metode-metode yang aman agar dua party
mendapatkan kunci bersama masing-masing, dan metode-metode ini disebut
sebagai Key Establishment Protocols / Protokol pembentukan kunci.
Berdasarkan cara kerjanya, Key Establishment ini terbagi menjadi dua yaitu
Key Transport yang mana salah satu party menciptakan sebuah kunci kemudian
dikirimkan kepada party lain yang ingin berkomunikasi dengannya, dan satu lagi
yaitu Key Agreement di mana kedua party yang ingin berkomunikasi sama-sama
aktif dalam pembentukan kunci. Key Transport dan Key Agreement
memungkinkan dua party atau lebih yang berada pada kondisi berjauhan dan tidak
memungkinkan untuk bertemu atau bahkan tidak pernah bertemu sama sekali
sebelumnya, dapat membentuk suatu kunci bersama melalui serangkaian proses
meskipun melalui jalur yang tidak aman. Kunci bersama yang terbentuk ini
dikenal juga dengan nama kunci sesi, artinya kunci ini hanya digunakan untuk
berkomunikasi pada suatu waktu tertentu saja. Apabila komunikasi telah selesai,
maka kunci tersebut dihapus atau dihancurkan, dan saat akan berkomunikasi

17
kembali pada waktu berikutnya maka harus membangkitkan kunci bersama yang
baru lagi.
Skema pertukaran kunci Diffie-Hellman
Agoritma ini pertama kali diperkenalkan oleh Whitfield Diffie dan Martin
Hellman pada tahun 1975. Mereka berdua adalah peneliti pada universitas
Stanford. Mereka memperkenalkan algoritme ini untuk memberi solusi atas
pertukaran informasi secara rahasia.
Algoritme Diffie-Hellman merupakan salah satu protokol komunikasi
dengan sistem kriptografi kunci asimetri atau kunci publik. Algoritme ini tidak
berdasarkan pada proses enkripsi dan dekripsi, melainkan lebih kepada proses
matematika yang dilakukan untuk menghasilkan kunci sesi (kunci rahasia untuk
komunikasi dengan sistem kriptografi simetri) dalam pertukaran kunci antara dua
party atau lebih.
Persetujuan kunci Diffie-Hellman merupakan solusi praktis pertama dalam
masalah distribusi kunci yang melibatkan dua orang atau pihak yang saling
mengirim pesan melalui publik, tetapi pesan yang disampaikan harus bersifat
rahasia dari publik. Versi dasar dari persetujuan kunci Diffie-Hellman
memberikan perlindungan terhadap sifat rahasia kunci hasil dari pihak pengirim,
tetapi tidak pada kemampuan untuk menghindari pihak ketiga yang ingin
menginterupsi atau memodifikasi pesan yang disampaikan. Dalam hal ini, pihak
ketiga akan berusaha menemukan kunci rahasia agar bisa mengetahui pesan asli
yang ditukarkan oleh kedua pihak.
Misalkan A dan B adalah dua party yang akan saling menukarkan pesan
melalui jalur terbuka atau jalur publik, dan pesan yang disampaikan tersebut
bersifat rahasia bagi publik. Maka terlebih dahulu A dan B melakukan suatu
proses pembentukan kunci sesi, yang dalam karya ilmiah ini menggunakan
algoritme persetujuan kunci Diffie-Hellman.
Proses pertukaran kunci dalam persetujuan kunci Diffie-Hellman dirangkum
dalam bentuk protokol sebagai berikut:
1.
Suatu bilangan prima
dan generator  dari
merupakan bilangan yang disepakati untuk dipilih oleh A dan B, serta
dipublikasikan atau diketahui oleh publik.
2.
A memilih secara acak kunci rahasia rahasia ,
. Dan B
memilih secara acak kunci rahasia ,
.
3.
A menghitung
lalu mengirimkannya kepada B. B menghitung
lalu mengiimkannya kepada A.
4.
A menerima
dan menghitung kunci rahasia
. B menerima
dan menghitung kunci rahasia
.

Berikut langkah-langkah yang dilakukan dalam proses pertukaran kunci
dalam persetujuan kunci Diffie-Hellman :
1.

Menentukan Bilangan Prima dan Generator Dari
Pada langkah ini kedua party yang akan membangkitkan kunci telah
bersepakat untuk memilih secara acak sebuah bilangan prima berukuran besar.

18
Mengambil suatu bilangan prima , artinya sama dengan mengambil
atau
mendefinisikan lapangan
. Terlebih dahulu akan dibuktikan
merupakan
lapangan berhingga dengan dua buah teorema.
Dari Teorema 1 dapat disimpulkaan bahwa jika merupakan bilangan
prima maka
adalah sebuah daerah integral. Kemudian karena
merupakan
daerah integral maka dengan menggunakan Teorema 2 dapat disimpulkan bahwa
merupakan suatu lapangan.
Apabila
merupakan sebuah lapangan dengan bilangan prima, maka
sesuai dengan definisinya bahwa suatu lapangan adalah ring komutatif yang
semua elemen tak nol dari
mempunyai invers terhadap perkalian. Hal ini
menunjukan bahwa nantinya kunci sesi yang terbentuk dan akan digunakan dalam
sistem kriptografi simetrik dapat dipakai pada algoritme enkripsi sekaligus pada
algoritme dekripsi, dengan kata lain
dan
saling bersesuaian, sehingga
.
Dipilih sebuah bilangan prima berukuran besar karena hal ini berkaitan
dengan keamanan kunci rahasia yang akan terbentuk. Seperti yang dinyatakan
oleh Lestari (2007 : 15) “... pada persetujuan kunci Diffie-Hellman kedua pihak
yang saling bertukar pesan rahasia dapat memilih bilangan prima yang besar
agar kunci rahasia mereka tidak mudah diketahui publik ...”.
Setelah dipilih secara acak sebuah bilangan prima berukuran besar, kedua
pihak selanjutnya memilih secara acak sebuah elemen primitif atau generator
. Elemen primitif atau generator adalah
misalkan
dari
sebuah elemen yang merupakan anggota dari suatu grup , misalkan
.
Terdapat integer , sehingga menjadi pembangkit seluruh anggota dari , yang
kemudian disebut sebagai grup siklik. Pada langkah ini dipilih sebuah elemen
primitif atau generator dari
, karena generator itu adalah
sebuah pembangkit semua elemen dari grupnya yang siklik, maka dari itu
haruslah merupakan sebuah grup siklik.
dan m
adalah sebuah grup siklik. Ambil
Akan dibuktikan bahwa
merupakan order maksimum dari a. Misalkan suatu grup dan
, order a
adalah suatu bilangan positif terkecil, misalnya , sedemikian sehingga
.
Apabila bilangan bulat positif demikian itu tidak ada, maka dikatakan bahwa
),
order adalah takhingga atau nol, diperoleh
(elemen identitas
merupakan akar persamaan dari
. Setiap elemen tak nol dari
dan persamaan
memiliki paling banyak penyelesaian,
, atau
sehingga
. Menurut teorema, maka
( )
Jadi, dapat disimpulkan bahwa
Dengan demikian order dari
adalah
. Berdasarkan definisi grup multiplikatif dari
dengan adalah
{
} . Kemudian karena
bilangan prima yaitu
banyaknya elemen dari
adalah
, dan jumlahnya sama dengan order
elemen , maka setiap elemen dari
pastilah dibangun atau dibangkitkan oleh ,
terbukti bahwa
merupakan sebuah grup siklik dengan generator .
Tes Elemen Prima Primitif
Pada bagian ini dijelaskan cara untuk memeriksa apakah suatu elemen
dalam suatu grup siklik merupakan generator dari grup tersebut atau bukan.

19
Pengujian dilakukan dengan menggunakan algoritme tes elemen primitif yang
didapat dari pemahaman teorema berikut.
Teorema 4 (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
untuk setiap faktor prima dari

jika dan hanya jika
(Menezes 1996).

mod

Diketahui order dari suatu grup
adalah
. Jika digunakan bilangan
prima dengan
dan adalah bilangan prima, maka dari sifat nomor
empat pada teorema di atas dapat digunakan untuk mengecek apakah suatu
merupakan elemen primitif atau bukan. Karena
, jelas bahwa
dan merupakan pembagi prima dari
, sehingga harus dicek apakah
mod
dan
mod
. Jika keduanya dipenuhi, maka adalah elemen
primitif. Dari penjelasan tersebut dirangkum dalam sebuah algoritme berikut :
Algoritme 1 (Tes Elemen Primitif)
Input

: Bilangan prima

dan

Output : Pernyataan “ adalah elemen primitif” atau “ bukan elemen primitif”
1.
Hitung
.
2.
Hitung mod dan mod .
3.
Jika mod
, maka output “ bukan elemen primitif”.
4.
Jika mod
, maka output “ bukan elemen primitif”.
5.
Output “ adalah elemen primitif”.
Contoh
Diberikan sebuah bilangan prima
sehingga didapatkan nilai
, akan diperiksa beberapa
apakah merupakan
suatu generator dari
atau bukan. Untuk menunjukan bahwa suatu bilangan
bulat merupakan elemen primitif dari
atau bukan, harus ditunjukan bahwa
mod
dan
mod
. Berikut diberikan sebuah tabel
perhitungan untuk beberapa nilai yang diberikan.

20
Tabel 3 Perhitungan

mod
mod

mod

dan

mod

2

3

4

5

6

7

8

4

9

16

25

36

49

64

2578

1

1

1

2578

1

2578

Dari tabel di atas diperoleh bahwa 2, 6 dan 8 merupakan elemen primitif
karena menurut perhitungan dengan
mod
dan
mod
hasilnya
tidak sama dengan . Sedangkan 3, 4, 5 dan 7 bukan merupakan elemen primitif
, karena nilai dari
mod
untuk tersebut hasilnya adalah .
Keistimewaan dari grup siklik
adalah karena terdapat satu atau beberapa
anggota dari
yang merupakan suatu generator. Sebuah generator tersebut dapat
membangkitkan seluruh anggota dari , yang kemudian hal tersebut berperan
penting dalam implementasi kriptografi, lebih tepatnya dalam menciptakan
keamanan dalam proses pertukaran atau persetujuan kunci Diffie-Hellman ini.
Pemilihan Kunci Rahasia Masing-masing Party.
Setelah pemilihan bilangan prima dan generator  dari
yang merupakan bilangan yang dipublikasikan oleh
dan
, langkah
selanjutnya dari protokol pertukaran kunci Diffie-Hellman ini adalah pemilihan
kunci rahasia masing-masing party. memilih secara acak sebuah kunci rahasia
misalkan , dengan
, dan memilih secara acak sebuah kunci
rahasia , dengan
. Berbeda dengan dan yang dapat diketahui
oleh publik, bilangan atau kunci rahasia ini hanya diketahui oleh masing masing
party saja, kunci hanya diketahui oleh A dan kunci hanya diketahui oleh B.
Bahkan kedua party tersebut tidak saling mengetahui kunci rahasia dari satu sama
lain.
Selanjutnya dengan menggunakan Teorema 3, maka dapat dikatakan bahwa
yang memiliki order
isomorfis dengan
dan dinotasikan dengan

2.

Makna isomorfisma dari langkah ini menunjukkan bahwa setiap unsur pada
berpadanan tepat satu-satu dengan setiap unsur pada
. Misalkan
merupakan kunci rahasia milik dan merupakan kunci rahasia milik , diambil
dari unsur grup
, di mana bilangan
dan berada di antara dan
.
Sehingga suatu bilangan dalam bentuk
mod
dan
mod
dengan
merupakan sebuah generator dari
adalah pasti tepat satu padanan dari dan
berturut-turut yang berada pada grup siklik .
Dengan mengetahui suatu nilai atau bilangan misalkan , yang diambil dari
grup
maka akan mudah menghitung
mod
yang menghasilkan nilai
misalkan
, dengan adalah generator dari , sehingga
mod
.
Tetapi untuk mengetahui bilangan bulat yang menjadi rahasia dengan hanya
mengetahui bilangan
mod , , dan adalah sulit. Misalkan pilih
,

21
sehingga
{1,2,3,4,5,6,7,8,9,10} dan
{0,1,2,3,4,5,6,7,8,9}.
adalah sebuah grup siklik di bawah perkalian modulo
yang memiliki
empat buah pembangkit atau generator, yaitu
dan . Setiap anggota dari
dapat dituliskan dalam bentuk yang lain dengan menggunakan generator,
misalkan dipilih salah satu generatornya yaitu
, sehingga himpunan
0
2
3
4
5
6
7
8
9
anggotanya menjadi
{7 7 7 7 7 7 7 7 7 } ={1,7,5,2,3,10,4,6,9,8}. Karena
berpadanan satu-satu dengan
maka dapat diilustrasikan sebagai berikut :

{

}

{

}

{

}

Gambar 4 Padanan satu-satu

dengan

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
. Dan kemudian hal seperti ini disebut
dengan masalah logaritma diskret, yang menjadi aspek keamanan dari protokol
Diffie-Hellman. Bilangan integer seperti ini disebut dengan logaritma diskret
dari
dengan basis . Masalah logaritma diskret ini menjadi sulit apabila
digunakan grup dengan order yang besar.
3.

Penghitungan dan Pertukaran Kunci Publik
Langkah selanjutnya adalah menghitung
mod , hasilnya dikirimkan
ke . Begitupun , menghitung nilai
mod
kemudian hasilnya dikirimkan
kepada . Pertukaran pesan ini tidak dipermasalahkan keamanannya, karena
bilangan
mod
dan
mod
ini tidak bersifat rahasia, yang menjadi
rahasia adalah bilangan milik dan bilangan milik . maka dari itu dan
dapat bertukar pesan melalui jalur publik atau jalur tidak aman sekalipun. Setelah
dan saling bertukar pesan nilai
mod
dan
mod , maka akan
menerima pesan dari yaitu nilai
mod dan menerima pesan dari yaitu
nilai
mod .
4.

Menghitung Kunci Rahasia Bersama
Langkah terakhir dari protokol ini yaitu dan akan mengkalkulasi nilai
yang diterima dengan nilai atau kunci rahasia masing-masing yang kemudian akan
menghasilkan kunci yang sama, misalkan . setelah menerima pesan
mod
dari
kemudian menghitung
dengan rumus
mod
, begitupun
dengan
akan menghitung nilai
dengan rumus
mod
. Apabila
kalkulasi benar maka akan didapakan nilai dan yang sama, atau
.

22
Dengan demikian
dan
berhasil membangkitkan sebuah kunci sesi
rahasia yaitu dengan menggunakan protokol pertukaran kunci Diffie-Hellman.
Kunci ini hanya diketahui oleh dan , dan kemudian akan digunakan oleh
keduanya dalam berkomunikasi secara rahasia pada suatu waktu tertentu dengan
menggunakan kunci tersebut pada suatu algoritme kriptografi simetris.

Implementasi Protokol Pertukaran Kunci Diffie Hellman
Pada bab ini dijelaskan bagaimana proses pembangkitan kunci dengan
protokol pertukaran kunci Diffie-Hellman menggunakan bantuan perangkat lunak
Maple 13.
Dua party, misalkan dan akan membangkitkan sebuah kunci dengan
menggunakan protokol pertukaran kunci Diffie-Hellman, yang nantinya akan
digunakan dalam protokol komunikasi dengan menggunakan kriptografi simetris.
Langkah pertama
dan
telah sepakat untuk memilih secara acak
bilanganbulat positif yang besar dan merupakan bilangan prima, misalkan .
Dengan bantuan perangkat lunak Maple 13, dengan menggunakan Algoritme 2
didapatkan secara acak dengan nilai
yang merupakan sebuah bilangan
prima.
Setelah terpilih
, langkah selanjutnya adalah
dan
kembali
bersepakat untuk memilih secara acak generator dari
dengan
. Dengan bantuan perangkat lunak Maple 13, dan dengan menggunakan
Algoritme 3, telah terpilih secara acak generator dari
yaitu 271.
Akan diperiksa apakah
benar merupakan generator dari
atau
bukan. Dengan melakukan penghitungan
didapatkan nilai
. Selanjutnya sesuai dengan algoritme tes elemen prima primitif, dihitung
masing-masing nilai dari
mod
dan
mod
yang hasilnya
secara berturut-turut yaitu
dan
. Berdasarkan algoritme tes elemen prima
primitif karena hasil keduanya yaitu
mod
dan
mod
, maka
271 adalah benar merupakan generator dari
.
Bilangan
dan
tidak bersifat rahasia, tidak akan menjadi
masalah apabila diketahui oleh publik. Sehingga ketika proses pengambilan atau
pemilihan kedua bilangan tersebut meskipun jarak antara kedua party atau
posisinya sangat berjauhan, misalkan berbeda negara atau benua, mereka tetap
dapat membentuk suatu kunci menggunakan algoritme Diffie-Hellman pada
jaringan tidak aman sekalipun.
Langkah kedua setelah terpilih bilangan
dan
, dan
masing-masing memilih sebuah bilangan acak pada selang
], misalkan
memilih dan memilih . Kedua bilangan ini bersifat rahasia, hanya dan
yang mengetahui bilangannya masing-masing. Dengan menggunakan pembangkit
bilangan bulat acak pada perangkat lunak Maple 13, didapatkan bilangan
yang hanya diketahui oleh , dan bilangan
yang hanya diketahui oleh .
Selanjutnya dari bilangan yang telah ada pada yaitu
, kemudian
menghitung nilai
mod
mod
. Begitu pula
dengan , dari bilangan yang dimilikinya yaitu
kemudian menghitung
mod
mod
.

23
Setelah masing-masing menghitung nilai dan , maka dan saling
bertukar nilai tersebut.
mengirimkan bilangan
kepada
,dan
mengirimkan nilai
kepada . Sama seperti bilangan dan , bilangan
dan ini juga tidak bersifat rahasia. Sehingga dan dapat menggunakan
jalur tidak aman sekalipun ketika saling bertukar bilangan dan .
Langkah terakhir, setelah menerima dari dan menerima dari ,
keduanya menghitung bilangan yang mereka terima dengan bilangan rahasia
masing-masing untuk mendapatkan suatu nilai yang merupakan kunci rahasia
bersama. Dengan demikian menghitung
mod
mod
dan
menghitung
mod
mod
. Jika perhitungan benar maka dan
akan mendapatkan hasil yang sama yaitu
. Kemudian inilah yang
disebut dengan kunci rahasia bersama yang telah dibangkitkan atau dibentuk
secara bersama-sama oleh dan dengan menggunakan protokol pertukaran
kunci Diffie-Hellman. Selanjutnya nlai
ini dapat digunakan dalam suatu
algoritme kriptografi simetris.

Analisis Keamanan Protokol Pertukaran Kunci Diffie-Hellman
Protokol persetujuan kunci Diffie-Hellman ini pada dasarnya digunakan
untuk membentuk sebuah kunci sesi yang bersifat rahasia dan aman dari pihakpihak yang tidak berhak untuk mengetahuinya, atau biasa disebut dengan
penyerang. Misalkan adalah seorang