Pemodelan Sistem ANALISIS DAN PERANCANGAN SISTEM

 Proses pemilihan kunci ephemeral hanya menginisialisasi variabel dengan bilangan bulat acak.  Proses pengenkripsian pesan ∈ � menggunakan kriptografi ElGamal kurva eliptik akan menghasilkan dua nilai, yaitu dan . Masing-masing nilai dan dihitung dengan persamaan = ∈ � dan = + � ∈ � . Berikut adalah pseudocode-nya. encryptM[], � , P 1. C ← [M.length][2] 2. for i ← 0; i M.length; i ← i + 1 3. k ← random integer 4. C[i][0] ← P.sumk 5. tmp ← Q.sumk 6. C[i][2] ← M[i].sumtmp 7. return C Proses dekripsi merupakan kebalikan invers dari alur proses enkripsi. Seperti ditunjukkan pada Gambar 3.2, output pada proses enkripsi akan menjadi input pada proses dekripsi. Jadi, jika pada proses enkripsi yang pertama sekali diproses adalah naskah asli dilanjutkan dengan memroses kunci, maka proses dekripsi akan melakukan alur proses yang berlawanan, yaitu dengan memroses kunci acak cipher-key terlebih dahulu yang kemudian dilanjutkan dengan memroses naskah acak cipher untuk mendapatkan kembali naskah asli.

3.2. Pemodelan Sistem

Pemodelan sistem merupakan tahap penggambaran komponen-komponen di dalam suatu sistem yang akan dirancang sesuai dengan spesifikasi dan kebutuhan sistem, sehingga sistem dapat diidentifikasi dan dianalisis dengan lebih mudah. Sistem keamanan data ini akan dimodelkan dengan UML Unified Modeling Language menggunakan beberapa diagram, di antaranya: Use-case, Activity, dan Sequence. 3.2.1. Use-case diagram Diagram use-case menggambarkan interaksi antara sistem dengan pengguna dan sistem yang lain, serta menjelaskan siapa yang akan menggunakan sistem dan dengan cara apa pengguna dapat berinteraksi dengan sistem. Gambar 3.5 adalah diagram use-case sistem keamanan data dengan kombinasi algoritma Rijndael dan ElGamal kurva eliptik. Universitas Sumatera Utara Pengirim Penerima Mengirim Pesan Acak Cipher dan Kunci Acak Cipher-key Enkripsi Pesan Rahasia dengan AES Enkripsi Kunci dengan ElGamal Kurva Eliptik Dekripsi Pesan Acak Cipher dengan AES Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik Membangkitkan Kunci Publik Membangkitkan Kunci Privat include include include include include include Enkripsi Plain-text Enkripsi File extend extend Dekripsi File Dekripsi Plain-text extend extend Membangkitkan Bilangan Prima dengan Metode Miller-Rabin include Gambar 3.5: Diagram use-case sistem keamanan data. Setiap use-case pada Gambar 3.5 akan dijelaskan lebih detail menggunakan naratif use-case pada Tabel 3.1 sampai Tabel 3.8: Nama Use-Case Enkripsi Pesan Rahasia dengan AES Prioritas Tinggi Aktor Utama Pengirim Deskripsi Proses pengenkripsian naskah asli, berupa plain-text atau file. Use-case ini memiliki dua extended use-case, yaitu Enkripsi Plain-text dan Enkripsi File. Proses keduanya adalah sama, yang membedakannya hanya objeknya. Kondisi Awal Pengirim memiliki naskah asli yang akan dienkripsi dan menentukan kuncinya. Pemicu Pengirim ingin mengenkripsi naskah aslinya. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Pengirim menginisialisasi kunci. 2 : Sistem membaca kunci dan menentukan apakah menggunakan AES-128, AES-192, atau AES-256. 3 : Sistem melakukan proses key schedule terhadap kunci. 4 : Pengirim menginisialisasi naskah asli. 5 : Sistem membaca naskah asli dan melakukan proses pengisian blok. Universitas Sumatera Utara 6 : Sistem mengenkripsi naskah asli dengan melakukan sejumlah transformasi terhadap semua blok. 7 : Sistem mengubah kembali himpunan blok menjadi teks. Kesimpulan Proses berakhir jika semua blok telah ditransformasi. Kondisi Akhir Naskah asli menjadi naskah acak cipher. Aturan Proses  Jika panjang kunci lebih besar dari 32 byte, maka proses tidak dapat dilakukan.  Proses gagal jika direktori adalah folder atau direktori tidak ada salah. Tabel 3.1: Naratif Use-Case Enkripsi Pesan Rahasia dengan AES. Nama Use-Case Mengirim Pesan Acak Cipher dan Kunci Acak Cipher-key Prioritas Tinggi Aktor Utama Pengirim Deskripsi Proses pengiriman naskah acak cipher dan kunci acak cipher-key melalui e-mail. Use-case ini menunggu output dari use-case Enkripsi Pesan Rahasia dengan AES dan Enkripsi Kunci dengan ElGamal Kurva Eliptik. Kondisi Awal Pengirim memiliki naskah acak yang akan dikirim kepada penerima beserta kunci acaknya, dan alamat penerima. Pemicu Pengirim ingin mengirimkan naskah acaknya dengan memilih pilihan Send. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Pengirim memilih naskah acak. 2 : Pengirim menentukan alamat e-mail penerima. 3 : Sistem mengirim naskah acak beserta kunci acaknya sesuai dengan alamat e-mail penerima. Kesimpulan Proses berakhir jika naskah acak dan kunci acak telah terkirim. Kondisi Akhir Naskah acak cipher dan kunci acak cipher-key telah diterima oleh penerima. Aturan Proses  Proses tidak dapat dilanjutkan jika tidak ada koneksi internet.  Proses gagal jika ukuran file terlalu besar. Tabel 3.2: Naratif Use-Case Mengirim Pesan Acak Cipher dan Kunci Acak Cipher-key. Universitas Sumatera Utara Nama Use-Case Membangkitkan Kunci Privat Prioritas Tinggi Aktor Utama Penerima Deskripsi Proses membangkitkan bilangan bulat acak � yang besar. Nilai � nantinya akan ditambahkan secara geometri berdasarkan kurva eliptik , dengan titik ∈ untuk membuat kunci publik. Pemicu Penerima menerima permintaan untuk membuat kunci publik. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Sistem membangkitkan sebuah bilangan bulat acak � yang besar. Kesimpulan Proses berakhir jika bilangan bulat acak berhasil dibangkitkan. Kondisi Akhir Diperoleh bilangan bulat acak � yang besar. Tabel 3.3: Naratif Use-Case Membangkitkan Kunci Privat. Nama Use-Case Membangkitkan Kunci Publik Prioritas Sedang Aktor Utama Penerima Deskripsi Use-case ini menunggu output dari use-case Membangkitkan Kunci Privat dan Membangkitkan Bilangan Prima dengan Metode Miller-Rabin. Prosesnya adalah menambahkan titik ∈ � dengan kunci privat � secara geometri berdasarkan kurva eliptik ∈ � . Kondisi Awal Bilangan prima , persamaan kurva eliptik ∈ � , sebuah titik acak ∈ � , dan kunci privat � sudah terinisialisasi. Pemicu Penerima menerima permintaan untuk membuat kunci publik. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Penerima menerima permintaan pengirim untuk membuat kunci publik. 2 : Sistem membaca parameter yang dikirim bersama dengan permintaan dari pengirim. 3 : Sistem penambahkan titik ∈ � dengan kunci privat � secara geometri. Kesimpulan Sistem berakhir jika titik ∈ � berhasil ditambahkan dengan kunci privat � . Kondisi Akhir Diperoleh kunci publik hasil penambahan � = � ∈ � . Tabel 3.4: Naratif Use-Case Membangkitkan Kunci Publik. Universitas Sumatera Utara Nama Use-Case Membangkitkan Bilangan Prima dengan Metode Miller-Rabin Prioritas Tinggi Aktor Utama Pengirim Deskripsi Proses membangkitkan bilangan bulat ganjil yang besar untuk diperiksa apakah mungkin prima atau komposit menggunakan algoritma Miller-Rabin. Kondisi Awal Pengirim menginisialisasi panjang bit bilangan prima yang akan dibangkitkan. Pemicu Pengirim membutuhkan kunci publik yang akan dibuat oleh penerima. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Pengirim menentukan panjang bit . 2 : Sistem membangkitkan sebuah bilangan bulat ganjil dengan panjang bit sama dengan . 3 : Sistem memeriksa apakah mungkin prima atau komposit dengan algoritma Miller-Rabin. 4 : Jika bilangan komposit, lanjutkan proses hingga ditemukan yang mungkin prima. Kesimpulan Proses berakhir jika bilangan mungkin prima berhasil dibangkitkan. Kondisi Akhir Diperoleh bilangan mungkin prima sesuai dengan panjang bit yang diinisialisasi. Aturan Proses Panjang bit memenuhi . Tabel 3.5: Naratif Use-Case Membangkitkan Bilangan Prima dengan Metode Miller-Rabin. Nama Use-Case Enkripsi Kunci dengan ElGamal Kurva Eliptik Prioritas Tinggi Aktor Utama Pengirim Deskripsi Proses pengenkripsian kunci block cipher AES menggunakan algoritma kriptografi ElGamal kurva eliptik. Use-case ini menunggu output dari use-case Membangkitkan Kunci Publik. Kondisi Awal Pengirim memiliki kunci block cipher AES. Pemicu Pengirim ingin mengirimkan naskah acaknya yang berarti harus mengirim juga kuncinya yang harus terenkripsi. Universitas Sumatera Utara Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Pengirim meminta kunci publik. 2 : Sistem mengirim permintaan kunci publik kepada penerima. 3 : Sistem menerima kunci publik yang diminta. 4 : Pengirim menginisialisasi kunci. 5 : Sistem mengubah kunci yang berupa teks string menjadi himpunan titik � ∈ � . 6 : Sistem menginisialisasi kunci ephemeral � dengan bilangan bulat acak. 7 : Sistem melakukan perhitungan: � ∈ � dan � + � ∈ � untuk menghasilkan himpunan titik baru � , � ∈ � . Kesimpulan Proses berakhir jika seluruh titik � ∈ � telah dihitung, sehingga menghasilkan himpunan titik baru � , � ∈ � . Kondisi Akhir Kunci block cipher AES � ∈ � menjadi kunci acak � , � ∈ � . Aturan Proses Proses gagal jika parameter publik tidak memenuhi aturan kriptografi kurva eliptik. Tabel 3.6: Naratif Use-Case Enkripsi Kunci dengan ElGamal Kurva Eliptik. Nama Use-Case Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik Prioritas Tinggi Aktor Utama Penerima Deskripsi Proses pendekripsian kunci acak cipher-key menjadi kunci block cipher AES menggunakan algoritma kriptografi ElGamal kurva eliptik. Use-case ini menunggu output dari use-case Membangkitkan Kunci Privat. Kondisi Awal Penerima memiliki kunci acak yang akan didekripsi. Pemicu Penerima menerima naskah acak dan kunci acak, lalu ingin membuka kiriman tersebut. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Pengirim menginisialisasi kunci acak dan kunci privatnya. 2 : Sistem melakukan perhitungan � − � � ∈ � dan mendapatkan kembali � ∈ � . Universitas Sumatera Utara 3 : Sistem mengubah kembali himpunan titik � ∈ � menjadi teks string. Kesimpulan Proses berakhir jika seluruh titik � , � ∈ � selesai dihitung, sehingga mendapatkan kembali � ∈ � . Kondisi Akhir Kunci acak � , � ∈ � menjadi kunci asli � ∈ � . Aturan Proses Proses gagal jika parameter publik tidak sama dengan yang digunakan pada proses enkripsi. Tabel 3.7: Naratif Use-Case Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik. Nama Use-Case Dekripsi Pesan Acak Cipher dengan AES Prioritas Tinggi Aktor Utama Penerima Deskripsi Proses pendekripsian naskah acak cipher menjadi naskah asli menggunakan algoritma kriptografi Rijndael. Use-case ini menunggu output dari use-case Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik. Sama seperti use-case Enkripsi Pesan Rahasia dengan AES, use-case ini juga memiliki dua extended use-case, yaitu Dekripsi Plain-text dan Dekripsi File. Kondisi Awal Penerima memiliki naskah acak yang akan didekripsi dan kunci block cipher AES. Pemicu Penerima menerima naskah acak, membukanya jika naskah acaknya berupa string, salin ke clipboard, kemudian memilih pilihan Decrypt. Urutan Kejadian Aksi dari Aktor Respon dari Sistem 1 : Penerima menginisialisasi kunci. 2 : Sistem membaca kunci dan menentukan apakah menggunakan AES-128, AES- 192, atau AES-256. 3 : Sistem melakukan proses key schedule terhadap kunci. 4 : Penerima menginisialisasi naskah acak. 5 : Sistem membaca naskah acak dan melakukan proses pengisian blok. 6 : Sistem mendekripsi naskah acak dengan melakukan sejumlah transformasi terhadap semua blok. 7 : Sistem mengubah kembali himpunan blok menjadi teks. Universitas Sumatera Utara Kesimpulan Proses berakhir jika semua blok telah ditransformasi. Kondisi Akhir Naskah acak menjadi naskah asli. Aturan Proses  Proses gagal jika kunci tidak sama dengan yang digunakan saat enkripsi.  Proses gagal jika direktori adalah folder atau direktori tidak ada salah. Tabel 3.8: Naratif Use-Case Dekripsi Pesan Acak Cipher dengan AES. 3.2.2. Activity diagram Diagram activity adalah diagram yang digunakan untuk menggambarkan aliran proses bisnis, langkah-langkah dalam use-case, atau perilaku metode dari sebuah objek. Diagram activity sistem keamanan data dengan kombinasi algoritma Rijndael AES yang akan mengenkripsi naskah asli, dan ElGamal kurva eliptik yang akan mengenkripsi kunci Rijndael diperlihatkan pada Gambar 3.6. Enkripsi pesan rahasia dengan AES Membangkitkan bilangan prima dengan metode Miller-Rabin Membangkitkan kunci publik Mengenkripsi kunci dengan ElGamal kurva eliptik Mengirim pesan acak cipher dan kunci acak Dekripsi kunci acak dengan ElGamal kurva eliptik Dekripsi pesah acak cipher dengan AES Pengirim Penerima Meminta kunci publik Enkripsi file Enkripsi plain-text Enkripsi file Enkripsi plain-text Membangkitkan kunci privat Gambar 3.6: Diagram activity sistem keamanan data. Universitas Sumatera Utara 3.2.3. Sequence diagram Diagram sequence digunakan untuk menggambarkan interaksi antara aktor dengan sistem dalam skenario use-case dengan mendeskripsikan waktu hidupnya, serta meng- identifkasi messages yang masuk ke dan keluar dari sistem. Pengirim :AES Service :ECElGamal Service Penerima generatePublicKeysecurityLevel :Main Service decryptcipher message :PrimeGenerator Service probablePrimebitLength large prime p encryptmessage cipher public key Q encryptkey, Q cipher key sendcipher + cipherKey secret message decryptcipherKey, n key Gambar 3.7: Diagram sequence sistem keamanan data.

3.3. Perancangan Sistem