Psuedocode Enkripsi Pesan Psuedocode Enkripsi Kunci Pesan Psuedocode Pembangkit Kunci Pseudocode Dekripsi Kunci Pesan

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