Penerapan Algoritma RSA dan TTVC

3.1.2.1 Kebutuhan Fungsional Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi pada rancangan aplikasi. Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah : 1. Aplikasi harus mampu merubah pesan teks menjadi pesan sandi yang didak dapat diterjemahkan atau bersifat rahasia enkripsi 2. Aplikasi harus mampu menerjemahkan ulang pesan yang dikirim ke tujuan dekripsi. 3.12.2 Kebutuhan Nonfungsional Kebutuhan nonfungsional terdiri dari beberapa macam karakteristik, antara lain : 1. Performa Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem untuk mengamankan pesan. 2. Efisiensi Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan pengguna untuk memakainya. 3. Ekonomi Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam penggunaannya.

3.13 Penerapan Algoritma RSA dan TTVC

Algoritma RSA merupakan salah satu algoritma kunci publik. Prinsip kerja algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar yang menjadi faktor- faktor prima. Pemaktoran dilakukan untuk mendapatkan pasangan kunci yaitu kunci privat dan kunci publik. Selama bilangan tersebut tidak dapat difaktorkan selama itu pula keamanan algoritma RSA terjamin Satrya, 2013. Pada Penelitian ini kunci public p dan q ditentukan dengan nilai p = 9990454949 , q =9990450271. Dalam algoritma RSA, ada tiga proses yang harus dilakukan yaitu: proses pembangkitan kunci, proses enkripsi dan proses dekripsi. Pada penelitian ini proses pembangkitan kunci telah ditentukan nilainya secara default kedalam sistem. Universitas Sumatera Utara Algoritma RSA pada sistem ini terletak pada pengamanan pada setiap kunci subsitusi algoritma TTVC. Berikut ini penjelasan enkripsi dan dekripsi pesan teks dengan menggunakan perpaduan algoritma RSA dan TTVC. 3.13.2 Enkripsi Proses enkripsi merupakan proses menyembunyikan pesan agar tidak diketahui orang lain bersifat rahasia. Berikut adalah prosesnya : 1. User pertama menginputkan pesan teks ciphertext maka teks itu akan di ubah ke menjadi bilangan ASCII misalnya abcd plaintext maka akan di ubah ke bilangan ASCII misalnya teks abcd contoh ASCII 1x 2x 3x 4x dan seterusnya. 2. Pesan teks diolah dengan algoritma TTVC, dengan melewati proses Transposisi 1 dengan suatu kunci tertentu misalkan : 3. Berarti teks akan disusun secara vertical sebanyak 3 kolom. 3. Masukkan kunci Subsitusi 1 misalkan : Sembilan. 4. Enkripsi kunci Subsitusi 1 : Sembilan dengan metode enkripsi RSA 5. Enkripsi RSA dimana p dan q adalah bilangan prima dan nilai p dan q tidak sama yang telah ditentukan secara default. 6. Hitung n = p.q 7. Hitung ɸ n = p-1q-1 8. Pilih integer dimana FPB ɸ n, e = 1; 1 e n 9. Hitung d, dimana dimana nilai d itu bilangan prima. 10. Kunci private = {e, n} Kunci publik = {d, n} 11. kunci Subsitusi 1 : Sembilan diubah ke dalam bentuk ASCII. 12. Enkripsi : C i = P i e mod n. 13. Kunci subsitusi yang telah dienkripsi RSA disubsitusikan dengan hasil transposisi pertama lewat bujursangkar vigenere. 14. Hasil pada butir 11, akan melewati proses sebanyak dua kali dimulai seperti proses butir 2. Sehingga pada proses ketiga merupakan hasil akhir enkripsi. Universitas Sumatera Utara 3.13.3 Dekripsi Proses dekripsi merupakan proses untuk mengubah i menjadi plaintext. Proses dekripsi merupakan kebalikan dari proses enkripsi. Adapun proses dekripsi adalah sebagai berikut: 1. Ciphertext disubsitusi dengan kunci subsitusi ke-3 yang telah melewati proses enkripsi RSA lewat bujursangkar vigenere. 2. Transposisi hasil subsitusi. 3. Transposisi dilakukan dengan mengurutkan secara horizontal, berdasarkan jumlah kolom vertikal dari proses transposisi ke-3 pada proses enkripsi ke-3. 4. Proses pada butir 1, 2 dan 3 diulangi sebanyak dua kali lagi. 5. Ciphertext terakhir diubah kedalam ASCII. 6. Proses pengubahan pada butir 5 merupakan plaintext atau pesan yang dikirimkan.

3.3 Use Case Diagram