C2
R
= y
k
C
R
mod p = 278
34
127 mod 521 = 457 C1
G
= 429
34
mod 521 = 275
C2
G
= 278
34
72 mod 521 = 456 C1
B
= 429
34
mod 521 = 275
C2
B
= 278
34
184 mod 521 = 297
Dekripsi Elgamal
Misalkan nilai pixelx,y dari proses enkripsi Elgamal adalah C1
R
= C1
G
= C1
B
= 457, C2
R
= 456, C2
G
= 297 dan C2
B
= 70. Nilai-nilai tersebut selanjutnya kita enkripsi menggunakan algoritma RSA.
a
R
= C1
R p-1-x
a
G
= C1
G p-1-x
a
B
= C1
B p-1-x
C
R
= C2
R
a
R
mod p = 457 275
521-1-25
mod 521 = 127 C
G
= 456 275
521-1-25
mod 521 = 72 C
B
= 297 275
521-1-25
mod 521 = 184
3.2 Perancangan Sistem
Perancangan sistem merupakan suatu tahapan yang sangat penting dalam pembangunan sistem perangkat lunak. Berdasarkan hasil analisis proses dalam sistem
diperoleh gambaran fungsional yang akan diterapkan pada sistem. Berdasarkan gambaran ini dibangun suatu model
rancangan antarmuka
yang akan diimplementasikan menggunakan bahasa pemrograman Visual Basic. Tahapan ini
memberikan gambaran dasar dari sistem yang dibangun dan menentukan langkah selanjutnya yang akan dilakukan pada tahap implementasi.
Universitas Sumatera Utara
3.2.1 Pembangkit Kunci Algoritma RSA dan Elgamal
Sebelum melakukan proses enkrisi ataupun dekripsi pada aplikasi ini terlebih dahulu dilakukan proses pembangkit kunci untuk kedua algoritma yaitu algoritma RSA dan
Elgamal. Pembangkit kunci digunakan untuk mempermudah pengguna untuk mendapatkan kunci yang sesuai dengan dibutuhkan algoritma tanpa harus melakukan
perhitungan untuk mendapatkan kunci yang dibutuhkan.
Gambar 3.7 Rancangan Pembangkit Kunci Algoritma RSA dan Elgamal
3.2.2 Enkripsi Citra
Proses Enkripsi dilakukan secara bertahap dimulai dengan melakukan enkripsi dengan algoritma RSA dan dilanjutkan dengan enkripsi dengan algoritma Elgamal. Tahapan
dalam proses enkripsi ini dilakukan untuk mendapatkan hasil enkripsi citra yang sesuai dan nantinya dapat dilakukan proses dekripsi pada citra terenkripsi.
PEMBANGKIT BILANGAN PRIMA
PASANGAN KUNCI RSA
PEMBANGKIT BILANGAN PRIMA
PASANGAN KUNCI ELGAMAL
Universitas Sumatera Utara
Gambar 3.8 Proses Enkripsi Citra
3.2.3 Dekripsi Citra
Proses Dekripsi dilakukan untuk memperoleh citra asli dari citra terenkripsi. Untuk mendapatkan citra hasil yang sesuai pengguna harus memasukkan citra terenkripsi dan
kunci yang tepat.
Gambar 3.9 Proses Dekripsi Citra
CITRA ENKRIPSI
RSA CITRA
PUBLIC KEY CITRA
TERENKRIPSI RSA
CITRA TERENKRIPSI
RSA ENKRIPSI
ELGAMAL CITRA
PUBLIC KEY CITRA
TERENKRIPSI ELGAMAL
CITR A
ASLI ENKRIPSI
RSA CITRA
PRIVATE KEY
CITRA TERENKRIPSI
RSA CITRA
TERENKRIPSI ELGAMAL
DEKRIPSI ELGAMAL
CITRA PRIVATE
KEY CITRA
TERENKRIPSI RSA
Universitas Sumatera Utara
3.2.4 Perancangan Flowchart
Flowchart atau bagan alir
adalah bagan chart yang menunjukkan alir flow di dalam program atau prosedur sistem secara logika. Bagan alir flowchart digunakan
terutama untuk alat bantu komunikasi dan untuk dokumentasi.
Sistem flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari
prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
Flowchart merupakan langkah awal dalam pembuatan program. Dengan adanya flowchart, urutan proses kegiatan menjadi lebih jelas. Jika ada penambahan
proses maka dapat dilakukan dengan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram programmer menerjemahkannya ke bentuk program dengan
bahasa pemrograman.
Adapun Flowchart yang akan dibangun oleh Penulis sesuai dengan judul besar skripsi yaitu Implementasi Kombinasi Rhivest Shamir Adleman RSA Dan ElGamal
Dalam Penyandian Citra Bitmap.
Universitas Sumatera Utara
3.2.4.1 Flowchart Pembangkit Kunci Lucas Lehmer
Mulai p; bilangan
prima i = 1
if p = 2
s = 0 Ya
s = 4 Tidak
n = 2
p
- 1
i = p
s = s
2
– 2 mod n Ya
s = 0 Tidak
Tidak
Is_prime Ya
Is_composit
Selesai
Gambar 3.10 Flowchart Pembangkit kunci Lucas Lehmer
Universitas Sumatera Utara
3.2.4.2 Flowchart Pembangkit Kunci RSA
Gambar 3.11 Flowchart Pembangkit Kunci RSA
Universitas Sumatera Utara
3.2.4.3 Flowchart Proses Enkripsi RSA
Mulai Citra_Asli
Max i = lebarCitra_Asli Max j = panjangCitra_Asli
i = 0
If i Max i
If j Max j
R = Citra_Aslii,j.Red G = Citra_Aslii,j.Green
B = Citra_Aslii,j.Blue Ya
ER = R
e
mod n EG = G
e
mod n EB = B
e
mod n Tidak
Tidak j = 0
Ya
Citra Terenkripsi
Selesai Citra_Hasil.Redi, j = ER
Citra_Hasil.Greeni, j = EG Citra_Hasil.Bluei, j = EB
Gambar 3.12 Flowchart Proses Enkripsi RSA
Universitas Sumatera Utara
3.2.4.4 Flowchart Proses Dekripsi RSA
Mulai Citra_Enkripsi
Max i = lebarCitra_Enkripsi Max j = panjangCitra_Enkripsi
i = 0
If i Max i
If j Max j
ER = Citra_Enkripsii,j.Red EG = Citra_Enkripsii,j.Green
EB = Citra_Enkripsii,j.Blue Ya
R = ER
d
mod n G = EG
d
mod n B = EB
d
mod n Tidak
Tidak j = 0
Ya
Citra Asli Selesai
Citra_Asli.Redi, j = R Citra_Asli.Greeni, j = G
Citra_Asli.Bluei, j = B
Gambar 3.13 Flowchart Proses Kunci Dekripsi RSA
Universitas Sumatera Utara
3.2.4.5
Flowchart Pembangkit Kunci ElGamal
Mulai
p ; bilangan prima
g = random2, p-1
x = random2, p-1
x = g Tidak
y = g
x
mod p Ya
y, g, x, p
Selesai
Gambar 3.14 Flowchart Pembangkit Kunci ElGamal.
Universitas Sumatera Utara
3.2.4.6 Flowchart Proses Enkripsi ElGamal
Gambar 3.15 Flowchart Proses Enkripsi ElGamal
Mulai Citra_Asli
Max i = lebarCitra_Asli Max j = panjangCitra_Asli
i = 0
If i Max i
If j Max j
R = Citra_Aslii,j.Red G = Citra_Aslii,j.Green
B = Citra_Aslii,j.Blue Ya
ER1 = g
k
mod p EG1 = g
k
mod p EB1 = g
k
mod p ER2 = ykR
mod p EG2 = ykG
mod p EB2 = ykB
e
mod p Tidak
Tidak j = 0
Ya
Citra Terenkripsi
Selesai Citra_Hasil.Redi, j = ER
Citra_Hasil.Greeni, j = EG Citra_Hasil.Bluei, j = EB
j++ i++
Universitas Sumatera Utara
3.2.4.7 Flowchart Proses Dekripsi ElGamal
Mulai Citra_Enkripsi
Max i = lebarCitra_Enkripsi Max j = panjangCitra_Enkripsi
i = 0
If i Max i
If j Max j
ER1 = Citra_Enkripsii,j.Red EG1 = Citra_Enkripsii,j.Green
EB1 = Citra_Enkripsii,j.Blue ER2 = Citra_Enkripsii,j.Red
EG2 = Citra_Enkripsii,j.Green EB2 = Citra_Enkripsii,j.Blue
Ya
R = ER1
p-1-x
G = EG1
p-1-x
B = EB1
p-1-x
R = ER2 R mod p G = EG2
G mod p B = EB2 B mod p
Tidak
Tidak j = 0
Ya
Citra Asli Selesai
Citra_Asli.Redi, j = R Citra_Asli.Greeni, j = G
Citra_Asli.Bluei, j = B i++
j++
Gambar 3.16 Flowchart Proses Dekripsi ElGamal
Universitas Sumatera Utara
3.2.5 Perancangan Tampilan
Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai gambaran yang jelas tentang perancangan sistem yang akan dibuat serta
diimplementasikan.
Untuk mulai membangun suatu program yang akan dibangun, maka penulis terlebih dahulu merencanakan alur kerja berdasarkan kebutuhan user yang akan
menggunakan aplikasi Enkrpisi dan Dekripsi Citra. Pada aplikasi ini akan dirancang form-form yang akan dipakai dalam aplikasi Enkripsi dan Dekripsi Citra, form yang
akan dirancang adalah Form Tampilan utama, form Pembangkit Kunci RSA serta form pembangkit kunci ElGamal
3.2.5.1 Perancangan Form Utama
Form ini menampilkan tampilan awal pada saat user membuka aplikasi Enkripsi Dekripsi Citra yang berisikan button open, button browse, public key, private key,
button generate dan button proses.
Gambar 3.17 Rancangan form Utama
X _
Enkripsi Citra 32 Bit Menggunakan Algoritma RSA dan Elgamal
Public Key Private Key
Public Key Private Key
RSA Key Elgamal Key
Enkripsi Dekripsi
Proses Generate
Generate
BROWSE OPEN
Universitas Sumatera Utara
3.2.5.2 Perancangan form Pembangkit Kunci RSA
Pada form pembangkit kunci RSA dibawah ini berisikan kolom batas nilai yang berfungsi untuk menginput nilai yang akan ditentukan pada saat akan melakukan
proses Enkripsi dan Dekripsi RSA. Botton Generate Prime berfungsi untuk melakukan melakukan proses. Button kunci public dan kunci private berfungsi untuk
menampilkan nilai yang telah diperoleh pada saat proses Enkripsi dan Dekripsi
Gambar 3.18 Rancangan form Pembangkit Kunci RSA
X _
Generate RSA Key
Batas Nilai Generate
Prime
Pasangan Kunci Enkripsi Pasangan Kunci Dekripsi
Kunci Public Kunci Private
Universitas Sumatera Utara
3.2.5.3 Perancangan form Pembangkit Kunci Elgamal
Pada form pembangkit kunci ElGamal berisikan generate prime, generate key dan nilai g,x,y yang akan diperoleh setelah menginput nilai p.
Gambar 3.19 Rancangan form Pembangkit Kunci ElGamal
X _
Batas Nilai Generate Prime
p
Generate Key g
x y
Generate Elgamal Key
Universitas Sumatera Utara
52
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem