Perancangan Sistem Implementasi Kombinasi Rivest Shamir Adleman (Rsa) Dan Elgamal Dalam Penyandian Citra Bitmap

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