ANALISIS PERANCANGAN SISTEM

3.1 Analisis Sistem

3.1.3 Perancangan Sistem

Perancangan sistem dilakukan untuk memperoleh gambaran dari sistem yang akan dibangun sehingga mempermudah dalam proses implementasi maupun proses evaluasi . Sistem pada penelitian ini ini dirancang dengan membuat flowchart, use case

diagram, sequence diagram, activity diagram, serta perancangan antarmuka.

a. Flowchart

Diagram alir (flowchart) merupakan pengambaran diagram yang menjelaskan penyelesaian suatu persoalan dengan langkah-langkah yang terstruktur. Flowchart untuk sistem ini dapat dilihat pada gambar 3.1, gambar 3.2 dan gambar 3.3

1. Flowchart proses pembangkitkan kunci

START Digit p, digit q, digit r, digit d Kunci publik RSA, Kunci privat RSA END

Bangkitkan kunci untuk algoritma RSA Bangkitkan kunci untuk algoritma ECDSA Kunci publik ECDSA, kunci privat ECDSA

Pada gambar 3.1. Proses pembentukan kunci dimulai dari memasukkan jumlah digit untuk tiga buah bilangan prima yaitu p, q, r dan d, selanjutnya akan dihasilkan didapatkan kunci publik dan kunci privat untuk algoritma RSA yang dimodifikasi dan ECDSA dengan menggunakan algoritma pembangkitan kunci RSA yang dimodifikasi dan ECDSA.

2. Flowchart proses enkripsi pesan dan tanda tangan digital

START

Plaintext dan tanda tangan digital dienkripsi menggunakan

algoritma RSA

END

Bangkitkan tanda tangan digital dengan algoritma

ECDSA

Ciphertext

Kunci privat ECDSA, kunci publik RSA,

plaintext

Gambar 3.2.Proses enkripsi pesan dan tanda tangan digital

Pada gambar 3.2. Proses pembentukan tanda tangan digital dilakukan dengan menggunakan algoritma pembentukan tanda tangan digital ECDSA, sedangkan proses enkripsi plaintext dan tanda tangan digital dilakukan dengan menggunakan algoritma enkripsi RSA yang dimodifikasi sehingga dihasilkan ciphertext.

3. Flowchart proses dekripsi pesan dan verifikasi tanda tangan digital

START

END Ciphertext, kunci

publik ECDSA, kunci privat RSA

Ciphertext didekripsi dengan menggunakan

algoritma RSA

Plaintext dipisah dari tanda

tangan digital

Tanda tangan digital diverifikasi dengan menggunakan algoritma

ECDSA

Plaintext, tanda

tangan digital dan status plaintext

Gambar 3.3.Proses dekripsi pesan dan verifikasi tanda tangan digital

Pada gambar 3.3. Proses dekripsi pesan dilakukan dengan menggunakan algoritma enkripsi RSA yang dimodifikasi, sedangkan proses verifikasi tanda tangan digital dilakukan dengan menggunakan algoritma verifikasi ECDSA. Hasil akhir proses ini adalah plaintext, tanda tangan digital dan status dari plaintext.

b. Use Case Diagram

Diagram use case menggambarkan semua kegiatan yang dapat dilakukan pengguna terhadap aplikasi yang dibuat. Pengguna didalam diagram use case disebut sebagai

case dengan use case lainnya adalah include dan extend. Penggunaan hubungan include menunjukkan bahwa sebuah use case dapat melakukan kegiatan yang terdapat

pada use case lainnya untuk sedangkan hubungan extend merepresentasikan use case memiliki kegiatan yang sama dengan use case lainnya namun memiliki berberapa kegiatan tambahan dari use case induknya. Diagram use case untuk sistem ini dapat dilihat pada gambar 3.4.

Bangkitkan Tanda Tangan Digital Verifikasi Tanda Tangan Digital Bangkitkan Kunci Dekripsi Enkripsi Bangkitkan Tanda Tangan Digital Dan

Enkripsi Berkas <<include>> <<include>>

Dekripsi Berkas dan Verifikasi Tanda

Tangan Digital <<include>>

<<include>>

Pengirim Penerima

Gambar 3.4. Diagram use case

Gambar 3.4 menunjukkan bahwa pengirim dan penerima merupakan actor yang sama- sama dapat melakukan pembangkitan kunci, Setelah para actor membangkitkan kunci, pengirim selanjutnya melakukan pembangkitan tanda tangan digital, setelah itu dilakukan enkripsi pada plaintext dan tanda tangan digital sehingga menghasilkan

ciphertext. Penerima kemudian melakukan proses dekripsi pesan dan verifikasi tanda

tangan digital dengan melakukan proses dekripsi terhadap pesan ciphertext sehingga menghasilkan plaintext kemudian dilakukan proses verifikasi tanda tangan digital.

c. Activity Diagram

Diagram activity adalah diagram digunakan untuk mengambarkan alur semua jenis proses yang terdapat didalam sistem. Hubungan kegiatan yang dilakukan antara use

dapat dilihat pada gambar 3.5, gambar 3.6 dan gambar 3.7.

Gambar 3.5. Activity Diagram Bangkitkan Kunci

Buka Tab Bangkitkan Kunci

Input Digit Kunci untuk ECDSA

Digit < 1 Tidak

Ya

Tampilkan kunci publik dan kunci privat

untuk ECDSA

Input Digit Kunci untuk RSA

Digit < 2 Tidak

Bangkitkan kunci RSA Ya

Tampilkan kunci publik dan kunci privat untuk RSA Bangkitkan kunci

Gambar 3.6.Activity Diagram Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan

Enkripsi pesan dan tanda tangan digital Tampilkan tanda tangan digital Simpan ciphertext Pilih berkas plaintext

Buka Form Bangkitkan Tanda Tangan Digital

dan Enkripsi Pesan

Bangkitkan tanda tangan digital

Masukkan kunci publik RSA penerima pesan Masukkan kunci privat

Gambar 3.7. Activity Diagram Dekripsi Pesan dan Verifikasi Tanda Tangan Digital

d. Sequence Diagram

Sequence diagram adalah diagram yang menunjukkan interaksi antara objek dalam

waktu tertentu. Terdapat dua hubungan antara objek yaitu message dan return

message. Message direpresentasikan dengan arah panah, sedangkan return message

dengan panah putus-putus. Sedangkan objek yang melakukan proses terhadap dirinya sendiri disebut sebagai recursive message yang dilambangkan dengan panah sirkular.

Masukkan kunci privat RSA

Dekripsi Ciphetext

Pisahkan plaintext dari tanda tangan digital

Tampilkan isi pesan dan tanda tangan digital dan status keabsahan pesan

Buka Form Dekripsi Pesan dan Verifikasi Tanda Tangan Digital

Pilih berkas ciphertext

Masukkan kunci publik ECDSA pengirim

Verifikasi tanda tangan digital

Adapun sequence diagram dari sistem yang akan dibangun dapat dilihat pada gambar 3.8, gambar 3.9 dan gambar 3.10.

Gambar 3.8. Sequence Diagram Bangkitkan Kunci

Gambar 3.9. Sequence Diagram Bangkitkan Tanda Tangan Digital dan Dekripsi Pesan

Pengirim

Form Bangkitkan

Kunci

Input digit untuk kunci ECDSA

Tampilan Kunci ECDSA

Bangkitkan Kunci ECDSA Buka Form

Bangkitkan Kunci Penerima

Input digit untuk kunci RSA

Tampilan Kunci RSA

Bangkitkan Kunci RSA

Buka Form Bangkitkan Kunci

Pengirim

Input Kunci Publik RSA P ene rim a Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan Buka Tab Bangkitkan

Tanda Tangan Digital dan Enkripsi Pesan

Bangkitkan Tanda Tangan Digital Input Kunci Privat EC DSA Input Plaintext Enkripsi

Tanda Tangan Digital

Enkripsi dan Simpan Ciphertext Berkas Ciphertext Plaintext Tampilkan Ta nda Tangan Digital Input Plaintext Tampilan Tanda Tangan Digital Input Kunci Enkripsi pesa n sele sai Bangkitkan Tanda Tangan Digital

Gambar 3.10. Sequence Diagram Dekripsi Pesan dan Verifikasi Tanda Tangan Digital

e. Perancangan Antarmuka

Perancangan antarmuka merupakan gambaran desain awal dari aplikasi yang akan dibangun. Antarmuka yang dibuat harus mudah digunakan pengguna. Perangkat lunak dibangun dengan menggunakan bahasa pemrograman Java dan menggunakan JavaFX sebagai library antarmuka. Adapun prototipe dari aplikasi yang akan dibangun.

1. Antarmuka bangkitkan kunci

Pada tampilan antarmuka bangkitkan kunci, pengirim membangkitkan kunci untuk algoritma ECDSA sedangkan penerima akan membangkitkan kunci untuk algoritma RSA yang dimodifikasi. Prototipe antarmuka dapat dilihat pada gambar 3.11.

Penerima

Input Kunci Publik ECDSA Pengirim Dekripsi Pesan dan

Verifikasi Tanda Tangan Digital Buka Tab Dekr ipsi P esan

Berkas dan Verifikasi TandaTanga n Digital Dekripsi Input Kunci Privat RSA Input Ciphertext Verifikasi Tanda Tangan Digital

Tanda Tangan Digital

Verifikasi Tanda Tangan Digital Validitas Tanda Tangan Digital Plaintext Tampilkan Ta nda Tangan Digital Input Ciphertext Tampilan Tanda Tangan Digital Input Kunci Tampilan Status Tanda Tangan Digital

Dekripsi Ciphertext

Tampilkan Plaintext Tampilan Plaintext

Gambar 3.11.Rancangan Antarmuka Bangkitkan Kunci

Keterangan :

1. TextField untuk memasukkan digit untuk kunci privat (d) ECDSA.

2. TextField untuk menampilkan kunci privat (d) ECDSA yang dihasilkan.

3. TextField untuk menampilkan kunci publik (Qx) ECDSA yang dihasilkan.

4. TextField untuk menampilkan kunci publik (Qy) ECDSA yang dihasilkan.

5. TextField untuk memasukkan digit bilangan prima (p).

6. TextField untuk menampilkan bilangan prima (p) yang dihasilkan.

7. TextField untuk memasukkan digit bilangan prima (q).

8. TextField untuk menampilkan bilangan prima (q) yang dihasilkan.

9. TextField untuk memasukkan digit bilangan prima (r).

10.TextField untuk menampilkan bilangan prima (r) yang dihasilkan.

11.TextField untuk menampilkan kunci privat (ϕ(n)) RSA. 12.TextField untuk menampilkan kunci publik (d) RSA.

13.TextField untuk menampilkan kunci publik (n) RSA.

14.TextField untuk menampilkan kunci publik (e) RSA.

15.Button untuk menghasilkan kunci baru sesuai dengan digit yang dimasukkan pengirim dan pengguna.

2. Antarmuka bangkitkan tanda tangan digital dan enkripsi pesan

Pada tampilan antarmuka bangkitkan tanda tangan digital dan enkripsi pesan, pengirim memasukkan kunci privat ECDSA dan memilih plaintext. Proses pembangkitan tanda tangan dilakukan seketika ketika pengirim memilih plaintext,

1 2 3 4 5 6 7 8 9 10 12 11 13 14 15

kemudian memasukkan kunci publik RSA yang dimodifikasi penerima untuk melakukan proses enkripsi sehingga menghasilkan pesan ciphertext. Prototipe antarmuka dapat dilihat pada gambar 3.11.

Gambar 3.12.Rancangan Antarmuka Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan.

Keterangan :

1. Button untuk memilih berkas plaintext.

2. TextField berisi lokasi berkas plaintext yang akan diproses.

3. TextArea berisi plaintext dan dapat diubah.

4. TextField sebagai tempat untuk memasukkan kunci privat (d) ECDSA pengirim.

5. Button untuk menghasilkan tanda tangan digital dari plaintext. 6. TextField yang menyatakan status pembuatan tanda tangan digital.

7. TextField menampilkan tanda tangan digital (r) yang dihasilkan.

8. TextField menampilkan tanda tangan digital (s) yang dihasilkan.

9. TextField untuk memasukkan kunci publik (e) RSA penerima.

10. TextField untuk memasukkan kunci publik (n) RSA penerima.

11. Button untuk menghasilkan sekaligus menyimpan ciphertext.

12. TextField untuk menyatakan status enkripsi pesan dan penyimpanan ciphertext.

1 2 3 4 5 6 7 8 9 10 12 11

3. Antarmuka dekripsi pesan dan verifikasi tanda tangan digital

Pada tampilan antarmuka dekripsi pesan dan verifikasi tanda tangan digital, penerima memasukkan kunci privat RSA yang dimodifikasi dan memilih pesan ciphertext. Hasil dari proses enkripsi akan ditampilkan pada textarea, kemudian memasukkan tanda tangan digital pesan dan penerima kunci publik ECDSA pengirim untuk melakukan proses verifikasi sehingga menghasilkan status keabsahan dari plaintext. Prototipe antarmuka dapat dilihat pada gambar 3.13.

Gambar 3.13. Rancangan Baca Pesan dan Verifikasi Tanda Tangan

Keterangan :

1. Button untuk memilih pesan ciphertext.

2. TextField berisi lokasi berkas plaintext yang akan diproses.

3. TextField untuk memasukkan kunci privat (d) RSA.

4. TextField untuk memasukkan kunci privat (n) RSA.

5. Button untuk melakuka proses dekripsi.

6. TextField untuk menampilkan status proses dekripsi.

7. TextArea untuk menampilkan hasil dekripsi.

8. TextField untuk menampilkan tanda tangan digital (r).

9. TextField untuk menampilkan tanda tangan digital (s).

10. TextField untuk menampilkan kunci publik pengirim (Qx) ECDSA.

11. TextField untuk menampilkan kunci publik pengirim (Qy) ECDSA.

12. Button untuk melakukan proses verifikasi tanda tangan digital.

13. TextField untuk menampilkan status proses verifikasi dan tanda tangan digital.

1 2 3 4 5 6 7 8 9 10 12 11 13 13

BAB IV

Dalam dokumen Implementasi Modifikasi Sistem Kriptografi RSA dan Elliptic Curve Digital Signature Algorithm (ECDSA) (Halaman 41-53)