Anda di halaman 1dari 31

BAB 3

METODOLOGI PENELITIAN

3.1. Pengumpulan dan Sumber data


Pengumpulan data yang digunakan dalam penelitian ini menggunakan studi literatur
dan tinjauan pustaka, bahan-bahan penelitian dikumpulkan melalui berbagai sumber
kepustakaan, baik berupa buku, jurnal, prosiding dan lain-lain sebagai bahan
pendukung. Selain itu penulis berkonsultasi dengan pembimbing tesis.

3.2. Subyek Penelitian


Subyek penelitian ini adalah penggabungan dari algoritma kriptografi One Time Pad
dan ElGamal dalam penyandian data, sehingga nantinya dari kombinasi akan
menghasilkan algoritma yang baru yang mempunyai tingkat kesulitan pengamanan
data yang tinggi dan cepat dalam proses enkripsi maupun dekripsi.

3.3. Perancangan Sistem


Adapaunteknik perancangan sistem kombinasi algoritma ini menggunakan
algoritma One Time Pad yang merupakan contoh dari kriptografi simetris klasik dan
algoritma El-gamal adalah algoritma kunci publik yang merupakan contoh kriptografi
asimetris.
Adapun skema alur proses enkripsi dalam perancangan sistem yang dibentuk
dapat dilihat pada gambar 3.1

Universitas Sumatera Utara


25

Kunci OTP

plaintext Enkripsi ciphertext


a. Algoritma
OTP

Kunci Publik Penerima


Elgamal

Algoritma
Kunci OTP ElGamal cipherkey

Gambar 3.1. Proses enkripsi dan pengiriman ciphertext


Sedangkan untuk skema alur proses dekripsi dalam perancangan sistem yang
dibentuk dapat dilihat pada gambar 3.2

Kunci Privat
Elgamal

Penerima cipherkey Algoritma


Elgamal

Kunci OTP

Algoritma
ciphertext Elgamal

plaintext

Gambar 3.2. Proses dekripsi pesan – kunci

Universitas Sumatera Utara


26

Untuk memudahkan proses enkripsi dan dekripsi pada pengamanan pesan dan
pengamanan kunci, maka dibagi atas4 proses yaitu :
1. Proses enkripsi pesan oleh pengirim
2. Proses dekripsipesan oleh penerima.
3. Proses enkripsi kunci oleh pengirim.
4. Proses dekripsi kunci oleh penerima.

3.3.1. Alur Proses enkripsi pesan oleh pengirim


Pada proses enkripsi pesan, plainteks dimisalkan LEMON dienkripsi terlebih dahulu
dengan menggunakan algoritma one time pad dengan menggunakan kunci acak dari
algoritma one time pad dimana kunci yang digunakan mempunyai panjang yang sama
dengan panjang pesan ABCDE dan dilakukan proses enkripsi dengan menggunakan
rumus yang ada dari perhitungan tersebut didapatlah chiperteks LFORR. Chiperteks
inilah yang dikirim ke penerima Adapun alur proses enkripsi pesan dapat dilihat pada
gambar 3.3.

Kunci
One Time Pad

Algoritma Simetris
Enkripsi One Time Pad
plaintext Ciphertext
ci= (pi + ki) mod 26

Gambar 3.3. Proses enkripsi pesan oleh pengirim

3.3.2. Alur proses dekripsi pesan oleh penerima


Pada proses dekripsi pesan, chiperteks yang dikirim oleh pengirim LFORR didekripsi
lagi oleh penerima dengan menggunakan algoritma one time pad dan juga kunci yang
sama ABCDE pada saat proses enkripsi pesan sehingga didapat kembali plainteks
awal LEMON. Adapaun alur proses dekripsi pesan dapat dilihat pada gambar 3.4.

Universitas Sumatera Utara


27

Kunci
One Time Pad

Algoritma Simetris
Enkripsi One Time Pad
Ciphertext plaintext
pi= (ci - ki) mod 26

Gambar 3.4. Proses dekripsi pesan oleh penerima

3.3.3. Alur proses enkripsi kunci oleh pengirim


Pada proses enkripsi kunci, kunci dari algoritma one time pad ABCDE diamankan
terlebih dahulu dengan menggunakan algoritma ElGamal dan kunci publik algoritma
ElGamal (p, g, y) sebelum dikirim ke penerima dengan tujuan menjaga kerahasiaan
kunci selama pengiriman pesan jadi dari proses ini dihasilkan kunci one time pad yang
sudah diamankan. Adapun proses enkripsi kunci dapat dilihat pada gambar 3.5.

Kunci Publik
ElGamal
(p, g, y)

Algoritma Simetris
Enkripsi ElGamal
Kunci Cipherkey
one time pad k
a = g mod p One time pad
b = yk . m mod p

Gambar 3.5. Proses enkripsi kunci oleh pengirim

3.3.4. Alur proses dekripsi kunci oleh penerima


Pada proses dekripsi kunci, kunci dari one time pad yang diamankan oleh ElGamal
didekripsi menggunakan kunci privat dari algoritma ElGamal (x) sehingga didapatkan
kembail kunci one time pad yang nantinya akan digunakan oleh penerima untuk
membuka pesan dari one time pad. Adapun alur proses dekripsi kunci dapat dilihat
pada gambar 3.6.

Universitas Sumatera Utara


28

Kunci Private
ElGamal
(x)

Algoritma Simetris
Cipherkey Enkripsi ElGamal
one time pad Kunci
m = b . ap-1-x mod p One time pad

Gambar 3.6. Proses dekripsi kunci oleh penerima

3.4. Diagram Alir


3.4.1. Diagram Alir Proses Enkripsi Pesan
Adapun diagram alir dari proses enkripsi pesan menggunakan one time pad dapat
dilihat pada gambar 3.7.

Gambar 3.7. Diagram alir enkripsi one time pad


Universitas Sumatera Utara
29

Diagram alir proses enkripsi kunci one time pad dengan menggunakan algoritma
ElGamal dapat dilihat pada gambar 3.8.

Gambar 3.8. Diagram alir enkripsi ElGamal

3.4.2. Diagram Alir Dekrips Pesan


Diagram alir proses dekripsi pesan oleh penerima menggunakan one time pad dapat
dilihat pada gambar 3.9.

Universitas Sumatera Utara


30

Gambar 3.9. Diagram alir proses dekripsi one time pad


Diagram alir proses dekripsi kunci one time pad dengan menggunakan algoritma
ElGamal dapat dilihat pada gambar 3.10.

Universitas Sumatera Utara


31

Gambar 3.10. Diagram alir proses dekripsi ElGamal

3.5. Analisis Algoritma


Sebelum dilakukan kombinasi antara kedua algoritma OTP dan ElGamal terlebih
dahulu dilakukan analisis terhadap kelebihan dan kekurangan masing-masing
algoritma yaitu algoritma One Time Pad dan algoritma ElGamal dimana yang
nantinya setelah dikombinasikan dapat menutupi salah satu kelemahan algoritma yang
dikombinasi.

3.5.1. Kelebihan Algoritma


Algoritma OTP dan ElGamal mempunyai kelebihan masing-masing yang dimana
kelebihan ini akan menutupi kekurangan dari algoritma yang satunya. Kelebihan
algoritma OTP terletak dalam keamanan pesannya jika kunci yang digunakan benar-
benar acak dan dalam pendistribusian kuncinya jalur yang digunakan terpercaya atau
aman, sedangkan untuk ElGamal memiliki kelebihan dibidang kompleksitas
algoritma karena dalam proses pembangkitan kunci menggunakan algoritma diskrit
sehingga hasil dari plainteks yang sudah dienkripsi akan berukuran dua kali ukuran
Universitas
plaintext semula sebelum dilakukannya proses enkripsi, dan Sumatera
juga enkripsi Utara
dari
32

algoritma ElGamal adalah probabilistik, yang berarti bahwa plaintext yang sama dapat
dienkripsi sehingga memunculkan banyak kemungkinan menghasilkan ciphertext
yang berbeda-beda.

3.5.2. Kekurangan Algoritma


Algoritma OTP dan ElGamal mempunyai beberapa kekurangan yang nantinya
kekurangan ini akan ditutupi oleh kelebihan masing-masing saat dikombinasikan
antara dua algoritma ini. Sebelum dikombinasi kekurangan dari OTP adalah panjang
kunci sama dengan panjang plainteks maka timbulah masalah dalam menjaga
keamanan atau kerahasiaan selama proses pendistribusian kunci. Karena kerahasiaan
kunci harus dijamin, maka perlu ada perlindungan selama pengiriman kunci. Jika
hanya ada satu saluran komunikasi, maka pengirim dan penerima pesan perlu barisan
kunci One Time Pad yang dapat melindungi kunci One Time Pad sehingga nantinya
akan membentuk barisan kunci yang tidak terhingga banyaknya karena itu pengiriman
pesan jadi tidak praktis yang mempertimbangkan traffic pesan yang padat, karena itu
diperlukan saluran kedua yang cukup aman untuk mengirim kunci sedangkan
kekurangan dari ElGamal adalah ukuran cipherteks yang dua kali dari plainteks dan
juga membutuhkan resource yang besar saat melakukan komputasi dalam proses
enkripsi.
Untuk itulah disini perlu dilakukan kombinasi ElGamal untuk melindungi
kunci dari One Time Pad sehingga kunci tidak mudah diketahui oleh pihak ketiga
dengan kuatnya keamanan dalam kerahasiaan kunci maka akan berpengaruh juga
dalam kuatnya kerahasiaan pesan sehingga pesan sulit untuk dijebol.

3.6. Alat Penelitian


Alat yang digunakan dalam penelitian ini adalah :
1. Pesan yang akan diproses adalah pesan teks.
2. Sistem operasi Windows 7
3. Visual Basic 2010

Universitas Sumatera Utara


BAB 4

HASIL DAN PEMBAHASAN

4.1. Perancangan Keamanan Pesan


Setelah melakukan penelitian pada masing-masing algoritma yang ada, maka akan
dicoba dilakukan kombinasi dari algoritma One Time Pad dan algoritma ElGamal
yang nantinya akan dilakukan penelitian atas waktu yang dibutuhkan dalam
pemrosesan dan ukuran dari plaintext.

4.2. Proses Enkripsi


Pada tahap awal enkripsi, pesan yang dibutuhkan adalah berupa teks yang akan
dienkripsi, dengan menggunakan kunci acak dimana panjang kunci harus sama dengan
plaintext. Langkah-langkah proses enkripsinya :
Dimasukkan plainteks misalkan adalah : FASILKOM dengan kunci yang
dibangkitkan atau diambil secara acak yaitu XBYHMDKO. Dengan nilai setiap huruf
atau karakter dapat dilihat pada tabel 4.1.
Tabel 4.1 Nilai Karakter
Karakter Nilai
A 0
B 1
C 2
D 3
E 4
F 5
G 6
H 7
I 8
J 9
Universitas Sumatera Utara
34

Tabel 4.1 Nilai Karakter


K 10
L 11
M 12
N 13
O 14
P 15
Q 16
R 17
S 18
T 19
U 20
V 21
W 22
X 23
Y 24
Z 25

Hitung proses enkripsi dengan menggunakan rumus Ci = (Pi + Ki)mod 26.


C1 = (P1+ K1) mod 26
= (F + X) mod 26
= ( 5 + 23) mod 26
= 28 mod 26
=2
=C

C2 = (P2+ K2) mod 26


= (A + B) mod 26
= (0 + 1) mod 26
= 1 mod 26
=1
=B
Universitas Sumatera Utara
35

C3= (P3+ K3)mod 26


= (S + Y) mod 26
= (18 + 24)mod 26
= 42 mod 26
= 16
=Q

C4 = (P4+ K4)mod 26
= (I + H) mod 26
= (8 + 7) mod 26
= 15 mod 26
= 15
=P

C5 = (P5+ K5)mod 26
= (L + M) mod 26
= (11 + 12) mod 26
= 23 mod 26
= 23
=X

C6 = (P6+ K6)mod 26
= (K + D) mod 26
= (10 + 3) mod 26
= 13 mod 26
= 13
=N

Universitas Sumatera Utara


36

C7 = (P7+ K7)mod 26
= (O + K) mod 26
= (14 + 10) mod 26
= 24 mod 26
= 24
=Y

C8 = (P8+ K8)mod 26
= (M + O) mod 26
=(12 + 14) mod 26
= 26 mod 26
=0
=A
Berdasarkan perhitungan diatas diperolehlah ciphertext CBQPXNYA. Ciphertext yang
didapat inilah yang akan dikirim ke penerima. Kemudian kunci dari OTP yaitu
“ XBYHMDKO” terlebih dahulu akan diamakan menggunakan ElGamal sebelum
dikirim.

4.2.1. Proses Pembangkitan Bilangan Prima


Sebelum proses pembangkitan kunci ElGamal yang memerl;ukan bilangan prima
dalam perhitungannya, sebelumnya dibangkitkan dulu bilangan prima pada ElGamal
dengan menggunakan algoritma Lehman. Adapaun proses pembangkitan bilangan
prima dengan menggunakan algoritma Lehman adalah sebagai beikut :
1. Ambil nilai p = 127
2. Masukkan bilangan bulat a dengan syarat a < p
Dimisalkan a = 4
3. Lakukan perhitungan dengan rumus a(p – 1)/2 mod p ≡ 1
a(p – 1)/2 mod p ≡ 1
4(127 - 1)/2 mod 127≡ 1
4(126)/2 mod 127≡ 1
463 mod 127≡ 1
1≡1

Universitas Sumatera Utara


37

Karena hasil dari perhitungan 4(127 - 1)/2 mod 127 ≡ 1 maka 127 adalah bilangan
prima. Untuk lebih memastikan lagi dilakukan uji coba kedua dengan a = 18
a(p – 1)/2 mod p ≡ 1
18(127 - 1)/2 mod 127 ≡ 1
18(126)/2 mod 127 ≡ 1
1863 mod 127 ≡ 1
1≡1
Pada uji coba kedua didapatkan juga hasil dari perhitungan 1863 mod 127 ≡ 1
maka pada uji coba kedua bilangan 127 juga terbukti bilangan prima. Untuk
memastikan lagi dilakukan uji coba ketiga dengan bilangan a = 26.
a(p – 1)/2 mod p ≡ 1
18(127 - 1)/2 mod 127 ≡ 1
18(126)/2 mod 127 ≡ 1
1863 mod 127 ≡ 1
1≡1
Pada uji coba ketigadidapatkan juga hasil dari perhitungan 2663 mod 127 ≡ 1
maka pada uji coba ketiga bilangan 127 juga terbukti bilangan prima. Dengan begitu
selesailah proses pembangkitan bilangan prima yang nantinya akan digunakan dalam
pembangkitan kunci pada algoritma ElGamal. Dimana bilangan prima (p) yang
digunakan adalah sesuai dengan proses pembangkitan menggunakan algoritma
Lehman yaitu p = 127 akan digunakan untuk prima pada algoritma ElGamal.

4.2.2. Proses Pembangkitan Kunci Elgamal


Pada proses ini dilakukan pembangkitan kunci publik dan privat dari elgamal yang
nantinya akan digunakan untuk proses pengamanan kunci dari OTP “ XBYHMDKO” .
Berikut urutan langkah-langkah proses pembangkitan kunci :
1. Memilih sebuah bilangan acak prima yang diberi simbol p
p = 127
2. Menentukan nilai g (g < p)
nilai g = 13
3. memilih bilangan acak a dengan syarat 2 ≤ x ≤ p – 1
x = 17
4. Hitung nilai y = gxmod p
Universitas Sumatera Utara
38

y = 1317 mod 127 = 44


Hasil pembangkitan kunci adalah
kunci publik adalah triple (44, 13, 127)
kunci private adalah pasangan (17, 127)
dua pasangan kunci publik dan kunci privat yang sudah ditentukan ini yang nantinya
akan digunakan pada enkripsi untuk mengamankan kunci OTP.

4.2.3. Proses Enkripsi Kunci OTP dengan Elgamal


Setelah penentuan bilangan prima p = 127 dan nilai g = 13, maka terbentuklah hasil
kunci publik (127, 13, 44), langkah selanjutnya adalah melakukan enkripsi pesan
kedalam bentuk chipertext. Adapun urutan proses enkripsi pesan tersebut adalah :
1. Masukkan teks yang akan dienkripsi yaitu berupa kunci dari OTP yang akan
diamanankan.
Plaintext = XBYHMDKO
2. Plainteks yang berupa kunci dari One Time Pad dipotong menjadi blok-blok
karakter yang dimisalkan m1, m2, m3, …., mn dan dikonversi ke dalam kode
ASCII. Untuk proses konversi dapat dilihat pada tabel 4.2.
Tabel 4.2 Konversi Blok Karakter ke dalam kode ASCII
i Karakter Plainteks mi (ASCII)
1 X 88
2 B 66
3 Y 89
4 H 72
5 M 77
6 D 68
7 K 75
8 O 79

3. Tentukan bilangan acak k ∈{1, 2, ……, 126} yang disusunkan secara berurutan
sesuai dengan blok-blok plainteks. Untuk nilai dari bilangan acak k dapat
dilihat pada tabel 4.3.

Universitas Sumatera Utara


39

Tabel 4.3 Nilai bilangan acak k


i mi k
1 88 71
2 66 107
3 89 47
4 72 67
5 77 103
6 68 89
7 75 79
8 79 29

Hitung proses enkripsi a dan enkripsi b dengan rumus a = gk mod p dan


b = yk.m mod p sebagai berikut :
Enkripsi a
a = gk mod p
a1 = gk1 mod p
= 1371 mod 127
= 69

a2 = gk2 mod p
= 13107 mod 127
= 49

a3 =gk3 mod p
= 1347 mod 127
= 84

a4 = gk4 mod p
= 1367 mod 127
= 113

Universitas Sumatera Utara


40

a5 = gk5 mod p
= 13103 mod 127
= 60

a6 =gk6 mod p
= 1389 mod 127
= 98
a7 = gk7 mod p
= 1379 mod 127
= 62

a8 = gk8 mod p
= 1329 mod 127
= 41

enkripsi b :
b = yk.m mod p
b1 = yk1 . m1 mod p
= 4471.88 mod 127
=8

b2 = yk2 . m2 mod p
= 44107.66 mod 127
= 12

b3 = yk3 . m3 mod p
= 4447.89 mod 127
= 101

b4 = yk4 . m4 mod p
= 4467.72 mod 127
= 104

Universitas Sumatera Utara


41

b5 = yk5 . m5 mod p
= 44103.77 mod 127
= 39

b6 = yk6 . m6 mod p
= 4489.68 mod 127
= 122
b7 = yk7 . m7 mod p
= 4479.75 mod 127
= 51

b8 = yk8 . m8 mod p
= 4429.79 mod 127
= 18
Hasil perhitungan disusun dengan pola (a1, b1,a2, b2, ….., ai, bi) maka didapatlah
ciphertextnya sebagai berikut :
69 8 49 12 84 101 113 104 60 39 98 122 62 51 41 18
Kunci OTP yang sudah diamankan inilah yang nantinya akan dikirim ke penerima
sehingga kunci OTP akan terjaga kerahasiaannya selama proses pengiriman dan juga
dapat mengecoh jika ada yang ingin menyerang OTP.

4.3. Proses Dekripsi Pesan - Kunci


Pada proses ini penerima melakukan dekripsi terhadap kunci OTP yang telah
diamankan oleh Elgamal terlebih dahulu kemudian baru digunakan untuk membuka
pesan yang dienkripsi oleh OTP.
4.3.1 Proses Dekripsi Kunci OTP dengan Elgamal
Setelah melakukan proses enkripsi maka untuk membuka kembali plaintext yang
sudah dienkrip dilakukan proses dekripsi agar kunci OTP dapat dibaca oleh penerima
dan digunakan untuk mendekripsi pesan OTP. Masukkan ciphertext yang akan
didekripsi
Ciphertext = 69 8 49 12 84 101 113 104 60 39 98 122 62 51 41 18
Lakukan perhitungan mi = bi . aip-1-x mod p

Universitas Sumatera Utara


42

m1 = b1. a1p-1-x mod p


= 8.69127-1-17 mod 127
= 8.69109 mod 127
= 88

m2 =b2. a2p-1-x mod p


= 12. 49127-1-17 mod 127
= 12.49109 mod 127
= 66

m3 = b3. a3p-1-x mod p


= 101 . 84127-1-17 mod 127
= 101.84109mod 127
= 89

m4 = b4. a4p-1-x mod p


= 104 . 113127-1-17 mod 127
= 104.113109 mod 127
= 72

m5 =b5. a5p-1-x mod p


= 39 . 60127-1-17 mod 127
= 39.60109 mod 127
= 77

m6 =b6. a6p-1-x mod p


= 122 . 98127-1-17 mod 127
= 122.98109 mod 127
= 68

m7 = b7. a7p-1-x mod p


= 51 . 62127-1-17 mod 127
= 51.62109 mod 127
Universitas Sumatera Utara
43

= 75

m8 =b8. a8p-1-x mod p


= 18 . 41127-1-17 mod 127
= 18.41109 mod 127
= 79

Setelah didapatkan nilai mi ubah kembali masing kode ASCII yang didapat dari
perhitungan menjadi karakter, konversi ASCII ke karakter dapat dilihat pada table 4.4.

Tabel 4.4 Konversi kode ASCII ke karakter


i Kode ASCII Karakter
1 88 X
2 66 B
3 89 Y
4 72 H
5 77 M
6 68 D
7 75 K
8 79 O

Didapatlah kembali kunci OTP XBYHMDKO yang kemudian digunakan untuk


mendekripsi pesan oleh OTP.

4.3.2. Proses dekripsi One Time Pad


Pada proses ini penerima melakukan dekripsi atas ciphertext yang dikirim dengan
menggunakan kunci OTP yang telah didekripsin untuk mendekripsikannya ciphertext
pada One-time pad digunakanlah rumus Di = (Ci – Ki) mod 26. Berikut ini
perhitungannya
D1 = (C1 – K1) mod 26
= (C - X) mod 26
= (2 - 23) mod 26
= -21 mod 26 Universitas Sumatera Utara
44

= -21 + 26
=5
=F

D2 = (C2 – K2) mod 26


= (B - B) mod 26
= (1 - 1) mod 26
= 0 mod 26
=0
=A

D3 = (C3 – K3) mod 26


= (Q - Y) mod 26
= (16 - 24) mod 26
= -8 mod 26
= -8 + 26
= 18
=S

D4 = (C4 – K4) mod 26


= (P - H) mod 26
= (15 - 7) mod 26
= 8 mod 26
=8
=I

D5 = (C5 – K5) mod 26


= (X - M) mod 26
= (23 - 12) mod 26
= 11 mod 26
= 11
=L

Universitas Sumatera Utara


45

D6 = (C6 – K6) mod 26


= (N - D) mod 26
= (13 - 3) mod 26
= 10 mod 26
= 10
=K

D7 = (C7 – K7) mod 26


= (Y - K) mod 26
= (24 - 10) mod 26
= 14 mod 26
= 14
=O

D8 = (C8 – K8) mod 26


= (A - O) mod 26
=(0 - 14) mod 26
= -14 mod 26
= -14 + 26
= 12
=M

Jika terdapat nilai minus atau negatif dalam perhitungan maka ditambahkan 26 untuk
membuat angkanya menjadi positif. Maka dari perhitungan diatas penerima
mendapatkan kembali plaintext yang dikirim yaitu“ FASILKOM”

4.4. Hasil Implementasi pada Program


Untuk pengaplikasian algoritma penggabungan ini maka dibuat suatu aplikasi untuk
melihat apakah proses enkripsi dan dekripsi dapat berjalan sebagaimana yang
diharapkan. Tampilan awal dari aplikasi dapat dilihat pada gambar 4.1.

Universitas Sumatera Utara


46

Gambar 4.1. Tampilan Aplikasi


Pada gambar 4.1 dapat dilihat tampilan awal aplikasi yang memiliki textbox:
1. Plaintext : memasukkan plaintext yang hendak dienkripsi
2. Kunci OTP : masukkan kunci OTP sepanjang kunci plainteks
3. KeyPublik ElGamal : memasukkan kunci publik {p, g, y}
4. Key Rahasia ElGamal : Memasukkan kunci rahasia {x}
5. Cipherteks : menampilkan hasil enkripsi berdasarkan proses Algoritma
OTP.
6. Cipherkey : menampilkan hasil enkripsi kunci OTP dengan menggunakan
algoritma ElGamal.

Di dalam aplikasi ini terdapat 2 buah tombol:


1. Tombol Encrypt : melakukan proses enkripsi teks ke dalam OTP dan
kunci ke Elgamal.
2. Tombol Decrypt : melakukan proses dekripsi kunci ke dalam Elgamal
dan pesan ke bentuk OTP .

Universitas Sumatera Utara


47

4.4.1. Hasil Penggunaan Kunci Secara Manual


Pada uji coba dilakukan pengamanan pesan dan pengamanan kunci dimana disini
kunci one time pad dimasukkan secara manual dan untuk bilangan prima juga
dimasukkan secara manual.
Disini dimasukkan plainteks untuk one time pad adalah FASILKOM dan
kunci one time pad adalah ABCDEFGH. Untuk ElGamal dimasukkan key publik
p = 238 dan nilai g = 12 dan untuk x = 13.Untuk lebih jelasnya dapat dilihat pada
gambar 4.2.

Gambar 4.2. Proses Input plainteks dan kunci


Pada gambar diatas bilangan prima dicoba dimasukkan p = 238 dan untuk
mengetest apakah itu termasuk bilangan prima maka ditekan ENTER pada keyboard.
Untuk hasilnya dapat dilihat pada gambar 4.3.

Universitas Sumatera Utara


48

Gambar 4.3. Message box yang menyatakan bukan prima


Disini muncul message box yang menyatakan bilangan yang dimasukkan
bukanlah bilangan prima untuk itu perlu bilangan tersebut perlu diganti, bilangan akan
diganti dengan bilangan prima yang lain misalkan p = 179 dan kemudian ditekan
ENTER untuk melihat apakah bilangan yang dimasukkan sudah benar atau tidak.
Untuk hasilnya dapat dilihat pada gambar 4.4.

Gambar 4.4. Input nilai prima yang baru

Universitas Sumatera Utara


49

Setelah diganti dengan bilangan prima yang lain tidak menunjukkan message
box yang mengatakan itu bukan bilangan prima karena itu dapat dipastikan bahwa
bilangan tersebut adalah bilangan prima. Setelah itu dapat dilanjutkan dengan
melakukan proses enkripsi dengan menekan tombol Encrypt. Untuk hasilnya dapat
dilihat gambar 4.5.

Gambar 4.5. Proses enkripsi pesan dan kunci


Kemudian disini muncul hasil enkripsi dari one time pad yaitu FBULPPUT
dan cipherteks FBULPPUT inilah yang dikirimkan ke penerima. Untuk proses
enkripsi kunci publik RSA. Hasil dari proses pembentukan kunci adalah
Kunci publik : p = 179, g = 12, y = 64
Kunci privat : p = 179, x = 13
Hasil dari enkripsi algoritma ElGamal adalah
126,101,12,107,158,124,89,138,125,91,135, 67,74,159,144,99. Dan hasil pengamanan
kunci dengan ElGamal inilah yang juga dikirimkan ke penerima.
Untuk melakukan proses dekripsi plainteks pada kolom one time pad dan
kunci dihapus terlebih dahulu. Dapat dilihat pada gambar 4.6

Universitas Sumatera Utara


50

Gambar 4.6. Pengosongan plainteks dan kunci pada one time pad
Pada proses dekripsi cipherkey
126,101,12,107,158,124,89,138,125,91,135,67,74,159,144,99 oleh penerima disini
digunakan kunci private dari ElGamal yaitu x = 13 dan p = 179. Setelah itu tekan
tombol decrypt untuk memulai proses dekripsi. Untuk hasilnya dapat dilihat pada
gambar 4.7.

Gambar 4.7. Proses dekripsi oleh penerima


Universitas Sumatera Utara
51

Dekripsi cipherteks FBULPPUT menggunakan algoritma one time pad


sehingga didapatkan kembali plainteksnya adalah FASILKOM sesuai dengan awalnya
begitu juga dengan kunci one time pad yang tadinya diamankan dengan ElGamal
kuncinya kembali ke awal yaitu ABCDEFGH.

4.4.2. HasilPenggunaan Kunci Secara Acak


Pada uji coba selanjutnya dilakukan pengujian keamanan pesan dan kunci dengan
menggunakan kunci acak dari algoritma one time pad dan untuk pembentukan kunci
pada ElGamal akan menggunakan bilangan acak untuk menentukan nilai bilangan
prima p dan untuk nilai g dan x akan dimasukkan secara manual. Untuk plainteks dari
one time pad dicoba dimasukkan sebanyak 80 karakter. Untuk kuncinya klik pada
kolom kunci sehingga akan muncul secara otomatisAdapun prosesnya dapat dilihat
pada gambar 4.8.

Gambar 4.8. Proses input dkunci dengan fungsi random


Dari gambar diatas dapat dilihat kunci dari one time pad muncul secara
otomatis begitu juga dengan nilai prima ElGamal memiliki nilai p = 239. Untuk
memulai proses enkripsi ditekan tombol Encrypt. Untuk hasilnya dapat dilihat pada
gambar 4.9. Universitas Sumatera Utara
52

Gambar 4.9. Proses enkripsi dengan fungsi random


Setelah menekan tombol encrypt maka didapat hasil ciphertext dari proses
enkripsi dengan karakter yang berbeda-beda dan ciphertext inilah yang dikirim ke
penerima.

4.5. Hasil dari Penggabungan Algoritma


Dengan digabungnya algoritma One Time Pad dan ElGamal maka dapat mengatasi
masalah kekurangan One Time Pad dalam menjagakerahasiaan kunci selama proses
pengiriman kunci ke penrima, sehingga diperlukan perlindungan selama pengiriman
kunci. Adapun hasil dari proses penggabungan algoritma one time pad dan ElGamal
dapat dilihat pada gambar 4.10.

Universitas Sumatera Utara


53

PLAINTEXT

Enkripsi Key ElGamal


ci = (pi + ki) mod 26 OTP

Ciphertext
Proses Pengamanan
key oleh ElGamal

Gambar 4.10. Proses Pengaman kunci oleh ElGamal


Dengan dikombinasikannya algoritma One Time Pad dengan algoritma
ElGamal maka kelemahan algoritma One Time Pad dalam keamanan atau kerahasiaan
kunci selama pesan dikirim dapat diatasi, dikarenakan kunci One Time Pad telah
diamankan oleh algoritma ElGamal selama pengiriman pesan dan kunci ke penerima.
Sehingga menghasilkan kemananan dalam kunci yang cukup kuat begitu juga dengan
pesannya. Sehingga disini jika ada penyerang atau pihak ketiga yang berusaha ingin
mencuri pesan atau membuka pesan secara paksa maka terlebih dahulu sang
penyerang atau pihak ketiga itu harus terlebih dahulu menyerang algoritma ElGamal
agar mendapatkan kunci untuk membuka pesan yang sudah dienkripsi oleh One Time
Pad. Dan setelah itu barulah sang penyerang baru bisa mendapatkan pesannya.
Sehingga bisa dikatakan dengan digabungnya algoritma One Time Pad dan algoritma
ElGamal tingkat keamanan dari pesan dan kompleksitas algoritma menjadi meningkat
karena proses penyerangan akan berjalan lebih lama daripada hanya terdapat satu
buah proses One Time Pad saja.

Universitas Sumatera Utara


54

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan
Kesimpulan yang didapatkan berdasarkan penelitian yang dilakukan dengan
menggabungkan algoritma One Time Pad dengan algoritma ElGamal adalah sebagai
berikut :
1. Merupakan suatu kombinasi algoritma yang baru.
2. Dapat diimplementasikan pada keamanan pesan.
3. Pada kombinasikedua algoritma tersebut mempunyai kompleksitas kunci yang
dapat di pecahkan dengan beberapa kali pemecahan
4. Dengan digabunggkan kombinasi ini kerahasiaan kunci selama pengiriman
dapat terjaga. Kerahasiaan kunci dari OTP terjaga dengan algoritma ElGamal
yang melakukan enkripsi terhadap kunci OTP sehingga keamanan kunci dari
OTP terjaga selama proses pengiriman.

5.2. Saran
Saran untuk perbaikan penelitian ini agar lebih baik yaitu:
1. Untuk pengembangannya dapat dilakukan pengacakan kunci dari OTP secara
random atau acak.
2. Untuk bilangan prima pada kunci ElGamal dapat dikembangkan dengan
melakukan pengujian menggunakan algoritma untuk mengetest keprimaan suatu
angka.

Universitas Sumatera Utara