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