• Tidak ada hasil yang ditemukan

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Setelah dilakukan analisis dan perancangan, proses berikutnya adalah implementasi desain logik yang telah dibuat pada tahap sebelumnya.

4.1.1 Tahapan Algoritma Massey-Omura dan Three Pass Protocol dengan menggunakan Lehmann Prime Generator

Algoritma Massey-Omura adalah algoritma kriptografi modern yang menggunakan sistem kriptografi asimetri (kunci privat). Algoritma Massey-Omura diusulkan oleh James Massey dan Jim K. Omura pada tahun 1982 ini, melakukan pemfaktoran bilangan yang sangat besar untuk mendapatkan kunci privat. Oleh karena alasan tersebut, Massey-Omura dianggap aman. Selain itu, Massey-Omura adalah salah satu algoritma yang pengimplementasiannya menggunakan three pass protocol (Winton, 2007).

Dalam kriptografi, three pass protocol merupakan kerangka kerja yang memungkinkan satu pihak bisa dengan aman mengirim pesan ke pihak kedua tanpa perlu bertukar atau mendistribusikan kunci enkripsi. Konsep dasar three pass protocol adalah bahwa setiap pihak memiliki kunci pribadi dan kedua pihak menggunakan kunci masing-masing secara mandiri (Degraf, et al. 2007). Three pass protocol bekerja sebagai berikut :

a. Pengirim memilih kunci enkripsi eA. Pengirim mengenkripsi pesan m dengan kunci dan mengirimkan pesan terenkripsi ke penerima.

c. Pengirim mendekripsi pesan C2(eB, C1(eA,m)) dengan menggunakan dA dan mengirim lagi pesan C3(eB,m) yang mana pesan ini dienkripsi oleh kunci penerima. Pengirim mengirim pesan tersebut ke penerima. Dan kemudian penerima mendekripsi pesan tersebut dengan dB untuk bisa menghasilkan C4(Plainteks).

Pada algoritma Massey-Omura ini, dibutuhkan bilangan prima untuk proses enkripsi dan dekripsi. Bilangan prima yang digunakan juga bisa lebih dari dua atau tiga digit.Oleh sebab itu, digunakan Lehmann Prime Generator untuk membangkitkan bilangan prima secara acak sehingga penulis tidak perlu menetapkan atau mencari bilangan prima secara manual. Penulis menggunakan algoritma Lehmann sebagai pembangkit bilangan prima karena apabila bilangan prima p bernilai 1 atau -1 berpeluang prima sebesar 50% yang apabila langkah ini diulang dan lolos sebanyak t kali maka akan menghasilkan sebuah bilangan prima p yang mempunyai kesalahan tidak lebih dari 1/2t (Mahmudi, 2010). Dimana t adalah jumlah digit bilangan prima yang diuji. Maka tingkat kesalahan yang dapat dilakukan semakin kecil daripada menggunakan algoritma pembangkit bilangan prima yang sering digunakan seperti Fermat. Pembangkit bilangan prima Lehmann juga efesien untuk mencari nilai yang sangat besar.

Sebagai contoh, A ingin mengirimkan pesan “ILKOM” kepada B. A menggunakan eA = 89 dan B menggunakan eB = 67. Dengan begitu, maka proses yang akan terjadi adalah sbb :

1. Pilih bilangan prima p dengan menggunakan Lehmann Prime Generator.

Pengecekan bilangan prima yang dibangkitkan adalah dengan menggunakan Lehmann Prime Generator. Misalnya :

Bangkitkan bilangan prima 101, dan dilakukan pengecekan apakah bilangan ini merupakan bilangan prima atau bukan dengan cara sebagai berikut :

a. pilih sebuah bilangan a dimana 1< a < 101.

b. misalkan nilai random yang terpilih untuk nilai a adalah 2. c. Hitung nilai L (Legendre), dimana L ≡ a (p-1)/2

mod p, dimana p = 101. L ≡ a (p-1)/2

≡ 2 (101-1)/2

mod 101 ≡ 250

mod 101

≡ 1125899906842624 mod 101 ≡ -1

d. Dikarenakan 101 memiliki 3 digit, yaitu 1, 0 dan 1, maka pembuktian nilai 101 merupakan prima adalah dicari sebanyak 3 kali. Maka pilih kembali nilai a. misal a = 3, maka L ≡ a (p-1)/2 mod p ≡ 3 (101-1)/2 mod 101 ≡ 350 mod 101 ≡ 717897987691852588770249 mod 101 ≡ -1 a = 4, maka L ≡ a (p-1)/2 mod p ≡ 4 (101-1)/2 mod 101 ≡ 450 mod 101 ≡ 126765060022822401496703205376 mod 101 ≡ 1 Maka benar bahwa 101 merupakan bilangan prima.

2. Enkripsi pesan dengan menggunakan algoritma Massey-Omura. Karakter “I” dalam ASCII bernilai 73,

Karakter “L” dalam ASCII bernilai 76, Karakter “K” dalam ASCII bernilai 75, Karakter “O” dalam ASCII bernilai 79, Karakter “M” dalam ASCII bernilai 77,

Kemudian diketahui bahwa untuk mencari cipherteks maka kita menggunakan rumus:

C1 = meA mod p

Dimana eA telah ditentukan sebelumnya bernilai 89 dan p bernilai 101, sehingga : C1= meA mod p = 7389 mod 101 = 59

C1= meA mod p = 7589 mod 101 = 11 C1= meA mod p = 7989 mod 101 = 19 C1= meA mod p = 7789 mod 101 = 47

Plainteks “Ilkom” setelah dienkripsi dengan Massey-Omura menjadi “59 77 11 19 47”. Cipherteks ini kemudian dikirim ke B.

3. Penerapan Three Pass Protocol untuk mendapatkan plainteks.

Setelah B meneriman pesan dari A yang merupakan cipherteks, B tidak dapat langsung mendekripsi pesan tersebut untuk mendapatkan plainteksnya. Tetapi, B harus mengenkripsi cipherteks tersebut dengan rumus :

C2= C1eB mod p

Dimana eB bernilai 67 dan p bernilai 101, sehingga : C2 =C1eB mod p = 5967 mod 101 = 86

C2= C1eB mod p = 7767 mod 101 = 96 C2 =C1eB mod p = 1167 mod 101 = 12 C2 =C1eB mod p = 1967 mod 101 = 68 C2 =C1eB mod p = 4767 mod 101 = 23

Cipherteks “59 2 17 10 26” setelah dienkripsi lagi oleh B menjadi “86 96 12 68 23”. Cipherteks ini kemudian dikirim ke A. Kemudian A mendekripsi cipherteks tersebut dengan rumus :

C3 = C2dA mod p Dimana dA ≡ eA-1 (mod p-1), sehingga : C3 = C2dA mod p = 869 mod 101 = 46 C3 =C2dA mod p = 969 mod 101 = 13 C3 =C2dA mod p = 129 mod 101 = 18 C3 =C2dA mod p = 689 mod 101 = 92 C3 =C2dA mod p = 239 mod 101 = 96

Cipherteks “86 26 14 91 83” setelah dienkripsi lagi oleh A menjadi “46 13 18 92 96”.

Cipherteks ini kemudian dikirim ke B. Kemudian B mendekripsi cipherteks tersebut dengan rumus :

m = C3dB mod p Dimana dB ≡ eB-1 (mod p-1), sehingga : C4 = C3dB mod p = 463 mod 101 = 73 C4 = C3dB mod p = 133 mod 101 = 76 C4 = C3dB mod p = 183 mod 101 = 75 C4 = C3dB mod p = 923 mod 101 = 79 C4 = C3dB mod p = 963 mod 101 = 77

Nilai 73 dalam kode ASCII adalah karakter I Nilai 76 dalam kode ASCII adalah karakter L Nilai 75 dalam kode ASCII adalah karakter K Nilai 79 dalam kode ASCII adalah karakter O Nilai 77 dalam kode ASCII adalah karakter M

Setelah B mendekripsi pesan tersebut, maka diketahuilah bahwa pesan yang dikirim oleh A adalah “ILKOM”.

4.1.2 Spesifikasi Kebutuhan Perangkat Lunak

Implementasi perangkat Add On menggunakan bahasa pemrograman XUL (XML User Interface) untuk membangun antarmuka dan bahasa pemrograman javascript untuk mengembangkan modul kendali (controller). Implementasi dilakukan dengan sistem operasi Microsoft Windows 7 Ultimate dan perangkat lunak source code editor Notepad++. Perangkat lunak e-mail client yang digunakan pada saat implementasi dan pengujian sistem adalah Mozilla Thunderbird 17.0.

4.1.3 Tampilan Sistem

Berikut adalah tampilan dari sistem yang dibangun :

1) Antarmuka Add-Ons Manager pada Pemasangan Add On Kemanan E-mail

Setelah diimplementasi dalam bentuk package dengan ekstensi archive document “*.xpi”, Add On dipasangkan pada Perangkat Mozilla Thuderbird menggunakan fasilitas Add-Ons Manager.

Gambar 4.1 Pemasangan Add On dengan Menggunakan Add-Ons Manager

Pada gambar 4.1 terlihat bahwa add on Massey-Omura cryptosystem telah berhasil terpasang di e-mail client Mozilla Thunderbird dan add on ini tidak bersifat permanen, disable add on untuk tidak memakai add on ini di Mozilla Thunderbird dan remove untuk menghapus add on dari Mozilla Thunderbird.

2) Antarmuka Jendela Write Setelah Pemasangan Add On Kemanan E-mail

Setelah add on dipasang, pengguna mengatur icon enkripsi dan dekripsi yang tampil pada toolbar jendela write. Pada jendela write icon enkripsi dan dekripsi akan terlihat seperti pada gambar 4.2.

Gambar 4.2 Icon Enkripsi pada Toolbar Mozilla Thunderbird

Icon enkripsi digunakan untuk mengenkripsi pesan. Icon enkripsi akan otomatis muncul di toolbar apabila add on telah terpasang. Namun apabila add on telah terpasang, icon enkripsi masih belum muncul di toolbar, pengguna bisa menambahkan icon secara manual dengan menu View >> Toolbars >> Customize. Lalu drag icon ke toolbar.

Icon dekripsi digunakan untuk mendekripsi pesan. Sama seperti icon enkripsi, icon dekripsi akan otomatis muncul di toolbar apabila add on telah terpasang. Namun apabila add on telah terpasang, icon dekripsi masih belum muncul di toolbar, pengguna bisa menambahkan icon secara manual dengan menu View >> Toolbars >> Customize. Lalu drag icon ke toolbar.

3) Antarmuka Proses Enkripsi dan Dekripsi Pesan Sesuai dengan Three Pass Protocol

Proses pertama adalah pesan dimasukkan oleh pengirim pada jendela write, kemudian pengguna menekan buton “enkripsi” pada toolbar. Perangkat Add On kemudian membangkitkan bilangan prima dengan Lehmann Prime Generator dan membangkitkan kunci dengan algoritma Massey-Omura untuk melakukan enkripsi pesan. Kunci ini disimpan untuk keperluan dekripsi pada tahap selanjutnya.

Gambar 4.4 Pesan sebelum dienkripsi oleh Pengirim

Pesan tersebut kemudian dienkripsi terlebih dahulu oleh pengirim dengan menekan button enkripsi sebelum dikirim.

Gambar 4.5 Pesan setelah dienkripsi oleh Pengirim

Pesan hasil enkripsi ini kemudian dikirimkan kepada penerima. Kemudian penerima membangkitkan kunci dengan algoritma Massey-Omura, kunci ini kemudian digunakan untuk proses enkripsi. Seperti pada proses sebelumnya kunci ini disimpan untuk keperluan dekripsi pada tahap berikutnya.

Pesan hasil enkripsi sebanyak dua kali ini dikirim kembali ke pengirim untuk selanjutnya dilakukan dekripsi dengan kunci yang telah disimpan oleh perangkat add on milik pengirim.

Gambar 4.7 Hasil Dekripsi Pesan oleh Pengirim

Kemudian pesan ini kembali dikirimkan kepada penerima untuk selanjutnya didekripsi oleh penerima sesuai dengan kunci miliknya sehingga diperoleh pesan asli.

Pada gambar 4.8 terlihat bahwa pesan telah berhasil didekripsi. Pesan hasil dekripsi tersebut sama dengan pesan sebelum dienkripsi. Hal ini menunjukkan bahwa proses enkripsi dan dekripsi dengan menggunakan algoritma Massey-Omura untuk mengamankan e-mail di Mozilla Thunderbird berjalan dengan baik.

Dokumen terkait