Tahapan Sistem ANALISIS DAN PERANCANGAN SISTEM

3.3 Tahapan Sistem

3.3.1 Tahapan algoritma kriptografi Massey-Omura Sebuah pesan akan dikirimkan oleh Sender kepada Recipient dalam bentuk file dokumen. Sebelum pesan dikirimkan, dilakukan proses pengamanan terhadap isi file dokumen. File dokumen memiliki isi string “ASIMETRIS”. Langkah-langkah penyandian pesan dengan menggunakan algoritma Massey-Omura adalah sbb: 1 Proses Enkripsi1 algoritma Massey-Omura a. Dibangkitkan sebuah bilangan prima 128. Bilangan prima yang digunakan adalah 263. b. Sender membangkitkan sebuah bilangan untuk digunakan sebagai kunci enkripsi dengan syarat: 1 1 �� ����� − 1. 2 GCD ��, ����� − 1 = 1 atau eA dan prima-1 adalah coprime. Sender memilih 145 sebagai eA dan menghitung GCD ��, ����� − 1 dengan melakukan perhitungan sebagai berikut: 145 mod 262 = 145 262 mod 145 = 117 145 mod 117 = 28 117 mod 28 = 5 28 mod 5 = 3 5 mod 3 = 2 3 mod 2 = 1 Maka, GCD ��, ����� − 1 = 1 dan 145 dapat digunakan sebagai kunci eA. c. Sender membangkitkan kunci dekripsi dengan menghitung invers eA dan prima-1 dengan rumus �� � �� ��� ����� − 1 = 1. Tabel 3.1. Perhitungan kunci dA �� �� � �� ��� ����� − 1 = 1 �� � 145 ��� 262 = 1 25 219 73 105 ⋮ ⋮ 103 1 Karena 103 � 145 ��� 262 − 1 = 1, maka 103 digunakan sebagai dA. Universitas Sumatera Utara d. Ubah pesan yang akan dikirim menjadi integer berdasarkan tabel ASCII. Plainteks = “ASIMETRIS” M = 65 83 73 77 69 84 82 73 83 e. Enkripsi1 dilakukan oleh Sender dengan menghitung �1 = � �� ��� �. Prima = 263, eA = 145 C1 = 65 145 mod 263 = 239 C1 = 83 145 mod 263 = 151 C1 = 73 145 mod 263 = 5 C1 = 77 145 mod 263 = 215 C1 = 69 145 mod 263 = 25 C1 = 84 145 mod 263 = 188 C1 = 82 145 mod 263 = 97 C1 = 73 145 mod 263 = 5 C1 = 83 145 mod 263 = 151 Hasil dari Enkripsi1 adalah Cipherteks1 “239 151 5 215 25 188 97 5 151”. Sender kemudian mengirim C1 kepada Recipient. 2 Proses Enkripsi2 Recipient algoritma Massey-Omura a. Recipient membangkitkan sebuah bilangan untuk digunakan sebagai kunci enkripsi dengan syarat: 1 1 �� ����� − 1 2 GCD ��, ����� − 1 = 1 atau eB dan prima-1 adalah coprime. Recipient memilih 125 sebagai eB dan menghitung GCD ��, ����� − 1 dengan melakukan perhitungan sebagai berikut: 125 mod 262 = 145 262 mod 145 = 12 145 mod 12 = 1 Maka, GCD ��, ����� − 1 = 1 dan 125 dapat digunakan sebagai kunci eB. b. Recipient membangkitkan kunci dekripsi dengan menghitung invers eB dan prima-1 dengan rumus �� � �� ��� ����� − 1 = 1 Tabel 3.2. Perhitungan kunci dB �� �� � �� ��� ����� − 1 = 1 �� � 125 ��� 262 = 1 Universitas Sumatera Utara 25 243 73 217 ⋮ ⋮ 109 1 Karena 109 � 125 ��� 262 − 1 = 1, maka 109 digunakan sebagai dB. c. Enkripsi2 dilakukan oleh Recipient dengan menghitung �2 = �1 �� ��� �. Prima = 263, eB = 125 C2 = 239 125 mod 263 = 7 C2 = 151 125 mod 263 = 69 C2 = 5 125 mod 263 = 56 C2 = 215 125 mod 263 = 259 C2 = 25 125 mod 263 = 243 C2 = 188 125 mod 263 = 175 C2 = 97 125 mod 263 = 252 C2 = 5 125 mod 263 = 56 C2 = 151 125 mod 263 = 69 Hasil dari Enkripsi2 adalah Cipherteks2 “7 69 56 259 243 175 252 56 69”. Recipient kemudian mengirim C2 kepada Sender. 3 Proses Dekripsi1 Sender algoritma Massey-Omura Dekripsi1 dilakukan oleh Sender dengan menghitung �3 = �2 �� ��� �. Prima = 263, dA = 103 C3 = 7 103 mod 263 = 191 C3 = 69 103 mod 263 = 178 C3 = 56 103 mod 263 = 251 C3 = 259 103 mod 263 = 38 C3 = 243 103 mod 263 = 144 C3 = 175 103 mod 263 = 29 C3 = 252 103 mod 263 = 174 C3 = 56 103 mod 263 = 251 C3 = 69 103 mod 263 = 178 Hasil dari Dekripsi1 adalah C3 = 191 178 251 38 144 29 174 251 178. Sender kemudian mengirim C3 kepada Recipient. Universitas Sumatera Utara 4 Proses Dekripsi1 Recipient algoritma Massey-Omura a. Dekripsi2 dilakukan oleh Recipient dengan menghitung � = �3 �� ��� �. Prima = 263, dB = 109 M = 191 109 mod 263 = 65 M = 178 109 mod 263 = 83 M = 251 109 mod 263 = 73 M = 38 109 mod 263 = 77 M = 144 109 mod 263 = 69 M = 29 109 mod 263 = 84 M = 174 109 mod 263 = 82 M = 251 109 mod 263 = 73 M = 178 109 mod 263 = 83 Hasil dari Dekripsi2 adalah M = 65 83 73 77 69 84 82 73 83. b. M diubah kembali menjadi karakter berdasarkan tabel ASCII dan didapatkan Plainteks = “ASIMETRIS”. 3.3.2 Tahapan algoritma Even-Rodeh 1 Proses Kompresi algoritma Even-Rodeh Berikut ini adalah contoh proses kompresi file teks dengan algoritma Even-Rodeh dengan string “FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI”. Lakukan pengurutan karakter berdasarkan frekuensi kemunculan karakter. Pengurutan karakter dapat dilihat pada Tabel 3.3. Tabel 3.3. Bit Karakter sebelum Kompresi n char Frekuensi ASCII code ASCII Binari Bit Bit x Frek 1 Sp 5 32 00100000 8 40 2 A 4 65 01000001 8 32 3 I 4 73 01001001 8 32 4 O 4 79 01001111 8 32 5 K 3 75 01001011 8 24 6 U 3 85 01010101 8 24 7 L 3 76 01001100 8 24 8 T 3 84 01010100 8 24 9 M 3 77 01001101 8 24 10 N 3 78 01001110 8 24 11 F 2 70 01000110 8 16 12 S 2 83 01010011 8 16 Universitas Sumatera Utara 13 E 2 69 01000101 8 16 14 R 2 82 01010010 8 16 15 P 1 80 01010000 8 8 16 D 1 68 01000100 8 8 17 G 1 71 01000111 8 8 Total Bit 368 Kemudian, ganti bit karakter dengan bit kode Even-Rodeh dan didapatkan bit karakter yang sudah dikompresi sebagai berikut: Tabel 3.4. Bit Karakter setelah Kompresi n char Frekuensi Kode Even- Rodeh Bit Bit x Frek 1 Sp 5 000 3 15 2 A 4 001 3 12 3 I 4 010 3 12 4 O 4 011 3 12 5 K 3 1000 4 12 6 U 3 1010 4 12 7 L 3 1110 4 12 8 T 3 10010000 8 24 9 M 3 10010010 8 24 10 N 3 10010100 8 24 11 F 2 10010110 8 16 12 S 2 10011000 8 16 13 E 2 10011010 8 16 14 R 2 10011100 8 16 15 P 1 10011110 8 8 16 D 1 101100000 9 9 17 G 1 101100010 9 9 Total Bit 249 Dari Tabel 3.4 dapat dibentuk string bit kompresi dari string asli “FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI” dan didapatkan string bit dengan uraian sebagai berikut: 10010110 001 1000 1010 1110 10010000 001 10011000 000 010 1110 F A K U L T A S Sp I L 10010010 1010 000 1000 011 10010010 10011110 1010 10010000 10011010 M U Sp K O M P U T E 10011100 000 101100000 001 10010100 000 10010000 10011010 1000 R Sp D A N Sp T E K 10010100 011 1110 011 101100010 010 000 010 10010100 10010110 011 N O L O G I Sp I N F O 10011100 10010010 001 10011000 010 R M A S I Universitas Sumatera Utara Lakukan penambahan bit padding dan flagging pada akhir string bit. Hitung sisa bagi panjang string bit dengan tujuh. karena hasil dari sisa bagi adalah 4 maka ditambahkan padding berupa angka 0 sebanyak 3 buah “000” untuk mencukupi jumlah bit ketika dibagi tujuh dan flag bits “0000011” yang menunjukkan jumlah penambahan padding dalam bentuk binari sehingga string bit menjadi: “10010110001100010101110100100000011001100000001011101001001010100 00100001110010010100111101010100100001001101010011100000101100000 00110010100000100100001001101010001001010001111100111011000100100 0001010010100100101100111001110010010010001100110000100000000011”. Total bit setelah penambahan padding berjumlah 264 bit. Sebelum menuliskan string kompresi pada file, konversi bit menjadi karakter berdasarkan tabel ASCII. Maka, didapatkan hasil karakter kompresi sebagai berikut: 1001011 0001100 0101011 1010010 0000011 0011000 0000101 1101001 K Œ « Ò ETX CAN … i 0010101 0000100 0011100 1001010 0111101 0101001 0000100 1101010 • EOT FS J = EOT j 0111000 0010110 0000001 1001010 0000100 1000010 0110101 0001001 8 SYN SOH J EOT B 5 HT 0100011 1110011 1011000 1001000 0010100 1010010 0101100 1110011 s X H DC4 R , s 1001001 0010001 1001100 0010000 0000011 a. Ratio of Compression Rc I DC1 L DLE ETX String hasil kompresi yaitu: K Œ « Ò ETX CAN … i • EOT FS J = EOT j 8 SYN SOH J EOT B 5 HT s X H DC4 R , s I DC1 L DLE ETX Dari proses kompresi, kinerja kompresi algoritma dapat dihitung dengan cara sebagai berikut: �� = ������ ���� ������� �������� ������ ���� ������ℎ �������� �� = 368 249 = 1,48 Universitas Sumatera Utara b. Compression Ratio Cr �� = ������ ���� ������ℎ �������� ������ ���� ������� �������� � 100 �� = 249 368 � 100 = 67,66 c. Redudancy Rd �� = 100 − �� �� = 100 − 67,66 = 32,34 2 Proses Dekompresi algoritma Even-Rodeh Proses dekompresi teks dimulai dengan mengubah karakter kompresi menjadi string bit. Didapatkan string bit hasil kompresi yaitu: “10010110001100010101110100100000011001100000001011101001001010100 00100001110010010100111101010100100001001101010011100000101100000 00110010100000100100001001101010001001010001111100111011000100100 0001010010100100101100111001110010010010001100110000100000000011”. Sebelum string bit dirubah menjadi karakter asli , tentukan panjang string yang harus dibaca dengan menghapus padding dan flag bits dari string bit. Lakukan pembacaan flag bits yaitu tujuh bit terakhit string untuk mengetahui berapa jumlah padding yang ditambahkan pada string. Tujuh bit terakhir string bit adalah “0000011” atau sama dengan 3 dalam bentuk desimal. Maka dapat diketahui bahwa dilakukan penambahan 3 bit diakhir string, sehingga indeks terakhir n untuk pembacaan string bit adalah panjang string bit dikurangi dengan flag bits 7 bit ditambah jumlah padding yaitu 7 atau dapat ditulis n = panjang string bit – 7 + padding. Setelah didapatkan indeks terakhir yang akan dibaca dari string, dilakukan pembacaan string bit dari indeks ke-0 sampai ke-n. Indeks ke-0 dari string adalah “0” kemudian dilakukan pengecekan ke tabel kode Even-Rodeh. Karena “0” tidak merepresentasikan karakter apapun pada kode, maka pembacaan dilanjutkan pada indeks ke-1. Indeks ke-1 dari string adalah “0” dan dilakukan pengecekan ke tabel kode. Kode “00” tidak terdapat didalam tabel kode sehingga pengecekan dilanjutkan pada indeks ke-3. Indeks ke-3 dari string adalah “0”. Kode “000” Universitas Sumatera Utara terdapat pada kode tabel dan mewakili karakter Spasi. Proses ini akan terus dilakukan hingga indeks ke-n, sehingga diperoleh string asli yaitu “FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI”. Universitas Sumatera Utara

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM