BAB III
ANALISIS DAN PERANCANGAN SISTEM
Tahap analisis dan perancangan sistem berguna untuk menentukan kebutuhan sistem dan menyesuaikan dengan kebutuhan pengguna sehingga memudahkan proses
pembuatan sistem.
3.1 Analisis Sistem
Analisis sistem dilakukan dengan menentukan tujuan pembangunan sistem, memahami cara kerja, dan fungsi-fungsi sistem. Sistem yang akan dibangun ini
merupakan sistem kriptografi kunci publik, tujuan pembangunan sistem adalah untuk keamanan data, yaitu mengamankan pesan plainteks milik pengguna dari pihak-
pihak yang tidak diinginkan dengan mengubahnya ke bentuk yang sama sekali berbeda dengan pesan aslinya cipherteks melalui proses enkripsi.
Algoritma kriptografi yang digunakan pada sistem adalah algoritma ElGamal, selain itu sistem juga menerapkan metode The Sieve of Eratosthenes untuk
pembangkit bilangan prima. Algoritma kriptografi kunci publik ElGamal terbagi atas tiga aktivitas, yaitu :
1. Pembangkitan kunci
Aktivitas pembangkitan kunci dilakukan oleh penerima pesan. Kunci yang dibangkitkan terdiri dari :
a. Kunci p merupkan sembarang bilangan prima, dalam penelitian ini
digunakan metode The Sieve of Eratosthenes untuk membangkitkan bilangan prima.
b. Kunci a dengan ketentuan a merupakan bilangan bulat dan 2 ≤ a ≤ p-1.
c. Kunci α merupakan salah satu akar primitif primitive root dari
bilangan prima p , α ≠ p dan α ≠ a. Sebagaimana yang telah disebutkan
pada bab yang sebelumnya, primitive root dari sebuah bilangan prima p adalah sebuah bilangan asli g yang mana orde modulo dari g mod p
adalah p-1 [10]. d.
Kunci y dengan persamaan .
Sehingga keluaran dari aktivitas pembangkitan kunci ini adalah tiga kunci publik p,
α, y yang akan dibagikan kepada para calon pengirim pesan dan satu kunci privat a yang hanya diketahui oleh penerima pesan.
2. Enkripsi
Aktivitas enkripsi dilakukan oleh pengirim pesan dengan masukkan berupa tiga kunci publik p,
α, y milik penerima pesan dan pesan asli plainteks m yang akan dikirimkan. Enkripsi dilakukan dengan menghitung cipherteks
pertama dan cipherteks kedua
. Hasil keluarannya berupa cipherteks c
1
, c
2
dikirimkan kepada penerima pesan.
3. Dekripsi
Dekripsi dilakukan oleh penerima pesan dengan masukkan cipherteks c
1
, c
2
, kunci privat a, dan kunci publik p miliknya. Apabila cipherteks dan kunci
yang dimasukkan benar maka akan diperoleh keluaran berupa plainteks yang sama dengan pesan aslinya.
Berdasarkan pembahasan di atas, sistem yang akan dibangun memiliki tiga fungsi mengikuti aktivitas yang dimiliki algoritma ElGamal, yaitu pembangkit kunci,
enkripsi, dan dekripsi. Di dalam fungsi ini terdapat proses-proses pendukung seperti pembangkit bilangan prima metode The Sieve of Eratosthenes, perhitungan modulo,
dan proses pengujian apakah sebuah bilangan merupakan akar primitif dari kunci p.
3.1.1 Pembangkit Bilangan Prima