BAB III METODE PENELITIAN
Sesuai dengan tujuan penelitian yaitu membangun model perangkat lunak algoritma Pohlig-Hellman multiple-key berdasarkan algoritma RSA multiple-key,
maka pada bab ini dimulai dengan pembahasan tentang gambaran studi kasus algoritma yang akan dibahas berupa analisis algoritma untuk algoritma Pohlig-
Hellman, algoritma RSA, algoritma RSA Multiple-key, teorema Fermat dan konsep algoritma Pohlig-Hellman multiple-key, analisis sistem, perancangan
sistem, kamus data dan perancangan antarmuka.
3.1. Bahan-bahan
Penelitian ini akan menggunakan bahasa pemrograman Bloodshed Dev-Pascal versi 1.9.2 FreePascal untuk perancangan program algoritma Pohlig-Hellman
multiple-key dan beberapa perlengkapan lainnya juga akan digunakan sebagai alat pendukung dalam perancangan algoritma.
3.2. Analisis Algoritma
Untuk membuat rancangan Algoritma Pohlig-Hellman multiple-key maka perlu terlebih dahulu menganalisis algoritma Pohlig-Hellman, algoritma RSA,
algoritma RSA Multiple-key dan Teorema Fermat.
3.2.1. Analisis Algoritma Pohlig-Hellman
Dalam tesis ini algoritma Pohlig-Hellman menjadi dasar untuk dikembangkan kemudian menggunakan konsep multiple-key. Konsep dasar algoritma Pohlig-
Hellman adalah:
BAB III
Universitas Sumatera Utara
1. Pembangkitan Bilangan Prima Bilangan Prima p diambil secara acak dan diuji dengan Teorema Fermat.
Dalam hal ini nilai p disarankan agar diambil dengan jumlah yang besar. 2. Perhitungan nilai totient
Nilai totient � didapat dari � � = � −1
3. Perhitungan nilai kunci enkripsi e Nilai kunci enkripsi e dapat dihitung dengan syarat nilai
1 � � �. Dan
nilai e tersebut adalah relatif prima dengan � � dihitung berdasarkan GCD
e, � � = 1
4. Perhitungan nilai kunci dekripsi d Nilai d sebagai invers dari e modulo
� , dinotasikan � � mod � � = 1 5. Enkripsi
Enkripsi merupakan proses pengubahan plaintext menjadi ciphertext. Untuk melakukan enkripsi dapat dilakukan dengan rumus
� = �
�
��� � 6. Dekripsi
Dekripsi merupakan proses pengubahan ciphertext menjadi plaintext. Untuk melakukan dekripsi dapat dilakukan dengan rumus
� = �
�
��� � Terdapat beberapa variabel yang menjadi dasar pada algoritma seperti bilangan
prima p, nilai totient �, nilai kunci enkripsi e, nilai kunci dekripsi d. Setelah
semua kunci ini dipenuhi maka selanjutnya dapat dilakukan proses enkripsi dan dekripsi. Setiap nilai-nilai yang didapati bersifat rahasia yang hanya boleh
diketahui oleh pengirim dan penerima pesan. Cara yang aman dalam pembangkitan nilai sebaiknya dilakukan secara acak sehingga dapat mempersulit
pihak lain untuk melakukan penyadapan.
3.2.2. Analisis Algoritma RSA
Algoritma kriptografi Pohlig-Hellman, algoritma RSA pada dasarnya melakukan cara yang sama dalam enkripsi dan dekripsi. Kebutuhan-kebutuhan yang menjadi
dasar dalam analisis algoritma RSA adalah : 1. Pembangkitan Bilangan Prima
Universitas Sumatera Utara
Menentukan 2 bilangan prima p dan q secara acak dimana � ≠ �. Dalam
rancangan ini digunakan teorema Fermat untuk pengujian bilangan prima dan dipilih secara acak.
2. Perhitungan nilai n Nilai n didapat dari perkalian p dan q.
3. Perhitungan nilai totient Nilai totient
� = � − 1� − 1. Hasil �� digunakan untuk menentukan nilai kunci enkripsi e yang digunakan untuk melakukan enkripsi.
4. Perhitungan nilai kunci enkripsi e Nilai kunci enkripsi e diambil berdasarkan GCD
��, �=1 ; 1 � �n 5. Perhitungan nilai kunci dekripsi d.
Nilai kunci dekripsi d dihitung dengan rumus � = �
−1
��� �� 6. Enkripsi
Enkripsi merupakan proses pengubahan plaintext menjadi ciphertext. Untuk melakukan enkripsi dapat dilakukan dengan rumus
� = �
�
��� � dimana pada plaintext m n
7. Dekripsi Dekripsi merupakan kebalikan dari enkripsi. Masukannya adalah ciphertext
dan keluarannya adalah plaintext. Untuk melakukan dekripsi dapat dilakukan dengan rumus
� = �
�
��� �
Dalam algoritma RSA terdapat beberapa variabel yang menjadi dasar pada algoritma seperti dua bilangan prima p dan q, nilai n, nilai totient
�, nilai kunci enkripsi e, nilai kunci dekripsi d. Setelah semua kunci ini dipenuhi maka
selanjutnya dapat dilakukan proses enkripsi dan dekripsi.
Universitas Sumatera Utara
3.2.3. Analisis Algoritma RSA Multiple-key
Algoritma RSA Multiple-key merupakan pengembangan dari algoritma RSA yang sudah ada sebelumnya. Namun dengan penambahan kunci-kunci multiple key
dapat lebih meningkatkan keamanan informasi dan lebih mempersulit pihak lain untuk mengakses informasi yang bersifat rahasia. Penambahan kunci dapat
dilakukan sampai sebanyak -n kunci. Kebutuhan-kebutuhan yang menjadi dasar dalam analisis algoritma RSA
Multiple-key adalah : 1. Pembangkitan Bilangan Prima
Menentukan 2 bilangan prima p dan q secara acak dimana � ≠ �. Untuk
pembangkitannya menggunakan teorema Fermat. 2. Perhitungan nilai n.
Nilai n didapat dari perkalian p dan q. 3. Perhitungan nilai totient.
Nilai totient �� = � − 1� − 1
4. Penentuan kunci tambahan enkripsi Multiple-key Menentukan berapa banyak kunci tambahan sebanyak –x K
e1,
K
e2,
K
e3
… K
ex
. Setelah itu menentukan nilai setiap K
e
K dengan syarat bahwa nilai :
e1
K bilangan ganjil dan GCD
K
e1
, �n = 1
e2
. bilangan ganjil dan GCD
K
e1
∗ K
e2
, �n = 1
. K
ex
5. Perhitungan nilai e bilangan ganjil dan GCD
K
e1
∗ K
e2
∗ … … ∗ K
ex
, �n = 1
Setelah semua nilai kunci tambahan K
e
6. Enkripsi , maka dapat dilakukan perhitungan
untuk penentuan kunci enkripsi dengan rumus � = K
�1
∗ K
�2
. . ∗ K
��
Enkripsi merupakan proses pengubahan plaintext menjadi ciphertext. Untuk melakukan enkripsi dapat dilakukan dengan rumus
� = �
�
��� � dimana pada plaintext dihitung dengan nilai m n
Universitas Sumatera Utara
7. Penentuan kunci tambahan dekripsi Multiple-key Menentukan berapa banyak kunci dekripsi sebanyak –x K
d1,
K
d2,
K
d3
… K
dx
. Setelah itu menentukan nilai setiap K
d
K dengan syarat bahwa nilai :
d1
K bilangan ganjil dan GCD
K
�1
, �n = 1
d2
. bilangan ganjil dan GCD
K
�1
∗ K
�2
, �n = 1
. K
dx
8. Perhitungan nilai kunci dekripsi bilangan ganjil dan GCD
K
�1
∗ K
�2
∗ … … ∗ K
�x
, �n = 1
Setelah nilai K
d
9. Dekripsi didapat, maka dapat dilakukan perhitungan untuk kunci
dekripsi d, dihitung nilai � = K
�1
∗ K
�2
… . ∗ K
��
,
Dekripsi merupakan kebalikan dari enkripsi. Masukannya adalah ciphertext dan keluarannya adalah plaintext. Untuk melakukan dekripsi dapat dilakukan
dengan rumus � = �
�
��� �
3.2.4. Analisis Teorema Fermat
Dalam pembangkitan bilangan prima menggunakan Teorema Fermat. Teorema Fermat menyatakan bahwa jika suatu bilangan p bilangan prima, maka dapat
dipastikan bilangan tersebut adalah prima atau tidak dengan rumus: �
�−1
��� � = 1 3.2.4
Maka bilangan p dapat dinyatakan prima, dengan syarat bahwa nilai 1
≤ � �. Misalkan kita menguji bilangan 3 apakah prima atau tidak, maka dapat diuji dengan Teorema Fermat:
p = 3 1
≤ � 3 = � = 1
maka 1
3−1
��� 3 = 1 1
≤ � 3 = � = 2
maka 2
3−1
��� 3 = 1 Maka dapat disimpulkan bahwa bilangan 3 adalah bilangan prima sesuai dengan
teorema Fermat.
Universitas Sumatera Utara
3.2.5. Model Algoritma Pohlig-Hellman Multiple-key
Setelah membandingkan konsep Multiple-key pada algoritma RSA maka dapat disesuaikan dengan rancangan
algoritma Pohlig-Hellman
Multiple-key. Penambahan kunci-kunci sama dengan yang ada pada algoritma RSA Multiple-
key yaitu diinput setelah mendapatkan nilai totient dan sebelum proses enkripsi dan dekripsi dilakukan. Hal ini bertujuan karena dalam penentuan nilai e kunci
enkripsi yang didapat nantinya melalui perhitungan kunci-kunci baru yang diinput sesuai dengan syarat-syarat yang ditentukan. Berikut ini merupakan
konsep Algoritma Pohlig-Hellman Multiple-key: 1. Pembangkitan Bilangan Prima
Bilangan Prima p diambil secara acak dan untuk menguji keprimaan bilangan tersebut dilakukan menggunakan Teorema Fermat. Dalam hal ini nilai p
disarankan agar diambil dengan jumlah yang besar untuk lebih mempersulit pihak lain melakukan perhitungan untuk mendapatkan kunci rahasia.
2. Perhitungan nilai totient. Nilai totient
� didapat dari � � = � −1 3. Penentuan kunci tambahan enkripsi multiple-key
Dalam konsep ini, berbeda dengan konsep algoritma Pohlig-Hellman sebelumnya karena terdapat adanya penambahan kunci untuk enkripsi seperti
yang ada pada algoritma RSA. Banyaknya kunci tambahan dapat ditentukan berapa banyak kunci tambahan enkripsi sebanyak–x K
e1,
K
e2,
K
e3
… K
ex
. Setelah ditentukan banyaknya kunci untuk menentukan nilai setiap K
e
K dengan
syarat bahwa nilai:
e1
K bilangan ganjil dan GCD
K
e1
, �n = 1
e2
. bilangan ganjil dan GCD
K
e1
∗ K
e2
, �n = 1
. K
ex
bilangan ganjil dan GCD K
e1
∗ K
e2
∗ … … ∗ K
ex
, �n = 1
Universitas Sumatera Utara
4. Perhitungan nilai kunci enkripsi e Setelah setiap nilai kunci K
e
ditentukan selanjutnya dapat dihitung nilai kunci enkripsi e,dengan rumus e=K
e1
K
e2
…K
ex
5. Enkripsi .
Enkripsi merupakan proses pengubahan plaintext menjadi ciphertext. Untuk melakukan enkripsi dapat dilakukan dengan rumus
� = �
�
��� � dimana pada plaintext dengan nilai mn
6. Penentuan Kunci Dekripsi Menentukan berapa banyak kunci dekripsi sebanyak –x K
d1,
K
d2,
K
d3
… K
dx
. Setelah itu menentukan nilai setiap K
d
K dengan syarat bahwa nilai :
d1
K bilangan ganjil dan GCD
K
�1
, �n = 1
d2
. bilangan ganjil dan GCD
K
�1
∗ K
�2
, �n = 1
. K
dx
7. Perhitungan nilai kunci dekripsi d bilangan ganjil dan GCD
K
�1
∗ K
�2
∗ … … ∗ K
��
, �n = 1
Setelah didapat nilai K
d
8. Dekripsi , dapat dihitung nilai
� = K
�1
∗ K
�2
. . ∗ K
��
Dekripsi merupakan kebalikan dari enkripsi. Masukannya adalah ciphertext dan keluarannya adalah plaintext. Untuk melakukan dekripsi dapat dilakukan
dengan rumus � = �
�
��� � 3.3.
Analisis Sistem
Setelah mengetahui analisis algoritma yang akan dirancang, selanjutnya dilakukan analisis sistem. Dalam hal ini analisis sistem yang akan dilakukan terdiri dari
analisis permasalahan dan analisis kebutuhan dari sistem yang akan dirancang.
3.4.1. Analisis Permasalahan
Berikut adalah diagram analisis permasalahan dari sistem yang akan dibuat dengan diagram konteks yang merupakan model untuk menunjukkan bagaimana
Universitas Sumatera Utara
sistem berhubungan dengan data yang diinput dan output data yang didapati. Penjelasan diagram konteks sistem dapat dilihat pada gambar 3.1.
PENGIRIM PENERIMA
SISTEM
plaintext, kunci enkripsi
ciphertext, kunci dekripsi ciphertext
plaintext
Gambar 3. 1. Diagram Konteks Sistem Pada gambar 3.1. terlihat adanya empat proses yang menjadi fungsi utama
sistem yang terdiri dari dua bagian utama yaitu berdasarkan sisi pengirim dan penerima. Pada sisi pengirim, proses pertama terdapat inputan data yaitu plain text
dan kunci enkripsi yang selanjutnya melalui sistem akan menghasilkan ciphertext. Ciphertext
tersebut nantinya akan digunakan oleh penerima dalam membangkitkan kembali plaintext yang dikirimkan oleh pengirim. Pada sisi
penerima proses pertama terdapat inputan ciphertext dan kunci dekripsi yang dihubungkan ke dalam sistem. Dari proses selanjutnya akan dihasilkan kembali
plaintext awal.
3.4.2. Analisis Kebutuhan Sistem
Aspek fungsional yang terdapat pada sistem meliputi adanya fungsi enkripsi, dekripsi, pembangkitan kunci, penambahan kunci serta bantuan penggunaan
sistem.
Universitas Sumatera Utara
3.4. Perancangan Sistem
Pada tahap perancangan sistem ini menggunakan UML yang mencakup diagram use case, sequence, class dan activity. Tahap perancangan juga mencakup
perancangan flowchart dan antarmuka sistem.
3.5.1. Diagram Use Case
Diagram ini menunjukkan hubungan antara pemakai dengan sistem. Pada diagram ini terdapat dua pelaku yaitu pengirim dan penerima. Use case yang terdapat pada
pengirim adalah melakukan enkripsi. Hasil yang dienkripsi kemudian akan digunakan untuk melakukan dekripsi. Pada gambar 3.2. dijelaskan tentang
diagram use-case dari sistem yang akan dirancang.
SISTEM
enkripsi
dekripsi
PENGIRIM PENERIMA
Gambar 3. 2. Diagram Use Case
3.5.2. Diagram Sequence
Diagram sequence menggambarkan proses atau langkah-langkah yang dilakukan oleh pengirim dan penerima dalam menggunakan sistem. Pengirim terlebih dahulu
melakukan proses penginputan data berupa plaintext dan pembangkitan kunci yang dilakukan secara acak oleh sistem yang dilakukan dengan teorema Fermat.
Dan setelah melakukan proses enkripsi akan menghasilkan ciphertext yang
Universitas Sumatera Utara
selanjutnya akan dikirimkan kepada penerima pesan. Penerima yang telah mendapat ciphertext akan melakukan proses dekripsi sehingga menghasilkan
kembali plaintext yang dikirimkan oleh pengirim. Proses dekripsi dilakukan setelah mendapatkan kunci dekripsi terlebih dahulu. Diagram sequence untuk
sistem yang dibangun dapat dilihat pada gambar 3.3.
PENGIRIM PENERIMA
enkripsi dekripsi
plaintext kunci enkripsi
ciphertext kunci deskripsi
Gambar 3.3. Diagram Sequence
3.5.3. Diagram Class
Diagram class menggambarkan keadaan atribut dari masing-masing proses yang terdapat pada sistem yaitu enkripsi dan dekripsi. Pada proses enkripsi terdapat
beberapa atribut yaitu plaintext, kunci tambahan multiple-key enkripsi , kunci enkripsi dan proses Pohlig-Hellman. Pada proses dekripsi terdapat atribut
ciphertext, kunci tambahan multiple-key dekripsi, kunci dekripsi dan Pohlig- Hellman. Pada gambar 3.4. merupakan diagram class sistem yang dirancang.
Enkripsi - plaintext
- kunci enkripsi - multipl key enkripsi
- Pohlig-Hellman
+Enkripsi Dekripsi
- ciphertext - kunci dekripsi
- multiple key dekripsi - Pohlig-Hellman
+Dekripsi
Gambar 3. 4. Diagram Class
Universitas Sumatera Utara
3.5.4. Diagram Activity
Diagram activity menggambarkan segala aktivitas yang terdapat pada sistem. Terdapat dua aktivitas utama yaitu aktivitas pada pengirim yang akan
mengirimkan pesan dengan melibatkan proses enkripsi dan aktivitas pada penerima yang melibatkan proses dekripsi. Pada kedua proses terdapat aktvitas
seperti pembangkitan kunci dan penambahan multiple-key. Gambar 3.5. menjelaskan tentang diagram activity yang akan dirancang.
PENGIRIM PENERIMA
Kunci bil. Prima
Kunci enkripsi plaintext
Enkripsi ciphertext
Kunci dekripsi dekripsi
plaintext Multiple key enkripsi
Multiple key dekripsi
Gambar 3. 5. Diagram Activity Setelah pengirim menginputkan plaintext , multiple key dan kunci enkripsi
agar proses enkripsi dapat berlangsung. Proses ini nantinya akan menghasilkan ciphertext. Penerima akan melakukan proses dekripsi dengan kunci dekripsi yang
berhubungan dengan kunci enkripsi yang ada pada pengirim. Selanjutnya proses dekripsi akan menghasilkan plaintext.
3.5.5. Flowchart Sistem Algoritma Pohlig-Hellman Multiple-key
Terdapat dua hal penting yang dilakukan dalam sistem yang dirancang yaitu enkripsi dan dekripsi. Dalam melakukan enkripsi data, terlebih dahulu
menentukan kunci berupa bilangan prima yang didapat berdasarkan Teorema
Universitas Sumatera Utara
Fermat dan dihasilkan secara acak dari bilangan prima yang disepakati. Dengan dilakukan secara acak maka tingkat keamanan kunci publik juga akan lebih tinggi
karena hanya diketahui oleh pengirim dan selanjutnya diketahui penerima melalui pengirim.
Perhitungan nilai totient dilakukan dengan pengurangan nilai p dengan 1. Nilai totient diperlukan dalam proses enkripsi dan dekripsi. Dalam proses enkripsi
selanjutnya akan ditentukan nilai kunci tambahan multiple-key yang didapat berdasarkan dari GCD antara nilai kunci yang mungkin dengan nilai totient harus
bernilai 1. Kunci tambahan yang dihasilkan nantinya akan digunakan dalam perhitungan nilai kunci enkripsi e. Nilai e didapat dengan perkalian setiap kunci
tambahan yang digunakan.
Jika semua nilai telah terpenuhi maka dapat dihitung ciphertext dari plaintext yang diinput. Demikian halnya untuk melakukan proses dekripsi dapat
dilakukan berdasarkan ciphertext yang didapat. Setiap plaintext yang diinput satu persatu akan dikodekan dalambentuk ciphertext dengan perhitungan pada proses
enkripsi. Kode tersebut dihitung berdasarkan nilai plaintext pada kode ASCII.
Dengan menentukan kunci tambahan dekripsi sebanyak n-buah yang didapat secara acak dari GCD antara kunci yang memungkinkan dengan nilai
totient harus bernilai 1. Nilai dekripsi d dapat dihitung dengan perkalian setiap kunci tambahan. Dengan nilai d yang didapat maka plaintext dapat dihitung
kembali berdasarkan rumus dekripsi. Untuk lebih lanjut flowchart tersebut dapat dilihat pada gambar 3.6.
Universitas Sumatera Utara
START
Pembangkitan kunci bil. Prima p
Kunci Enkripsi Ke1,...Ken
Hitung e
= Ke1 ...Ken Input Plaintext
m
END
Kunci dekripsi Kd1,… Kdn
Deskripsi Enkripsi
Hitung totient = p-1
Hitung Ciphertext C = me mod p
Ciphertext
Hitung d
= Kd1...Kdn
Plaintext Hitung plaintext
P = Cd mod p
Gambar 3. 6. Flowchart Algoritma Pohlig-Hellman Multiple-key
3.5.6. Flowchart Pembangkitan Kunci Teorema Fermat
START
Input p
i = 0 L = jlh.digit p
a = rand 1,p
ap-1 mod p = 1
Ya i = 1+1
I = L
Output p prima
Ya Tidak
END
Tidak
Gambar 3. 7. Flowchart Teorema Fermat
Universitas Sumatera Utara
Pada pembangkitan kunci bilangan prima dilakukan seperti pada teorema Fermat, dengan mengeksekusi setiap bilangan yang sudah ditentukan batasannya pada
program. Selanjutnya program akan secara acak menentukan bilangan prima yang akan digunakan.
3.5.7. Flowchart Enkripsi Pohlig-Hellman Multiple-key
Pada proses enkripsi dilakukan proses pembangkitan kunci bilangan prima dan selanjutnya menentukan kunci tambahan yang akan digunakan. Setiap kunci yang
dihasilkan akan digunakan untuk perhitungan nilai kunci enkripsi. Dengan kunci enkripsi maka proses enkripsi dapat dilakukan sesuai dengan rumus enkripsi.
Berikut pada gambar 3.8. disajikan flowchart untuk enkripsi algoritma Pohlig- Hellman.
Bilangan Prima p
Totient = p - 1
Input : Ke-1 ….Ke-n Ke sebanyak -n
E = Ke1 Ke2 ...Ke-n Input plaintext
Ciphertext
C = me mod n
Gambar 3. 8. Flowchart Enkripsi
Universitas Sumatera Utara
3.5.8. Flowchart Dekripsi Pohlig-Hellman Multiple Key
Pada proses dekripsi dilakukan proses pembangkitan kunci kunci tambahan dekripsi yang akan digunakan. Setiap kunci yang dihasilkan akan digunakan
untuk perhitungan nilai kunci dekripsi. Dengan kunci dekripsi maka proses dekripsi dapat dilakukan sesuai dengan rumus dekripsi. Berikut pada gambar 3.9.
disajikan flowchart untuk enkripsi algoritma Pohlig-Hellman.
Input : Kd-1 ….Kd-n Kd sebanyak -n
d = Kd1 Kd2 ...Kd-n Ciphertext
Plaintext
M = Cd mod n
Gambar 3. 9. Flowchart Dekripsi
3.5. Kamus Data
Seluruh proses yang terdapat dalam rancangan sistem memiliki beberapa data yang merupakan data input ataupun data output. Perincian data yang digunakan
dapat dilihat dalam tabel 3.1. berikut ini.
Nama Tipe data
Keterangan
Plaintext Str
Pesan yang disampaikan Ciphertext
Str Pesan setelah dienkripsi
Private key Int
Kunci awal untuk dekripsi Multiple key
Int Kunci tambahan
Encryption key Int
Kunci enkripsi Decryption key
Int Kunci dekripsi
Tabel 3.1. Kamus Data
Universitas Sumatera Utara
3.6. Perancangan Antarmuka
Dalam rancangan program nantinya akan dirancang berupa algoritma Pohlig- Hellman Multiple-key dan algoritma Pohlig-Hellman tanpa multiple-key bentuk
dasar dari algoritma. Hal ini dilakukan untuk dapat melihat perbandingan dari kedua algoritma. Tampilan antarmuka program disajikan dengan melakukan lima
pilihan yaitu proses enkripsi dan dekripsi untuk kedua algoritma Pohlig-Hellman. Saat program dijalankan akan menampilkan pilihan untuk melakukan enkripsi
atau dekripsi dan juga pilihan untuk keluar dari program. Penjelasan konsep rancangan antarmuka program dapat dilihat pada gambar 3.10. berikut ini.
--CRYPTOGRAPHY = POHLIG-HELLMAN PROGRAM— MENU
1. Enkripsi Algoritma Pohlig-Hellman Multiple-key 2. Dekripsi Algoritma Pohlig-Hellman Multiple-key
3. Enkripsi Algoritma Pohlig-Hellman 4. Dekripsi Algoritma Pohlig-Hellman
5. Keluar
Gambar 3.10. Tampilan rancangan menu program
Saat ditentukan pilihan untuk melakukan enkripsi dengan algoritma Pohlig-Hellman Multiple-key, maka akan ditampilkan nilai kunci public p, totient,
multiple-key, dan nilai kunci enkripsi dan dekripsi secara random. Dan selanjutnya disuguhkan untuk mengisi pesan yang akan dikirimkan. Saat pesan dikirimkan
selanjutnya akan ditampilkan ciphertext yang diinginkan. Algoritma Pohlig- Hellman tanpa multiple-key hanya akan menampilkan nilai kunci p, nilai totient,
nilai kunci enkripsi e dan nilai kunci dekripsi d serta ruang untuk mengisi pesan yang akan dienkripsi. Untuk lebih jelasnya antarmuka enkripsi dapat dilihat pada
gambar 3.11
Universitas Sumatera Utara
p = …. totient = ….
Ke[1] = …. Ke[2] = ….
………………… Ke[n] = ….
Kd[1] = …. Kd[2] = ….
. .
. Ke[n] = ….
e = …. d = ….
Tuliskan pesan anda: ………………………………………
Gambar 3. 11. Tampilan proses enkripsi multiple-key
Namun untuk algoritma Pohlig Hellman tanpa multiple-key hanya akan menampilkan nilai kunci p, nilai totient, nilai kunci enkripsi e, nilai dekripsi d dan
tempat untuk menuliskan pesan yang akan dienkripsi. Tampilan proses enkripsi untuk algoritma Pohlig-Hellman tanpa multiple-key dapat dilihat pada gambar
3.12.
p = …. totient = ….
e = …. d = ….
Tuliskan pesan anda:
………………………………………
Gambar 3. 12. Tampilan proses enkripsi
Untuk melakukan proses dekripsi baik pada algoritma Pohlig-Hellman multiple-key atau pun algoritma Pohlig-Hellman standar, akan diberikan isian
Universitas Sumatera Utara
untuk menginput nilai p dan d yang ada sebelumnya. Dan selanjutnya disuguhkan untuk mengisi ciphertext satu persatu dari hasil yang diperoleh saat enkripsi. Saat
pesan dikirimkan selanjutnya akan ditampilkan plaintext sebelumnya. Berikut pada gambar 3.13. adalah tampilan proses dekripsi.
Masukkan nilai p = …. Masukkan nilai d = ….
Masukkan panjang pesan = …. Masukkan ciphertext [1] = ….
Masukkan ciphertext [2] = …. Masukkan ciphertext [3] = ….
Masukkan ciphertext [.] = …. Masukkan ciphertext [n] = ….
Plaintext :
………………………………………
Gambar 3. 13. Tampilan proses dekripsi
Sad
Sad
Universitas Sumatera Utara
AsdA
BAB IV
HASIL DAN PEMBAHASAN
Dalam bab ini dibahas mengenai model rancangan algoritma yang dibuat dan hasil uji coba rancangan model perangkat lunak. Hal ini dilakukan untuk mengetahui
gambaran, cara kerja dan pengembangan sistemnya serta untuk mendapatkan perbandingan dari pengembangan algoritma yang sudah dikembangkan dengan
algoritma sebelumnya.
4.1. Perbandingan Algoritma