Penelitian yang Relevan Kesimpulan

2.14. Penelitian yang Relevan

1. Firman Saragih2008, membuat penelitian yang berjudul Penggunaan Kriptografi One Time Pad Algoritma Vernam dalam Pengamanan Informasi. Hasil penelitian yang diperoleh adalah One-time pad merupakan algoritma pengenkripsian datadan informasi yang relative sederhana dan mudah digunakan namun cukup aman dalam menjamin kerahasiaan informasi atau data yang ingin dikirimkan oleh pengirim pesan kepada penerima pesan tanpa dapat diketahui oleh pihak lainSaragih, 2008. 2. Henny Wandani20012, membuat penelitian yang berjudul Implementasi Sistem Keamanan Data dengan Menggunakan Tekhnik Steganografi End of File EOF dan Rabin Public Key Cryptosystem, dimana penelitian ini menggabungkan algoritma kriptografi Rabin Public Key dengan tekhnik Steganografi dalam pengamanan data dan kerahasian sebuah data rahasia dengan algoritma Rabin sebagai pembangkit kunciWandani, 2012. 3. Gustaf Prameswara2012, membuat penelitian yang berjudul Implementasi Algoritma One Time Padpada data teks dan Knapsack pada kunci. Penelitian ini membahas tentang bagaimana algoritma One Time Pad mengenkripsikan dan mendekripsikan pesan dan Knapsack sebagai pengaman kunci dalam pengiriman pesan Prameswara,2012. Universitas Sumatera Utara BAB III ANALISIS DAN PERANCANGAN Berisi tentang uraian analisis mengenai proses kerja dari metode One Time Pad dan Rabin Cryptosystem yang terdiri dari flowchart, pseudocode, Unified Modeling Language UML serta perancangan dari aplikasi.

3.1 Analisis Sistem

Analisis Sistem adalah perancangan sebuah sistem untuk menganalisis kebutuhan dari sistem yang telah dirancang sehingga sistem dapat lebih baik dan dapat dikembangkan di masa yang akan datang. Ada tiga fase di dalam analisis sistem yaitu analisis masalah, analisis kebutuhan dan analisis proses. Analisis masalah adalah bagaimana mengidentifikasi masalah dan menemukan penyebab dari masalah tersebut serta memahami kelayakan masalah. Analisis kebutuhan dilakukan untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan sistem. Sedangkan analisis proses untuk memodelkan tingkah laku sistem .

3.1.1 Analisis Masalah

Saat ini keamanan dalam pengiriman pesan rahasia sangatlah rentan oleh pihak ketiga yang ingin mengetahui isi dari pesan tersebut. Masalah utama didalam penelitian ini adalah bagaimana teknik Hybridcryptosystem digunakan dalam pengamanan data teks. Masalah-masalah pada penelitian ini diidentifikasikan dengan menggunakan diagram Ishikawa. Diagram Ishikawa atau yang sering dikenal dengan Cause and Effect Diagram adalah diagram yang digunakan untuk memahami dan mengidentifikasi serta menggambarkan beberapa masalah yang terjadi pada sistem dan akibat yang ditimbulkan oleh masalah. Permasalahan pada penelitian ini secara umum dapat ditunjukkan pada diagram Ishikawa. Gambar 3.1. Universitas Sumatera Utara Menggabungkan Algoritma Simetris Dan Asimetris untuk Mengamankan Data Teks. Mesin Material Manusia Metode Kriptografi Simetri Kriptografi Asimetri Pengirim dan Penerima Pihak Ketiga Memiliki rasa curiga dan Ingin tahu Data yang dikirim aman Proses Komputasi Yang relatif lama Jalur Pengiriman Tidak Aman Kunci dapat diketahui Pihak Ketiga Lemahnya Pengamanan Kunci Gambar 3.1 Diagram Ishikawa Pada gambar 3.1, dapat disimpulkan bahwa permasalahannya adalah muncul rasa curiga atau ingin tahu dari pihak ketiga terhadap kerahasian sebuah pesan yang disebabkan faktor perubahan ciphertext dan penggunaan menggunakan satu kunci yang tidak aman dalam mengirimkan pesan kepada orang lain. Solusi yang dapat ditawarkan adalah dengan mengunci ciphertext dengan kunci kriptografi simetri serta mengunci cipherkey dengan kriptografi asimetri dalam pengiriman pesan. Dengan cara melakukan teknik Hybridcryptosystem dengan Algortima One Time Pad dan Algoritma Rabin. 3.1.2 Analisis Kebutuhan Didalam analisis kebutuhan ini terdapat dua kebutuhan yaitu kebutuhan fungsional dan kebutuhan non fungsional.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional adalah menjelaskan proses-proses aktifitas yang dapat dilakukan oleh sistem dalam melakukan pelayanan yang dilakukan sistem dan kebutuhan yang harus dipenuhi oleh sistem, yaitu: Universitas Sumatera Utara 1. Fungsi Pembangkit Kunci Pengguna pada fungsi ini berperan sebagai penerima pesan. Pembangkitan kunci dapat dilakukan dengan input langsung atau pun dibangkitkan secara acak untuk memudahkan proses enkripsi dan dekripsi. 2. Fungsi Enkripsi Pengguna dapat melakukan proses enkripsi pesan dari plaintext menjadi ciphertext dengan memiliki kunci enkripsi berupa input langsung ataupun dengan memilih berkas yang tersimpan dalam format .txt atau .doc. 3. Fungsi Dekripsi Dapat melakukan proses dekripsi dengan memiliki kunci dekripsi dan ciphertext yang sesuai dan pengguna dapat melakukan proses dekripsi menjadi plaintext. 4. Fungsi Penguncian Kunci Pesan Dalam fungsi ini, pengguna dapat melakukan enkripsi kunci pesan dengan kunci publik yang sudah dibangkitkan dengan mengubahnya kedalam bentuk cipherkey .

3.1.2.2 Kebutuhan Non-Fungsional

Kebutuhan non-fungsional adalah mendeskripsikan fitur, karakteristik dan batasan lainnya seperti performa, penggunaan, model penyimpanan data, dokumentasi, kontrol, dan ekonomi. Terdapat beberapa hal yang menjadi syarat kebutuhan non- fungsional antara lain: 1. Performa Aplikasi yang dibangun dapat menampilkan dan menyimpan hasil dari fungsi kriptografi yang dilakukan oleh sistem. 2. Mudah dipelajari dan digunakan Aplikasi yang dibangun harus sederhana dan user friendly agar mudah digunakan dan dipelajari oleh pengguna. Universitas Sumatera Utara 3. Model Penyimpanan Data Data pesan teks yang dihasilkan baik berupa ciphertext maupun plaintext disimpan pada alamat file khusus dalam bentuk .txt dan .doc. 4. Dokumentasi Aplikasi yang akan dibangun memiliki panduan penggunaan aplikasi. 5. Kontrol Aplikasi yang akan dibangun memiliki pesan error jika pengguna tidak memasukkan data input tidak lengkap atau salah. 6. Ekonomi Aplikasi yang dibangun tidak membutuhkan biaya dan perangkat tambahan. 3.1.3 Analisis Proses Pada penelitian ini Aplikasi yang dibangun menggunakan algoritma One Time Pad untuk melakukan proses enkripsi dan dekripsi pesan dan algoritma Rabin Cryptosystem dalam melakukan proses enkripsi dan dekripsi kunci pesan. Data pesan yang diolah adalah berbentuk teks berformat .txt dan .doc. Pada algoritma Rabin Cryptosystem untuk membangkitkan kunci digunakan Theorema Fermat untuk menemukan suatu bilangan prima atau menguji keprimaan suatu bilangan. Pada proses dekripsi algoritma Rabin digunakan algoritma Chinese Remainder Theorem dan dalam menentukan hasil dekripsi dari empat kemungkinan hasil dilakukan secara otomatis autodecrypt, yaitu dengan memilih nilai yang paling kecil. Hal ini berdasarkan pengalaman dalam melakukan dekripsi dari nilai 1 hingga 255 mencakup karakter dalam ASCII 8 bit dengan kunci publik yang sama n dan lebih besar dari 255 n 255, nilai hasil dekripsi yang benar biasanya adalah nilai yang paling kecil .

3.2 Pemodelan

Pemodelan sistem dilakukan untuk menunjukkan dan mendeskripsikan gambaran dari sistem yang akan dibangun. Pada penelitian ini dilakukan pemodelan dengan menggunakan UML untuk mendesain serta merancang sistem.UML adalah bahasa yang digunakan untuk memberikan penjelasan mengenai komponen-komponen untuk Universitas Sumatera Utara membangun sistem dan interaksi antar komponen sistem. Model UML yang digunakan dalam penelitian ini antara lain adalah use case diagram, activity diagram serta sequance diagram. 3.2.1 Use-Case Diagram Use-case Diagram adalah gambaran skenario penggunaan aplikasi sistem tentang bagaimana cara sistem bekerja dengan pengguna. Use-case Diagram membutuhkan identifikasi siapakah pengguna yang akan menggunakan sistem tersebut. Pengguna tersebut dinamakan actor. Actor berperan untuk melakukan komunikasi dengan sistem dimana actor bekerja diluar dari sistem itu sendiri. Hubungan antar actor dengan use- case dihubungkan dengan garis lurus. Sedangkan hubungan dimana satu use-case digunakan untuk meredudansi use-case lainnya digunakan garis putus-putus dengan keterangan include. Untuk extend digunakan untuk mensimplifikasi satu use-case dengan use-case lainnya. Gambar 3.2 Diagram Use-Case Pada gambar 3.2 terdapat dua actor yang mempunyai peran masing-masing yaitu pengirim dan penerima.Pengirim mengenkripsikan pesan terlebih dahulu dengan algoritma One Time Pad setelah plaintext dienkripsikan menjadi ciphertext lalu kunci dari One Time Pad dienkripsikan dengan kunci publik yang diterima dari penerima Universitas Sumatera Utara menjadi cipherkey. Kemudian penerima menentukan kunci terlebih dahulu untuk dikirim ke sipengirim dengan membangkitkan kunci terlebih dahulu dengan algoritma Rabin. Penerima mengirimkan kunci publik ke sipengirim untuk mengunci kunci pesan dan sipenerima mengdekripsikan terlebih dahulu kunci pesan untuk mengetahui kunci pesan lalu mengedekripsikan pesan dari ciphertext menjadi plaintext. Berikut ini merupakan tabel narrative use-case yang dapat dilihat pada tabel 3.1 Tabel 3.1 Narrative Use-Case Enkripsi Pesan Use-case Name Enkripsi Pesan Design Scope Sistem black box Goal Level User-goal Stakeholder and Interest PengirimPengguna: dapat mengenkripsikan pesan dan kunci pesan untuk menjaga keamanan pesan. Precondition PenggirimPengguna memiliki file teks plaintext .txt atau .doc atau dapat memasukkan pesan secara langsung dan kunci publik. Minimal Guarantee Sistem akan memberikan pesan error ketika enkripsi pesan gagal. Success Guarantee Sistem akan memberikan pesan enkripsi telah sukses. Trigger Pengguna menekan tombol enkripsi pesan. Main Success Scenario 1. Pengirim menginputkan plaintext yang akan dienkripsi 2. Pengirim memasukkan kunci dan menekan tombol enkripsi. 3. Sistem akan melakukan enkripsi pesan. 4. Pengirim melakukan proses enkripsi kunci pesan dengan kunci publik. 5. Sistem akan melakukan enkripsi kunci pesan. 6. Sistem akan memberikan pesan bahwa enkripsi pesan dan kunci pesan telah sukses. Extensions 2. Kunci enkripsi tidak lengkap atau kosong. 2a. Sistem akan memberikan pesan kepada pengirim untuk dilakukan cek ulang kembali input-an yang telah diberikan. Berikut ini merupakan tabel narrative use-case yang dapat dilihat pada tabel 3.2 yang menjelaskan Narrative Use-Case Dekripsi Pesan. Universitas Sumatera Utara Tabel 3.2 Narrative Use-Case Dekripsi Pesan Use-case Name Dekripsi Pesan Design Scope Sistem black box Goal Level User-goal Stakeholder and Interest Penerima dapat mendekripsikan kembali cipherkey dan ciphertext ke dalam bentuk plaintext. Precondition Penerima memiliki file teks ciphertext Minimal Guarantee Sistem akan memberikan pesan error ketika dekripsi pesan gagal. Success Guarantee Sistem akan memberikan pesan dekripsi telah sukses dan menyimpannya pada alamat yang telah ditentukan. Trigger Pengguna dapat menekan tombol Dekripsi File. Main Succes Scenario 1. Penggirim memiliki kunci privat Rabin 2. Penggirim mengdenkripsikan kunci Pesan dengan Kunci Privat. 3. Penggirim mengdenkripsikan ciphertext yang akan didekripsi. 4. Sistem akan melakukan dekripsi pesan. 5. Sistem akan memberikan pesan bahwa dekripsi telah sukses. 6. Sistem akan menampilkan plaintext Berikut ini merupakan tabel narrative use-case yang dapat dilihat pada tabel 3.3 yang menjelaskan Narrative Use-Case Bangkitkan Kunci. Tabel 3.3 Narrative Use-Case Bangkitkan Kunci Use-Case Name Bangkitkan Kunci Secara Acak Design Scope Sistem black box Goal Level User-goal Stakeholders and Interest Pengirim Pengguna: Ingin menentukan atau membangkitkan kunci secara acak karena sulit secara manual. Precondition - Minimal Guarantee - Success Guarantee Sistem menampilkan kunci yang sudah memenuhi syarat. Trigger Pengguna menekan tombol bangkitkan kunci. Main Success Scenario 1. Sistem menampilkan kunci private dan kunci publik pada form. Universitas Sumatera Utara

3.2.2 Sequence Diagram

Sequence Diagram berfungsi untuk menggambarkan rangkaian pesan yang akan dikirim antara object yang ada serta interaksi yang terjadi antar object. Berikut Sequence Diagram dari sistem yang dirancang dapat dilihat pada gambar 3.3. Gambar 3.3 Diagram Sequence untuk Bangkitkan Kunci Gambar 3.4 Diagram Sequence untuk Enkripsi Universitas Sumatera Utara Gambar 3.5. Diagram Sequence untuk Dekripsi

3.2.3 Activity Diagram

Pada Activity Diagram menggambarkan berbagai alur aktivitas yang ada di dalam sistem yang sedang dirancang dan bagaimana masing-masing alur yang ada berawal serta berakhir. Activity Diagram juga bertujuan untuk membantu bagaima40na memahami proses dan menggambarkan setiap interaksi yang ada antara beberapa use case yang digunakan. Activity Diagram dari sistem dapat dilihat pada gambar 3.6. Universitas Sumatera Utara Gambar 3.6. Activity Diagram 3.3 Flowchart Sistem Flowchart merupakan diagram alir dari bagan-bagan tertentu yang memiliki arus penggambaran mengenai langkah-langkah penyelesaian suatu permasalahan. Selain itu, flowchart juga memiliki fungsi memudahkan proses pengecekan terhadap sistem yang akan dibuat. Berikut merupakan flowchart dari sistem yang dibangun. Universitas Sumatera Utara

3.3.1 Flowchart Enkripsi Pesan dengan Algoritma One Time Pad

Berikut adalah flowchart enkripsi pesan dari sistem yang dibangun dapat dilihat pada gambar 3.7 Gambar 3.7. Flowchart Enkripsi Pesan dengan Algoritma One Time Pad Universitas Sumatera Utara

3.3.2. Flowchart Enkripsi Kunci dengan Algoritma Rabin

Berikut adalah flowchart enkripsi kunci pesan dari sistem yang dibangun dapat dilihat pada gambar 3.8 Gambar 3.8. Flowchart Enkripsi Kunci dengan Algoritma Rabin Universitas Sumatera Utara

3.3.3. Flowchart Dekripsi Pesan dan Kunci Pesan

Berikut adalah flowchart dekripsi pesan dari sistem yang dibangun dapat dilihat pada gambar 3.9 Gambar 3.9 Flowchart dekripsi pesan dan Kunci Pesan Universitas Sumatera Utara

3.4. Pseudocode Sistem

Pseudocode merupakan pendeskripsian dari algoritma pemrograman komputer yang ada dimana menggunakan struktur sederhana dari bahasa pemrograman yang digunakan dan dapat dimengerti. Berikut merupakana pseudocode dari sistem yang dibangun.

3.4.1. Psuedocode Enkripsi Pesan

ENKRIPSI PESAN DENGAN OTP For i= 0 to Panjang kunci-1 Cipherteks= plainteks + key Berikut ini merupakan penjelasan dari pseudocode di atas. Pseudocode,dimana pseudocode ini adalah proses enkripsi dari OTP. Perulangan sebanyak panjang karakter untuk menghasilkan cipherteks nya dengan menggunakan nilai plainteks+kunci.

3.4.2. Psuedocode Enkripsi Kunci Pesan

ENKRIPSI KUNCI PESAN DENGAN RABIN 1. function enkripsiP,n: 2. ifP n: 3. C = powP,2,n 4. return C 5. return False 1. function enkripsiPesanP, n: 2. C = list 3. for i = 0 to lengthP-1: Universitas Sumatera Utara 4. C.appendenkripsiordP[i], n 5. if C[i] == False: break 6. return C Berikut ini merupakan penjelasan dari pseudocode diatas dimana fungsi enkripsi dari rabin dengan parameter p dan n.jika p harus lebih kecil dari n dimana untuk cipherteks nya yaitu dengan p2 mod n untuk nilai cipherteksnya jika benar. Jika salah maka dia akan kembali ke fungsi enkripsi.

3.4.3. Psuedocode Pembangkit Kunci

Pseudocode dari pembangkit kunci untuk algoritma Rabin terdiri dari dua bagian, yaitu fungsi cek Kunci p, q dan bangkitkan Kunci sebagai berikut. CEK KUNCI 1.function cekKuncip,q: 2.ifp mod 4 == 3 and TheoremFermat p and q mod 4 == 3 and TheoremFermatq and p ≠q and lengthstrpq ≤ 8: 3.return True 4.return False BANGKIT KUNCI 1.function bangkitkanKunci: 2.syarat_tdk_terpenuhi = True 3.while syarat_tdk_terpenuhi: 4.p = random3,9999

3.4.4. Pseudocode Dekripsi Kunci Pesan

Berikut ini adalah pseudocode dari proses dekripsi pada penelitian ini . Universitas Sumatera Utara 1.function autodekripsiC, p, q: 2.mp = powC, p+14, p 3.mq = powC, q+14, q 4.x, y, n = CRTmp,mq,p,q 5.P1 = x + y mod n 6.P2 = x – y mod n 7.P3 = -x + y mod n 8.P4 = -x – y mod n 9.return minP1, P2, P3, P4 1.function dekripsiC, p, q: 2. Psn = [] 3. for i = 0 to lengthC-1: 4. Psn.appendchrautodekripsiC[i],p,q 5. return joinPsn Pada algoritma Rabin, terdapat empat hasil dekripsi dan penerima pesan harus menentukan pesan yang benar. Terdapat beberapa cara yang dapat dilakukan untuk dapat menentukan hasil dekripsi yang benar, seperti menggandakan pesan atau menggandakan nilai bit dari pesan sebelum dienkripsi dan hasil yang memiliki nilai yang berulang merupakan kemungkinan hasil dekripsi yang benar. Jika pesan yang dienkripsi jumlahnya sedikit, maka penerima pesan relatif mudah dalam menentukan hasil dekripsi. Namun jika pesan yang dienkripsi jumlahnya banyak, maka akan timbul kesulitan bagi penerima pesan dalam menentukan hasil dekripsi. Penulis sudah mencoba melakukan enkripsi menggunakan kunci publik yang lebih besar dari 255 dan dekripsi untuk nilai yang mencakup karakter pada ASCII 8 bit 1 sampai dengan 255 dan memberikan pengalaman bahwa hasil dekripsi yang benar biasanya adalah nilai yang paling kecil dari keempat hasil dekripsi. Berdasarkan pengalaman tersebut, penulis melakukan modifikasi dalam proses dekripsi pada penelitian ini yaitu dengan melakukan proses autodekripsi penerima pesan tidak direpotkan dalam menentukan nilai dekripsi yang dianggap benar. Universitas Sumatera Utara

3.4.5. Pseudocode Dekripsi Pesan

Dekripsi Pesan For i= 0 topanjangkunci-1 Plaintext=ciphertext – key Berikut ini merupakan penjelasan dari pseudocode di atas, dimana pseudocode ini adalah proses enkripsi dari OTP. Perulangan sebanyak panjang karakter untuk menghasilkan plainteksnya dengan rumus ciphertext- kunci.

3.5. Perancangan Antarmuka Interface

Perancangan antarmuka adalah desain awal dari tampilan sistem yang akan sistem dibangun. Antarmuka harus dirancang dengan memperhatikan faktor pengguna sehingga sistem yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna. Sistem yang dibangun terdiri dari form utama dan home, pengirim, dan penerima.

3.5.1 Form Utama dan Home

Form Utama dan Home adalah tampilan awal dari sistem ini dijalankan. Tampilan ini menampilkan Form Home, Pengirim, dan penerima. Gambar 3.10 menunjukkan tampilan sementara dari form utama dan home. Gambar 3.10 Rancangan Tampilan Form Utama dan Home Universitas Sumatera Utara Keterangan: Label yang menunjukkan nama dari judul aplikasi penilitian. Gambar yang menampilkan logo instansi penulis. Label yang menunjukkan nama dan NIM penulis.

1.5.2 Form Pengirim

Pada halaman form pengirim ini, pengguna dapat melakukan proses enkripsi pesan dan kunci pesan yang akan dikirim ke penerima.Gambar 3.11 menunjukkan tampilan sementara dari form pengirim. Gambar 3.11 Rancangan Form Pengirim Keterangan: 1 Pengguna dapat memilih berkas dari file yang berformat .txt dan .doc yang telah disimpan dengan menekan tombol Import. Setelah berkas dipilih maka pesan akan ditampilkan di textbox seperti ditunjukkan nomor 2 pada gambar Universitas Sumatera Utara 2 Pesan dapat diinputkan langsung pada textbox atau dari berkas yang sudah dipilih seperti ditunjukkan gambar nomor 1. Untuk melakukan enkripsi, textbox ini tidak boleh dibiarkan kosong dan sebaiknya hanya karakter yang terdapat pada ASCII 8 bit yang menjadi isi dari textbox ini. 3 Sebelum menekan tombol enkripsi pesan dan jika pesan sudah terisi pada textbox nomor 2, maka pengguna harus mengisi kunci OTP untuk proses enkripsi. 4 Textbox ini akan menampilkan hasil dari proses enkripsi pesan menjadi ciphertext yang ditampikan dalam bentuk ASCII. 5 Textbox ini akan menampilkan kunci publik yang sudah diterima dari sipenerima sebelum melakukan proses enkripsi kunci pesan dan kunci publik tersebut tidak boleh kosong. 6 Didalam textbox ini akan ditampilkan hasil enkripsi kunci OTP yang sudah dienkripsi dengan kunci publik Rabin.

3.5.3 Form Penerima

Form Penerima adalah halaman dimana pengguna dapat melakukan proses dekripsi pesan dan dekripsi kunci pesan dari si pengirim. Gambar 3.12 menunjukkan tampilan sementara dari form penerima. Gambar 3.12 Rancangan Form Penerima Universitas Sumatera Utara Keterangan: 1 Buttontombol untuk menampilkan form pembangkit kunci dari algoritma Rabin. 2 Textbox untuk menampilkan cipherkey OTP yang dikirim oleh sipengirim kepada sipenerima. 3 Textbox untuk menampilkan kunci private p 4 Textbox untuk menampilkan kunci private q 5 Button untuk langsung menampilkan kunci private yang telah dibangkitkan terlebih dahulu. 6 Button dekripsi untuk melakukan proses dekripsi kunci pesan. 7 Textbox untuk menampilkan Kunci OTP 8 Textbox untuk menampilkan ciphertext pesan 9 Button untuk melakukan proses dekripsi pesan 10 Textbox untuk menampilkan pesan.

3.5.4 Form Pembangkit Kunci

Halaman pembangkit kunci berfungsi untuk memudahkan dalam proses penentuan kunci. Pengguna dapat menentukan kunci sesuai kehendak pengguna atau dapat menggunakan fungsi pembangkit kunci acak. Kunci yang sudah diperoleh dari proses pembangkitan kunci dapat disimpan agar memudahkan dalam penggunaan aplikasi atau khawatir kunci terlupa. Tampilan halaman pembangkit kunci dapat dilihat pada Gamba3.13. Universitas Sumatera Utara . Gambar 3.13 Rancangan Form Pembangkit Kunci Keterangan: 1 Textbox untuk menginputkan bilangan prima 2 Textbox untuk menginputkan langsung bilangan prima 3 Textbox untuk menampilkan hasil pq atau kunci publik. 4 Button untuk membangkitkan bilangan prima secara 5 Button untuk memerikasa apakah yang diinputkan benar bilangan prima atau tidak. 6 Button untuk menyimpan kunci private dan kunci publik. Universitas Sumatera Utara BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan. Kemudian melakukan pengujian sistem

4.1 Implementasi Sistem

Implementasi sistem merupakan tahapan dimana telah dilakukan proses implementasi terhadap sistem yang sebelumnya telah dianalisis. Implementasi sistem dengan teknik Hybirdcryptosystem dengan algoritma One Time Pad dan Rabin Cryptosystem dalam pengamanan data teks dibangun dengan bahasa pemrograman C dan Phyton 3.2.2. Untuk tampilan aplikasi dan proses enkripsi dan dekripsi pesan mengunakan bahasa pemrograman C. Proses pembangkit kunci dan enkripsi kunci pesan dan dekripsi kunci pesan menggunakan Phyton. Adapun perangkat lunak yang digunakan sebagai Integrated Development Environment IDE untuk C adalah SharpDevelop versi 4.4.1.9729-7196a277, IDE untuk Python adalah Python IDLE versi 3.3.2. dan perangkat lunak database yang digunakan untuk menyimpan kunci adalah Microsoft Access 2013. Spesifikasi perangkat keras yang digunakan dalam pembangunan sistem dan pengujian sistem adalah sebagai berikut: Tabel 4.1 Spesifikasi Kebutuhan Perangkat Keras untul Implementasi Spesifikasi Komputer CPU : IntelR Celeron® 1.70 GHz RAM : 2 GB Monitor : 14 inc Sistem Operasi : Windows 7 Home Premium

4.1.1 Tampilan Antarmuka Sistem

Didalam membangun sistem ini diimplementasikan kedalam berapa tampilan yang terdiri dari form utama dan home, form pengirim,form penerima dan form pembangkit kunci. Universitas Sumatera Utara

4.1.1.1. Form Utama dan Home

Ketika sistem dijalankan tampilan awal yang muncul adalah formutama dan home. Didalam form utama dan Home ini terdapat Judul Skripsi,Logo Fakultas, Nama Penulis. Form ini mempunyai tiga tab control yaitu Home,Pengirim,dan Penerima. Gambar 4.1. merupakan form utama dan home. Gambar 4.1 Antarmuka Form Utama dan Home

4.1.1.2. Form Pengirim

Didalam form ini pengguna dapat melakukan proses enkripsi pesan dan enkripsi kunci pesan. Gambar 4.2 berikut ini adalah tampilan dari halaman form pengirim. Gambar 4.2. Antarmuka Form Pengirim Universitas Sumatera Utara Berikut ini penjelasan dari gambar 4.2. 1 User dapat memilih berkas yang akan dienkripsi dengan menekan tombol button import dengan format .txt atau .doc. User juga dapat menginputkan langsung pesan yang akan dienkripsi dengan mengisinya di textbox dengan label plaintext. 2 Selanjutnya user memasukkan kunci OTP secara random sebelum melakukan proses enkripsi di textbox dengan label kunci OTP. 3 Setelah proses enkripsi selesai maka pesan yang sudah dienkripsi tadi akan ditampilkan didalam textbox dengan label ciphertext dalam bentuk ASCII. 4 User kemudian melakukan enkripsi kunci pesan dengan kunci publik yang sudah dikirim oleh sipenerima yang ditampilkan didalam textbox dengan label kunci publik Rabin. Lalu user menekan tombol button enkripsi kunci pesan. 5 Setelah proses enkripsi kunci pesan selesai maka hasil dari enkripsi tersebut akan ditampilkan di textbox dengan label ciphertext kunci. 6 Hasil dari enkripsi pesan dan enkripsi kunci pesan dapat disalin dengan menekan tombol button salin ciphertext dan salin C kunci.

4.1.1.3. Form Penerima

Didalam formini pengguna dapat melakukan proses dekripsi pesan dan dekripsi kunci pesan. Gambar 4.3 berikut ini adalah tampilan dari halaman form penerima. Gambar 4.3 Antarmuka FormPenerima Universitas Sumatera Utara Berikut penjelasan dari gambar 4.3 1 User dapat melakukan proses dekripsi kunci dengan menginputkan cipherkey yang sudah disalin sebelumnya di formpenerima dengan menampilkannya ditextbox dengan label cipherkey. 2 User menekan tombol button “Gunakan Kunci Private Saya” untuk menampilkan kunci privet di textbox dengan label kuni private. 3 User menekan tombol button dekrip untuk melakukan proses dekripsi kunci pesan. Setelah proses dekripsi kunci pesan selesai maka kunci akan ditampilkan di textbox dengan label Kunci OTP. 4 User mendapatkan kunci OTP dan user menyalin ciphertext yang telah disalin diformpengirim dan menampilkannya ditextbox dengan label ciphertext pesan. 5 Untuk melakukan proses dekripsi pesan user dapat menekan button dekripsi pesan. 6 Setelah proses dekripsi selesai maka pesan akan ditampilkan di textbox dengan label pesan

4.1.1.3. Form Pembangkit Kunci

Halaman pembangkit kunci berfungsi untuk memudahkan dalam proses penentuan kunci. Pengguna dapat menentukan kunci sesuai kehendak pengguna atau dapat menggunakan fungsi pembangkit kunci acak. Kunci yang sudah diperoleh dari proses pembangkitan kunci dapat disimpan agar memudahkan dalam penggunaan aplikasi atau khawatir kunci terlupa. Tampilan halaman pembangkit kunci dapat dilihat pada Gambar 4.4. berikut ini. Universitas Sumatera Utara Gambar 4.4 Antarmuka Form Pembangkit Kunci

4.2. Pengujian Sistem

Pengujian dilakukan terhadap sistem untuk membuktikan bahwa sistem yang telah dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya. Untuk melakukan pengujian terhadap sistem, pada penelitian ini dirancang suatu skenario dalam mengamankan suatu pesan teks. Adapun skenario yang dibuat adalah pengguna sistem ingin mengamankan pesan teks dengan cara melakukan enkripsi yang dilanjutkan dengan mengenkripsi kunci dari pesan tersebut. Pada skenario selanjutnya, penerima pesan menerima cipherkey dan ciphertext dari pengirim dan dilanjutkan dengan proses dekripsi untuk memperoleh pesan dari pengirim. Untuk mengetahui bahwa proses yang dilakukan sistem berjalan dengan baik dan hasil proses sistem adalah benar, maka pada tiap-tiap skenario dilakukan perhitungan secara manual yang kemudian dibandingkan dengan hasil dari sistem.

4.2.1. Skenario Pembangkitan Kunci

Misalkan pengirim bernama Alice dan penerima pesan bernama Bob. Alice ingin mengirimkan pesan kepada Bob dan pesan tersebut diamankan dengan menggunakan sistem, maka hal yang pertama dilakukan Alice adalah menerima kunci Universitas Sumatera Utara publik dari Bob. Sebelumnya, Bob harus menentukan kunci private yaitu dua buah bilangan prima yang keduanya jika dimodulokan dengan 4 akan menghasilkan nilai 3. Jika kunci private benar, maka kunci publik dapat diperoleh. Kunci private yang ingin digunakan oleh Bob adalah 23 dan 223. Gambar 4.5. berikut adalah hasil pengujian kunci dengan menggunakan sistem dan kunci dapat digunakan karena sistem menampilkan kunci publik hasil perkalian dari pasangan kunci private. Gambar 4.5. Pengujian Sistem dengan Skenario Pembangkitan Kunci Untuk membuktikan kebenaran dari proses pembangkit kunci pada sistem sesuai Gambar 4.5, maka berikut ini adalah perhitungan yang dilakukan secara manual dengan menggunakan Metode Fermat untuk menguji keprimaan dari pasangan kunci yang dipilih oleh Alice. Telah diketahui sebelumnya bahwa bilangan 23 adalah bilangan prima. Pengujian keprimaan bilangan 223 adalah sebagai berikut: 1. Pengujian dilakukan sebanyak n kali. Dimana n adalah jumlah digit dari p sehingga n = 3. 2. Pada n = 1, pilih sembarang bilangan bulat positif a dengan syarat 1ap. a = 40. 3. Hitung 1 mod p. 40 222 mod 223 = 1. Karena hasilnya sama dengan 1, maka dilanjutkan dengan n = 2. 4. n = 2, pilih sembarang bilangan bulat positif a dengan syarat 1ap. a = 2 5. Hitung 1 2 222 mod 223 = 1. Karena hasilnya sama dengan 1, maka dilanjutkan dengan n = 3. Universitas Sumatera Utara 6. n = 3 a = 154. 1 mod p. 154 222 mod 223 = 1 7. Karena sampai pengujian akhir semua menghasilkan nilai 1 dalam modulo p maka dapat dinyatakan bahwa p adalah merupakan bilangan prima. Karena pasangan kunci 23 dan 223 merupakan bilangan prima, maka dapat disimpulkan bahwa hasil proses dari sistem menghasilkan nilai yang benar. Kunci publik diperoleh dari hasil perkalian antara pasangan kunci private yaitu 5129. Lalu kunci publik ini dikirimkan kepada Alice melalui suatu saluran yang tidak aman.

4.2.2. Skenario enkripsi

Setelah Alice menerima Kunci Publik maka langkah berikutnya Alice akan melakukan proses enkripsi pesan. Pesan yang akan dienkripsi Alice adalah sebuah kata yaitu ‘Mata’. Hasil enkripsi pesan dengan sistem dapat dilihat pada gambar 4.6. Gambar 4.6 Pengujian Sistem dengan Skenario Enkripsi Perhitungan manual dari proses enkripsi sesuai dengan Gambar 4.5. adalah sebagai berikut. 1. P= ‘m’=109 K.OTP= ‘a’=97 C=P+K.OTP= 206Î. Universitas Sumatera Utara 2. P=’a’=97 K.OTP=’r’=114 C=P+K.OTP= 211Ó 3. P=’t’=116 K.OTP=’m’=109 C=P+K.OTP=225á 4. P=’a’=97 K.OTP=’a’=97 C=P+K.OTP=194Â Jika dibandingkan hasil perhitungan manual dengan hasil dari sistem, maka dapat disimpulkan bahwa proses enkripsi dari sistem menghasilkan nilai yang benar.

4.2.3. Skenario Enkripsi Kunci Pesan

Setelah Alice mendapatkan hasil enkripsi pesan selanjutnya Alice akan mengenkripsi kunci dari pesan tersebut dengan menggunakan kunci publik dari algoritma Rabin. Gambar 4.7 adalah tampilan dari sistem enkripsi kunci pesan. Gambar 4.7 Pengujian Sistem dengan Skenario Enkripsi Kunci Pesan Universitas Sumatera Utara Perhitungan manual dari proses enkrips kunci pesan sesuai dengan Gambar 4.6. adalah sebagai berikut. 1. P= ‘a’=97 C = 97 2 mod 5129 = 4280 2. P=’r’=114 C=114 2 mod 5129=2738 3. P=’m’=109 C=109 2 mod 5129=1623 4. P=’a’=97 C=97 2 mod 5129 = 4280 Jika dibandingkan hasil perhitungan manual dengan hasil dari sistem, maka dapat disimpulkan bahwa proses enkripsi kunci pesan dari sistem menghasilkan nilai yang benar. 4.2.4. Skenario Dekripsi Kunci Pesan Bob menerima cipherkey yang dikirim oleh Alice melalui saluran tidak aman. Hal yang pertama dilakukan oleh Bob adalah membaca kunci pesan yang asli dengan menggunakan kunci private yang dimiliki oleh Bob. Gambar 4.8 menunjukkan proses dekripsi kunci pesan dengan sistem. Gambar 4.8 Pengujian Sistem dengan Skenario Dekripsi Kunci Universitas Sumatera Utara Perhitungan secara manual dari proses dekripsi kunci pesan berdasarkan Gambar 4.8 adalah sebagai berikut: 1 Hitung nilai Y p dan Y q yang merupakan inversi modulo dari p dan q dengan menggunakan algoritma Extended Euclidean. Tabel 4.3. Penyelesaian Extended Euclidean pada Skenario Dekripsi Kunci Pesan Iterasi P q Y p x2 Y q y2 hasilBagi sisaBagi S T 1 23 223 1 1 23 1 2 223 23 1 1 9 16 -9 1 3 23 16 1 -9 1 1 7 10 -1 4 16 7 -9 10 1 -1 2 2 -29 3 5 7 2 10 -29 -1 3 3 1 97 -10 6 2 1 -29 97 3 -10 2 -223 23 7 1 97 -223 -10 -23 - - - - Sehinggadapat dinyatakan bahwa GCD23,223 adalah 1, nilai Y p = 97 dan nilai Y q = - 10. 2 Dekripsi dari ciphertext 4280: n = 5129 m p = 4280 23+14 mod 23 = 18 m q = 4280 223+14 mod 223 = 126 Misalnya : x = m p qY q = 18 × 223 × -10 = -40140 y = m q pY p = 126 × 23 × 97 = 281106. Maka: P1 = x + y mod n = -40140+ 281106 mod 5129 = 5032 mod 5129 P2 = x - y mod n = -40140 - 281106 mod 5129 = 1881 mod 5129 Universitas Sumatera Utara P3 = -x + y mod n = 40140 + 281106 mod 5129 = 3248 mod 5129 P4 = -x - y mod n = 40140- 281106 mod 5129 = 97 mod 5129 Nilai terkecil dari P1, P2, P3, P4 adalah = 97 ‘a’ dalam ASCII 3 Dekripsi dari ciphertext 2738: n = 5129 m p = 2738 23+14 mod 23 = 1 m q = 2738 223+14 mod 223 = 109 Misalnya : x = m p qY q = 1 × 223 × -10 = -2230 y = m q pY p = 109× 23 × 97 = 243179. Maka: P1 = x + y mod n = -2230+ 243179 mod 5129 = 5015mod 5129 P2 = x - y mod n = -2230 - 243179 mod 5129 = 783 mod 5129 P3 = -x + y mod n = 2230 + 243179 mod 5129 = 4346 mod 5129 P4 = -x - y mod n = 2230- 243179 mod 5129 = 114 mod 5129 Nilai terkecil dari P1, P2, P3, P4 adalah = 114 ‘r’ dalam ASCII 4 Dekripsi dari ciphertext 1623: n = 5129 m p = 1623 23+14 mod 23 = 6 m q = 1623 223+14 mod 223 = 136 Misalnya : x = m p qY q = 6 × 223 × -10 = 13380 y = m q pY p = 136× 23 × 97 = 303146 Maka: P1 = x + y mod n = 13380+ 303146 mod 5129 =3657 mod 5129 P2 = x - y mod n = 13380 - 303146 mod 5129 = 2587 mod 5129 P3 = -x + y mod n = -13380 + 303146 mod 5129 = 109mod 5129 P4 = -x - y mod n = -13380-303146 mod 5129 = 1472mod 5129 Nilai terkecil dari P1, P2, P3, P4 adalah = 109 ‘m’ dalam ASCII Universitas Sumatera Utara 5 Dekripsi dari ciphertext 4280: n = 5129 m p = 4280 23+14 mod 23 = 18 m q = 4280 223+14 mod 223 = 126 Misalnya : x = m p qY q = 18 × 223 × -10 = -40140 y = m q pY p = 126 × 23 × 97 = 281106. Maka: P1 = x + y mod n = -40140+ 281106 mod 5129 = 5032 mod 5129 P2 = x - y mod n = -40140 - 281106 mod 5129 = 1881 mod 5129 P3 = -x + y mod n = 40140 + 281106 mod 5129 = 3248 mod 5129 P4 = -x - y mod n = 40140- 281106 mod 5129 = 97 mod 5129 Nilai terkecil dari P1, P2, P3, P4 adalah = 97 ‘a’ dalam ASCII

4.2.5. Skenario Dekripsi Pesan

Setelah Bob mendapatkan kunci maka Bob selanjutnya akan mengdekripsikan pesan dengan kunci yang sudah didapat oleh Bob. Gambar 4.9. adalah menunjukkan proses dekripsi pesan dengan sistem. Gambar 4.9 Pengujian Sistem dengan Skenario Dekripsi Pesan Universitas Sumatera Utara Perhitungan manual dari proses dekripsi pesan sesuai dengan Gambar 4.8. adalah sebagai berikut: 1. C= Î=206 K.OTP= ‘a’=97 C - K.OTP= 206-97=109 P= chr109= ‘m’ 2. C= Ó=211 K.OTP=’r’=114 C-K.OTP=211-114=97 P=chr9 7=’a’ 3. C= ‘á’=225 K.OTP=’m’=109 C-K.OTP=225-109=116 P=chr116=’t’ 4. C= Â =194 K.OTP= ’a’=97 C-K.OTP=194-97=97 P=chr97=’a’

4.2.6. Pengujian Enkripsi Pesan

Pengujian ini dilakukan untuk mengetahui pengaruh panjang plaintext terhadap lama proses enkripsi dan panjang kunci yang digunakan terhadap lama proses enkripsi algoritma One Time Pad. Universitas Sumatera Utara Tabel 4.3. Hasil Pengujian Enkripsi dengan Variasi Panjang Plaintext NO Panjang Plaintext Karakter Waktu detik 1. 19 1,712 2. 121 1,933 3. 1507 2,451 4. 2527 2,987 5. 10828 4,555 Gambar 4.10 Grafik Pengujian Enkripsi Pesan Berdasarkan tabel 4.3 dan Gambar 4.10 dapat diperoleh lama waktu dalam melakukan proses enkripsi pesan dengan lima contoh panjang plaintext yang berbeda.

4.2.7. Pengujian dekripsi pesan

Pengujian ini dilakukan untuk mengetahui pengaruh panjang plaintext terhadap lama proses dekripsi dengan panjang kunci yang digunakan terhadap lama proses dekripsi algoritma One Time Pad. Universitas Sumatera Utara Tabel 4.4. Hasil Pengujian Dekripsi dengan Variasi Panjang Plaintext NO Panjang Plaintext Karakter Waktu detik 1. 19 0,535 2. 121 0,918 3. 1507 1,000 4. 2527 1,765 5. 10828 3,121 Gambar 4.11 Grafik Pengujian Dekripsi Pesan Berdasarkan tabel 4.4 dan Gambar 4.11 dapat diperoleh lama waktu dalam melakukan proses enkripsi pesan dengan lima contoh panjang plaintext yang berbeda. Universitas Sumatera Utara Tabel 4.5 Perbandingan Waktu Enkripsi dan Dekripsi Pesan Nomor Panjang Plaintext Waktu Enkripsi Waktu Dekripsi 1 19 1,712 0,535 2 121 1,933 0,918 3 1507 2,451 1,000 4 2527 2,987 1,765 5 10828 4,555 2,121 Gambar 4.12 Grafik Perbandingan Enkripsi dan Dekripsi Berdasarkan tabel 4.5 dan Gambar 4.12 diatas, dapat diinformasikan bahwa jumlah proses waktu enkripsi dan dekripsi berbeda. Sistem memerlukan waktu yang lebih lama untuk melakukan proses enkripsi pesan daripada melakukan proses dekripsi pesan tersebut Universitas Sumatera Utara BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan dan hasil dari penelitian, maka diperoleh beberapa kesimpulan sebagai berikut: 1. Algoritma One Time Pad berfungsi untuk mengamankan informasi pesan yang akan dienkripsi sementara algoritma Rabin berfungsi untuk mengamankan kunci dari pesan yang telah dienkripsi . 2. Pesan yang bisa diinput untuk enkripsi pesan berupa .txt dan .doc. 3. Jumlah nilai karakter setelah dienkripsi akan semakin besar dan akan kembali seperti semula setelah did ekripsi karena dirubah ke dalam bentuk ASCII. 4. Pada algoritma Rabin menggunakan Kunci Publik untuk enkripsi kunci dan kunci private untuk dekripsi kunci. 5. Penggunaan autodekripsi cukup membantu untuk menentukan hasil dekripsi yang benar dari keempat hasil dekripsi pada proses dekripsi algoritma Rabin. Universitas Sumatera Utara

5.2 Saran