ALGORITMA
ONE TIME PAD
PADA SKEMA
THREE PASS PROTOCOL
TESIS
TASLIYAH HARAMAINI
127038021
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
ALGORITMA
ONE TIME PAD
PADA SKEMA
THREE PASS PROTOCOL
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Magister Teknik Informatika
TASLIYAH HARAMAINI
127038021
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : ALGORITMA ONE TIME PAD PADA SKEMA THREE PASS PROTOCOL
Kategori : TESIS
Nama : TASLIYAH HARAMAINI
Nomor Induk Mahasiswa : 127038021
Program Studi : MAGISTER TEKNIK INFORMATIKA
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2, Pembimbing 1,
Dr. Rahmat W. Sembiring, M.Sc.IT Prof. Dr. Herman Mawengkang
Diketahui/disetujui oleh :
Program Studi Magister (S2) Teknik Informatika Ketua,
PERNYATAAN
ALGORITMA ONE TIME PAD SKEMA THREE PASS PROTOCOL
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 21 Agustus 2014
PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini:
Nama : Tasliyah Haramaini
NIM : 127038021
Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:
ALGORITMA ONE TIME PAD PADA SKEMA THREE PASS PROTOCOL
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa menerima izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 21 Agustus 2014
Telah diuji pada
Tanggal: 21 Agustus 2014
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Herman Mawengkang
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap (berikut gelar) : Tasliyah Haramaini, S.Si Tempat dan Tanggal Lahir : Medan, 11 Juli 1979
Alamat Rumah : Jl. Syailendra No. 23 Medan Telepon/Faks/HP : 061-4142323/085261800106
E-mail : tazlie@gmail.com
Instansi Tempat Bekerja : Universitas Islam Sumatera Utara (UISU) Alamat Kantor : Jl. SM. Raja Teladan - Medan
DATA PENDIDIKAN
SD : SDN 060884 Medan TAMAT: 1992 SLTP : MTsN II Medan TAMAT: 1995
SLTA : MAN I Medan TAMAT: 1998
UCAPAN TERIMA KASIH
Bismillahirrahmaanirrohim, Alhamdulillah, terlebih dahulu penulis mengucapkan puji
dan syukur kehadirat Allah Subhanahu wa Ta’ala serta salawat dan salam kepada
Rasulullah SAW. Berkat izin-Nya yang telah memberikan kesehatan dan kemudahan sehingga penulisan tesis ini dapat diselesaikan tepat pada waktunya.
Dengan penuh rasa hormat penulis menyampaikan rasa terima kasih yang sebesar-besarnya kepada Ayahanda Alm. H.M.Nurhadi Sayuthi dan Ibunda Hj.Busainah Za’abas, yang tercinta Mhd. Itmamu Rizqi serta serta seluruh keluarga besar atas segala cinta dan kasih sayang, serta dukungan moral dan materil yang senantiasa diberikan dengan tulus kepada penulis sehingga penulis dapat menyelesaikan tesis ini.
Dalam menyelesaikan tesis ini, penulis juga memperoleh banyak bantuan dari berbagai pihak, untuk itu penulis mengucapkan terima kasih sebesar-besarnya kepada : 1. Rektor Universitas Sumatera Utara, Bapak Prof. Dr. Syahril Pasaribu DTM&H,M.Sc (CTM), Sp. A(K) atas kesempatan yang telah diberikan kepada penulis untuk dapat mengikuti dan menyelesaikan pendidikan Program Magister,
2. Ketua Program Studi Magister Teknik Informatika Bapak Prof. Dr. Muhammad Zarlis dan Sekretaris Program Studi Magister Teknik Informatika Bapak M. Andri Budiman, S.T, M.Comp.Sc,MEM beserta seluruh staff pengajar pada Program Studi Magister Teknik Informatika Program Pasca Sarjana Fasilkom-TI Universitas Sumatera Utara.
4. Komisi Pembanding Bapak Prof.Dr. Opim Salim Sitompul, Bapak Prof.Dr. Muhammad Zarlis dan Bapak Dr. Syahril Efendi, S.Si, M.IT yang telah memberikan saran dan kritik yang baik demi penyelesaian tesis ini.
5. Staff Pegawai Program Studi S2 Teknik Informatika Fasilkom-TI Universitas Sumatera Utara yang telah memberikan pelayanan administrasi terbaik selama perkuliahan.
6. Andriani S.Ayu, Hasdiana, Bang Andisyah serta rekan mahasiswa/i Kom B 2012 yang telah banyak membantu dan memberi semangat penulis selama perkuliahan.
7. Seluruh pihak yang tidak dapat penulis sebutkan satu persatu.
Dalam penulisan tesis ini penulis menyadari bahwa banyak terdapat kekurangan baik isi maupun tata bahasa, oleh sebab itu kritik dan saran yang membangun dari pembaca akan penulis terima dengan hati terbuka dan rasa terima kasih. Akhir kata penulis berharap semoga tesis ini bermanfaat bagi semua pembaca.
Medan, 21 Agustus 2014
Penulis,
ABSTRAK
Pada penelitian ini penulis menggunakan Algoritma One Time Pad pada skema Three Pass Protocol. Algoritma One Time Pad dikenal sebagai algoritma yang sempurna dan sangat sulit dipecahkan, kunci enkripsi hanya digunakan satu kali untuk satu pesan sehingga tidak terdapat perulangan penggunaan kunci. Skema three pass protocol merupakan suatu metode dimana dalam proses pengiriman pesan tidak perlu berbagi kunci enkripsinya, sehingga kedua belah pihak baik pengirim dan penerima tidak saling mengetahui kunci masing-masing. One Time Pad dalam skema Three Pass Protocol bertujuan agar keamanan pesan lebih terjaga kerahasiannya. Proses pengiriman pesan dilakukan dengan teknik rotasi yaitu mengubah posisi urutan cipherteks, sehingga cipherteks yang dihasilkan berbeda dengan cipherteks yang dikirim. Teknik rotasi ini bertujuan meningkatkan keamanan pada proses pengiriman pesan. Waktu yang diperlukan untuk eksekusi program tergantung pada pembangkit random kunci dan panjang plainteks.
ONE TIME PAD ALGORITHM ON THREE PASS PROTOCOL SCHEME
ABSTRACT
In this study the authors use the One Time Pad Algorithm on Three Pass Protocol scheme. Algorithm One Time Pad is known as a perfect algorithm and very difficult to resolve, the encryption key is used only once for a single message so that there is no looping key usage. Three pass protocol scheme is a method in which the process of sending a message does not have to share the encryption key, so that the two sides both sender and recipient do not know each key respectively. One Time Pad in Three Pass Protocol scheme aims to make security more messages private. The process of sending a message is done by changing the position of the rotation technique ciphertext sequence, so that the resulting ciphertext is different from the transmitted ciphertext. This rotation technique aimed at improving security in the process of sending a message. The time required for the execution of the program depends on the generation of random key and the plaintext length.
DAFTAR ISI
2.2 Kriptografi Simetrik dan Asimetrik 8
2.2.1 Kriptografi Simetrik 9
2.2.2 Kriptografi Asimetrik 10
2.3 Kriptografi Klasik dan Modern 12
2.3.1 Kriptografi Klasik 12
2.3.2 Kriptografi Modern 12
2.4 Keamanan Kriptografi 13
2.5 One Time Pad 14
2.6 Manajemen Kunci 17
2.7 Konsep Acak 19
2.8 Pembangkit Bilangan Acak Semu 20 2.8.1 Algoritma Pembangkit Bilangan Acak 20 2.8.2 Syarat Algoritma Pembangkit Bilangan Acak 20
2.8.3 Blum-Blum Shub (BBS) 21
2.9 Three Pass Protocol 22
2.10 Big O 23
2.10.1 Big Omega (Ω) 23
2.10.2 Big Tetha (ɵ) 23
BAB 3 METODOLOGI PENELITIAN
3.1 Lingkungan Peneletian 27
3.2 Variabel Yang Diamati 27
3.3 Teknik Pengembangan 28
3.4 Proses Analisis 30
3.4.1 Analisis Pesan (Plainteks) 30
3.4.2 Analisis Kunci (Key) 30
3.4.3 Analisis Enkripsi 32
3.4.4 Analisis Dekripsi 33
3.4.5 Analisis Three Pass Protocol 35
3.5 Instrumen Penelitian 36
BAB 4 HASIL DAN PEMBAHASAN
4.1 Pengantar 37
4.2 Hasil Simulasi 38
4.2.1 Hasil Simulasi Kunci KA dan KB 38
4.2.2 Hasil Simulasi Pesan Panjang 40
4.3 Analisi Big O 51
4.3.1 Analisis Enkripsi Big O 51 4.3.2 Analisis Dekripsi Big O 51
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 53
5.2 Saran 53
DAFTAR PUSTAKA 54
LAMPIRAN-LAMPIRAN
LAMPIRAN I 56
DAFTAR TABEL
Hal.
TABEL 2.1 Penelitian Terkait 25
TABEL 3.1 Random Kunci KA 31
DAFTAR GAMBAR
Hal.
Gambar 2.1. Kriptografi Berbasis Kunci 7
Gambar 2.2. Proses Enkripsi dan Dekripsi Kriptografi Simetri 9 Gambar 2.3. Proses Enkripsi dan Dekripsi Kriptografi Asimetri 11
Gambar 2.4. Siklus Kunci 18
Gambar 2.5. Skema Three Pass Protocol 22 Gambar 3.1. Flowchart Algoritma One Time Pad Dengan Three Pass Protokol 29 Gambar 3.2 One Time Pad pada skema Three Pass Protocol 35 Gambar 4.1. Plainteks Dengan Kode Biner 38
Gambar 4.2. Random Dengan Kunci BBS 39
Gambar 4.3. Kunci KA dan KB dalam Biner 39
Gambar 4.4. Proses Enkripsi dan Rotasi Cipherteks 39
Gambar 4.5. Proses dekripsi 40
Gambar 4.6. Hasil Proses generate Kunci Acak KA 41
Gambar 4.8. Plainteks panjang dalam Biner 47 Gambar 4.9. Kunci KA dan KB dalam Biner 47
Gambar 4.10 Proses Dekripi kedua dan waktu eksekusi 48 Gambar 4.11 Hasil Cipherteks CA dan rotasi cipherteks CA 49
Gambar 4.12 Hasil Cipherteks CB dan rotasi cipherteks CB 49
Gambar 4.13 Hasil Cipherteks CC dan rotasi cipherteks CC 50
ABSTRAK
Pada penelitian ini penulis menggunakan Algoritma One Time Pad pada skema Three Pass Protocol. Algoritma One Time Pad dikenal sebagai algoritma yang sempurna dan sangat sulit dipecahkan, kunci enkripsi hanya digunakan satu kali untuk satu pesan sehingga tidak terdapat perulangan penggunaan kunci. Skema three pass protocol merupakan suatu metode dimana dalam proses pengiriman pesan tidak perlu berbagi kunci enkripsinya, sehingga kedua belah pihak baik pengirim dan penerima tidak saling mengetahui kunci masing-masing. One Time Pad dalam skema Three Pass Protocol bertujuan agar keamanan pesan lebih terjaga kerahasiannya. Proses pengiriman pesan dilakukan dengan teknik rotasi yaitu mengubah posisi urutan cipherteks, sehingga cipherteks yang dihasilkan berbeda dengan cipherteks yang dikirim. Teknik rotasi ini bertujuan meningkatkan keamanan pada proses pengiriman pesan. Waktu yang diperlukan untuk eksekusi program tergantung pada pembangkit random kunci dan panjang plainteks.
ONE TIME PAD ALGORITHM ON THREE PASS PROTOCOL SCHEME
ABSTRACT
In this study the authors use the One Time Pad Algorithm on Three Pass Protocol scheme. Algorithm One Time Pad is known as a perfect algorithm and very difficult to resolve, the encryption key is used only once for a single message so that there is no looping key usage. Three pass protocol scheme is a method in which the process of sending a message does not have to share the encryption key, so that the two sides both sender and recipient do not know each key respectively. One Time Pad in Three Pass Protocol scheme aims to make security more messages private. The process of sending a message is done by changing the position of the rotation technique ciphertext sequence, so that the resulting ciphertext is different from the transmitted ciphertext. This rotation technique aimed at improving security in the process of sending a message. The time required for the execution of the program depends on the generation of random key and the plaintext length.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Kemajuan teknologi komputer berkembang pesat di segala bidang sesuai dengan kemajuan zaman. Fakta ini memungkinkan orang-orang dan komputer di seluruh dunia terhubung dalam suatu dunia maya yang dikenal sebagai cyberspace atau internet. Kemajuan teknologi selalu diikuti dengan sisi buruk teknologi tersebut. Salah satu dari sisi buruk teknologi yaitu rawannya keamanan data sehingga menimbulkan tuntutan akan tersedianya suatu sistem pengamanan data yang mampu mengimbangi kemajuan teknologi komputer tersebut. Keamanan data adalah hal yang sangat penting dalam komunikasi data, baik untuk tujuan keamanan bersama ataupun kerahasiaan individu.
Teknik kriptografi merupakan salah satu teknik untuk menjamin kerahasiaan informasi. Informasi ini terlindung karena pesan asli (plainteks) akan diubah menjadi pesan cipher (pesan sandi) dengan menggunakan kunci tertentu sehingga pesan ini tidak dapat diketahui oleh pihak yang tidak berkepentingan.
Banyak algoritma kriptografi yang telah diciptakan oleh para peneliti kriptografi seperti Algoritma Vernam Cipher, Vigenère Cipher dan Rivest Cipher 4 (RC-4). Pada penelitian ini penulis akan membahas mengenai algoritma One-Time Pad (OTP). One-time pad atau yang sering disebut sebagai Vernam cipher ditemukan oleh Mayor J. Maugborne dan G. Vernam ditahun 1917. (Munir, 2006)
Pemilihan algoritma one time pad merupakan salah satu stream cipher klasik yang secara matematis terbukti sempurna dalam mengamankan pesan (Stallings, 2006). Keamanan algoritma one-time pad terletak pada (1) penggunaan barisan bilangan acak sejati sebagai kunci enkripsi, (2) panjang kunci sama dengan panjang pesan dan tidak ada perulangan kunci sebagaimana pada Vigenère cipher.
panjangnya kunci sama dengan panjang plainteksnya sehingga tidak ada kebutuhan mengulang penggunaan kunci selama proses enkripsi. Setelah pengirim mengenkripsikan pesan dengan one time pad, kemudian ia menghancurkan one time pad tersebut (makanya disebut satu kali pakai atau one time). Penerima pesan menggunakan one time pad yang sama untuk mendekripsikan karakter-karakter cipherteks menjadi karakter-karakter plainteks. Jadi dapat disimpulkan jika plainteksnya panjang maka kunci juga panjang, hal ini akan menjadi permasalahan dalam menyimpan dan mendistrisbusikan kunci.
Dalam kriptografi three pass protocol pada proses pengiriman pesan merupakan suatu kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak kedua tanpa perlu untuk bertukar atau mendistribusikan kunci enkripsi.
Disebut dengan three pass protocol karena pengirim dan penerima pesan melakukan pertukaran cipherteks sebanyak tiga tahap untuk mengenkripsi pesan tersebut. Three-Pass Protocol pertama kali dikembangkan oleh Adi Shamir sekitar tahun 1980. Konsep dasar three-pass protocol adalah masing-masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci dekripsi pribadi. Kedua belah pihak menggunakan kunci mereka masing-masing untuk mengenkripsi dan untuk mendekripsi pesan.
Penelitian yang dilakukan Reza et all (2012), algoritma Massey-Omura memperkuat skema three pass protocol. Algoritma Massey Omura terletak pada kesulitan menghitung logaritma diskrit pada bidang terbatas. Algoritma Massey-Omura pada pembangkitkan bilangan prima menggunakan metode The Sieve of Erasthothenes. Algoritma Euclidean untuk mencari dua buah bilangan relatif prima, menggunakan algoritma Modulo Exponential pada proses enkripsi yang berfungsi menghitung nilai perpangkatan modulo GCD serta algoritma Modulo Invers untuk proses dekripsi.
OR). Hal ini dapat terjadi bila pertukaran kunci antara pengirim dan penerima pesan dapat direkam atau diketahui oleh kripnatalis, maka krinatalis dapat mengetahui plainteks tanpa perlu mengetahui kuncinya. (Kanamori dan Yoo, 2009).
1.2 Perumusan Masalah
One-time pad (OTP) adalah stream cipher yang melakukan enkripsi dan dekripsi satu karakter setiap kali digunakan. One-time pad masih aman jika dan hanya jika kunci tidak pernah digunakan kembali. Ketika kunci digunakan lebih dari satu kali, maka kriptosistem menjadi mudah diserang oleh kripnatalis.
Berdasarkan prinsip Kerchhoff bahwa kita mengasumsikan kripnatalis mengetahui algoritma yang digunakan, sehingga satu – satunya keamanan kriptografi terletak pada kunci (Munir, 2006). Untuk efisiensi kerja sistem yang menggunakan algoritma one-time pad, maka konsep three pass protocol membuat lebih terjamin keamanannya dan terjaga kerahasiaan algoritma OTP tersebut. Hal ini karena tidak ditemukan pendistribusian atau pertukaran kunci diantara masing-masing pihak.
1.3 Batasan Masalah
Untuk memberikan gambaran yang lebih rinci, seperti yang telah diuraikan dalam latar belakang masalah serta tujuan penelitian, maka batasan masalah dalam penelitian ini adalah:
1. Menggunakan algoritma one time pad pada skema three pass protocol.
2. Kunci dengan pembangkit bilangan semi-acak yaitu metode Blum – blum Shub
dengan range 1sampai dengan 10.000
3. Pesan yang akan dilakukan pada proses enkripsi dan dekripsi adalah bentuk teks.
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
Manfaat penelitian ini antara lain:
BAB 2
TINJAUAN PUSTAKA
2.1 Kriptografi
Kriptografi merupakan salah satu ilmu pengkodean pesan yang digunakan untuk meningkatkan keamanan dalam pengiriman pesan atau komunikasi data. Kriptografi penting dalam dunia teknologi informasi saat ini terutama dalam bidang komputer yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi. Kriptografi juga menjadi salah satu syarat penting dalam keamanan teknologi informasi dalam pengiriman pesan penting dan rahasia.
2.1.1 Pengertian Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri dari dua kata cryptós artinya rahasia dan gráphein atinya tulisan. Ada beberapa defenisi kriptografi yang digunakan sekitar tahun 1980-an yaitu kriptografi merupakan ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya (Munir, 2011).
Jadi kriptografi secara umum merupakan teknik pengamanan informasi dimana informasi tersebut diubah dengan menggunakan kunci tertentu melalui proses enkripsi menjadi informasi baru yang tidak dapat dimengerti oleh orang yang tidak berhak menerimanya, kemudian informasi tersebut dapat diubah kembali oleh orang yang berhak menerimanya melalui proses dekripsi.
2.1.2 Tujuan Kriptografi
kerahasiaan, integritas data, otentikasi, dan ketiadaan penyangkalan. Keempat aspek tersebut yag menjadi tujuan fundamental dari suatu sistem kriptografi :
1. Kerahasiaan (confidentiality)
Kerahasiaan adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tidak berwenang untuk mengaksesnya. Dengan demikian informasi hanya akan dapat diakses oleh pihak-pihak yang berhak saja.
2. Integritas data (data integrity)
Integritas data merupakan layanan yang bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berwenang. Untuk meyakinkan integritas data ini harus dipastikan agar sistem informasi mampu mendeteksi terjadinya manipulasi data. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data.
3. Otentikasi (authentication)
Otentikasi merupakan layanan yang terkait dengan identifikasi terhadap pihak-pihak yang ingin mengakses sistem informasi (entity authentication) maupun keaslian data dari sistem informasi itu sendiri (data origin authentication).
4. Ketiadaan penyangkalan (non-repudiation)
Ketiadaan penyangkalan merupakan layanan yang berfungsi untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengiriman pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.
2.1.3 Mekanisme Kriptografi
Suatu sistem kriptografi (kriptosistem) bekerja dengan cara menyandikan suatu pesan menjadi suatu kode rahasia yang dimengerti oleh pelaku sistem informasi saja. Pada dasarnya mekanisme kerja semacam ini telah dikenal sejak jaman dahulu.
Dalam era teknologi informasi sekarang ini, mekanisme yang sama masih digunakan tetapi tentunya implementasi sistemnya berbeda. Sebelum membahas lebih jauh mekanisme kriptografi modern, berikut ini diberikan beberapa istilah yang umum digunakan dalam pembahasan kriptografi. (Munir, 2011)
1. Plaintext
2. Chipertext
Chipertext merupakan pesan yang telah dikodekan (disandikan) sehingga siap untuk dikirimkan.
3. Cipher
Cipher merupakan algoritma matematis yang digunakan untuk proses penyandian plaintext menjadi ciphertext.
4. Enkripsi
Enkripsi (encryption) merupakan proses yang dilakukan untuk menyandikan plaintext sehingga menjadi chipertext.
5. Dekripsi
Dekripsi (decryption) merupakan proses yang dilakukan untuk memperoleh kembali plaintext dari ciphertext.
6. Kriptosistem
Kriptosistem merupakan sistem yang dirancang untuk mengamankan suatu sistem informasi dengan memanfaatkan kriptografi.
Prosesnya pada dasarnya sangat sederhana. Sebuah plainteks (m) akan dilewatkan pada proses enkripsi (E) sehingga menghasilkan suatu cipherteks (c). Kemudian untuk memperoleh kembali plainteks, maka cipherteks (c) melalui proses dekripsi (D) yang akan menghasilkan kembali plainteks (m). Secara matematis proses ini dapat dinyatakan sebagai, (Mollin,2007)
E(m) = c ... (1) D(c) = m ... (2) D(E(m)) = m ... (3)
dengan menggunakan kunci ini. Setiap anggota memiliki kuncinya masing-masing yang digunakan untuk proses enkripsi dan dekripsi yang akan dilakukannya. Dengan demikian ada sedikit perubahan yang harus dilakukan pada mekanisme yang digambarkan pada gambar diatas menjadi seperti gambar dibawah berikut ini,
Plain Teks Cipher Plain Teks
Enkripsi Dekripsi
Kunci Kunci
Gambar 2.1 Kriptografi berbasis kunci (Munir, 2011)
Mekanisme kriptografi seperti ini dinamakan kriptografi berbasis kunci. Dengan demikian kriptosistemnya akan terdiri atas algoritma dan kunci, beserta segala plainteks dan cipherteksnya.
Persamaan matematisnya menjadi seperti berikut,
Ee(m) = c ... (4) Dd(c) = m ... (5) Dd(Ee(m)) = m ... (6)
dengan,
e = kunci enkripsi d = kunci dekripsi
2. 2 Kriptografi Simetrik dan Asimetrik
mengerjakan apa yang tidak dapat dikerjakan pada kriptografi simetris yaitu sangat baik pada manajemen kunci. (Schneir,1996).
2.2.1. Kriptografi Simetrik
Kriptografi simetrik (symmetric cryptography) atau dikenal pula sebagai kriptografi kunci rahasia (secret-key cryptography), merupakan kriptografi yang menggunakan kunci yang sama baik untuk proses enkripsi maupun dekripsi. Secara matematis dapat dinyatakan bahwa :
e = d = k ... (7) Ek(m) = c ... (8) Dk(c) = m ... (9)
Istilah lain untuk kriptografi kunci simetri adalah kriptografi kunci privat (private-key cryptography), kriptografi kunci rahasia (secret-key cryptography), atau kriptografi konvensional (conventional cryptography). Proses enkripsi dan dekripsi pada kriptografi simetri dapat dilihat pada gambar 2.2.
Gambar 2.2 Proses Enkripsi dan Dekripsi Kriptografi Simetri
Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard) dan RC-4. Kategori yang termasuk pada algoritma simetris ini adalah algoritma block cipher, stream cipher dan One Time Pad.
Algoritma
Kelebihan kriptografi simetri adalah:
a. Proses enkripsi dan dekripsi kriptografi simetri membutuhkan waktu yang singkat.
b. Ukuran kunci simetri relatif pendek.
c. Otentikasi pengiriman pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh penerima dan pengirim saja.
Kekurangan kriptografi simetri adalah:
a. Kunci simetri harus dikirim melalui saluran komunikasi yang aman dan kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci.
b. Kunci harus sering diubah, setiap kali melaksanakan komunikasi.
2.2.2 Kriptografi Asimetrik
Kriptografi asimetrik (asymmetric cryptography) menggunakan kunci enkripsi dan kunci dekripsi yang berbeda. Kunci enkripsi dapat disebarkan kepada umum dan dinamakan sebagai kunci publik (public key) sedangkan kunci dekripsi disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itulah, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography).
Pada kriptosistem asimetrik, setiap pelaku sistem informasi memiliki sepasang kunci, yaitu kunci publik dan kunci pribadi. Kunci publik didistribusikan kepada umum, sedangkan kunci pribadi disimpan untuk diri sendiri. Algoritma yang memakai kunci publik diantaranya adalah:
a. Digital Signature Algorithm (DSA). b. RSA
c. Diffie-Hellman (DH)
Kelebihan kriptografi asimetri adalah:
a. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomunikasi.
b. Pasangan kunci privat dan kunci publik tidak perlu diubah dalam jangka waktu yang sangat lama.
c. Dapat digunakan dalam pengamanan pengiriman kunci simetri.
d. Beberapa algoritma kunci publik dapat digunakan untuk memberi tanda tangan digital pada pesan.
Kelemahan kriptografi asimetri adalah:
a. Proses enkripsi dan dekripsi umumnya lebih lambat dari algoritma simetri, karena menggunakan bilangan yang besar dan operasi bilangan yang besar. b. Ukuran cipherteks lebih besar dari pada plainteks.
c. Ukuran kunci relatif lebih besar dari pada ukuran kunci simetri.
Kelebihan dan kelemahan yang ada pada masing-masing kriptografi, maka tidaklah benar bahwa kriptografi kunci publik menggantikan kriptografi kunci simetris. Karena kriptografi kunci publik mempunyai kelemahan dari segi waktu komputasi dan ukuran cipherteks dibandingkan dengan kriptografi kunci simetris, maka hal ini mempunyai implikasi dalam praktek dan penggunaan.
2.3 Kriptografi Klasik dan Modern
Kriptografi berdasarkan sejarahnya dibagi atas dua yaitu kriptografi klasik dan modern. (Mollin,2007)
2.3.1. Kriptografi Klasik
Ada tiga alasan untuk mempelajari algoritma klasik, yaitu: 1. Untuk memnerikan pamahaman konsep dasar kriptografi 2. Sebagai dasar dari algoritma modern
3. Memahami potensi-potensi kelemahan sistem cipher. (Munir,2006)
Kriptografi klasik dibagi menjadi dua yaitu Substitution Ciphers (Cipher Substitusi) dan TranspositionCiphers (Transposisi cipher).
a. Substitution Ciphers (Cipher Substitusi)
Sistem kriptografi yang menggunakan operasi substitusi disebut dengan sistem substitusi. Prinsip utama cipher substitusi yaitu mengganti munculnya sebual simbol dengan simbol lain. Sistem kriptografi yang berbasis substitusi diantaranya adalah Shift Cipher (Caisar Cipher), Vigenère Cipher dan Hill Cipher. (Sadikin, 2012)
b. TranspositionCiphers (Cipher Transposisi).
Algoritma ini melakukan transpose terhadap rangkaian arakter didalam teks. Pada Cipher transposisi huruf-huruf pada plainteks tetap sama hanya urutannya yang diubah. Cipher transposisi dikenal dengan metode permutasi atau pengacakan (scrambling) karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.
Cipher Transposisi dapat dikelompokkan kedalam dua jenis yaitu sandi transposisi columnar dan sandi permutasi. (Sadikin, 2012)
2.3.2. Kriptografi Modern
Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma kriptografi klasik). Algoritma kriptografi modern dibuat sedmikian kompleks sehingga kripnatalis sangat sulit memecahkan cipherteks tanpa mengetahui kunci. (Munir,2006)
1. Cipher aliran (stream cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.
2. Cipher blok (blockcipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang
Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila ia memenuhi tiga kriteria berikut :
1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik.
2. Biaya untuk memecahkan ciphertext melampaui nilai informasi yang terkandung di dalam ciphertext tersebut.
3. Waktu yang diperlukan untuk memecahkan ciphertext melampaui lamanya 4. Waktu informasi tersebut harus dijaga kerahasiaannya.
2.5 One Time Pad
(pad = kertas bloknot) berisi barisan karakter-karakter kunci yang dibangkitkan secara acak. Aslinya, satu buah one time pad adalah sebuah pita (tape) yang berisi barisan karakter-karakter kunci. Satu pad hanya digunakan sekali (one time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain. Aturan enkripsi yang digunakan persis sama seperti pada Cipher Vigenere. Pengirim pesan menggunakan setiap karakter kunci untuk mengenkripsikan satu karakter plaintext. (Munir, 2006)
Enkripsi dapat digambarkan sebagai penjumlahan modulo 26 dari satu karakter plainteks dengan satu karakter kunci one time pad. Secara matematis proses ini dapat dijelaskan dengan persamaan berikut : (Mollin, 2007)
ci = (pi + ki) mod 26 ... (10)
keterangan :
pi : karakter plainteks ki : karakter kunci ci : karakter Cipherteks
Setelah pengirim mengenkripsikan pesan dengan one time pad, ia menghancurkan one time pad tersebut (makanya disebut satu kali pakai atau one time). Penerima pesan menggunakan one time pad yang sama untuk mendekripsikan karakter-karakter cipherteks menjadi karakter-karakter plainteks dengan persamaan:
Suatu algoritma dikatakan bagus keamanannya, apabila belum ada atau tidak ada cara untuk menemukan plaintext-nya. Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas.
Prinsip enkripsi pada algoritma ini adalah dengan mengkombinasikan masing-masing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu, panjang kunci setidaknya harus sama dengan panjang plaintext. Secara teori, adalah hal yang tak mungkin untuk mendeskripsi ciphertext tanpa mengetahui kuncinya.
Sebab jika kunci yang digunakan salah, akan diperoleh hasil yang salah juga, atau bukan plaintext yang seharusnya. Kemudian setiap kuncinya hanya boleh digunakan untuk sekali pesan. Pengambilan kunci harus dilakukan secara acak supaya tidak dapat diterka lawan dan jumlah karakter kunci harus sebanyak jumlah karakter pesan.
Contoh :
Plainteks : MESRAN Kunci : ALDYAN
Maka
Plainteks : M E S R A N
Kunci : A L D Y A N
Hasil : M P V P A A
Fungsi untuk mengenkrip pesan juga dapat dilakukan dengan cara meng-XOR-kan plaintext dengan kunci yang telah disiapkan untuk menghasilkan ciphertext
Sedangkan fungsi untuk mendekripsi tinggal meng-XOR-kan ciphertext dengan kunci yang sudah disepakati
contohnya :
Sebuah plaintext yaitu RUSDI dan memiliki sebuah kunci yaitu CRASH. Perlu diingat panjang kunci harus sama dengan plaintext dan sebaiknya tidak ada karakter yang
Hal yang sama juga harus dilakukan pada kunci yang dipilih.
Karakter ASCII Biner
Setelah itu masing-masing karakter di XOR-kan dengan Key
Proses dekripsi pesan juga melakukan operasi yang sama yaitu XOR antara Cipher dengan key.
Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001 Key : 0100 0011 0101 0010 0100 0001 0101 0011 0100 1000 XOR --- Plain : 0101 0010 0101 0101 0101 0011 0100 0100 0100 1001
--- ASCII : R U S D I
2.6. Manajemen Kunci
Proses pembuatan kunci sangat penting dan sebaiknya harus benar-benar acak. Sumber acak dapat diambil dari berbagai kejadian (events) yang muncul secara acak. Aplikasi kriprografi dapat menggunakan random number generator yang disediakan operating system untuk pmbuatan kunci, akan tetapi ini sebaiknya dilakuan jika random number generator yang disediakan cuku acak. (Kromodimoeljo, 2010)
Tujuan manajemen kunci adalah menjaga keamanan dan integritas kunci pada semua fase di dalam daur hidupnya. Pada umumnya setiap kunci akhirnya diganti dengan kunci lain. Jadi, keseluruhan fase membentuk siklus (lingkaran) karena penghancuran kunci biasanya diikuti dengan penggantiannya dengan kunci baru (garis putus-putus). (Munir, 2006)
Pada tahapan pembangkitan kunci adalah bagaimana membuat kunci yang tidak dapat diprediksi. Pada algoritma kunci-publik, pembangkitan kunci merupakan masalah tersendiri, karena pembangkitan kunci membutuhkan perhitungan matematis yang rumit. Selain itu, pembangkitan bilangan prima yang besar juga dibutuhkan untuk membentuk kunci. Oleh karena itu, pada algoritma kunci-publik dibutuhkan program khusus untuk membangkitkan kunci. Pembangkitan kunci pada algoritma simetri jauh lebih mudah daripada pembangkitan kunci pada algoritma kunci-publik. Karena kunci simetri umumnya terdiri dari rangkaian bit atau rangkaian karakter, maka setiap pengguna dapat membangkitkan kuncinya sendiri.
Pada tahapan penyebaran kunci, protokol kriptografi dapat digunakan untuk mendistribusikan kunci. Sementara pada tahapan penyimpanan kunci, kunci harus disimpan di tempat yang aman yang tidak memungkinkan pihak lawan untuk mengaksesnya. Oleh karena itu, penyimpanan kunci mungkin memerlukan perlindungan secara fisik.
Pada tahapan penyimpanan kunci, kunci sebaiknya disimpan tidak dalam bentuk jelas. Ada dua solusi alternatif untuk masalah ini. Pertama, kunci disimpan dengan mengenkripsinya dengan menggunakan kunci lain. Kedua, kunci dipecah menjadi beberapa komponen, setiap komponen disimpan di tempat terpisah.
Pada tahapan penggunaan kunci, Sistem kriptografi harus mempunyai kemampuan untuk mengubah kunci. Kunci diubah secara teratur untuk membatasi lama keberadaanya dan mengurangi nilainya dimata penyerang. Setiap kunci seharusnya diubah jauh sebelum dapat ditemukan.
2.7. Konsep Acak
Pengacakan adalah suatu masalah yang sangat krusial dalam bidang kriptografi dan pada bidang-bidang lain seperti statistik, simulasi komputer dan lainnya.
Dalam proses menganalisa sistem keamanan suatu sistem, salah satunya adalah dengan menganalisa pembangkit bilangan acaknya, yaitu sumber masukan pembangkit dan hasil keluaran bilangan acak tersebut. Pembangkit bilangan acak yang lemah ditandai dengan mudahnya diprediksi angka yang akan keluar, yang akan menyebabkan mudahnya menjebol sistem secara keseluruhan. Hal ini dicontohkan pada kasus penjebolan implementasi Secure Socket Layer (SSL) pada aplikasi Netscape. (Batten, 2013)
Pembangkit bilangan acak juga diharuskan aman dari berbagai macam serangan, baik serangan eksternal maupun serangan internal. Penyerang diasumsikan mengetahui keseluruhan atau setidaknya sebagian kode pembangkit bilangan acak. Penyerang juga diasumsikan mengetahui entropi-entropi yang digunakan sebagai sumber data pembangkit bilangan acak. Dibawah ini adalah list kebutuhan dasar dari keamanan terhadap pembangkit bilangana acak menggunakan terminologi umum. (Barak, 2005) Berikut list celah keamanan yang lebih detail:
Keacakan. Pembangkit bilangan acak menghasilkan kumpulan bilangan yang terlihat benar-benar acak dari luar.
Keamanan prediksi. Walaupun terdapat pengetahuan state dari pembangkit bilangan acak pada suatu saat, mulai dari entropi hingga keluarannya, namun tidak dapat memprediksi apapun khususnya keluaran selanjutnya dari pembangkit bilangan acak.
Keamanan masa lalu. Walaupun terdapat pengetahuan state dari pembangkit bilangan acak pada suatu saat khususnya jika diberikan sejumlah entropi yang sama persis tidak akan menyebabkan keluran pembangkit bilangan acak menjadi sama.
2.8. Pembangkitan Bilangan Acak Semu
benar-benar acak. Bila bilangan acak memiliki sifat-sifat tertentu karena hasil perhitungan aritmatika tertentu, misal: berulang, maka hasil analisas statistiuk yang dihasilkan tidak akurat dan kurang dapat dipercaya.
Pada bidang kriptografi, bilangan acak dibutuhkan untuk menghasilkan berbagai hal, seperti menghasilkan kata kunci yang baik, menghasilkan kunci dan padanannya pada algoritma kriptografi asimetrik/publik, membangkitkan vektor inisialisasi pada hampir seluruh algoritma kriptografi dan lainnya.
2.8.1. Algoritma Pembangkit Bilangan Acak
Terdapat beberapa algoritma yang sering dan umum dipakai di bidang kriuptografi untuk membangkitkan bilangana acak semu. Algoritma tersebut adalah: LCG (linear Congruential Generator) dan BBS (Blum- Blum Shub). Selain kedua algoritma diatas masih banyak algoritma lain, semisal: algoritma Mersenne Twister, algoritma Knuth, dan lain-lain.
2.8.2. Syarat Algoritma Pembangkit Bilangan Acak
Algoritma pembangkit bilangan acak harus setidaknya memenuhi syarat-syarat yang telah ditentukan pada Request For Commands 1750 [10] (Randomness Recommendations for Security). Ringkasan dari RFC 1750 adalah sebagai berikut:
• Tidak dapat diprediksi.Suatu algoritma pembangkit bilangan acak harus bersifat
tidak dapat diprediksi hasil keluarannya. Sebab dengan dapat memprediksi keluaran suatu algoritma, maka dengan tidak langsung dapat pula mengetahui kelauran dari fungsi kriptografi secara keseluruhan.
• Untuk algoritma yang berdasarkan pada perangkat keras: Tahan akan pembelokan.
Yaitu bila perangkat keras dimanipulasi, maka algoritma dapat tahan terhadap manipulasi sumber bilangan tersebut hingga level tertentu yang tidak mungkin lagi dapat ditahan.
• Untuk algoritma yang berdasarkan perangkat lunak/aritmatika: Memiliki fungsi
2.8.3. Blum-Blum Shub (BBS)
Blum-blum shub cukup terkenal sebagai sebuah algoritma pembangkit bilangan acak yang baik dikarenakan kemangkusannya dan kesederhanaannya. BBS dibuat pada tahun1986 oleh tiga orang: Lenore Blum, ManuelBlum, dan Michael Shub.
Kunci enkripsi yang digunakan dibangkitkan dengan pembangkit bilangan acak cryptographically secure pseudorandom generator (CSPRNG) menggunakan teori bilangan Blum-Blum Shub.
Algoritma/langkah-langkah pembangkitan bilangan acak BBS adalah sebagai berikut: (Munir, 2006)
1. Pilih dua buah bilangan prima rahasia p dan q, yang masing-masing kongruen 3 modulo 4 atau 3 = x mod 4 (dalam praktek bilangan prima yang digunakan cukup besar).
2. Kalikan keduanya menjadi n = pq. Bilangan n ini disebut bilangan bulat Blum. 3. Pilih bilangan acak lain s, sebagai umpan sedemikian sehingga:
(i) 2 ≤ s ≤ n
(ii) s dan n relatif prima
kemudian hitung x0 = s2 mod n
4. Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang yang diinginkan.
(iii) hitung xi= xi– 12 mod n (iv) zi= bit LSB dari xi
Barisan bit acak yang dihasilkan adalah z1, z2, z3, ...
2.9. Three-Pass Protocol
Three Pass Protokol pada kriptografi, dalam pengiriman pesan merupakan suatu skema kerja yang memungkinkan satu pihak terjaga kerahasiaanya saat mengirimkan pesan ke pihak kedua tanpa perlu bertukar atau mendistribusikan kunci enkripsi.
Disebut Three-Pass Protocol karena pengirim dan penerima pesan melakukan tiga tahap pertukaran untuk mengenkripsi pesan tersebut. Konsep dasar Three-Pass Protocol bahwa masing-masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci deskripsi pribadi. Kedua belah pihak menggunakan kunci mereka masing-masing untuk mengenkripsi pesan dan kemudian untuk mendekripsi pesan.
Berikut merupakan Skema dari Three-Pass Protocol :
Gambar 2.5 Skema Three-Pass Protocol Cara kerja skema Three-Pass Protocol:
1. Pengirim (Agus) memilih sebuah kunci sandi pribadi s dan kunci dekripsi t. Pengirim pesan mengenkripsi pesan m dengan kunci s dan mengirimkan pesan terenkripsi E(s, m) untuk penerima (Boni).
2. Penerima memilih sebuah kunci pribadi r dan kunci dekripsi q dan mengenkripsi pesan pertama E(s, m) dengan kunci r lalu, mengirimkan kembali kunci enkripsi ganda E(r, E(s, m)) kepada pengirim (Agus).
penerima. Selanjutnya penerima mendekripsi pesan tersebut dengan kunci q sehingga dapat diketahui plainteksnya.
Dengan demikian antara Agus dan Boni tidak terdapat pertukaran atau pendistribusian kunci, sehingga kerahasiaan kunci tetap terjaga.
2.10. Big O
Notasi big O pertama kali diperkenalkan oleh seorang teoritis bilangan bernama Paul Bachmann pada tahun 1894, didalam buku keduanya yang berjudul Analytische
Zahlentheorie (“analytic number teory”). Dalam teori kompleksitas komputasi, notasi
big O sering digunakan untuk menjelaskan bagaimana ukuran data masukan mempengaruhi sebuah kegunaan algoritma dari sumber daya komputasi (biasanya running time atau memori). Definisi pertama dalam pengukuran kompleksitas suatu masalah adalah Big O (Hankerson D. Menezes, Vanstone, 2003).
Definisi :
T(n) = O(f(n)), jika ada konstanta positif c dan dimana T(n) < c(f(n)), ketika n > . T(n) = O(f(n)), artinya T(n) berorde paling besar f(n) bila terdapat konstanta c dan sehingga T(n) <= c(f(n)) untuk n >=
2.10.1 Big Omega (Ω)
Defenisi kedua dalam pengukuran kompleksitas suatu masalah adalah Big Omega. (Hankerson D. Menezes, Vanstone, 2003).
Definisi : Theta. (Hankerson D. Menezes, Vanstone, 2003).
Suatu algoritma dikatakan anggota Θ (h(n)) jika algoritma itu adalah anggota O(h(n))
Nilai O-besar, Ω-besar, dan Θ-besar dari algoritma di atas adalah sebagai berikut : Untuk i = 1,
Tabel 2.1. Penelitian Terkait
No. Judul Penelitian Peneliti Pembahasan Tahun
1. Encryption And
BAB 3
METODE PENELITIAN
3.1 Lingkungan Penelitian
Dalam penelitian ini penulis akan menganalisis proses keamanan terhadap pesan yang akan
dikirim dengan menggunakan algoritma one time pad serta memanfaatkan konsep three pass
protocol sehingga tidak diperlukan pertukaran kunci atau mendistribusikan kunci enkripsi.
Metode tersebut dapat digunakan untuk menghasilkan keamanan data yang lebih baik.
Ilustrasi dari metode diatas dapat dilihat sebagai berikut :
1. Membuat plainteks untuk one time pad.
2. Membangkitkan kunci dengan cara random menggunakan algoritma CSPRNG Blum
Blum Shub (BBS).
3. Dengan cara enkripsi one time pad yaitu panjang kunci sama dengan panjang
plainteksselanjutnya dihasilkan pesan cipherteks:
ci = pi XOR ki
4. Pesan cipherteks dikirim kepada penerima pesan, selanjutnya akan terjadi tiga kali
proses kirim dan terima pesan (three pass protocol) sehingga menghasilkan plainteks
yang benar.
3.2 Variabel Yang Diamati
Variabel yang akan digunakan dalam penelitian ini berbentuk pesan teks yang diubah kedalam
kode ASCII, pesan tersebut diproses melalui proses enkripsi dan dekripsi. Terdapat dua
tersebut. Teks yang digunakan dalam penelitian ini terdiri dari huruf besar dan huruf kecil,
angka dan spasi.
3.3 Teknik Pengembangan
Teknik pengembangan algoritma one time pad ini menggunakan metode three pass protocol
untuk proses enkripsi dan dekripsi. Disini terdapat 3 (tiga) kali proses pengiriman dengan 2
(dua) kali proses enkripsi dan 2 (dua) kali proses dekripsi. Proses tersebut akan menghasilkan
pesan yang terjaga kerahasiannya dari pihak yang tidak berkepentingan.
Tahapan enkripsi dilakukan untuk mengubah plainteks menjadi cipherteks agar pesan
tidak dapat dibaca oleh orang yang tidak berhak. Tahapan ini dimulai dari proses penginputan
kunci dengan menggunakan pembangkit bilangan acak cryptographically secure
pseudo-random number generator (CSPRNG) Blum Blum Shub(BBS). Setelah kunci diinputkan
kemudian dilanjutkan ke proses penginputan plainteks. Hasil dari proses enkripsi tersebut
berupa chiperteks yang akan dikirim oleh pengirim pesan kepada penerima pesan tanpa
mengikutsertakan kuncinya. Setelah penerima pesan menerima pesan dalam bentuk
chiperteks, kemudian penerima menggunakan algoritma one time pad (OTP) untuk melakukan
proses enkripsi kembali terhadap chiperteks tersebut dengan kunci yang berbeda. Dan hasil
proses tersebut berbentuk cipherteks juga. Chiperteks tersebut dikirim kembali kepada
pengirim pesan.
Proses selanjutnya pengirim pesan melakukan proses dekripsi terhadap cipherteks
tersebut dengan algoritma one time pad dan hasil dari proses dekripsi tersebut masih
berbentuk chiperteks dan dikirim kembali kepada penerima pesan. Disini penerima pesan
melakukan proses dekripsi kembali terhadap cipherteks yang diterima dari pengirim pesan
dengan menggunakan algoritma one time pad sehingga menghasilkan sebuah plainteks.
Gambar 3.1. Flowchart algoritma One Time Pad dengan Three Pass Protocol
Start
Input Plainteks
Random Kunci KA
Dekripsi - 2 One Time Pad : Cipherteks - 3 & Kunci KB
Pass Protocol 1
Pass Protocol 2
Pass Protocol 3
Enkripsi - 1 One Time Pad : Plainteks & Kunci KA
Cipherteks - 1
Enkripsi - 2 One Time Pad : Cipherteks - 1 & Kunci KB
Cipherteks - 2 Random Kunci KB
Dekripsi-1 One Time Pad: Cipherteks-2 & Kunci KA
Cipherteks - 3
Plainteks
3.4. Proses Analisis
Proses analisis merupakan bagian dari perancangan suatu sistem agar sesuai dengan
perencanaan. Tujuan dari proses analisis tersebut agar sistem yang dirancang menjadi tepat
guna dan terjaga ketahanannya. Keuntungan dari melakukan proses analisis yaitu dapat
mempermudah dalam pembuatan sistem. Jika terdapat perbaikan atau penambahan dalam
sistem tersebut menjadi lebih mudah untuk menyelesaikannya. Berikut dijelaskan tentang
sistematika algoritma one time pad dalam kasus sederhana.
3.4.1. Analisis Pesan (Plainteks)
Pesan dalam bentuk teks, karakter yang digunakan adalah huruf kapital, huruf kecil, angka 0-9
dan spasi yang diubah dalam kode ASCII, selanjutnya dikonversi kebentuk biner.
Plainteks : INSPIRASI
ASCII : 73, 78, 83, 80, 73, 82, 65, 83,73
Biner teks : 01001001, 01001110, 01010011, 01010000, 01001001, 01010010,
01000001, 01010011, 01001001
3.4.2. Analisis Kunci (Key)
Kunci enkripsi yang digunakan pada proses enkripsi, dibangkitkan dengan pembangkit
bilangan acak cryptographically secure pseudorandom generator (CSPRNG) menggunakan
teori bilangan Blum-Blum Shub yaitu
1. Pertama diacak bilangan prima rahasia p dan q, masing-masing bilangan terdefenisi
sebagai 3 = x mod 4. Dalam praktek digunakan bilangan prima yang besar.
Dimisalkan:
- Bilangan prima p = 71
- Bilangan prima q = 11
2. Dihitung nilai n sebagai bilangan Blum dengan : n = p * q = 781
3. Diacak sembarang bilangan prima sebagai umpan yaitu s = 431
4. Selanjutnya dicari nilai dari barisan bilangan acak dengan rumus:
x0 = S
5. LSB zi diperoleh dan dikonversi dalam basis 10 (desimal) kemudian ditentukan urutan
kunci.
Proses enkripsi dilakukan sebanyak 2 (dua) kali yaitu kunci Agus (KA) dan kunci Boni
(KB).
Hasilnya dapat dilihat dalam tabel berikut ini :
Tabel 3.2 Random Kunci KB
Pada proses enkripsi pertama pengirim pesan (Agus) menggunakan algoritma one time pad.
Fungsi yang digunakan untuk mengenkripsi pesan yaitu meng-XOR-kan plainteks dengan
kunci yang diacak yaitu KA untuk menghasilkan cipherteks. Cipherteks (dimisalkan: CA) yang
dihasilkan selanjutnya dikirim ke Boni.
Proses selanjutnya dilakukan oleh penerima pesan (Boni), Boni mengenkripsi kembali
cipherteks yang diterimnya. Kunci yang digunakan merupakan kunci pribadi Boni (KB). Hasil
enkripsi berupa cipherteks (kita misalkan: CB) kemudian dikirim kembali ke Agus. Berikut
langkah-langkah enkripsi One Time Pad pada Skema Three Pass Protocol.
1. Proses Enkripsi Pertama
Untuk memperoleh cipherteks pertama, Agus mengenkripsikan plainteks dengan kunci
XOR
XOR
Fungsi yang digunakan untuk mengenkripsi pesan yaitu meng-XOR-kan plainteks dengan
kunci sesuai persamaan :
01001001, 01001110, 01010011, 01010000, 01001001, 01010010, 01000001, 01010011, 01001001
01001101, 01001100, 01001011, 01001001, 01001101, 01001100, 01001011, 01001001, 01001101
00000100, 00000010, 00011000,00011001, 00000100, 00011110, 00001010, 00011010, 00000100
Sehingga diperoleh cipherteks CA yang didapat dalam bentuk ASCII
Cipherteks CA = [4, 2, 24, 25, 4, 30, 10, 26, 4]
2. Proses Enkripsi Kedua
Pada proses enkripsi penerima pesan (Boni) menggunakan algoritma one time pad.
Sama halnya dengan fungsi yang digunakan oleh Agus untuk mengenkripsi pesan yaitu
XOR Perhitungan cipherteks dalam Biner
00000100, 00000010, 00011000, 00011001, 00000100, 00011110, 00001010, 00011010, 00000100
01000010, 01001010, 01001001, 01000110, 01010000, 01000010, 01000010, 01001100, 01001111
01000110, 01001000, 01010001, 01011111, 01010100, 01011110, 01001000, 01011010, 01001111
Proses enkripsi cipherteks CB yang diperoleh dalam ASCII
Cipherteks CB = [70, 72, 81, 95, 84, 92, 72, 86, 75]
Selanjutnya CB akan dikirim kembali ke Agus untuk proses dekripsi.
3.4.4. Analisis Dekripsi
Pada tahapan dekripsi ini pengirim pesan (Agus) tetap menggunakan algoritma one time pad.
Agus akan mendekripsikan pesan cipherteks CB dengan kunci KA untuk menghasilkan
cipherteks-3 (CC).
Selanjutnya cipherteks CC akan dikirim kembali ke Boni untuk proses dekripsi
berikutnya. Boni akan mendekripsikan cipherteks CC dengan kunci KB hingga akhirnya
kembali terbentuk pesan asli (plainteks). Tahapan proses dekripsi dapat diuraikan sebagai
berikut.
1. Dekripsi Pertama
Untuk menghasilkan cipherteks yang ketiga (CC) Agus melakukan dekripsi pada
cipherteks CB yang dihasilkan dalam enkripsi kedua. CB didekripsi dengan
menggunakan kunci KA. Dekripsi dilakukan dengan menggunakan persamaan berikut:
CC = CB XOR KA
Cipherteks CB :
Kunci KA :
Cipherteks CC : ...
70 72 81 95 84 92 72 86 75
XOR Perhitungan cipherteks dalam Biner
01000110, 01001000, 01010001, 01011111, 01010100, 01011101, 01001000, 01010110, 01001011
01001101, 01001100, 01001011, 01001001, 01001101, 01001100, 01001011, 01001001, 01001101
00001011, 00000100, 00011010, 00010110, 00011001, 00010001, 00000011, 00011111, 00000110
Proses dekripsi diatas menghasilkan cipherteks-3 (CC) yang didapat dalam ASCII
Cipherteks CC = [11, 4, 26, 22, 25, 16, 3, 31, 6]
2. Dekripsi Kedua
Pada proses dekripsi kedua ini Boni melakukan dekripsi pada cipherteks-3 (CC)
yang diperoleh dari dekripsi pertama. CC didekripsi dengan menggunakan
algoritma one time pad dan kunci Boni KB. Dekripsi tersebut dilakukan dengan
menggunakan persamaan berikut:
P = CC XOR KB
Cipherteks CC :
Kunci KB :
Plainteks : ...
Perhitungan cipherteks dalam Biner
00001011, 00000100, 00011010, 00010110, 00011001, 00010001, 00000011, 00011111, 00000110
01000010, 01001010, 01001001, 01000110, 01010000, 01000010, 01000010, 01001100, 01001111
01001001, 01001110, 01010011, 01010000, 01001001, 01010010, 01000001, 01010011, 01001001
Proses dekripsi diatas menghasilkan decriptext yang didapat dalam ASCII
Decriptext = 73, 78, 83, 80, 73, 82, 65, 83, 73
Decriptext = Plainteks = I N S P I R A S I
11 4 26 22 25 16 3 31 6
Dekripsi di atas menghasilkan plainteks kembali. Ini merupakan proses akhir dari
pengamanan pesan yang dilakukan. Karakter pada cipherteks sudah dapat dipahami karena
cipherteks telah kembali kebentuk pesan asli (plainteks).
Sehingga setelah dilakukan perhitungan pada proses enkripsi dan dekripsi untuk algoritma
One Time Pad pada skema Three Pass Protocol dapat dipetakan pada diagram skema seperti
pada gambar 3.2.
Gambar 3.2 One Time Pad pada skema Three Pass Protocol
3.4.5. Analisis Three Pass Protocol
Penelitian tentang Three Pass Protocol dan algoritma XOR menjelaskan bahwa Three Pass
Protocol memiliki kelemahan fatal. Kelemahan tersebut yaitu apabila kriptanalis mengetahui
proses pertukaran pesan dan merekam cipherteks-1 hingga cipherteks-3.
(Kanamori,Yoo.2009)
Penelitian ini sekaligus menguji apakah teori yang dijelaskan di atas berlaku juga pada
algoritma one time pad. Dari analisis yang telah dilakukan untuk enkripsi dan dekripsi di atas,
maka:
CA = P XOR KA ... 1)
= (P XOR KA) XOR KB ... 2)
CC = CB XOR KA
= (P XOR KA) XOR KB XOR KA
= P XOR KB ... 3)
atau secara matematis dapat dibuktikan sebagai berikut:
DA,B = CA XOR CB
= (P XOR KA) XOR (P XOR KA) XOR KB
= KB
DA,B,C = CC XOR DA,B
= CC XOR KB
= (P XOR KB ) XOR KB
= P
Persamaan di atas dapat dibuktikan dengan mengilustrasikan hasil analisis enkripsi dan
dekripsi yang telah dijabarkan sebelumnya. Dari data diatas kita XOR-kan CA, CB, dan CC
sebagai berikut:
CA =00000100,00000010,00011000,00011001,00000100,00011110,00001010,00011010,00000100
CB = 01000110,01001000,01010001,01011111,01010100,01011110,01001000,01011010,01001111
DA,B= 01000010,01001010,01001001,01000110,01010000,01000010,01000010,01001100,01001111
CC = 00001011,00000100,00011010,00010110,00011001,00010001,00000011, 00011111,00000110
DA,B,C=01001001,01001110,01010011,01010000,01001001,01010010,01000001, 01010011,01001001
DA,B,C = P = 73, 78, 83, 80, 73, 82, 65, 83, 73
= I N S P I R A S I ( terbukti )
3.5 Instrumet Penelitian
Instrument yang digunakan pada penelitian ini adalah:
1. Pesan yang digunakan adalah pesan teks yang dikonversi dalam ASCII
2. Hardware yang digunakan berupa processor Intel Pentium 1.40 GHz dengan RAM
4.00 Gb dan harddisk 256 Gb.
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan pembahasan dan evaluasi dari bab-bab terdahulu, dapat ditarik kesimpulan sebagai berikut :
1. Lama waktu pemrosesan pesan teks dipengaruhi oleh panjang pesan teks dan panjang kunci. Semakin panjang pesan teks yang di proses maka waktu yang dibutuhkan akan semakin lama.
2. Keamanan data dapat ditingkatkan dengan menambah panjang range bilangan prima yang akan diacak, artinya semakin panjang range prime maka data akan semakin aman dan semakin sulit menebak perulangan kuncinya.
3. Dengan merotasi urutan cipherteks waktu yang diperlukan untuk mengeksekusi pesan semakin lama.
5.2. Saran
Berikut merupakan saran-saran untuk pegembangan lebih lanjut terhadap penelitian ini:
1. Pengembangan dapat ditingkatkan untuk pengamanan file data
2. Pengembangan penagmanan dengan algoritma one time pad dan three pass protocol perlu dilanjutkan penelitiannya agar menjadi lebih baik dari segi keamanan dan waktu eksekusinya
DAFTAR PUSTAKA
Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi, Penerbit Andi: Yogyakarta.
Batten,L.M.2013. Public Key Cryptography: Applications and Attacks. John Wiley & Sons, Inc.: New Jersey.
B. Barak and S. Halevi. A model and architecture for pseudorandom generation with applications to /dev/random. In ACM Conference on Computer and Communications Security
Bishop,M. 2010. Introduction to Computer Security. Pearson Education Inc.
Hankerson, D. Menezes, A. and Vanstone, S. 2003. Guide to Elliptic Curve Cryptography. Springer-Verlag: New York.
J. Kelsey, B. Schneier, D. Wagner, and C. Hall. Cryptanalytic attacks on pseudorandom number generators. In Fast Software Encryption, LNCS vol. 1372
Kanamouri,Y. & Yoo, S. 2009. Quantum Three Pass-Protocol : Key Distribution using Quantum Superposition States. International Juornal of Network Security Application (IJNSA)1(2): 64-70
Katz,J. & Yehuda L. 2007. Introduction to Modern Cryptography. CRC Press.
Konheim,A. G. 2007. Computer Security and Cryptography. Wiley-Interscience, A John Wiley and Sons Inc.
Kromodomoeljo, Sentot.2009. Teori dan Aplikasi Kriptografi, SPK IT Consulting Mollin, Richard.A. 2007. An Introduction to Cryptography. 2nd Edition. Taylor &
Francis Group : LLC Boca Raton.
Munir, R. 2011. Kriptografi. Informatika: Bandung.
Reza, Muhammad., Muhammad Andri Budiman. & Dedy Arisandi. 2012. Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura. Jurnal Dunia Teknologi Informasi 1(1): 20-27.
Sharma, Shaci & Vinti, Gupta. 2013. Encryption And Decryption Using One Pad Time Algorithm In Mac Layer. International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET) 2(6): 2319-8753.
Srikantaswamy, S.G & Phaneendra, Dr.H.D. 2011. Enhanced OneTime Pad Cipher with More Arithmetic and Logical Operations with Flexible Key Generation Algorithm. International Juornal of Network Security Application (IJNSA)3(6): 3618