• Tidak ada hasil yang ditemukan

Algoritma One Time PAD Pada Skema Three Pass Protocol

N/A
N/A
Protected

Academic year: 2016

Membagikan "Algoritma One Time PAD Pada Skema Three Pass Protocol"

Copied!
58
0
0

Teks penuh

(1)

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

(2)

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

(3)

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,

(4)

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

(5)

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

(6)

Telah diuji pada

Tanggal: 21 Agustus 2014

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Herman Mawengkang

(7)

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

(8)

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.

(9)

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,

(10)

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.

(11)

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.

(12)

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

(13)

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

(14)

DAFTAR TABEL

Hal.

TABEL 2.1 Penelitian Terkait 25

TABEL 3.1 Random Kunci KA 31

(15)

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

(16)

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.

(17)

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.

(18)

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.

(19)

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.

(20)

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

(21)

1.5 Manfaat Penelitian

Manfaat penelitian ini antara lain:

(22)

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

(23)

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

(24)

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)

(25)

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

(26)

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

(27)

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)

(28)

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

(29)

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)

(30)

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

(31)

(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.

(32)

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

(33)

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

(34)

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)

(35)

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.

(36)

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

(37)

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

(38)

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, ...

(39)

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).

(40)

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).

(41)

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,

(42)

Tabel 2.1. Penelitian Terkait

No. Judul Penelitian Peneliti Pembahasan Tahun

1. Encryption And

(43)
(44)

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

(45)

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.

(46)

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

(47)

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

(48)

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 :

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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)

(54)

= (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 )

(55)

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.

(56)

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

(57)

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.

(58)

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

Gambar

Gambar 2.1  Kriptografi berbasis kunci (Munir, 2011)
Gambar 2.2 Proses Enkripsi dan Dekripsi Kriptografi Simetri
Gambar 2.3 Proses Enkripsi dan Dekripsi Kriptografi
Gambar 2.4  Siklus Kunci (Munir, 2006)
+7

Referensi

Dokumen terkait

Berdasarkan pengujian yang telah dilakukan, kombinasi RSA dan One Time Pad dapat mengamankan pesan yang dikirim RSA teruji sebagai sistem kriptografi yang aman karena

Namun penggunaan kriptografi klasik dengan kombinasi dua algoritma atau lebih masih digunakan oleh sebagian orang karena keserhanaan implementasi dan keamanan yang

Penerapan sistem kriptografi rsa banyak kunci untuk prototipe autentikasi pengguna pada web.. Universitas

Untuk mengamankan pesan tersebut dalam dilakukan penerapan ilmu kriptografi yang bertujuan untuk mengubah pesan asli (plaintext) menjadi pesan terenkripsi (ciphertext), di mana

Pesan awal dalam sistem kriptografi disebut juga sebagai plaintext (disimbolkan dengan p), yaitu pesan asli yang akan disampaikan pengirim kepada penerima pesan.. Sedangkan

Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk.

Bagi penulis, memberikan informasi bagimana menerapkan mekanisme Three Pass Protocol dengan algoritma kriptografi XOR menggunakan pembangkit kunci LCG, kompresi data LZW,

Karena sifatnya Base64 mudah di encoding dan decoding sehingga pengembangan lanjutan dapat menggunakan algoritma kriptografi pada saat pertukaran kunci Three Pass