BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Permasalahan
Pada algoritma kriptografi, dalam hal keamanan hampir seluruhnya berbasis pada permasalahan teori bilangan, seperti permasalahan faktorisasi bilangan atau
logaritma diskrit. Meskipun permasalahan tersebut sulit dipecahkan pada saat ini, tidak menutup kemungkinan pada masa yang akan datang permasalahan tersebut
akan menemukan pemecahannya dengan lebih mudah.
Dalam penelitian ini dilakukan proses kriptografi dengan menggunakan kombinasi algoritma RSA dan ElGamal dalam pengamanan data pada file
dokumen untuk menjamin bahwa file yang akan dikirim aman dan terhindar dari pihak yang tidak memiliki hak untuk mengetahui isi dari file tersebut sebelum
sampai ke tujuan.
Masalah utama pada penelitian ini adalah bagaimana meningkatkan keamanan pada file dokumen dengan menggunakan kombinasi algoritma RSA dan
ElGamal sehingga tingkat keamanannya lebih baik.
3.2 Analisis Kebutuhan
Berdasarkan analisa permasalahan, maka hasil dari sistem yang didapat adalah cipherteks dari proses enkripsi dan plainteks dari proses dekripsi. Untuk
memenuhi kebutuhan tersebut, maka sistem ini dibangun oleh sistem operasi Windows 7 Ultimate, dengan perangkat lunak pengembangan Neatbeans 7.1.2
dengan menggunakan MATLAB.
Universitas Sumatera Utara
3.3 Perancangan Sistem
Perancangan sistem merupakan suatu tahapan yang sangat penting untuk menentukan tahap awal dari kondisi akhir pada sistem yang akan dibangun untuk
memperoleh hasil melalui implementasinya.
Sistem ini mengkombinasikan dua algoritma untuk mengamankan file yang diinput user langsung. File yang diinput kemudian dilakukan proses enkripsi
dengan menggunakan kombinasi algoritma RSA dan ElGamal, dengan menginput nilai kunci publik RSA untuk dilakukan proses pembangkitan kunci, dan
selanjutnya dilakukan proses enkripsi untuk menghasilkan cipherteks. Cipherteks hasil file yang diinput kemudian dilakukan proses dekripsi dengan menginput nilai
kunci privat ElGamal dan RSA dan selanjutnya dilakukan proses dekripsi untuk menghasilkan file semula.
3.3.1 Perancangan Flowchart
Untuk mempermudah perancangan sistem pada implementasi kombinasi algoritma RSA dan ElGamal, diperlukan langkah-langkah yang dikelompokkan ke
dalam flowchart.
Flowchart adalah bagan yang menunjukkan alur suatu sistem yang tiap alur dihubungkan secara logika sesuai dengan ketentuan komponen alur yang
telah disepakati.
3.3.2 Flowchart Algoritma RSA
Algoritma RSA memiliki 3 buah proses yaitu proses pembangkit kunci, proses enkripsi, dan proses dekripsi. Dimana proses-proses tersebut akan dijelaskan pada
flowchart-flowchart berikut:
Universitas Sumatera Utara
Tidak
Ya
Tidak
Ya
Gambar 3.1 Flowchart Pembangkit Kunci RSA =
1+ ��
; ∈ �
�
gcd , � = 1,
Selesai
� = 1,2,3, … ,
Input
Kunci publik ,
Kunci privat ,
Mulai
Input , ; bilangan prima
= ∗
� = − 1 ∗ − 1
= 2,3,4, … ,
Input
Universitas Sumatera Utara
a b
Gambar 3.2 a Flowchart Enkripsi RSA; b Flowchart Dekripsi RSA
3.3.3 Flowchart Algoritma ElGamal
Algoritma ElGamal juga memiliki 3 buah proses yaitu proses pembangkit kunci, proses enkripsi, dan proses dekripsi. Dimana proses-proses tersebut akan
dijelaskan pada flowchart-flowchart berikut:
Mulai
Plainteks , Kunci publik
,
Pecah plainteks menjadi
blok
1
,
2
, … ,
−1 �
=
�
Cipherteks
Selesai Mulai
Cipherteks , Kunci privat
,
Pecah cipherteks menjadi blok
1
,
2
, … ,
−1 �
=
�
Plainteks
Selesai
Universitas Sumatera Utara
Tidak
Ya
Gambar 3.3 Flowchart Pembangkit Kunci ElGamal
Mulai
Input ; bilangan prima
Kunci publik ,
�, Kunci privat
, =
� �, ; bilangan acak
Selesai
� ; 1
≤ ≤ − 2
Universitas Sumatera Utara
Tidak
Ya
Gambar 3.4 Flowchart Enkripsi ElGamal
Gambar 3.5 Flowchart Dekripsi ElGamal
Mulai
Plainteks ; Kunci publik
, �, ; Input
�;
1 ≤ � ≤ − 2
Pecah plainteks menjadi
blok
1
,
2
, … ,
� �
= �
� �
=
� �
Cipherteks
Selesai
A A
Mulai
Cipherteks ; Kunci privat
, ;
Pecah cipherteks menjadi blok
1
,
2
, … ,
�
Plainteks
Selesai
A A
�
=
� � −1−
Universitas Sumatera Utara
3.3.4 Flowchart Kombinasi Algoritma RSA dan ElGamal
Pada kombinasi algoritma RSA dan ElGamal terdapat 2 proses yaitu proses enkripsi dan proses dekripsi, seperti ditunjukkan pada flowchart berikut:
a b
Gambar 3.6 a Flowchart Enkripsi Kombinasi RSA dan ElGamal; b
Flowchart Dekripsi Kombinasi RSA dan ElGamal
Mulai
Input plainteks, kunci publik RSA,
kunci publik ElGamal
Enkripsi RSA
Enkripsi ElGamal
Selesai Cipherteks RSA
Cipherteks ElGamal
Mulai
Input cipherteks, kunci privat RSA,
kunci privat ElGamal
Dekripsi ElGamal
Dekripsi RSA
Selesai Cipherteks
ElGamal
Plainteks
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI
Pada bab ini akan diperlihatkan hasil dan pembahasan dari penelitian yang diperoleh berdasarkan penjelasan
– penjelasan yang telah dipaparkan pada bab - bab sebelumnya. Hasil dan pembahasan dari penelitian ini adalah mengenai
implementasi kombinasi algoritma RSA dan ElGamal dalam pengamanan data pada file dokumen.
4.1 Kebutuhan Perangkat Lunak dan Perangkat Keras
Penelitian ini menggunakan perangkat lunak berupa: 1.
Sistem Operasi Windows 7 2.
MATLAB R2009a Spesifikasi perangkat keras yang digunakan berupa:
1. Processor Intel core i3 1.7 GHz
2. RAM 2 GB
3. Harddisk 500 GB
4. Monitor 14.0 inch
4.2 Implementasi
Pada implementasi sistem ini secara keseluruhan penulis membuat tiga buah halaman antarmuka, yang terdiri dari halaman utama yang berisikan tentang
pilihan proses apa yang akan dilakukan. Bentuk antarmuka halaman utama dapat dilihat pada Gambar 4.1.
Universitas Sumatera Utara
Gambar 4.1 Halaman utama
Dari Gambar 4.1 dapat dilihat bahwa di dalam halaman utama terdapat tiga buah tombol yaitu tombol enkripsi, dekripsi dan keluar. Tombol enkripsi
digunakan untuk memulai proses enkripsi, tombol dekripsi digunakan untuk memulai proses dekripsi, dan tombol keluar digunakan untuk keluar dari program.
4.2.1 Proses Enkripsi
File pesan yang akan dienkripsi berisikan “Selamat Budiman, kamu lulus di
jurusan matematika FMIPA USU, Password anda untuk login adalah Budiman1912”.
Gambar 4.2 File yang dienkripsi
Universitas Sumatera Utara
Untuk memulai proses enkripsi, tekan tombol enkripsi pada halaman utama, maka akan muncul halaman enkripsi seperti pada Gambar 4.3.
Gambar 4.3 Halaman enkripsi 1
Selanjutnya yang dilakukan adalah masukan file pesan yang akan dienkripsi dengan mengklik Pilih File pada kolom yang telah disediakan seperti
pada Gambar 4.4.
Gambar 4.4 Pop-up window pilih file 1
Universitas Sumatera Utara
Setelah file dipilih akan ditampilkan pada halaman enkripsi.
Gambar 4.5 Halaman enkripsi 2
Selanjutnya pada kunci RSA input nilai dan
pada kolom yang disediakan. Kemudian klik kolom bangkitkan kunci sehingga masing-masing
kunci publik dan kunci privat pada kunci RSA dan kunci ElGamal akan terpilih secara otomatis. Selanjutnya klik proses enkripsi, maka file telah selesai
dienkripsi.
Gambar 4.6 Halaman enkripsi 3
Universitas Sumatera Utara
Kemudian simpan file yang telah terenkripsi seperti yang terlihat pada Gambar 4.7.
Gambar 4.7 Pop-up window simpan file
File pada Gambar 4.8 merupakan file hasil proses enkripsi.
Gambar 4.8 Hasil.txt
Universitas Sumatera Utara
4.2.2. Proses Dekripsi
Untuk proses dekripsi dilakukan dengan menekan tombol dekripsi pada halaman utama, maka akan muncul halaman dekripsi seperti pada Gambar 4.9
Gambar 4.9 Halaman dekripsi 1
Selanjutnya yang dilakukan adalah pilih file hasil enkripsi dengan cara mengklik tombol Pilih File, maka akan muncul pop-up window untuk mengakses
lokasi file disimpan.
Gambar 4.10 Pop-up window pilih file 2
Universitas Sumatera Utara
Setelah file dipilih akan ditampilkan pada halaman dekripsi.
Gambar 4.11 Halaman dekripsi 2
Langkah selanjutnya adalah masukan kunci pada kolom yang disediakan
Gambar 4.12 Halaman dekripsi 3
Setelah kunci dimasukkan, klik tombol proses dekripsi untuk memulai proses dekripsi. Setelah diklik maka akan muncul pesan asli pada kolom yang
disediakan.
Universitas Sumatera Utara
Gambar 4.13 Halaman dekripsi 4
4.3 Analisis Dalam Aplikasi
Pada tahap ini dijelaskan bagaimana proses aplikasi tersebut berjalan dari saat pengamanan sampai saat pengungkapan.
4.3.1 Pengamanan Pesan
Pesan yang diamankan dari contoh kasus pada penelitian ini adalah “Selamat Budiman, kamu lulus di jurusan matematika FMIPA USU, Password anda untuk
login adalah Budiman1912”. Pesan yang dipakai adalah “Budiman1912” untuk menyederhanakan proses analisis aplikasi ini.
Proses 1: Pada tahap ini plainteks diubah menjadi kode ASCII yaitu sebagai berikut:
Tabel 4.1 Kode ASCII Plainteks 1
�
Plainteks Kode ASCII
1
B 66
2
u 117
Universitas Sumatera Utara
3
d 100
4
i 105
5
m 109
6
a 97
7
n 110
8
1 49
9
9 57
10
1 49
11
2 50
Proses 2: Untuk Tahap ini dilakukan proses pembangkitan kunci pada algoritma RSA:
6. Pilih dua buah bilangan prima sembarang dan . Sebaiknya ≠ , sebab
jika = maka
=
2
, sehingga dapat diperoleh dengan menarik akar pangkat dua dari .
Misalnya terpilih = 47 dan = 71.
7. Hitung = ∙ .
Sehingga diperoleh = 47 ∙ 71 = 3337
8. Hitung � = − 1 ∙ − 1.
Sehingga diperoleh � = 47 - 1 ∙ 71 - 1
= 46 ∙ 70
= 3220
9. Pilih kunci yang relatif prima terhadap � .
Misalnya terpilih = 293 yang relatif prima terhadap 3220. Bukti:
3220 = 10 293 + 290 293
= 1 290 + 3 290
= 96 3 + 2 3
= 1 2 + 1
Universitas Sumatera Utara
10. Bangkitkan kunci privat dengan menggunakan persamaan
⋅ ≡ 1
� . Perhatikan bahwa ⋅ ≡ 1 � . Hitung hingga
⋅ ≡ 1 � ekivalen
∙ = 1 + �� , sehinnga secara sederhana dapat dihitung dengan
=
1+ ��
. Dengan mencoba nilai
� = 1, 2, 3, … sehingga diperoleh nilai bulat. Untuk:
� = 1, maka: =
1+1 ∙3220
293
= 10,993174 � = 2, maka:
=
1+2 ∙3220
293
= 21,982935 .
. .
� = 98, maka: =
1+98 ∙3220
293
= 1077 Sehingga diperoleh nilai adalah 1077.
Dari proses pembangkitan kunci maka diperoleh: Kunci publik 293, 3337
Kunci privat 1077, 3337
Proses 3: Plainteks yang sudah bernilai kode ASCII tersebut dienkripsi dengan
menggunakan kunci publik pada algoritma RSA yaitu 293, 3337. Dengan rumus:
Maka diperoleh:
1
= 66
293
3337 = 1295
4
= 105
293
3337 = 1443
2
= 117
293
3337 = 1628
5
= 109
293
3337 = 499
3
= 100
293
3337 = 166
6
= 97
293
3337 = 1177
�
=
�
Universitas Sumatera Utara
7
= 110
293
3337 = 2891
10
= 49
293
3337 = 1352
8
= 49
293
3337 = 1352
11
= 50
293
3337 = 1271
9
= 57
293
3337 = 522 Jadi, cipherteks yang dihasilkan adalah:
= 1295 1628 166 1443 499 1177 2891 1352 522 1352 1271
Proses 4: Pada tahap ini cipherteks yang dihasilkan pada proses 3 menjadi plainteks yang
dienkripsi dengan menggunakan algoritma ElGamal:
Tabel 4.2 Plainteks ElGamal
�
Plainteks
1
1295
2
1628
3
166
4
1443
5
499
6
1177
7
2891
8
1352
9
522
10
1352
11
1271
Proses 5: Untuk tahap ini dilakukan proses pembangkitan kunci pada algoritma ElGamal:
4. Pilih sembarang bilangan prima . dengan syarat nilai harus lebih besar dari
nilai plainteks terbesar. Karena nilai plainteks terbesar adalah 2891, maka nilai harus lebih besar
dari 2891. Misalnya terpilih nilai adalah 3593.
Universitas Sumatera Utara
5. Pilih dua buah bilangan acak � dan , dengan syarat � dan 1 ≤ ≤ −
2. Misalnya terpilih nilai
� = 28 dan = 12.
6. Hitung = �
. Sehingga diperoleh:
= 28
12
3593 = 626.
Dari proses pembangkitan kunci maka diperoleh: Kunci publik 626, 28, 3593
Kunci privat 12, 3593
Proses 6: Plainteks dienkripsi dengan menggunakan kunci publik pada algoritma ElGamal
yaitu 626, 28, 3593. Dengan rumus:
dan
dengan syarat: 1
≤ �
�
≤ − 2 dalam hal ini nilai
�
�
= �
1
, … , �
11
. Misalnya terpilih nilai
�
1
= 20, �
2
= 31, �
3
= 11, �
4
= 45, �
5
= 52, �
6
= 63, �
7
= 35,
�
8
= 21, �
9
= 16, �
10
= 32, �
11
= 41. Maka diperoleh:
1
= 28
20
3593 = 498
1
= 626
20
1295 3593 = 2787
2
= 28
31
3593 = 2408
2
= 626
31
1628 3593 = 1853
3
= 28
11
3593 = 279
3
= 626
11
166 3593 = 157
4
= 28
45
3593 = 1905
4
= 626
45
1443 3593 = 1056
5
= 28
52
3593 = 567
5
= 626
52
499 3593 = 1888
6
= 28
63
3593 = 101
6
= 626
63
1177 3593 = 3434
�
= �
�
�
�
=
�
�
�
Universitas Sumatera Utara
7
= 28
35
3593 = 2007
7
= 626
35
2891 3593 = 3448
8
= 28
21
3593 = 3165
8
= 626
21
1352 3593 = 1945
9
= 28
16
3593 = 286
9
= 626
16
522 3593 = 865
10
= 28
32
3593 = 2750
10
= 626
32
1352 3593 = 3030
11
= 28
41
3593 = 2436
11
= 626
41
1271 3593 = 2213
Jadi cipherteks yang dihasilkan adalah: = 498 2787 2408 1853 279 157 1905 1056 567 1888 101 3434 2007 3448
3165 1945 286 865 2750 3030 2436 2213
4.3.2 Pengungkapan Pesan
Pengungkapan pesan adalah proses mengembalikan cipherteks menjadi plainteks semula.
Proses 1: Pada tahap ini dilakukan proses dekripsi untuk cipherteks ElGamal dengan
menggunakan kunci privat 12, 3593. Dengan rumus:
Maka diperoleh:
1
= 2787
∙ 498
3593 −1−12
3593 = 1295
2
= 1853
∙ 2408
3593 −1−12
3593 = 1628
3
= 157
∙ 279
3593 −1−12
3593 = 166
4
= 1056
∙ 1905
3593 −1−12
3593 = 1443
5
= 1888
∙ 567
3593 −1−12
3593 = 499
6
= 3434
∙ 101
3593 −1−12
3593 = 1177
7
= 3448
∙ 2007
3593 −1−12
3593 = 2891
8
= 1945
∙ 3165
3593 −1−12
3593 = 1352
�
=
� � −1−
Universitas Sumatera Utara
9
= 865
∙ 286
3593 −1−12
3593 = 522
10
= 3030
∙ 2750
3593 −1−12
3593 = 1352
11
= 2213
∙ 2436
3593 −1−12
3593 = 1271
Jadi plainteks yang dihasilkan adalah: = 1295 1628 166 1443 499 1177 2891 1352 522 1352 1271
Proses 2: Pada tahap ini plainteks yang dihasilkan pada proses 1 menjadi cipherteks yang
didekripsi dengan menggunakan algoritma RSA: Tabel 4.3 Cipherteks RSA
�
Cipherteks
1
1295
2
1628
3
166
4
1443
5
499
6
1177
7
2891
8
1352
9
522
10
1352
11
1271
Proses 3: Pada tahap ini dilakukan proses dekripsi untuk cipherteks RSA dengan
menggunakan kunci privat 1077, 3337. Dengan rumus:
Maka diperoleh:
1
= 1295
1077
3337 = 66
�
=
�
Universitas Sumatera Utara
2
= 1628
1077
3337 = 117
3
= 166
1077
3337 = 100
4
= 1443
1077
3337 = 105
5
= 499
1077
3337 = 109
6
= 1177
1077
3337 = 97
7
= 2891
1077
3337 = 110
8
= 1352
1077
3337 = 49
9
= 522
1077
3337 = 57
10
= 1352
1077
3337 = 49
11
= 1271
1077
3337 = 50
Tabel 4.4 Kode ASCII Plainteks 2
�
Kode ASCII Plainteks
1
66 B
2
117 u
3
100 d
4
105 i
5
109 m
6
97 a
7
110 n
8
49 1
9
57 9
10
49 1
11
50 2
Dari proses-proses tersebut didapat kan kembali pesan a sli yaitu: “Budiman1912”.
Universitas Sumatera Utara
4.4 Pengujian Sistem
Pengujian sistem dilakukan dengan membandingkan hasil dan waktu proses dari kombinasi algoritma RSA dan ElGamal dengan hasil dari masing-masing
algoritma RSA dan ElGamal.
4.4.1 Hasil Algoritma RSA
Dengan mnggunakan pesan yang sama yaitu “Budiman1912”.
4.4.1.1 Pengamanan Pesan
Proses 1: Pada tahap ini plainteks diubah menjadi kode ASCII yaitu sebagai berikut:
Tabel 4.5 Kode ASCII Plainteks 3
�
Plainteks Kode ASCII
1
B 66
2
u 117
3
d 100
4
i 105
5
m 109
6
a 97
7
n 110
8
1 49
9
9 57
10
1 49
11
2 50
Universitas Sumatera Utara
Proses 2: Untuk Tahap ini dilakukan proses pembangkitan kunci:
1. Pilih dua buah bilangan prima sembarang dan . Sebaiknya ≠ , sebab
jika = maka
=
2
, sehingga dapat diperoleh dengan menarik akar pangkat dua dari .
Misalnya terpilih = 47 dan = 71.
2. Hitung = ∙ .
Sehingga diperoleh = 47 ∙ 71 = 3337
3. Hitung � = − 1 ∙ − 1.
Sehingga diperoleh � = 47 - 1 ∙ 71 - 1
= 46 ∙ 70
= 3220
4. Pilih kunci yang relatif prima terhadap � .
Misalnya terpilih = 293 yang relatif prima terhadap 3220. Bukti:
3220 = 10 293 + 290 293
= 1 290 + 3 290
= 96 3 + 2 3
= 1 2 + 1
5. Bangkitkan kunci privat dengan menggunakan persamaan
⋅ ≡ 1
� . Perhatikan bahwa ⋅ ≡ 1 � . Hitung hingga
⋅ ≡ 1 � ekivalen
∙ = 1 + �� , sehinnga secara sederhana dapat dihitung dengan
=
1+ ��
. Dengan mencoba nilai
� = 1, 2, 3, … sehingga diperoleh nilai bulat. Untuk:
� = 1, maka: =
1+1 ∙3220
293
= 10,993174
Universitas Sumatera Utara
� = 2, maka: =
1+2 ∙3220
293
= 21,982935 .
. .
� = 98, maka: =
1+98 ∙3220
293
= 1077 Sehingga diperoleh nilai adalah 1077.
Dari proses pembangkitan kunci maka diperoleh: Kunci publik 293, 3337
Kunci privat 1077, 3337
Proses 3: Plainteks yang sudah bernilai kode ASCII tersebut dienkripsi dengan
menggunakan kunci publik pada algoritma RSA yaitu 293, 3337. Dengan rumus:
Maka diperoleh:
1
= 66
293
3337 = 1295
7
= 110
293
3337 = 2891
2
= 117
293
3337 = 1628
8
= 49
293
3337 = 1352
3
= 100
293
3337 = 166
9
= 57
293
3337 = 522
4
= 105
293
3337 = 1443
10
= 49
293
3337 = 1352
5
= 109
293
3337 = 499
11
= 50
293
3337 = 1271
6
= 97
293
3337 = 1177 Jadi, cipherteks yang dihasilkan adalah:
= 1295 1628 166 1443 499 1177 2891 1352 522 1352 1271
�
=
�
Universitas Sumatera Utara
4.4.1.2 Pengungkapan Pesan
Pada tahap ini dilakukan proses dekripsi dengan menggunakan kunci privat 1077, 3337.
Dengan rumus:
Maka diperoleh:
1
= 1295
1077
3337 = 66
2
= 1628
1077
3337 = 117
3
= 166
1077
3337 = 100
4
= 1443
1077
3337 = 105
5
= 499
1077
3337 = 109
6
= 1177
1077
3337 = 97
7
= 2891
1077
3337 = 110
8
= 1352
1077
3337 = 49
9
= 522
1077
3337 = 57
10
= 1352
1077
3337 = 49
11
= 1271
1077
3337 = 50
Tabel 4.6 Kode ASCII Plainteks 4
�
Kode ASCII Plainteks
1
66 B
2
117 u
3
100 d
4
105 i
5
109 m
6
97 a
7
110 n
8
49 1
9
57 9
�
=
�
Universitas Sumatera Utara
10
49 1
11
50 2
Dari proses-proses tersebut didapat kan kembali pesan a sli yaitu: “Budiman1912”.
4.4.2 Hasil Algoritma ElGamal
Dengan menggunakan pesan yang sama yaitu “Budiman1912”.
4.4.2.1 Pengamanan Pesan
Proses 1: Pada tahap ini plainteks diubah menjadi kode ASCII yaitu sebagai berikut:
Tabel 4.7 Kode ASCII Plainteks 5
�
Plainteks Kode ASCII
1
B 66
2
u 117
3
d 100
4
i 105
5
m 109
6
a 97
7
n 110
8
1 49
9
9 57
10
1 49
11
2 50
Universitas Sumatera Utara
Proses 2: Untuk tahap ini dilakukan proses pembangkitan kunci:
1. Pilih sembarang bilangan prima . dengan syarat nilai harus lebih besar dari
nilai plainteks terbesar. Karena nilai plainteks terbesar adalah 117, maka nilai harus lebih besar dari
117. Misalnya terpilih nilai adalah 127.
2. Pilih dua buah bilangan acak � dan , dengan syarat � dan 1 ≤ ≤ −
2. Misalnya terpilih nilai
� = 28 dan = 12.
3. Hitung = �
. Sehingga diperoleh:
= 28
12
127 = 19.
Dari proses pembangkitan kunci maka diperoleh: Kunci publik 19, 28, 127
Kunci privat 12, 127
Proses 3: Plainteks dienkripsi dengan menggunakan kunci publik 19, 28, 127.
Dengan rumus: dan
dengan syarat: 1
≤ �
�
≤ − 2 dalam hal ini nilai
�
�
= �
1
, … , �
11
. Misalnya terpilih nilai
�
1
= 20, �
2
= 31, �
3
= 11, �
4
= 45, �
5
= 52, �
6
= 63, �
7
= 35,
�
8
= 21, �
9
= 16, �
10
= 32, �
11
= 41. Maka diperoleh:
1
= 28
20
127 = 22
1
= 19
20
66 127 = 77
2
= 28
31
127 = 24
2
= 19
31
117 127 = 64
�
= �
�
�
�
=
�
�
�
Universitas Sumatera Utara
3
= 28
11
127 = 105
3
= 19
11
100 127 = 32
4
= 28
45
127 = 126
4
= 19
45
105 127 = 105
5
= 28
52
127 = 52
5
= 19
52
109 127 = 39
6
= 28
63
127 = 126
6
= 19
63
97 127 = 97
7
= 28
35
127 = 59
7
= 19
35
110 127 = 86
8
= 28
21
127 = 108
8
= 19
21
49 127 = 49
9
= 28
16
127 = 52
9
= 19
16
57 127 = 67
10
= 28
32
127 = 37
10
= 19
32
49 127 = 36
11
= 28
41
127 = 90
11
= 19
41
50 127 = 16
Jadi cipherteks yang dihasilkan adalah: = 22 77 24 64 105 32 126 105 52 39 126 97 59 86 108 49 52 67 37 36 90
16.
4.4.2.2 Pengungkapan Pesan
Pada tahap ini dilakukan proses dekripsi dengan menggunakan kunci privat 12, 127.
Dengan rumus:
Maka diperoleh:
1
= 77
∙ 22
127 −1−12
127 = 66
2
= 64
∙ 24
127 −1−12
127 = 117
3
= 32
∙ 105
127 −1−12
127 = 100
4
= 105 ∙ 126
127 −1−12
127 = 105
5
= 39
∙ 52
127 −1−12
127 = 109
6
= 97
∙ 126
127 −1−12
127 = 97
�
=
� � −1−
Universitas Sumatera Utara
7
= 86
∙ 59
127 −1−12
127 = 110
8
= 49
∙ 108
127 −1−12
127 = 49
9
= 67
∙ 52
127 −1−12
127 = 57
10
= 36
∙ 37
127 −1−12
127 = 49
11
= 16
∙ 90
127 −1−12
127 = 50
Jadi plainteks yang dihasilkan adalah: = 66 117 100 105 109 97 110 49 57 49 50
Tabel 4.8 Kode ASCII Plainteks 6
�
Kode ASCII Plainteks
1
66 B
2
117 u
3
100 d
4
105 i
5
109 m
6
97 a
7
110 n
8
49 1
9
57 9
10
49 1
11
50 2
Dari proses-proses tersebut didapat kan kembali pesan a
sli yaitu: “Budiman1912”.
Universitas Sumatera Utara
4.4.3 Perbandingan Hasil Kombinasi Algoritma RSA dan ElGamal dengan Hasil Masing-Masing Algoritma
Dalam penelitian ini, penulis menggunakan kombinasi algoritma RSA dan ElGamal yang bertujuan untuk memberikan perlindungan ganda yang lebih baik
dalam menjaga kerahasiaan dari isi file dokumen. Hasil enkripsi dari kombinasi algoritma RSA dan ElGamal adalah cipherteks dan hasil dari dekripsinya adalah
plainteks.
Cipherteks hasil dari kombinasi algoritma RSA dan ElGamal memiliki panjang 2 kali dari plainteks dan juga menggunakan proses sebanyak 2 kali.
Sedangkan jika hanya menggunakan algoritma RSA saja, cipherteks yang dihasilkan hanya sepanjang plainteks dan hanya menggunakan proses sebanyak 1
kali saja, begitu pula dengan menggunakan algoritma ElGamal, walaupun cipherteks yang dihasilkan 2 kali panjang plainteks namun proses yang dilakukan
hanya sebanyak 1 kali. Berikut ini merupakan cipherteks hasil kombinasi algoritma RSA dan
ElGamal, hasil algoritma RSA, dan hasil algoritma ElGamal. Plainteks: “Budiman1912”
Cipherteks Kombinasi Algoritma RSA dan ElGamal: 498 2787 2408 1853 279 157 1905 1056 567 1888 101 3434 2007 3448 3165
1945 286 865 2750 3030 2436 2213
Cipherteks Algoritma RSA: 1295 1628 166 1443 499 1177 2891 1352 522 1352 1271
Cipherteks Algoritma ElGamal: 22 77 24 64 105 32 126 105 52 39 126 97 59 86 108 49 52 67 37 36 90 16
Universitas Sumatera Utara
Setelah dilakukan pengujian sistem, dapat dikethui lamanya waktu proses dari masing-masing algoritma. Hasil pengujian ditampilkan pada Tabel 4.9.
Tabel 4.9 Waktu Proses Algoritma
Ukuran File bytes
Waktu Proses detik Enkripsi
Dekripsi
Kombinasi RSA dan ElGamal
50 0,015336
0,0087446 100
0,026256 0,016899
200 0,0359
0,031801 500
0,069096 0,063992
1000 0,11417
0,086719
RSA 50
0,0046705 0,0042781
100 0,01025
0,0083691 200
0,014965 0,01413
500 0,023604
0,032107 1000
0,03533 0,053949
ElGamal 50
0,0096671 0,0060127
100 0,018856
0,012341 200
0,032104 0,023931
500 0,05211
0,054426 1000
0,11024 0,081849
Dilihat dari waktu prosesnya, kombinasi algoritma RSA dan ElGamal membutuhkan waktu yang lebih lama dibandingkan algoritma RSA dan ElGamal.
Sehingga waktu yang dibutuhkan untuk memecahkan kombinasi algoritma RSA
dan ElGamal juga semakin lama.
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pada implementasi yang telah penulis lakukan, maka dapat disimpulkan bahwa kombinasi algoritma RSA dan ElGamal mampu menutupi
kekurangan yang dimiliki dari algoritma RSA yaitu dengan melakukan proses enkripsi pada cipherteks hasil RSA dengan menggunakan algoritma ElGamal
sehingga apabila cipherteks hasil RSA dapat dipecahkan maka kunci publik dan kunci privat tidak akan dapat langsung diketahui dikarenakan harus mencari
cipherteks hasil ElGamal. Oleh karena itu, proses kombinasi algoritma RSA dan ElGamal membutuhkan waktu yang lebih lama dibandingkan masing
– masing algoritma, sehingga waktu yang dibutuhkan untuk memecahkan kombinasi
algoritma RSA dan ElGamal juga semakin lama.
5.2 Saran