BAB 3 METODOLOGI PENELITIAN

dokumen-dokumen yang mirip
Universitas Sumatera Utara BAB 2 LANDASAN TEORI

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB III ANALISIS DAN DESAIN SISTEM

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB III ANALISIS DAN PERANCANGAN SISTEM

Disusun oleh: Ir. Rinaldi Munir, M.T.

BAB 2 LANDASAN TEORI

BAB 3 ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISA DAN PERANCANGAN. pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest cipher (RC4).

Kompleksitas Waktu Algoritma Kriptografi RC4 Stream Cipher

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

Blok Cipher JUMT I. PENDAHULUAN

BAB IV HASIL DAN UJI COBA

PERANCANGAN DAN ANALISIS MODIFIKASI KUNCI KRIPTOGRAFI ALGORITMA TWOFISH PADA DATA TEKS

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

Optimalisasi Beaufort Cipher Menggunakan Pembangkit Kunci RC4 Dalam Penyandian SMS

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard

BAB Kriptografi

IMPLEMENTASI ENKRIPSI BASIS DATA BERBASIS WEB DENGAN ALGORITMA STREAM CIPHER RC4

BAB III ANALISA DAN PERANCANGAN

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah

Menggunakan Algoritma Kriptografi Blowfish

BAB IV HASIL DAN UJI COBA

Blox: Algoritma Block Cipher

BAB III METODE PENELITIAN

Kombinasi Algoritma OTP Cipher dan Algoritma BBS dalam Pengamanan File

BAB II. TINJAUAN PUSTAKA

Add your company slogan STREAM CIPHER. Kriptografi - Week 7 LOGO. Aisyatul Karima, 2012

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB III ANALISIS PENYELESAIAN MASALAH

Algoritma Kriptografi Modern (Bagian 2)

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB III ANALISA DAN DESAIN SISTEM

Pengamanan Dokumen Menggunakan Kriptografi RC4 dan Steganografi EOF dengan Media Video MP4 pada CV. Synergy Selaras

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

BAB 1 PENDAHULUAN Latar belakang

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

Enkripsi Pesan pada dengan Menggunakan Chaos Theory

dan c C sehingga c=e K dan d K D sedemikian sehingga d K

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

APLIKASI SISTEM PENGAMAN DATA DENGAN METODE ENKRIPSI MENGGUNAKAN ALGORITMA RC4

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka

JURNAL KEAMANAN KOMPUTER APLIKASI ENKRIPSI - DEKRIPSI DENGAN ALGORITMA RC2 MENGGUNAKAN JAVA NETBEANS

Pembangunan MAC Berbasis Cipher Aliran (RC4)

Kriptografi Modern Part -1

Modifikasi Pergeseran Bujur Sangkar Vigenere Berdasarkan Susunan Huruf dan Angka pada Keypad Telepon Genggam

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

PENGAMANAN CITRA DIGITAL BERDASARKAN MODIFIKASI ALGORITMA RC4

Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-Permutasi Dan Fungsi Affine Atas Ring Komutatif Z n

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

BAB I PENDAHULUAN 1.1 Latar Belakang

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

BAB III PERANCANGAN SISTEM

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

Algoritma Kriptografi Modern (Bagian 2)

Perancangan Perangkat Lunak untuk Penyembunyian Data Digital Menggunakan 4-Least Significant Bit Encoding dan Visual Cryptography

ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA BLOCK CIPHER RC4 DAN CHAOTIC LOGISTIC MAP

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB IV HASIL DAN PEMBAHASAN

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB 2 LANDASAN TEORI

Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu

1.1 LATAR BELAKANG MASALAH

BAB II LANDASAN TEORI

ANALISIS KEMUNGKINAN PENGGUNAAN PERSAMAAN LINEAR MATEMATIKA SEBAGAI KUNCI PADA MONOALPHABETIC CIPHER

ANALISIS ALGORITMA KRIPTOGRAFI RC4 PADA ENKRIPSI CITRA DIGITAL

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian

BAB I PENDAHULUAN. Universitas Sumatera Utara

Message Authentication Code (MAC) Pembangkit Bilangan Acak Semu

BAB I PENDAHULUAN. Pada era teknologi informasi yang semakin berkembang, pengiriman data

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti


STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

BAB III ANALISIS DAN PERANCANGAN

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB I PENDAHULUAN. Masalah keamanan suatu data menjadi isu penting pada. era teknologi informasi saat ini. Pengamanan data tidak hanya

Algoritma Rubik Cipher

Transkripsi:

BAB 3 METODOLOGI PENELITIAN 3.1 Pengantar Pada penelitian ini membahas modifikasi algoritma RC4 dengan BBS (Blum Blum Shub) untuk menghasilkan key yang baik dan tidak mudah dipredikasi oleh kriptanalis. Adapun yang dibahas adalah langkah penelitian, analisis dari masingmasing algoritma, dan rancangan sistem. 3.2 Waktu Penelitian Waktu yang digunakan untuk melakukan penelitian ini diperkirakan ± 6 ( enam ) bulan. Dalam penelitian ini penulis menggunakan studi literatur (riset pustaka). Riset pustaka dilakukan dengan membaca buku, jurnal dan mengambil data dari internet yang berkaitan dengan topik yang sedang diteliti. 3.3 Data yang digunakan Data yang digunakan pada penelitian ini adalah file dokumen, yang akan diamati ada beberapa karakter. 3.4 Prosedur Penyelesaian Masalah Dalam bab ini menggunakan algoritma RC4 untuk melakukan enkripsi dan Blum Blum Shub (BBS) digunakan untuk membangkitkan kunci pada waktu enkripsi dan dekripsi file. Sebelum membuat rancangan sistem, sebaiknya kedua algoritma tersebut dianalisa terlebih dahulu. Berikut kedua algoritma yang akan dianalisa: 3.4.1 Analisis Blum Blum Shub (BBS) Pada penelitian metode BBS (Blum Blum Shub) digunakan untuk membangkitkan kunci acak, karena Blum Blum Shub (BBS) mampu menghasilkan kunci acak yang susah untuk diingat, karena kunci yang dibangkitkan tidak bisa diprediksi. Berikut langkah-langkah dari algoritma BBS (Blum Blum Shub) (Sidorenko, 25):

a. Pilih dua bilangan prima p dan q, dimana p dan q keduanya sama terhadap 3 modulo 4. b. Hasilkan bilangan bulat Blum n dengan menghitung n = p x q. c. Kemudian pilih sebuah bilangan acak Seed (s) sebagai umpan, bilangan yang dipilih harus memenuhi kriteria: i. 2 s < n. ii. s dan n adalah relatif bilangan prima. d. Hitung nilai x 0 = s 2 mod n. e. Kemudian hasilnya bilangan bit acak dengan cara: i. Hitung x i = x (i-1) 2 mod n. ii. Hasilkan z i = bit-bit yang diambil dari x i. Berikut adalah contoh dari Blum Blum Shub (BBS) : Nilai p =, dan q = 15 n = pxq = x 15 = 165 Kemudian pilih (seed) s = 3 dan hitung x = 3 2 mod 165 = 9. Barisan bit acak hasilnya sebagai berikut: x 1=x0 2 mod n = 9 2 mod 165 =81 z 1 =1 (karena 81 ganjil,bit LSBnya pasti 1 x 2=x1 2 mod n = 81 2 mod 165 = 126 z 2 =0 (karena 126 genap,bit LSBnya pasti 0 x 3=x2 2 mod n= 126 2 mod 165 = 36 z1 =0 x 4 =x3 2 mod n= 36 2 mod 165 = 141 z1 =0 x 5=x4 2 modn = 141 2 mod 165 = 81 z1 =1 Dikarenakan X 5 = X 1, maka barisan nilai akan berulang-ulang kembali setelah panjangnya 4 (empat). Barisan acak yang dihasilkan adalah 0...dan seterusnya akan berulang.

3.4.2 Proses Algoritma RC4 Pada penelitian ini digunakan Algoritma RC4 untuk mengenkripsikan file yang berupa karakter, dengan mengunakan kunci dari hasil pembangkita kunci Blum Blum Shub (BBS). Adapun langkah-langkah dalam algoritma RC4 adalah, sebagai berikut (Munir,26): 1. Inisialisasi larik S sehingga S 0 =0, S 1 =1,..., S 255 =255 Dalam notasi algoritmik, langkah ini akan di tulis sebagai berikut: for i 0 to 255 do S[i] i endfor 2. Jika panjang kunci tersebut U < 256, maka lakukan padding yaitu penambahan byte semu sehingga panjang kunci menjadi 256 byte. 3. Kemudian lakukan permutasi terhadap nilai-nilai di dalam larik S dengan cara sebagai berikut: J 0 for i 0 to 255 do j (j + S[i] + U[i]) mod 256 swap (S[i], S[j] endfor 4. Kemudian bangkitkan aliran kunci dan lakukan enkripsi dengan cara sebagai berikut: i 0 j 0 for idx 0 to PanjangPlainteks 1 do i (i + 1) mod 256 j (j + S[i]) mod 256 swap (S[i], S[j] t (S[i] + S[j]) mod 256 K S[t] C K XOR P[idx] (Proses Enkripsi), Endfor

Untuk melakukan dekripsi, algoritma sama seperti enkripsi: i 0 j 0 for idx 0 to PanjangCiphertext 1 do i (i + 1) mod 256 j (j + S[i]) mod 256 swap (S[i], S[j] t (S[i] + S[j]) mod 256 K S[t] C K XOR P[idx] (Proses Dekripsi) Endfor Kelebihan dari algoritma RC4 adalah: 1. Kunci algoritma RC4 hanya dapat dipakai sekali saja. 2. Sulit mengetahui sebuah nilai yang ada dalam table. 3. Sulit mengetahui lokasi mana di dalam table yang digunakan untuk seleksi nilai. 4. Enkripsi algoritma RC4 lebih cepat dari DES. Sedangkan kelemahan dari algoritma RC4 tersebut adalah tinggi kemungkinan untuk terjadi S-Box yang sama, itu dikarenakan kunci yang berulang-ulang untuk mengisi 256 byte, dan algoritma RC4 merupakan XOR antara byte dan pseudorandom byte stream yang dihasilkan dari kunci, oleh karena itu kriptanalis dengan mudah menentukan byte atau menebak kuncinya. Secara umum algoritma RC4 terbagi menjadi 2 bagian: Inisialisasi state-array dan penghasilan kunci enkripsi serta pengenkripsian. Sebagai contoh: Plainteks : N I E S A Kunci : 3 1 2 4 3 a. Menginisialisasi array S 5 bit, sehingga terbentuk state array S dan state array K.

Array S 0 1 2 3 4 Array K 1 7 3 5 2 b. Kemudian inisialisasi i dan j dengan 0, dan lakukan KSA supaya mendapatkan state array yang diacak. Iterasi 1 i = 0 j = (0 + S[0] + K [0 mod 5]) mod 5 (0 + 0 + 1) mod 5 = 0 Swap (S[0], S[0]) Hasilnya: 0 1 2 3 4 Iterasi 2 i = 0 j = (0 + S[1] + K (1 mod 5]) mod 5 (0 + 1 + 7) mod 5 = 3 Swap (S[1], S[3]) Hasilnya: 0 3 2 1 4 Iterasi 3 i = 0 j = (3 + S[2] + K [2 mod 5]) mod 5 (3 + 2 + 3) mod 5 = 3 Swap (S[2], S[3]) Hasilnya: 0 3 1 2 4 Iterasi 4 i = 0 j = (3 + S[3] + K [3 mod 5]) mod 5 (3 + 3 + 5) mod 5 = 1 Swap (S[3], S[1]) Hasilnya: 2 3 1 0 4

Iterasi 5 i = 0 j = (1 + S[4] + K [4 mod 5]) mod 5 (1 + 4 + 2) mod 5 = 2 Swap (S[4], S[2]) Hasilnya: 2 3 4 0 1 c. Kemudian lakukan pseudo random sebanyak 5 kali, karena ada 5 karakternya. Array S 2 3 4 0 1 Inisialisasi i = 0 j = 0 Iterasi 1 i = (0 + 1) mod 5 = 1 j = (0 + S[1]) mod 5 = (0 + 3) mod 5 = 2 Swap (S[1], S[2]) 2 4 3 0 1 K1 = S[(S[1] + S[2]) mod 5] = S[7 mod 5] = 2 = K1 = Iterasi 2 i = (1 + 1) mod 5 = 2 j = (2 + S[2]) mod 5 = (2 + 3) mod 5) = 0 Swap (S[2], S[0]) 3 4 2 0 1 K2 = S[(S[2] + S[0]) mod 5] = S[5 mod 5] = 0 K2 = Iterasi 3 i = (2 + 1) mod 5 = 2 j = (3 + S[3]) mod 5 = (0 + 2) mod 5) = 1 Swap S[2], S[1])

3 2 4 0 1 K3 = S[S[2] + S[1]) mod 5] = S[6 mod 5] = 1 K3 = Iterasi 4 i = (2 + 1) mod 5 = 2 j = (3 + S[4]) mod 5 = (3 + 1) mod 5) = 1 Swap S[2], S[1] 3 4 2 0 1 K4 = S[S[2] + S[1]) mod 5] = S[6 mod 5) = 1 K4 = Iterasi 5 i = (2 + 1) mod 5 = 2 j = (3 + S[0]) mod 5 = (3 + 3) mod 5) = 1 Swap S[2], S[1] 3 2 4 0 1 K5 = S[S[2] + S[1]) mod 5] = S[6 mod 5) = 1 K5 = Setelah selesai proses XOR pseudo random dengan plaintext, maka dapat dilihat pada Tabel dibawah ini: Tabel 3.1. Proses xor Pseudo Random Byte dengan plaintext untuk enkripsi N I E S A Plaintext (p) Kunci (k) P k Ciphertext (C) L I E R @ Sedangkan untuk proses dekripsi kebalikan dari enkripsi, yaitu mengubah ciphertext menjadi plaintext (pesan asli) kembali. Tabel 3.3 akan menjelaskan proses dekripsi:

Tabel 3.4 Proses XOR pseudo random byte dengan ciphertext untuk dekripsi L I E R @ Ciphertext (C) Kunci (k) C k Plaitext (p) N I E S A Tabel 3.4 menjelaskan proses dekripsi, ciphertext yang diambil dari hasil enkripsi pada analisis algoritma RC4 dengan menggunakan kunci yang sama. 3.4.3 Rancangan Sistem Setelah menganalisis kedua algoritma yang digunakan pada penelitian ini, maka berikut rancangan dari sistem yang akan penulis kerjakan untuk penyelesaian masalah: Gambar 3.1 Rancangan Sistem Berdasarkan Gambar 3.1, proses dimulai dengan membangkitkan kunci acak dengan metode Blum Blum Shub (BBS), kemudian pilihlah seed (umpan) untuk mendapatkan key, hasil dari key tersebut akan digunakan untuk melakukan pengacakan S-Box sebanyak 256 putaran. Kemudian lakukan perhitungan terhadap S-box yang terpilih

agar menghasilkan plaintext. Kemudian lakukan enkripsi dan dekripsi dengan cara meng-xor-kan dengan kunci yang sama dan selesai. 3.5 Alur Enkripsi Berikut adalah alur untuk proses enkripsi dengan algoritma RC4 dengan menggunakan kunci hasil dari acakan S-Box sebanyak 256: Mulai Inisialisasi i=j=0 k=s-box [0] i=(i+1) mod 256 j=(j+k) mod 256 S-Box_next_i=S- Box[i+1] S-Box[i]=S-Box[j] S-Box[j]=K t = S[i]+S[j] mod 256 C = P S[t] (Kunci) Selesai Gambar 3.2 Proses Enkripsi RC4 Gambar 3.2 menunjukkan proses enkripsi RC4, langkah pertama yang dilakukan adalah menginisialisasi i dan j dengan nilai 0, kemudian lakukan perhitungan dengan i = ( i + 1) mod 256 dan j = ( i + 1) mod 256. Setelah itu lakukan pertukaran S [i] dengan S [j], hitung nilai t dengan cara t = (S [i] + S [j] ) mod 256, maka nilai t tersebut yang akan menjadi kunci enkripsi plaintext, selesai.

3.6 Alur Dekripsi Berikut adalah alur dari proses dekripsi dengan algoritma RC4 dan menggunakan kunci yang sama, karena algoritma RC4 adalah algoritma yang simetris. Start Ciphertext key Dekripsi RC4 Plaintext End Gambar 3.3 Proses Dekripsi RC4 Berdasarkan Gambar 3.3, proses dimulai dengan menginput ciphertext (File yang telah dienkripsi), kemudian input kunci yang sama seperti waktu enkripsi, dan lakukan dekripsi dengan algoritma RC4, maka outpunya akan sama seperti pesan asli (Plaintext).

BAB 4 HASIL DAN PEMBAHASAN Pada bab 4 ini dijelaskan hasil dan pembahasan yang telah penulis uji. Pada penelitian penulis membahas pembangkitan kunci dengan Blum Blum Shub (BBS) yang diterapkan pada algoritma RC4 untuk meningkatkan keamanan data, Blum Blum Shub (BBS) mampu menghasilkan kunci acak yang susah diprediksi dan diingat. 4.1 Hasil Dan Implementasi Pada tahap ini, penulis melakukan penelitian terhadap proses enkripsi dan dekripsi pada algoritma RC4 dengan menggunakan kunci bilangan acak metode Blum Blum Shub (BBS) yang telah dijelaskan pada Bab sebelumnya. Pada tahap ini, penulis juga melakukan proses enkripsi dan dekripsi dengan plaintext yang diberikan. Hasil yang ingin didapat dari pembangkitkan kunci, supaya dapat meningkatkan keamanan dari algoritma tersebut. 4.2 Algoritma RC4 Menggunakan Algoritma Blum Blum Shub Pada tahap ini, penulis akan melakukan proses enkripsi dan dekripsi menggunakan kunci yang didapat dari algoritma Blum Blum Shub (BBS). Bilangan acak tersebut didapat dengan proses pembangkitan kunci dan telah digabungkan dengan algoritma RC4, sehingga kotak substitusi (S-Box) teracak, hasil acakan kotak substitusi (S-Box) digunakan untuk mengenkripsi plaintext. 4.2.1 Enkripsi Algoritma RC4 Menggunakan Blum Blum Shub Pada tahapan ini, proses enkripsi dilakukan sebanyak 3 kali. Hasil dari proses enkripsi dan dekripsi dapat menjadikan satu acuan baru untuk pembangkit kunci pada algoritma RC4 dan dapat digunakan pada algoritma-algoritma yang lain.

4.2.1.1 Pengujian 1 (Pertama) Enkripsi Algoritma RC4 Menggunakan Kunci Pembangkit Blum Blum Shub Pada tahap ini, percobaan pertama plaintext yang digunakan NIESA. Plaintext diubah ke dalam bentuk desimal. Berikut hasil pengubahan ke dalam bentuk desimal 78, 73, 69, 83, dan 65. Kemudian bangkitkan kunci acak dengan metode Blum Blum Shub. Kunci dalam RC4 itu dalam format ASCII yang diwakili 0 s.d 255 karena untuk memasukkan kunci dekripsi akan menggunakan keyboard. Pada percobaan pertama menggunakan range dari 65 90 dan nanti akan menghasilkan huruf alfabet semua. BBS akan mengulang sampai permintaan yang maksimum. Jika meminta 5 karakter kunci, maka itu akan berputar sebanyak 5 kali dan akan menghasilkan kunci acak 5 karakter. Tabel 4.1 menunjukkan hasil 5 karakter kunci pada kisaran yang dijelaskan diatas. Tabel 4.1 BBS Kunci Lima (5) Karakter Kunci ASCII 81 80 87 75 73 Q P W K I Kunci yang dihasilkan oleh BBS adalah QPWKI, kemudian menghasilkan S-Box dari kunci yang diperoleh. Tabel 4.3 menunjukkan S-Box yang telah diacak, sedangkan S-Box yang belum diacak dan ditukar ada di Tabel 4.2: Tabel 4.2 S-Box sebelum diacak S-Box S0 S1 S2 S3 S4 S5 S6 S7 0 1 2 3 4 5 6 7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

S-Box 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 2 2 202 203 204 205 206 207 208 209 2 2 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Kemudian lakukan permutasi terhadap nilai-nilai yang ada di dalam larik S dengan cara: j 0 for i 0 to 255 do j j + S i + U i mod 256 swap S i,s j (lakukan pertukaran nilai S i dengan S[j] endfor Setelah dilakukan acak dan swap sebanyak 256, maka hasil kotak substitusi (S-Box) yang telah diacak dan ditukar bisa dilihat pada Tabel 4.3 dibawah ini:

Tabel 4.3 S-Box S-Box S0 S1 S2 S3 S4 S5 S6 S7 227 162 251 50 150 175 2 55 28 69 30 208 94 242 182 36 33 53 146 158 138 184 189 135 232 82 49 46 68 35 57 183 26 39 27 248 190 237 88 59 74 252 224 13 52 159 87 196 43 154 64 9 127 160 143 25 63 199 166 91 89 3 234 2 38 141 173 0 134 92 0 171 29 151 172 1 0 243 144 2 217 152 81 3 255 124 67 215 233 148 18 239 220 244 58 45 231 122 7 253 54 188 226 34 7 204 131 126 84 202 235 219 230 212 20 6 47 179 174 6 93 145 40 4 21 157 1 5 95 207 66 214 163 14 198 97 22 24 197 71 6 192 78 222 186 245 142 61 247 170 7 121 168 167 62 133 191 2 19 77 56 178 187 236 181 44 169 76 2 90 195 12 180 120 2 15 216 5 31 130 32 51 176 194 221 223 4 37 8 238 79 70 9 16 241 5 125 136 254 99 206 228 209 177 48 240 2 83 155 218 229 185 73 41 246 193 85 80 250 156 60 123 42 4 213 17 8 72 205 9 132 137 164 153 225 8 96 147 65 140 23 161 86 128 165 249 98 3 149 1 203 75 139 129 Kemudian untuk membangkitkan kunci enkripsi, maka dilakukan proses perhitungan. Pengujian pertama digunakan plaintext NIESA dan kuncinya adalah QPWKI. Berikut adalah proses mendapatkan kunci untuk enkripsi:

Pengujian karakter plaintext 1: N PT ASCII : 78 i = 0 j = 0 i = (i + 1) mod 256 = 1 j = (j + S[i]) mod 256 = 0 + 162 = 162 S[i] = S[1] = 162 S[j] = S[162] = 56 kemudian ditukar S[i] = S[1] = 56 S[j] = S[162] = 162 t = (S[i] + S[j]) mod 256 = (56 + 162) mod 256 = 218 mod 256 = 218 K = S[t] = S[218] = 85 Ciphertext = Plaintext kunci = 78 85 = = 27 () = Esc Pengujian karakter plaintext ke 2 : I PT ASCII : 73 i = 1 j = 162 i = (i + 1) mod 256 = (1 +1) mod 256 = 2 j = (j + S[i]) mod 256 = (162 + 251) mod 256 = 413 mod 256 = 157

S[i] = S[i] = 251 S[j] = S[157] = 133 kemudian tukar S[i] = S[2] = 133 S[j] = S[251] = 251 t = (S[i] + S[j]) mod 256 = (133 + 251) mod 256 = 348 mod 256 = 128 K = S[t] = S[128] = 1 Ciphertext = Plaintext kunci = 73 1 = = (44) =, Pengujian karakter ke 3 = E PT ASCII = 69 i = 2 j = 157 i = (i + 1) mod 256 = (2 + 1) mod 256 = 3 j = (j + S[i]) mod 256 = (157 + 50) mod 256 = 207 mod 256 = 207 S[i] = S[i] = 50 S[j] = S[207] = 240 kemudian tukar S[i] = S[3] = 240 S[j] = S[50] = 50 t = (S[i] + S[j]) mod 256 = (240 + 50) mod 256 = 290 mod 256 = 34

K = S[t] = S[34] = 39 Ciphertext = Plaintext kunci = 69 39 = = 98 () = b Pengujian karakter ke 4 = S PT ASCII = 83 i = 3 j = 207 i = (i + 1) mod 256 = (3 + 1) mod 256 = 4 j = (j + S[i]) mod 256 = (207 + 150) mod 256 = 357 mod 256 = 1 S[i] = S[i] = 150 S[j] = S[1] = 253 kemudian tukar S[i] = S[4] = 253 S[j] = S[150] = 150 t = (S[i] + S[j]) mod 256 = (253 + 150) mod 256 = 147 mod 256 = 147 K = S[t] = S[147] = 245 Ciphertext = Plaintext kunci = 83 245 = = 166 () =

Pengujian karakter ke 5 = A PT ASCII = 65 i = 4 j = 1 i = (i + 1) mod 256 = (4 + 1) mod 256 = 5 j = (j + S[i]) mod 256 = (1 + 175) mod 256 = 276 mod 256 = 20 S[i] = S[i] = 175 S[j] = S[20] = 138 kemudian tukar S[i] = S[5] = 138 S[j] = S[175] = 175 t = (S[i] + S[j]) mod 256 = (138 + 175) mod 256 = 313 mod 256 = 57 K = S[t] = S[57] = 25 Ciphertext = Plaintext kunci = 65 25 = = 88 () = X Pada proses di atas kunci K dipilih dengan mengambil nilai S[i] dan S[j] kemudian menjumlahkan dengan modulo 256. Hasil dari penjumlahan adalah indeks t, sehingga S[t] menjadi kunci K dan kemudian digunakan untuk kunci enkripsi. Tabel 4.4 menunjukkan hasil dari enkripsi plaintext NIESA.

Tabel 4.4 Hasil Enkripsi No Plaintext Kunci Ciphertext 0 78 N 85 27 1 73 I 1 44, 2 69 E 39 98 B 3 83 S 245 166 4 65 A 25 88 X 4.2.1.2 Pengujian ke 2 (dua) Algoritma RC4 Menggunakan Kunci Pembangkit Blum Blum Shub Pada pengujian kedua, plaintext yang dipakai Provinsi Aceh. Plaintext yang diuji akan diubah kedalam bentuk desimal. Berikut hasil pengubahan ke dalam bentuk desimal 80, 4, 1, 18, 5, 0, 5, 5, 32, 65, 99, 1, dan 4. Kemudian bangkitkan kunci acak dengan Blum Blum Shub. Kunci dalam RC4 dalam format ASCII yang diwakili 0 s.d 255 karena untuk memasukkan kunci dekripsi digunakan keyboard. Pada percobaan kedua dicoba menggunakan range yang sama seperti pengujian pertama, yaitu dari 65 90 yang nanti akan menghasilkan huruf alfabet semua. BBS akan mengulang sampai permintaan yang maksimum. Jika meminta karakter kunci, maka akan berputar sebanyak kali dan akan menghasilkan kunci acak karakter kunci. Jika karakter plaintext tidak sama dengan karakter kunci, maka lakukan padding sampai kunci tersebut cukup untuk karakter plaintext. Tabel 4.5 menunjukkan hasil karakter kunci pada kisaran yang dijelaskan diatas. Tabel 4.5 BBS Kunci Sepuluh karakter kunci ASCII 81 77 77 81 81 89 76 86 83 79 Q M M Q Q Y L V S O Kunci yang dihasilkan oleh BBS adalah QMMQQYLVSO. Kemudian lakukan permutasi terhadap nilai-nilai yang ada di dalam larik S dengan cara yang telah dijelaskan pada pengujian pertama, Setelah dilakukan acak dan swap sebanyak 256, maka hasil S-Box yang telah diacak dan ditukar bisa dilihat pada Tabel 4.6 di bawah ini:

Tabel 4.6 S-Box Sbox S0 S1 S2 S3 S4 S5 S6 S7 98 159 238 2 151 6 2 147 42 87 17 31 22 123 61 0 75 6 176 9 95 92 180 193 127 229 181 77 9 93 8 3 3 62 218 56 179 44 162 86 145 1 125 3 129 1 128 94 84 242 4 243 47 81 144 138 143 197 166 24 63 174 173 67 247 50 194 239 7 175 135 155 51 209 97 16 219 189 5 170 71 232 140 203 169 234 190 252 227 196 6 2 168 122 82 148 154 167 191 25 59 7 120 141 231 245 198 178 2 220 4 192 204 0 217 213 2 224 78 183 5 70 15 223 132 34 216 96 146 64 121 35 240 212 126 32 156 202 23 248 253 139 38 182 187 160 164 186 133 158 205 157 222 46 20 9 244 230 208 65 214 161 76 18 153 130 36 45 124 88 177 221 30 163 29 152 137 4 83 55 26 207 13 199 14 149 41 66 171 254 255 48 134 57 241 8 21 85 52 188 72 54 1 28 136 37 74 79 195 236 60 249 0 80 12 228 246 2 58 19 226 237 142 233 69 90 53 184 131 91 5 40 43 2 49 206 73 89 150 39 251 68 33 215 225 172 8 7 99 235 185 27 165 250 Kemudian untuk membangkitkan kunci enkripsi, maka dilakukan proses perhitungan. Pengujian kedua menggunakan plaintext Provinsi Aceh dengan kuncinya adalah QMMQQYLVSO. Berikut adalah proses mendapatkan kunci untuk enkripsi:

Pengujian karakter plaintext 1: P PT ASCII : 80 i = 0 j = 0 i = (i + 1) mod 256 = 1 j = (j + S[i]) mod 256 = 0 + 159 mod 256 = 159 S[i] = S[1] = 159 S[j] = S[159] = 208 kemudian ditukar S[i] = S[1] = 208 S[j] = S[159] = 159 t = (S[i] + S[j]) mod 256 = (208 + 159) mod 256 = 367 mod 256 = 1 K = S[t] = S[1] = 4 Ciphertext = Plaintext kunci = 80 4 = = 56 () = 8 Pengujian karakter plaintext 2: r PT ASCII : 4 i = 1 j = 159 i = (1 + 1) mod 256 = 2 j = (j + S[i]) mod 256 = 159 + 238 mod 256 = 397 mod 256 = 141

S[i] = S[2] = 238 S[j] = S[141] = 253 kemudian ditukar S[i] = S[2] = 253 S[j] = S[238] = 238 t = (S[i] + S[j]) mod 256 = (253 + 238) mod 256 = 491 mod 256 = 235 K = S[t] = S[235] = 2 Ciphertext = Plaintext kunci = 4 2 = = 187 () =» Pengujian karakter plaintext 3: o PT ASCII : 1 i = 2 j = 141 i = (2 + 1) mod 256 = 3 j = (j + S[i]) mod 256 = 141 + 2 mod 256 = 253 mod 256 = 253 S[i] = S[3] = 2 S[j] = S[253] = 27 kemudian ditukar S[i] = S[3] = 27 S[j] = S[2] = 2 t = (S[i] + S[j]) mod 256 = (27 + 2) mod 256 = 139 mod 256 = 139

K = S[t] = S[139] = 23 Ciphertext = Plaintext kunci = 1 23 = = 120 () = x Pengujian karakter plaintext 4: v PT ASCII : 8 i = 3 j = 253 i = (3 + 1) mod 256 = 4 j = (j + S[i]) mod 256 = 253 + 151 mod 256 = 404 mod 256 = 148 S[i] = S[4] = 151 S[j] = S[148] = 186 kemudian ditukar S[i] = S[4] = 186 S[j] = S[151] = 151 t = (S[i] + S[j]) mod 256 = (186 + 151) mod 256 = 337 mod 256 = 81 K = S[t] = S[81] = 71 Ciphertext = Plaintext kunci = 8 71 = = 49 () = 1

Pengujian karakter plaintext 5: i PT ASCII : 5 i = 4 j = 148 i = (4 + 1) mod 256 = 5 j = (j + S[i]) mod 256 = 148 + 6 mod 256 = 254 mod 256 = 254 S[i] = S[5] = 6 S[j] = S[254] = 165 kemudian ditukar S[i] = S[5] = 165 S[j] = S[6] = 6 t = (S[i] + S[j]) mod 256 = (165 + 6) mod 256 = 271 mod 256 = 15 K = S[t] = S[15] = 61 Ciphertext = Plaintext kunci = 5 61 = = 84 () = T Pengujian karakter plaintext 6: n PT ASCII : 0 i = 4 j = 254 i = (5 + 1) mod 256 = 6 j = (j + S[i]) mod 256 = 254 + 2 mod 256 = 256 mod 256 = 0

S[i] = S[6] = 2 S[j] = S[0] = 98 kemudian ditukar S[i] = S[6] = 98 S[j] = S[2] = 2 t = (S[i] + S[j]) mod 256 = (98 + 2) mod 256 = 0 mod 256 = 0 K = S[t] = S[0] = 25 Ciphertext = Plaintext kunci = 0 25 = = 9 () = w Pengujian karakter plaintext 7: s PT ASCII : 5 i = 6 j = 0 i = (6 + 1) mod 256 = 7 j = (j + S[i]) mod 256 = 0 + 147 mod 256 = 147 mod 256 = 147 S[i] = S[7] = 147 S[j] = S[147] = 164 kemudian ditukar S[i] = S[7] = 164 S[j] = S[147] = 147 t = (S[i] + S[j]) mod 256 = (164 + 147) mod 256 = 3 mod 256 = 55

K = S[t] = S[55] = 144 Ciphertext = Plaintext kunci = 5 144 = = 227 () = ã Pengujian karakter plaintext 8: i PT ASCII : 5 i = 7 j = 147 i = (7 + 1) mod 256 = 8 j = (j + S[i]) mod 256 = 147 + 42 mod 256 = 189 mod 256 = 189 S[i] = S[8] = 42 S[j] = S[189] = 171 kemudian ditukar S[i] = S[8] = 171 S[j] = S[42] = 42 t = (S[i] + S[j]) mod 256 = (171+ 42) mod 256 = 213 mod 256 = 213 K = S[t] = S[213] = 0 Ciphertext = Plaintext kunci = 5 0 = = 7 () =

Pengujian karakter plaintext 9: Space PT ASCII : 32 i = 8 j = 189 i = (8 + 1) mod 256 = 9 j = (j + S[i]) mod 256 = 189 + 87 mod 256 = 276 mod 256 = 20 S[i] = S[9] = 87 S[j] = S[20] = 9 kemudian ditukar S[i] = S[9] = 9 S[j] = S[87] = 87 t = (S[i] + S[j]) mod 256 = (9+ 87) mod 256 = 206 mod 256 = 206 K = S[t] = S[206] = 37 Ciphertext = Plaintext kunci = 32 37 = = 5 () = Pengujian karakter plaintext : A PT ASCII : 65 i = 9 j = 20 i = (9 + 1) mod 256 = j = (j + S[i]) mod 256 = 20 + mod 256 = 31 mod 256 = 31

S[i] = S[] = S[j] = S[31] = 8 kemudian ditukar S[i] = S[] = 8 S[j] = S[] = t = (S[i] + S[j]) mod 256 = (8+ ) mod 256 = 19 mod 256 = 19 K = S[t] = S[19] = 176 Ciphertext = Plaintext kunci = 65 176 = = 241( ) = ñ Pengujian karakter plaintext : c PT ASCII : 99 i = j = 31 i = ( + 1) mod 256 = j = (j + S[i]) mod 256 = 31 + 17 mod 256 = 48 mod 256 = 48 S[i] = S[] = 17 S[j] = S[48] = 94 kemudian ditukar S[i] = S[] = 94 S[j] = S[17] = 17 t = (S[i] + S[j]) mod 256 = (94+ 17) mod 256 = 1 mod 256 = 1

K = S[t] = S[1] = 4 Ciphertext = Plaintext kunci = 99 4 = = () = Pengujian karakter plaintext 12: e PT ASCII : 1 i = j = 48 i = ( + 1) mod 256 = 12 j = (j + S[i]) mod 256 = 48 + 31 mod 256 = 79 S[i] = S[12] = 31 S[j] = S[79] = 5 kemudian ditukar S[i] = S[12] = 5 S[j] = S[31] = 31 t = (S[i] + S[j]) mod 256 = (5+ 31) mod 256 = 136 mod 256 = 136 K = S[t] = S[136] = 32 Ciphertext = Plaintext kunci = 1 32 = = 69 () = E

Pengujian karakter plaintext 13: h PT ASCII : 4 i = 12 j = 79 i = (12 + 1) mod 256 = 13 j = (j + S[i]) mod 256 = 79 + 22 mod 256 = 1 S[i] = S[13] = 22 S[j] = S[1] = 59 kemudian ditukar S[i] = S[13] = 59 S[j] = S[22] = 22 t = (S[i] + S[j]) mod 256 = (59 + 22) mod 256 = 81 mod 256 = 81 K = S[t] = S[81] = 71 Ciphertext = Plaintext kunci = 4 71 = = 47 () = / Pada proses di atas kunci K dipilih dengan mengambil nilai S[i] dan S[j] kemudian menjumlahkan dengan modulo 256. Hasil dari penjumlahan adalah indeks t, sehingga S[t] menjadi kunci K yang kemudian digunakan untuk kunci enkripsi. Tabel 4.7 menunjukkan hasil dari enkripsi plaintext Provinsi Aceh. Tabel 4.7 Hasil Enkripsi Plaintext Kunci Ciphertext 0 80 P 4 56 8 1 4 r 2 187» 2 1 o 23 120 X

Plaintext Kunci Ciphertext 3 8 v 71 49 1 4 5 i 61 84 T 5 0 n 25 9 W 6 5 s 144 227 Ã 7 5 i 0 7 Ă 8 32 37 5 9 65 A 176 241 Ñ 99 c 4 1 e 32 69 E 12 4 h 71 47 / 4.2.1.3 Pengujian ke 3 (Tiga) Algoritma Rc4 Menggunakan Kunci Pembangkit Blum Blum Shub Pada pengujian ketiga, plaintext yang digunakan Algoritma RC4 Merupakan Stream Cipher. Plaintext yang diuji akan diubah kedalam bentuk desimal. Berikut hasil pengubahan kedalam bentuk desimal 65, 8, 3, 1, 4, 5, 6, 6, 9, 97, 32, 82, 67, 52, 32, 77, 1, 4, 7, 2, 97, 7, 97, 0, 32, 83, 6, 4, 1, 97, 9, 32, 67, 5, 2, 4, 1, dan 4. Kemudian bangkitkan kunci akal dengan Blum Blum Shub. Kunci dalam RC4 dalam format ASCII yang diwakili 0 s.d 255 karena untuk memasukkan kunci dekripsi menggunakan keyboard. Pada pengujian ketiga dicoba menggunakan range dari 33 37 yang nanti menghasilkan kunci campuran tetapi masih bisa digunakan. BBS akan mengulang sampai permintaan yang maksimum. Jika meminta 20 karakter kunci, maka itu akan berputar sebanyak 20 kali dan akan menghasilkan kunci acak 20. Jika karakter plaintext tidak sama dengan karakter kunci, maka lakukan padding sampai kunci tersebut cukup untuk karakter plaintext. Tabel 4.8 menunjukkan hasil 20 karakter kunci pada kisaran yang dijelaskan di atas. Tabel 4.8 BBS Kunci 20 karakter kunci ASCII 43 64 76 58 120 83 85 0 61 39 3 73 76 7 0 33 93 83 61 74 + @ L : X S U d = ' G I L k N! ] S = J

Kunci yang dihasilkan oleh BBS adalah +@L:xsUd='gILkn!]S=J, kemudian lakukan permutasi terhadap nilai-nilai yang ada di dalam larik S dengan cara yang telah dijelaskan pada pengujian pertama, Setelah proses pengacakan dan pertukaran sebanyak 256, maka hasil S-box yang telah diacak dan ditukar dapat dilihat pada Tabel 4.9 di bawah ini: Tabel 4.9 S-Box Sbox S0 S1 S2 S3 S4 S5 S6 S7 144 8 221 153 5 235 128 97 136 65 167 5 67 47 91 86 12 56 135 40 48 121 63 0 13 71 182 32 214 66 191 23 203 25 2 62 7 141 44 127 193 94 184 30 3 17 198 164 58 33 231 227 9 145 192 122 2 224 26 2 51 253 157 85 238 160 139 98 36 251 213 165 207 34 38 234 156 120 174 232 57 88 99 155 189 3 61 80 172 3 179 21 126 178 4 229 130 166 50 31 96 78 131 1 52 205 4 37 237 77 84 93 133 29 150 83 147 55 142 244 20 239 6 49 1 134 228 208 59 69 222 89 158 146 124 246 19 90 212 250 199 187 248 43 163 18 168 123 240 2 53 39 247 92 7 81 223 1 125 196 188 170 35 6 5 152 176 161 236 245 233 225 249 175 2 194 41 8 4 28 215 7 202 195 138 9 6 0 173 190 252 209 74 8 22 219 162 204 0 95 9 183 220 243 132 216 70 254 64 186 241 217 73 255 60 151 45 242 24 171 87 226 180 169 27 15 140 16 76 154 218 137 143 42 79 206 75 68 2 46 185 159 197 181 129 72 82 14 149 148 2 177 230 54

Kemudian untuk membangkitkan kunci enkripsi, maka dilakukan proses perhitungan yang sama seperti pada pengujian pertama dan dua. Pengujian ketiga menggunakan plaintext Algoritma RC4 Merupakan Stream Cipher dengan kuncinya adalah QMMQQYLVSO Pada proses perhitungan, kunci K dipilih dengan mengambil nilai S[i] dan S[j] kemudian menjumlahkan dengan modulo 256. Hasil penjumlahan adalah indeks t, sehingga S[t] menjadi kunci K, kemudian digunakan untuk kunci enkripsi. Tabel 4. menunjukkan hasil dari enkripsi plaintext Algoritma RC4 Merupakan Stream Cipher. Tabel 4. Hasil Enkripsi Plaintext Kunci Ciphertext 0 65 A 163 226 â 1 8 l 225 141 2 3 g 4 21 3 1 o 164 203 Ë 4 4 r 235 153 ć 5 5 i 49 88 X 6 6 t 30 6 J 7 9 m 83 62 > 8 97 a 70 39 ' 9 32 34 2 STX 82 R 243 161 67 C 45 0 N 12 52 4 62 > 13 32 199 231 Ç 14 77 M 71 LF 15 1 e 154 255 Ÿ 16 4 r 137 251 Û 17 7 u 180 193 Á 18 2 p 143 255 Ÿ 19 97 a 165 196 Ä 20 7 k 79 36 $ 21 97 a 138 235 Ë 22 0 n 157 243 Ó 23 32 95 127 Del 24 83 S 97 50 2 25 6 t 7 31 US

Plaintext Kunci Ciphertext 26 4 r 233 155 27 1 e 187 222 Þ 28 97 a 250 155 29 9 m 129 236 Ì 30 32 2 242 Ò 31 67 C 75 8 Backspace 32 5 i 196 173 33 2 p 0 20 DC4 34 4 h 227 139 35 1 e 240 149 Ă 36 4 r 60 78 N Tabel 4. menunjukkan hasil dari enkripsi plaintext Algoritma RC4 Merupakan Stream Cipher. Plaintext telah diubah kedalam bentuk desimal, kemudian S-box juga telah diacak, sehingga kolom kunci itu yang digunakan untuk enkripsi dengan menggunakan XOR dan hasil dekripsi âăëćxj>' n>çÿûáÿ$ëó 2 Þ íò- ĂN. 4.2.2 Dekripsi Algoritma RC4 Menggunakan Blum Blum Shub Pada tahap dekripsi akan melakukan proses sebanyak 3 kali terhadap ciphertext yang telah diperoleh dari enkripsi sebelumnya. Berikut hasil proses dekripsi dengan algoritma RC4 dan menggunakan pembangkit kunci Blum Blum Shub. 4.2.2.1 Pengujian 1 (Pertama) Dekripsi Algoritma RC4 Menggunakan Blum Blum Shub Pada pengujian pertama, ciphertext yang didekripsi adalah,b X. Kemudian ciphertext diubah kedalam bilangan desimal. Hasil pengubahan dalam bilangan desimal adalah 27, 44, 98, 166, dan 88. Kunci yang digunakan untuk dekripsi adalah kunci yang sama seperti pada saat enkripsi. Kemudian lakukan proses XOR untuk mendapatkan pesan aslinya. Dari hasil pengujian, maka didapat: Tabel 4. Hasil Dekripsi 1 Kode Biner (ASCII) Ciphertext (C) (Esc), B X 27 () 44 () 98 () 166 () 88 ()

kode Biner (ASCII) Kunci (K) C K Plaintext (P) N I E S A Tabel 4. merupakan hasil dekripsi ciphertext ke plaintext, terlihat bahwa plaintext NIESA kembali sebagai pesan aslinya. 4.2.2.2 Pengujian 2 (Dua) Dekripsi Algoritma RC4 Menggunakan Blum Blum Shub Pada pengujian kedua, ciphertext yang didekripsi adalah 8»x1Twãñ E/. Kemudian ciphertext diubah kedalam bilangan desimal. Hasil pengubahan dalam bilangan desimal adalah 56, 187, 120, 49, 84, 9, 227, 7, 5, 241,, 69, dan 47. Kunci yang digunakan kunci sama seperti pada saat enkripsi. Kemudian lakukan proses XOR untuk mendapatkan pesan aslinya. Dari hasil pengujian, maka didapat: Tabel 4.12 Hasil Dekripsi 2 Kode Biner (ASCII) 8» x 1 T W Ã ñ E / C 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 K 0 0 1 0 1 0 0 0 0 0 0 0 0 1 C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 K P P r o v i n s I A C e h

Tabel di atas menunjukkan hasil plaintext Provinsi Aceh. 4.2.2.3 Pengujian 3 (Tiga) Dekripsi Algoritma RC4 Menggunakan Blum Blum Shub Pada pengujian ketiga, ciphertext yang didekripsi adalah â Ë Xj>' n>çÿûáÿä$ëó 2 Þ ìò N. Kemudian ciphertext diubah kedalam bilangan desimal. Hasil pengubahan dalam bilangan desimal adalah 226, 141, 21, 203, 153, 88, 6, 62, 39, 2, 161, 0, 62, 231,, 255, 251, 193, 255, 196, 36, 235, 243, 127, 50, 31, 155, 222, 155, 236, 242, 8, 173, 20, 139, 149, dan 78. Kunci yang digunakan kunci yang sama seperti pada saat enkripsi. Kemudian lakukan proses XOR untuk mendapatkan pesan aslinya. Dari hasil pengujian, maka didapat pada tabel 4.13:

Tabel 4.13 Hasil Dekripsi 3 Kode Biner (ASCII) D U â Ë X J > '! n > Lf ç ÿ Û Á ÿ Ä $ Ë ó 2 Þ ì ò N el S C 2 1 2 1 1 1 1 2 1 2 2 1 2 1 3 2 2 1 5 3 1 2 1 2 2 8 1 2 1 1 7 2 8 6 3 6 2 4 0 5 0 2 6 1 3 0 5 5 9 5 9 6 3 4 2 0 1 5 2 5 3 4 7 0 3 4 8 1 8 2 9 2 6 1 3 3 6 1 0 1 5 1 3 5 6 5 3 7 5 2 5 6 2 3 9 9 K C K P A l g o r i t m A R C 4 M e R u p a K A n S t r e a m C i p h e r Dari tabel di atas bisa dilihat, bahwa plaintextnya kembali seperti pesan asli, yaitu: Algoritma RC4 Merupakan Stream Cipher.

4.3 Pembahasan Berdasarkan penjelasan pada bab sebelumnya, penelitian ini bertujuan untuk mengoptimasi kunci dengan metode acak Blum Blum Shub (BBS), hasil dari kunci Blum Blum Shub (BBS) digunakan untuk proses pengacakan S-Box pada algoritma RC4. Keamanan Blum Blum Shub (BBS) terdapat pada saat melakukan pemfaktoran terhadap nilai n yang harus kongruen dengan 3 modulo 4. Nilai n tidak perlu dirahasiakan dan dapat saja diumumkan. Blum Blum Shub (BBS) tidak dapat diprediksi dari arah kiri atau kanan, artinya jika diberikan barisan bit yang diperoleh dari Blum Blum Shub (BBS), maka kriptanalis tidak dapat memprediksi barisan bit sebelumnya atau sesudahnya. Algoritma Blum Blum Shub (BBS) dapat ditebak atau diketahui, apabila kriptanalis mendapatkan sebuah nilai p dan q, maka akan ada kemungkinnan untuk bisa menghitung nilai X, akan tetapi untuk mendapatkan nilai p dan q merupakan hal yang bisa dibilang sangat sulit karena belum ada algoritma yang efisien untuk memfaktorkan nilai n sehingga tingkat keamanan lebih terjaga dan kuncinya tidak mudah ditebak. Dengan menggunakan pembangkit kunci acak Blum Blum Shub (BBS), maka kemungkinan kriptanalis susah untuk mengetahui pesan apa yang dikirim oleh pengirim. Pada hasil pengujian juga bisa dilihat proses waktunya, berikut waktu yang dihasilkan pada saat proses generate kunci acak Blum Blum Shub (BBS) menurut panjang karakter yang diuji: Pengujian ke- Tabel 4.14 Waktu Pengujian Kunci BBS Plaintext Total karakter kunci Waktu generate 1. NIESA 5 :::1948878 2. Provinsi Aceh :::91429 3. Algoritma RC4 Merupakan Stream Cipher 20 :::08699 4. Kebanyakan PRNG tidak cocok digunakan untuk CSPRNG karena tidak memenuhi kedua persyaratan CSPRNG yang disebutkan di atas. CSPRNG dirancang BBS 25 :::26214

Plaintext untuk tahan terhadap bermacam-macam kriptanalis. 5. OPTIMASI KUNCI DENGAN BLUM BLUM SHUB PADA ALGORITMA RC4 Total karakter Waktu generate kunci kunci 30 :::2186553 Pada Tabel 4.14 di atas bisa dilihat, proses waktu untuk mendapatkan kunci dari Blum Blum Shub (BBS) tidak menentu, tidak tergantung dari jumlah karakter pendek atau panjangnya karakter, waktu yang dihasilkan dari karakter yang panjang malah sedikit jika dibanding dengan jumlah karakter yang pendek. Pengujian menurut range yang digunakan, sehingga hasil kunci dapat dilihat pada Tabel 4.15: Tabel 4.15 Kunci BBS Pengujian ke- Range Kunci BBS 1. 60 90 QPWKI 2. 60 90 QMMQQYLVSO 3. 33 127 +@L:xsUd='gILkn!]S=J 4. 0 255 ËLô :1ÜàÜPjtKs³»PEF"ºê< 5. 0-255 ølðüfä Í á½ úån ú½åsda Tabel 4.15 menunjukkan hasil kunci BBS, pada pengujian pertama digunakan range 60 90, kunci acak yang dihasilkan berupa huruf alfabet semua, pengujian ke dua juga menggunakan range yang sama dan juga menghasilkan kunci acak dengan huruf alfabet, sedangkan pada pengujian ke tiga menggunakan range 33 127, kunci acak yang digunakan berupa campuran, tetapi masih bisa dipakai. Jika menggunakan range dari 0 255 akan menghasilkan kunci acak campuran, tetapi kunci acak tersebut tidak semua bisa digunakan pada saat dekripsi, karena sebagian kunci acak tidak ada pada papan keyboard.

4.4 Perbedaan Waktu Enkripsi Dan Dekripsi Menurut Jumlah Karakter Pada pengujian yang telah dilakukan, maka diuji juga waktu eksekusi enkripsi dan dekripsi menurut jumlah karakter. Berikut hasil eksekusi waktu enkripsi dan dekripsi: 4.4.1 Waktu Enkripsi Menurut Jumlah Karakter Pada tahap pengujian di atas juga diuji waktu enkripsi, dari hasil pengujian didapatkan hasil sebagai Tabel 4.16 di bawah ini: Pengujian ke- Tabel 4.16 Waktu Enkripsi Plaintext Total karakter Kunci Waktu Enkripsi 1. NIESA 5 ::06.5737179 2. Provinsi Aceh ::17.0536642 3. 4. 5. Algoritma RC4 Merupakan Stream Cipher Kebanyakan PRNG tidak cocok digunakan untuk CSPRNG karena tidak memenuhi kedua persyaratan CSPRNG yang disebutkan di atas. CSPRNG dirancang untuk tahan terhadap bermacam-macam kriptanalis. OPTIMASI KUNCI DENGAN BLUM BLUM SHUB PADA ALGORITMA RC4 20 ::07:0661829 25 ::04:6041959 30 ::09:6215048 Tabel 4.16 menunjukkan waktu enkripsi menurut total karater kunci yang diperoleh, pada pengujian pertama terdapat 5 karakter kunci dengan waktu enkripsi ::06.5737179, pegujian kedua terdapat karakter kunci dengan waktu enkripsi ::17.0536642, pengujian ketiga terdapat 20 karakter kunci dengan waktu enkripsi ::07:0661829, pengujian yang ke empat terdapat 25 karakter kunci dengan waktu eksekusi ::04:6041959, sedangkan pengujian kelima terdapatkan 30 karakter kunci dengan waktu ::09:6215048.

Berikut tampilan grafik waktu enkripsi: Waktu Enkripsi 35 Jumlah Karakter kunci 30 25 20 15 5 0 Pengujian ke- Kunci Waktu Enkripsi 1 2 3 4 5 Pengujian Grafik 4.1 Waktu Enkripsi 4.4.2 Waktu Dekripsi Menurut Jumlah Karakter Pada tahap pengujian diatas selain menguji waktu enkripsi juga menguji waktu dekripsi dengan menggunakan kunci yang sama, karena kalau kuncinya tidak sama, maka hasil plaintext tidak akan kembali seperti pesan aslinya, dari hasil pengujian didapatkan hasil sebagai Tabel dibawah ini: Tabel 4.17 Waktu Dekripsi Pengujian ke- Ciphertext Total karakter kunci Waktu Dekripsi 1.,b X 5 ::05.1878581 2. 8»x1Twãñ E/ ::.8386244 3. â ËćXj>' n>çÿûáÿä$ëó 2 Þ íò- ĂN 20 ::02.8641302 4. >evß Åy<ûŽ`l0pć4SÞcçˆ4örÊ { 2ÁÕŸćā ' Õª OÑ&ÀòÖ_ìÁG5 Íìµ+- /(Ò»8Ùÿ ÖõãûêI«é'ZP éúaï¼[&#ínrāăýq Fx ü NÀâƒýi²sÁ9>6 t¹ øÿ ă-âÿ'x[ï#þì~āpr² āýv m'iõ_{:7»»&ãn(zsôª 25 ::02.8128999 5. è<f.œƒąćô²4ûy#$\ąš }ĂË ½D Í*ÔN ít&x e og½ótþ Ãóog 30 ::.9020951

Tabel 4.17 menunjukkan waktu dekripsi menurut total karater kunci yang diperoleh, pada pengujian pertama terdapat 5 karakter kunci yaitu QPWKI dengan waktu enkripsi ::05.1878581, pegujian kedua terdapat karakter kunci yaitu QMMQQYLVSO dengan waktu enkripsi ::.8386244, pengujian ketiga terdapat 20 karakter kunci yaitu +@L:xsUd='gILkn!]S=J dengan waktu enkripsi ::02.8641302, pengujian yang keempat terdapat 25 karakter kunci yaitu ËLô :1ÜàÜPjtKs³»PEF"ºê< dengan waktu eksekusi ::02.8128999, sedangkan pengujian yang kelima terdapat 30 karakter kunci dengan waktu eksekusi ::.9020951. Berikut grafik dari waktu dekripsi: Jumlah Karakter kunci 35 30 25 20 15 5 0 Waktu Dekripsi 1 2 3 4 5 Pengujian Uji Ke- Total Karakter Kuunci Waktu Dekripsi Grafik 4.2 Waktu Dekripsi Grafik 4.1 dan Grafik 4.2 menunjukkan waktu enkripsi dan dekripsi dengan kunci yang sama, waktu yang diperoleh tidak tergantung pada banyaknya karakter yang dienkripsi dan dekripsi. Pada Grafik 4.1 waktu yang paling cepat dalam memperoleh ciphertext yaitu pada pengujian keempat sedangkan waktu yang paling lama yaitu pada pengujian kedua. Pada Grafik 4.2 waktu yang paling cepat dalam memperoleh plaintext (pesan asli) yaitu pada pengujian kedua sedangkan waktu yang paling lama dalam memperoleh plaintext yaitu kesatu.

BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan Berdasarkan hasil dari pengujian sistem secara menyeluruh yang dilakukan pada Bab 4, maka ada beberapa hal yang dapat dijadikan kesimpulan pada penelitian ini, antara lain: 1. Algoritma Blum Blum Shub dapat memberikan kontribusi yang baik terhadap algoritma RC4. Ketika kunci yang dihasilkan oleh BBS terpasang pada algoritma RC4, maka tidak perlu membuat kunci sendiri, karena sepenuhnya menggunakan kunci tersebut. 2. Hasil pengacakan tabel S-Box dengan menggunakan kunci acak dari BBS tidak terjadi permutasi yang berulanga-ulang. 3. Jika menggunakan range antara 60 90, maka kunci yang dihasilkan semua huruf alfabet, sedangkan jika menggunakan range 33-127 maka karakter yang muncul sudah campuran, tetapi masih ada pada papan keyboardnya. Sedangkan jika menggunakan range dari 0-255 kunci yang dihasilkan sebagian tidat dapat digunakan pada saat dekripsi. 4. Kecepatan waktu yang diperoleh tidak tergantung pada jumlah karakter yang banyak atau sedikit. 5. Pada enkripsi, waktu proses yang tercepat yaitu pada pengujian keempat (::04.6041959), sedangkan proses yang lama pada pengujian kedua (::17.0536642). 6. Pada dekripsi, waktu proses tercepat yaitu pada pengujian kedua (::.8386244), sedangkan proses yang lama pada pengujian kesatu (::05.1878581).

5.2. Saran Penelitian ini masih sangat membutuhkan pengembangan lebih lanjut. Oleh karena itu ada beberapa saran yang penulis harapkan bisa dipenuhi pada penelitian selanjutnya, yaitu: 1. Untuk lebih menjaga keamanannya, sebaiknya nilai p dan q dibatasi, supaya mendapatkan hasil yang lebih efisien lagi. 2. Untuk kunci sebaiknya range dibatasi, supaya mendapatkan kunci acak yang baik untuk enkripsi dan dekripsi. 3. Untuk pengujian selanjutnya bisa menguji dengan lebih banyak karakter lagi. 4. Pengujian selanjutnya bisa juga dimodifikasi dengan algoritma pembangkit kunci yang lain.