• Tidak ada hasil yang ditemukan

belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin

BAB III

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Dalam tahap perancangan diperlukan analisis sistem yang akan dibangun. Analisis sistem mendeskripsikan fase-fase awal pengembangan sistem. Fase awal dalam analisis sistem ini adalah fase analisis masalah yang bertujuan untuk mempelajari dan memahami masalah yang akan diselesaikan dengan menggunakan sistem ini. Kemudian dilanjutkan dengan fase analisis persyaratan yang akan memenuhi kebutuhan dan permintaan pengguna (user). Analisis selanjutnya dan merupakan analisis terakhir adalah analisis proses yang berisi cara kerja dari sistem yang akan dibuat.

3.1.1. Analisis Masalah

Pendistribusian data antar pengguna membutuhkan jaminan keamanan dimana data yang dikirim tidak dapat dicuri, dihapus, diubah isinya, ataupun dirusak sehingga dibutuhkan suatu teknik untuk mengamankannya. Kriptografi adalah salah satu teknik untuk mengamankan data dengan cara mengubah bentuk data menjadi bentuk yang tidak dapat dikenali sehingga pihak asing hanya dapat mengetahui isi data tersebut dengan memecahkan kunci algoritma kriptografi.

Hill cipher merupakan salah satu algoritma simetris yang dapat digunakan untuk mengamankan data. Algoritma ini biasanya digunakan untuk mengamankan file teks. Algoritma Hill cipher menggunakan matriks sebagai kunci enkripsi nya dan invers dari matriks tersebut sebagai kunci untuk proses dekripsi.

Kunci Hill cipher yang merupakan matriks berukuran 3x3 diamankan kembali dengan menggunakan algoritma Rivest-Shamir-Adleman (RSA). Masukan algoritma RSA adalah berupa 2 bilangan prima acak berbeda. Dengan algoritma RSA kunci matriks algoritma Hill cipher dienkripsi sehingga matriks kunci menjadi acak dan berbeda dengan bentuk aslinya.

Citra digital terdiri dari piksel-piksel yang direpresentasikan dengan kombinasi warna merah (R), hijau (G), dan biru (B). Algoritma Hill cipher digunakan untuk mengenkripsi citra digital sehingga citra yang dihasilkan akan berbeda dengan aslinya. Untuk mengembalikan citra ke bentuk asli, maka dibutuhkan nilai d dari algoritma RSA dan matriks cipher hasil enkripsi dari algoritma RSA.

3.1.2. Analisis Persyaratan

Analisis persyaratan terdiri dari persyaratan fungsional dan non-fungsional. Persyaratan fungsional berisi persyaratan pokok dari suatu sistem dimana persyaratan tersebut wajib ada atau disediakan dalam sistem tersebut. Sedangkan persyaratan non-fungsional berupa persyaratan tambahan yang dapat menunjang kinerja dari persyaratan fungsional.

3.1.2.1. Persyaratan Fungsional

Adapun persyaratan fungsional dari sistem ini adalah sebagai berikut:

1. Citra digital yang akan dienkripsi adalah citra digital dengan format PNG. 2. Elemen matriks kunci yang akan dibangkitkan sebagai kunci pada algoritma

Hill cipher adalah bilangan bulat positif yaitu 0 sampai 550. 3. Citra digital yang dienkripsi disimpan dalam format PNG.

4. Bilangan prima yang akan dibangkitkan untuk pembuatan kunci algoritma RSA berada pada rentang 10 sampai 108.

3.1.2.2. Persyaratan Non-fungsional

Adapun persyaratan non-fungsional pada sistem ini adalah sebagai berikut : 1. Performa

Perangkat lunak yang dibangun harus dapat menunjukkan hasil dari proses enkripsi dan dekripsi citra digital maupun kunci yang dilakukan oleh sistem. 2. Mudah dipelajari dan digunakan

Perangkat lunak harus mudah digunakan dan dipelajari. 3. Hemat biaya

Perangkat lunak yang dibangun tidak memerlukan peralatan tambahan ataupun perangkat pendukung dalam proses eksekusinya.

4. Dokumentasi

Perangkat lunak yang akan dibangun mampu menyimpan citra digital yang dienkripsi dan kunci yang dienkripsi.

5. Manajemen kualitas

Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses enkripsi dan dekripsi citra digital dan kunci relatif cepat.

6. Kontrol

Perangkat lunak harus mampu memanajemen proses error yang terjadi pada saat penggunaan.

3.1.3. Analisis Proses

Dalam sistem ini digunakan dua algoritma untuk mengamankan citra digital yaitu algoritma Hill cipher dan algoritma Rivest-Shamir-Adleman (RSA). Algoritma Hill cipher digunakan untuk mengenkripsikan dan mendeskripsikan citra digital ( plain-image) dan algoritma RSA digunakan untuk mengamankan kunci yang akan digunakan pada algoritma Hill cipher. Proses pertama yang akan dikerjakan sistem adalah proses enkripsi plain image dengan menggunakan algoritma Hill cipher, kemudian kunci yang telah digunakan untuk mengenkripsi plain image diamankan dengan menggunakan algoritma RSA. Proses enkripsi hanya dapat dilaksanakan jika nilai tiap pixel warna pada citra digital telah disimpan. Citra digital yang terenkripsi (cipher image) dan matriks kunci (cipher matrix) disimpan dalam media penyimpanan

data pada komputer kemudian akan dikirimkan kepada penerima pesan. Jika penerima pesan ingin menggunakan dan mengetahui pesan citra yang dikirim maka penerima harus mendeskripsikan cipher matrix tersebut.

3.2. Per ancangan Sistem

Dalam perancangan sistem ini yang pertama dilakukan adalah pembuatan flowchart sistem, kemudian dilanjutkan dengan pembuatan diagram Unified Modeling Language (UML) dari sistem.

3.2.1. Perancangan Flowchart

Pada bagian ini akan dijelaskan langkah-langkah pembuatan sistem dalam flowchart sistem kemudian akan dijelaskan dalam bagian-bagian flowchart algoritma.

3.2.1.1. Flowchart Aplikasi

Dalam aplikasi ini terdapat dua algoritma yang digunakan yaitu algoritma Hill cipher dan algoritma Rivest-Shamir-Adleman (RSA). Algoritma Hill cipher akan digunakan untuk mengamankan citra digital dan algoritma RSA untuk mengamankan kunci. Pada aplikasi ini, proses pertama yang akan dikerjakan sistem jika user adalah seorang penerima pesan adalah proses pembangkitan kunci. Dari proses ini akan diperoleh matriks kunci yang akan digunakan untuk mengenkripsikan dan mendeskripsikan citra digital dan kunci publik untuk mengenkripsi matriks kunci dan kunci privat untuk mendeskripsikan cipher matriks. Kunci privat hanya boleh diketahui oleh penerima pesan.

Jika pengguna adalah pengirim pesan maka hal pertama yang dilakukan adalah proses enkripsi citra digital (plain image) menjadi citra digital terenkripsi (cipher image). Kemudian dilanjutkan dengan proses enkripsi terhadap kunci yang telah digunakan untuk enkripsi citra digital (plain image) menjadi cipher matrix. Melalui proses ini akan dihasilkan dua file yang akan diamankan yaitu cipher image dan cipher matrix. Untuk mengetahui informasi pada cipher image, maka proses yang

terlebih dahulu dilakukan adalah proses dekripsi cipher matriks. Berikut gambaran rancangan flowchart aplikasi yang akan dibuat pada gambar 3.1.

Gambar 3.1 Flowchart aplikasi

Dari gambar 3.1 terdapat enam predefined process yaitu proses yang memiliki penjelasan lebih rinci dan dikembangkan agar lebih jelas dipahami. Adapun predefined process dari flowchart diatas antara lain proses pembangkitan matriks kunci Hill cipher, proses enkripsi plain image dengan algoritma Hill cipher, proses

pembangkitan kunci publik dan privat algoritma RSA, proses enkripsi matriks kunci dengan RSA, proses dekripsi cipher matrix dengan algorima RSA, dan proses dekripsi cipher image dengan algoritma Hill cipher.

3.2.1.1.1 Flowchart proses pembangkitan matriks kunci Hill cipher

Pada proses ini matriks kunci yang akan digunakan dibatasi nilai nya dengan menetapkan rentang matriks yang akan dibangkitkan. Tiap elemen matriks yang akan dibangkitkan terdiri dari bilangan bulat positif dari 0 sampai rentang nilai yang akan dimasukkan oleh pengguna. Matriks yang digunakan pada proses ini berukuran 3 x 3. Proses ini dapat dilaksanakan setelah pengguna memasukkan citra digital yang akan dienkripsi. Pada saat sistem membangkitkan 9 bilangan bulat acak positif dari 0 sampai rentang yang telah dimasukkan, sistem memeriksa apakah matriks tersebut memiliki determinan 1 atau -1. Karena citra digital yang akan di enkripsi nanti hanya akan dapat di dekripsi kembali apabila matriks kunci tersebut memiliki invers yang ditunjukkan dengan hasil determinan 1 atau -1. Apabila telah memenuhi syarat determinan, 9 bilangan tersebut akan disimpan sebagai matriks kunci. Proses ini dapat digambarkan pada gambar 3.2 di bawah ini:

Keterangan :

key_range : Rentang nilai yang akan digunakan sebagai batasan pengecekan pada pembangkitan matriks kunci yaitu dari 0 sampai key_range.

3.2.1.1.2. Flowchart proses enkripsi plain image dengan Hill cipher

Pada proses enkripsi citra digital (plain image), algoritma yang digunakan adalah algoritma Hill cipher. Algoritma ini termasuk algoritma simetris karena kunci yang digunakan untuk enkripsi dan dekripsi adalah sama. Proses ini membutuhkan masukan berupa plain image, kemudian dari plain image tersebut diambil nilai-nilai pikselnya berdasarkan nilai RGB nya. Kemudian panjang x dan lebar y dari dimensi citra digunakan untuk kemudian dipakai sebagai parameter untuk menyimpan citra hasil enkripsi. Untuk proses enkripsi, matriks kunci yang telah dibangkitkan dikalikan dengan tiap pixel citra dan kemudian dimodulokan dengan 256. Hasil enkripsi kemudian disimpan sebagai citra terenkripsi (cipher image) dengan panjang dan lebar yang sama dengan citra asli (plain image). Proses enkripsi plain image dengan algoritma Hill cipher dapat dilihat pada gambar 3.3 di bawah ini :

Keterangan :

ci : nilai pixel citra hasil enkripsi (cipher image ke - i) pi : nilai pixel citra asli (plain image ke – i)

K : matriks kunci 3 x 3 (cipher matrix)

3.2.1.1.3. Flowchart proses pembangkitan kunci RSA

Untuk mendapatkan kunci publik dan kunci privat dari algoritma RSA , maka pada proses ini pengguna harus memasukkan panjang digit bilangan prima yang akan dibangkitkan. Kunci publik ini digunakan untuk mengenkripsi matriks kunci dari algoritma Hill cipher . Kunci publik yang dibangkitkan terdiri dari nilai n dan e. Kemudian kunci privat digunakan untuk mendeskripsi cipher matrix agar dapat digunakan untuk mendeskripsikan cipher image menjadi plain image. Kunci privat yang dibangkitkan berupa nilai d, p, q. Proses pembangkitan kunci publik dan kunci privat RSA dapat dilihat pada gambar 3.4 di bawah ini

:

Keterangan :

p, q : bilangan prima acak n : nilai hasil perkalian p dan q

e : nilai yang digunakan untuk mengenkripsi matriks kunci d : nilai yang digunakan untuk mendekripsi cipher matrix ϕ(n) : nilai totient dari n

3.2.1.1.4. Flowchart proses enkripsi matriks kunci dengan RSA

Pada proses ini setiap elemen pada matriks kunci akan dipangkatkan dengan nilai e kemudian dimodulokan dengan n . Hasil dari proses enkripsi berupa cipher matrix dengan ukuran 3 x 3. Gambar 3.5 di bawah ini merupakan flowchart dari proses ini :

Gambar 3.5 Flowchart proses enkr ipsi matr ik s kunci dengan RSA

Keterangan :

Ki : matriks kunci ke - i

Ci : cipher matrix elemen ke - i C : cipher matrix

3.2.1.1.5. Flowchart proses dekripsi cipher matrix dengan RSA

Pada proses ini pengguna harus memasukkan nilai d untuk dapat mendeskripsikan cipher matrix menjadi matriks kunci (plain matrix). Cipher matrix didekripsi dengan mempangkatkan tiap elemen matriks dengan nilai d dan kemudian dimodulokan dengan nilai n. Hasil dari proses ini adalah matriks kunci yang akan digunakan untuk mendekripsikan cipher image menjadi plain image. Proses ini dapat digambarkan dengan flowchart pada gambar 3.6 di bawah ini :

Gambar 3.6 Flowchart proses dekr ipsi cipher matr ix dengan RSA

3.2.1.1.6. Flowchart proses dekripsi cipher image dengan Hill cipher

Proses dekripsi cipher image hanya dapat dilaksanakan apabila cipher matrix telah didekripsikan menjadi matriks kunci dan kemudian dihitung invers matriksnya. Kemudian dengan menggunakan rumus pada algoritma Hill cipher tiap-tiap pixel pada cipher image dikalikan dengan matrik invers dan dimodulokan dengan 256. Hasil keluaran dari proses ini adalah plain image. Berikut digambarkan flowchart proses ini pada gambar 3.8 :

Gambar 3.7 Flowchart proses dekr ipsi cipher image dengan Hill cipher

Keterangan :

K-1: invers matriks K

3.2.2. Perancangan Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sekumpulan kaidah pemodelan yang digunakan untuk menetapkan atau menjelaskan sistem perangkat lunak dari segi objek (Bentley & Whitten, 2007). Model diagram UML yang digunakan pada penelitian ini antara lain Use-case diagram, Sequence diagram, dan Activity diagram.

3.2.2.1. Use-case diagram

Diagram ini menggambarkan interaksi antara sistem dan sistem eksternal dan para pengguna. Dengan kata lain, diagram ini secara visual menjelaskan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Naratif use-case digunakan sebagai tambahan menjelaskan langkah-langkah dari setiap interaksi secara tertulis (Bentley & Whitten, 2007).

Ga mbar 3.8 Use-case diagram sistem

Pada gambar 3.8 terdapat 1 actor yaitu Pengguna yang memiliki peran sebagai pengirim dan penerima pesan citra digital. Untuk dapat mengenkripsi atau

Implementasi Algoritma Rivest-Shamir-Adleman untuk Pengamanan Kunci Algoritma Hill

cipher pada Citra Digital

Pengguna Enkripsi Citra Enkripsi Matriks Dekripsi Citra Dekripsi Cipher Matrix Import Citra Bangkitkan Matriks Bangkitkan Kunci Publik dan Privat

Input Rentang Matriks

Input Panjang Digit Bilangan Prima

Input Kunci Privat

Input Determinan

Input Cipher Matrix

Bangkitkan Kunci Publik dan Kunci Privat

<<depends on>> <<de

pend s on>

>

<<depends on>>

<<depends on>> <<depends on>>

<<de pend s on >> <<depends on>> <<de pend s on> > <<depends on>> <<de pend s on >> <<depend s on>>

mengenkripsi citra, pengguna membangkitkan matriks kunci berukuran 3 x 3 dengan terlebih dahulu memasukkan rentang matriks yang akan dibangkitkan. Kemudian matriks kunci yang telah digunakan untuk mengenkripsi citra dienkripsi kembali dengan menggunakan algoritma RSA. Untuk mengenkripsi matriks tersebut, pengguna harus membangkitkan kunci publik dan kunci privat dengan memasukkan panjang digit bilangan prima yang akan dibangkitkan. Pada akhir proses enkripsi pengguna dapat menyimpan kunci privat dan determinan ke dalam file dengan format *.txt. Untuk proses dekripsi citra, maka syarat yang harus dipenuhi adalah pengguna harus memasukkan citra hasil enkripsi dan invers matriks kunci. Invers matriks kunci diperoleh dari matriks kunci yang telah dienkripsi dengan algoritma RSA. Untuk mendeskripsikan cipher matrix tersebut pengguna harus memasukkan kunci privat (d, n). Setelah diperoleh matriks kunci maka citra dapat didekripsikan.

3.2.2.2. Sequence diagram

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antara actor dan sistem pada use-case scenario. Diagram ini juga membantu melihat pesan high-level yang masuk dan keluar dari sistem (Bentley & Whitten, 2007). Garis penuh menunjukkan input yang dilakukan oleh user menuju sistem sedangkan garis putus-putus yang mengarah ke bagian user menunjukkan output yang dihasilkan oleh sistem.Tiap input dan output yang terjadi memiliki activation bars yang menunjukkan periode waktu dimana proses dilakukan.

Gambar 3.9 Sequence diagram Pr oses Enkr ipsi

3.2.2.3. Activity diagram

Activity diagram adalah suatu diagram yang digunakan untuk menggambarkan aliran proses usaha secara grafis, langkah-langkah dari suatu use case, atau logika dari suatu tingkah laku objek (method) (Bentley & Whitten, 2007). Nodes bulat berwarna hitam menunjukkan awal proses sedangkan nodes bulat berwarna hitam ditengah menunjukkan akhir proses. Sistem ini dibagi menjadi dua bagian terpisah untuk menunjukkan atau menyederhanakan proses-proses yang terjadi pada user maupun pada sistem. Berikut merupakan activity diagram untuk penelitian ini yang ditunjukkan pada gambar 3.9 dibawah ini.

Ga mbar 3.12 Activity diagram Pr oses Dekr ipsi

3.2.3. Perancangan Interface Aplikasi

Sistem ini dirancang dalam 3 form yaitu form halaman utama, form bantuan, dan form tentang.

3.2.3.1. Rancangan interface form halaman utama

Pada saat aplikasi dijalankan maka form pertama yang akan muncul adalah form utama. Di dalam form utama terdapat pilihan combobox untuk memilih proses yang akan dilakukan yaitu proses enkripsi atau dekripsi. Berikut rancangan form utama digambarkan pada gambar 3.11 :

Gambar 3.13 Rancangan InterfaceForm Utama

Keterangan :

1) Merupakan groupbox yang berfungsi untuk menampilkan citra asli dan citra hasil enkripsi.

2) Merupakan button yang berfungsi untuk mengimport citra berformat *.png dari tempat penyimpanan.

3) Merupakan combobox yang berfungsi untuk menampilkan proses yang akan dilakukan yaitu proses enkripsi dan dekripsi.

4) Merupakan picturebox yang berfungsi untuk menampilkan citra hasil import. 5) Merupakan label untuk citra hasil import.

6) Merupakan picturebox yang berfungsi untuk menampilkan citra hasil enkripsi atau dekripsi.

7) Merupakan label untuk citra hasil enkripsi atau dekripsi. 8) Merupakan button untuk menampilkan form bantuan. 9) Merupakan button untuk menampilkan form tentang. 10)Merupakan grupbox untuk proses enkripsi.

11)Merupakan label untuk proses enkripsi algoritma Hill cipher.

13)Merupakan kumpulan textbox untuk menampilkan matriks yang dibangkitkan. 14)Merupakan textbox untuk menampilkan hasil determinan matriks yang

dibangkitkan.

15)Merupakan button untuk membangkitkan matriks dengan ukuran 3 x 3. 16)Merupakan button untuk mengenkripsi citra digital.

17)Merupakan label untuk proses algoritma RSA.

18)Merupakan textbox untuk menyimpan panjang digit bilangan prima p dan q yang akan dibangkitkan.

19)Merupakan textbox untuk menampilkan bilangan prima p. 20)Merupakan textbox untuk menampilkan bilangan prima q. 21)Merupakan textbox untuk menampilkan nilai n.

22)Merupakan textbox untuk menampilkan nilai e.

23)Merupakan textbox untuk menampilkan nilai hasil ϕ (n). 24)Merupakan textbox untuk menampilkan nilai d.

25)Merupakan button untuk membangkitkan kunci publik dan kunci privat untuk algoritma RSA.

26)Merupakan button untuk mengenkripsi matriks. 27)Merupakan label untuk cipher matrix.

28)Merupakan kumpulan textbox untuk menampilkan cipher matrix hasil enkripsi. 29)Merupakan button untuk menyimpan kunci privat dan determinan ke dalam

file *.txt.

30)Merupakan button untuk menghapus semua textbox pada groupbox enkripsi dan citra yang diimport.

31)Merupakan groupbox untuk proses dekripsi. 32)Merupakan label untuk kunci dekripsi. 33)Merupakan textbox untuk menyimpan nilai d. 34)Merupakan textbox untuk menyimpan nilai n.

35)Merupakan textbox untuk menyimpan nilai determinan. 36)Merupakan textbox untuk menyimpan cipher matrix.

37)Merupakan button yang berfungsi untuk mendeskripsi cipher matrix menjadi matriks kunci.

39)Merupakan kumpulan textbox yang berfungsi untuk menampilkan matriks kunci hasil dekripsi.

40)Merupakan label untuk invers matriks kunci.

41)Merupakan kumpulan textbox yang berfungsi untuk menampilkan invers matriks kunci.

42)Merupakan button yang berfungsi untuk mendekripsikan citra menjadi citra asli.

43)Merupakan button yang berfungsi untuk menghapus semua textbox pada groupbox dekripsi dan citra yang diimport.

3.2.3.2. Rancangan interface form bantuan

Keterangan:

1) Merupakan tabcontrol yang berfungsi untuk menampilkan cara kerja program untuk proses enkripsi.

2) Merupakan tabcontrol yang berfungsi untuk menampilkan cara kerja program untuk proses dekripsi.

3) Merupakan picturebox yang berfungsi untuk menampilkan screenshot form utama untuk proses enkripsi atau dekripsi.

4) Merupakan richtext yang berfungsi untuk menjelaskan cara kerja proses enkripsi atau dekripsi.

3.2.3.3. Rancangan interface form tentang

Gambar 3.15 Rancangan interface form tentang

Keterangan :

1) Merupakan label yang berisi judul skripsi penulis. 2) Merupakan label yang berisi skripsi.

4) Merupakan label yang berisi logo Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom - TI) USU.

5) Merupakan label berisi keterangan program studi, fakultas, universitas dan tahun penulisan penelitian.

BAB IV

IMPLEMENTASI DAN PENGUJ IAN

4.1. Implementasi

Tahap implementasi merupakan tahapan yang dikerjakan setelah tahap analisis dan perancangan selesai dilakukan. Sistem ini menggunakan dua bahasa pemrograman yaitu Python 2.7.8 dan C#. Intergrated Development Environment (IDE) yang digunakan adalah Wing IDE 101 5.0 dan Microsoft Visual Studio Ultimate 2013. Form yang digunakan pada sistem ini antara lain form Halaman Utama, form Bantuan, dan form Tentang.

4.1.1. Form halaman utama

Form Halaman Utama merupakan form yang pertama kali muncul ketika sistem dijalankan. Pada form ini terdapat button import citra yang berfungsi untuk mengimport citra digital berformat *.png dari tempat penyimpanan. Citra yang telah diimport, ditampilkan pada picturebox dengan label citra asli dan hasil enkripsi akan ditampilkan pada picturebox dengan label citra terenkripsi. Label ini akan berubah, apabila mode yang dipilih diubah. Apabila mode dekripsi yang dipilih, maka label citra asli akan diubah menjadi citra terenkripsi dan citra terenkripsi menjadi citra asli. Kemudian combobox pada form ini digunakan untuk memilih proses yang akan dikerjakan yaitu proses enkripsi atau dekripsi. Groupbox akan aktif (enabled) apabila salah satu mode dipilih. Pada form ini terdapat button bantuan untuk menampilkan form bantuan dan button tentang untuk menampilkan form tentang.

Pada groupbox enkripsi, pertama-tama pengguna memasukkan rentang matriks yang akan dibangkitkan kemudian melalui button Bangkitkan Matriks Kunci, matriks

kunci acak dengan determinan 1 atau -1 akan ditampilkan pada sembilan textbox dengan label K. Kemudian nilai determinan dari matriks tersebut juga ditampilkan pada textbox dengan label determinan. Setelah matriks ditampilkan, button enkripsi citra digunakan untuk mengenkripsi citra yang telah diimport dan menampilkan hasilnya pada picturebox dengan label citra terenkripsi. Untuk mengenkripsi matriks kunci dengan algorita RSA, textbox panjang digit diisi untuk membangkitkan bilangan prima p dan q, kemudia nilai n, e, ϕ(n), dan d dan ditampilkan pada textbox masing-masing. Button enkripsi matriks kunci digunakan untuk mengenkripsi matriks kunci dan menampilkan hasilnya pada sembilan textbox dengan label C. Button simpan kunci digunakan untuk menyimpan kunci privat RSA dan determinan matriks ke dalam file *.txt. Button Reset digunakan untuk menghapus citra yang diimport dan semua textbox pada groupbox enkripsi.

Pada groupbox dekripsi, untuk mendekripsikan cipher matrix menjadi matriks kunci maka textbox dengan labeld, n, determinan, dan C harus diisi. Kemudian button dekripsi matriks kunci akan memproses data tersebut dan menampilkan hasilnya pada sembilan textbox dengan label K dan invers matriks kunci dengan label K-1. Button Dekripsi Cipher matrix digunakan untuk mendekripsikan citra terenkripsi dan menampilkan citra asli. Berikut ditampilkan form halaman utama pada gambar 4.1:

4.1.2. Form bantuan

Form bantuan berisi petunjuk penggunaan sistem dengan menjelaskan masing-masing mode yaitu mode enkripsi atau mode dekripsi. Picturebox berisi gambar tampilan

Dokumen terkait