Grafik Panjang Karakter terhadap Waktu Proses
LANDASAN TEORI
2.1. Kriptografi
2.1.1. Definisi Kriptografi
Kriptografi berasal dari bahasa Yunani yang terdiri dari dua kata yaitu cryto dan
graphia. Crypto berarti rahasia dan graphia berarti tulisan. Jadi secara etimologi
kriptografi adalah tulisan rahasia. Secara terminologi kriptografi didefinisikan sebagai seni dan ilmu dalam menyandikan pesan dan menjaga keamanannya ketika pesan tersebut dikirim sampai pesan tersebut diterima (Mollin, 2007).
Teknik kriptografi yang diterapkan dalam penyandian pesan dilakukan dengan menyembunyikan atau mengodekan pesan asli. Pengirim pesan akan melakukan penyandian pesan awal menjadi kode-kode yang hanya dapat dibaca oleh penerima pesan. Proses ini disebut dengan Enkripsi (encryption). Penerima pesan kemudian mengembalikan kode-kode yang telah diterima menjadi pesan asli dengan menggunakan kunci yang dikirimkan oleh pengirim pesan. Proses ini disebut dengan Dekripsi (decryption) (Schneier, 1996). Proses enkripsi dan dekripsi dapat diilustrasikan pada gambar 2.1 berikut:
Gambar 2.1 Enkripsi dan Dekripsi
Pesan awal dalam sistem kriptografi disebut juga sebagai plaintext (disimbolkan dengan P), yaitu pesan asli yang akan disampaikan pengirim kepada penerima pesan. Sedangkan pesan setelah dienkripsi disebut dengan Ciphertext (disimbolkan dengan C). Kunci yang dikirimkan pengirim kepada penerima pesan untuk proses dekripsi disebut dengan Key (disimbolkan dengan k). Fungsi enkripsi disimbolkan dengan E(p) dan secara matematis, fungsi enkripsi untuk memperoleh ciphertext dituliskan sebagai berikut:
ciphertext
plaintext plaintext
Enkripsi Dekripsi
� = ---(1)
Fungsi yang digunakan untuk memperoleh kembali plaintext yang telah dienkripsi disebut dengan fungsi dekripsi yang disimbolkan dengan D(C). Secara matematis dapat dituliskan sebagai berikut:
= � ---(2) (Schneier, 1996).
2.1.2. Tujuan Kriptografi
Ada beberapa tujuan kriptografi, diantaranya adalah sebagai berikut (Bellare & Rogaway, 2005):
1. Kerahasiaan (Secrecy)
Secrecy bermakna kerahasiaan atau privasi. Hal tersebut berarti setiap
informasi yang dikirim atau diterima hanya dapat diakses oleh pihak yang berkepentingan. Enkripsi pesan bertujuan untuk tetap merahasiakan pesan sampai kepada penerima dengan aman. Selanjutnya pesan yang telah diterima akan didekripsi oleh penerima dengan algoritma yang telah disepakati dan kunci yang telah dikirimkan dengan jalur yang lebih aman.
2. Integritas (Integrity)
Integritas dalam kriptografi berhubungan dengan menjaga keaslian data, artinya data yang diterima tidak rusak, berkurang, bertambah atau telah dimanipulasi oleh pihak lain sebelum diterima oleh penerima data. Oleh karena itu, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak bertanggung jawab.
3. Autentikasi (Authentication)
Autentikasi berkaitan dengan identifikasi dan verifikasi, baik secara sistem maupun informasi itu sendiri. Salah satu sarana proses autentikasi adalah melalui password. Apabila proses ini menggunakan password, maka protocol autentikasi harus aman dalam proses pengirimannya dan tidak digunakan oleh pihak-pihak yang tidak bertanggung jawab. Teknik kriptografi sangat diperlukan untuk permasalahan ini
4. Non-Repudiation
penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh pengirim pesan.
2.1.3. Sistem Kriptografi Klasik
Sistem kriptografi klasik adalah sistem kriptografi yang sudah ada sebelum adanya komputer. Penyandian pesan dilakukan karakter per karakter. Terdapat dua metode yang dilakukan untuk menyandikan pesan pada sistem kriptografi klasik, yaitu Cipher Substitusi (Subtitution Cipher) dan Cipher Transposisi (Transpotition Cipher). Cipher Substitusi diimplementasikan dengan mengganti karakter-karakter pesan dengan karakter lain. Sedangkan Cipher transposisi diimplementasikan dengan melakukan pengacakan urutan karakter tanpa mengganti karakter pada pesan tersebut (Sadikin, 2012).
2.1.4. Sistem Kriptografi Modern
Sistem kriptografi modern tidak lagi menggunakan mode karakter untuk proses enkripsi dan dekripsi, melainkan lebih memanfaatkan mode bit. Pengembangan sistem kriptografi modern didorong oleh perkembangan komputer digital yang merepresentasikan data dalam bentuk bilangan biner. Algoritma kriptografi dengan mode bit dapat dikelompokkan menjadi dua bagian, yaitu Cipher Aliran (Stream
Cipher) dan Cipher Block (Block Cipher). Stream Cipher mengenkripsi atau
mendekripsi pesan bit per bit. Sedangkan Block Cipher mengenkripsi atau mendekripsikan pesan dalam bentuk blok bit dengan panjang bit yang telah ditentukan sebelumnya (Sadikin, 2012).
2.1.5. Kriptografi Kunci Simetris
Kriptografi kunci simetris adalah suatu model kriptografi dengan sharing key. Artinya, kunci yang digunakan untuk enkripsi sama dengan yang digunakan untuk dekripsi (Kurniawan, 2008). Skema kriptografi kunci simetris dapat dilihat pada gambar 2.2.
Gambar 2.2 Skema Kriptografi Kunci Simetris (Sumber: Kurniawan, 2008)
2.1.6. Kriptografi Kunci Asimetris
Kriptografi kunci asimetris pertama kali diperkenalkan oleh Whitefield Diffie dan Martin Hellman pada tahun 1976 (Kurniawan, 2008).
Gambar 2.3 Skema Kriptografi Kunci Asimeteris (Sumber: Kurniawan, 2008) Pada gambar 2.3 dapat dilihat bahwa kriptografi kunci asimetris menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Kunci yang digunakan pada proses enkripsi disebut dengan public key, sedangkan kunci untuk proses dekripsi disebut dengan private key (Kurniawan, 2008).
2.2. Algoritma Beaufort Cipher
Algoritma Beaufort Cipher merupakan varian dari algoritma Vignere Cipher (Widyastuti, 2014). Algoritma ini ditemukan oleh Laksamana Sir Francis Beaufort, Royal Navy, yang juga merupakan pencipta skala Beaufort yaitu instrumen ahli meterorologi yang digunakan untuk menunjukkan kecepatan angin. Beaufort Cipher termasuk algoritma kriptografi klasik kunci simetris (Mollin, 2007).
Tabel 2.1 Tabel Beaufort A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Baris pertama pada tabel 2.1 menyatakan huruf dari plaintext. Proses enkripsi dilakukan dengan cara menarik garis vertikal dari plaintext sampai kepada karakter key yang telah ditentukan, selanjutnya tarik garis horizontal dari karakter key tersebut sampai kolom pertama. Karakter pada kolom pertama tersebut adalah ciphertext yang diperoleh. Proses dekripsi dilakukan berlawanan dengan proses enkripsi. Proses ini dimulai dengan memilih ciphertext dari kolom pertama kemudian tarik garis lurus sampai menemukan karakter key yang telah ditentukan, selanjutnya ditarik garis vertikal ke atas dari karakter key tersebut sampai ke baris pertama. Karakter pada baris pertama merupakan plaintext (Tassel, 1969).
Berikut adalah contoh proses enkripsi dengan menggunakan tabel 2.1:
Plaintext : S U M A T E R A Kunci : m e i l a d y a
Ciphertext : U K W L H Z H A
Proses enkripsi dan dekripsi algortima Beaufort Cipher dirumuskan sebagai berikut:
� − � ≡ � --- (3)
� − ≡ � � --- (4)
dimana � adalah rangkaian plaintext, � adalah key, adalah ciphertext yang diperoleh dan adalah jumlah karakter yang digunakan (Mollin, 2007).
2.3.Algoritma One Time Pad
Algoritma One Time Pad ditemukan oleh Gilbert Vernam pada tahun 1917. One Time
Pad juga dikenal dengan algoritma Vernam Cipher sesuai dengan nama penemu
algoritma tersebut (Mollin, 2007). One Time Pad mendapatkan reputasi sebagai algoritma yang kuat namun sederhana dengan tingkat keamanan yang tinggi. Algoritma ini juga masih lebih baik dibandingkan dengan algoritma-algoritma kriptografi modern. (Widiasari, 2012).
Algoritma One Time Pad termasuk algoritma kriptografi kunci simetrik yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Secara matematis proses enkripsi dan dekripsi One Time Pad dituliskan sebagai berikut:
�≡ ��+ �� � � --- (5)
�� ≡ �− �� � � --- (6)
dimana � adalah rangkaian plaintext, � adalah key, adalah ciphertext yang diperoleh dan � adalah jumlah karakter yang digunakan. Key yang digunakan pada algoritma One
Time Pad diambil secara acak dan harus memiliki panjang karakter yang sama dengan plaintext (Mollin, 2007).
2.4.Three-Pass Protocol
Three-Pass Protocol adalah sebuah skema kerja yang memungkinkan dua orang
melakukan pertukaran pesan tanpa melakukan pertukaran kunci enkripsi (Haramaini, 2014).
Haramaini (2014) menjelaskan bahawa terdapat tiga tahap pertukaran pesan dalam skema Three-Pass Protocol dimana setiap orang yang terlibat memiliki kunci masing-masing untuk melakukan enkripsi dan dekripsi pesan. Berikut adalah cara kerja
Three-Pass Protocol:
2. Bob menerima dan kemudian melakukan enkripsi menggunakan kunci pribadi miliknya. Bob kemudian mengirimkan pesan yang telah dienkripsi ( ) kepada Alice.
3. Alice yang menerima kemudian mendekripsikan pesan menggunakan kunci pribadi miliknya. Alice kemudian mengirimkan pesan yang telah didekripsi ( ) kepada Bob. Selanjutnya Bob melakukan dekripsi pesan . Hasil dekripsi pesan tersebut merupakan plaintext yang dikirimkan Alice. Cara kerja Three-Pass Protocol tersebut dapat diilustrasikan seperti pada gambar 2.4:
Gambar 2.4 Skema Kerja Three-Pass Protocol
2.5. Penelitian yang Relevan
Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis antara lain adalah sebagai berikut:
- Arjana, dkk (2012) mengimplementasikan penggunaan algoritma Vignere
Cipher untuk mengamankan data pelanggan. Penelitian tersebut membuktikan
bahwa algoritma Vignere Cipher berhasil meningkatkan keamanan data dan keakuratan informasi.
- Haramaini (2014) telah berhasil mengimplementasikan algoritma One Time Pad dengan menggunakan Three-Pass Protocol. Pada penelitian tersebut dijelaskan bahwa algoritma One Time Pad tidak cukup aman jika diimplementasikan dengan Three-Pass Protocol sehingga diperlukan sedikit pengembangan yang dilakukan untuk meningkatkan keamanan algoritma ini. Pengembangan yang dilakukan peneliti adalah dengan menambah panjang range bilangan prima yang akan diacak, sehingga perulangan kunci yang digunakan akan semakin sulit untuk ditebak.
- Implementasi algoritma One Time Pad dapat menjaga keamanan dan kerahasiaan data yang tersimpan pada sebuah aplikasi berbasis web. Selain itu,
pengimplementasian algoritma ini juga mampu memastikan bahwa user yang menggunakan aplikasi adalah user yang benar-benar memiliki wewenang untuk mengakses informasi tersebut (Mulyono & Rodiah, 2013).
- Sebayang (2014) berhasil mengimplementasikan kombinasi dua algoritma kriptografi klasik pada Three-Pass Protocol, kedua algoritma tersebut adalah
Beaufort Cipher dan Affine Cipher. Penelitian ini membuktikan bahwa
mekanisme Three-Pass Protocol dapat diimplementasikan menggunakan dua algoritma sekaligus.
- Widiasari (2012) mengombinasikan algoritma kriptografi Advanced Encryption
Standard (AES) dan One Time Pad dalam mengamankan data. Kombinasi kedua
algoritma menghasilkan keamanan data yang baik dengan ukuran file yang sama baik sebelum maupun setelah proses enkripsi.
BAB 1 PENDAHULUAN
1.1.Latar Belakang
Informasi merupakan salah satu kebutuhan pokok yang dibutuhkan oleh manusia. Kebutuhan akan informasi dipenuhi melalui komunikasi yang dilakukan oleh pemberi ke penerima informasi. Seiring dengan perkembangan ilmu pengetahuan dan teknologi, pertukaran informasi tidak hanya dilakukan secara langsung melainkan juga dengan bantuan media komunikasi.
Media komunikasi memungkinkan pertukaran informasi tanpa batas. Setiap orang dapat bertukar informasi dengan mudah tanpa menghabiskan banyak waktu dan biaya. Namun, seiring dengan perkembangan teknologi media komunikasi tersebut, banyak pihak yang mencari celah untuk mencuri informasi dan digunakan untuk hal-hal yang tidak baik. Oleh karena itu, penyandian pesan sangat diperlukan untuk tetap menjaga kerahasiaan pesan agar pesan tersebut hanya dapat dibaca oleh penerima pesan yang dimaksud.
Kriptografi adalah ilmu dan seni yang digunakan untuk menyandikan pesan. Kriptografi sendiri dapat dibagi menjadi dua jenis, yaitu kriptografi klasik dan kriptografi modern. Secara umum, kriptografi modern lebih dipercaya oleh masyarakat, namun tidak sedikit juga masyarakat yang masih menggunakan kriptografi klasik dengan mengkombinasikan dua algoritma sekaligus. Dua algoritma kriptografi klasik yang akan digunakan untuk proses penyandian pesan ini adalah Beaufort Cipher dan
One Time Pad.
Beaufort Cipher merupakan salah satu varian dari metode Vigenere Cipher
(Widyastuti, 2014). Proses enkripsi dan dekripsi pada algoritma Beaufort Cipher menggunakan sebuah tabel yang disebut dengan tabel Beaufort (Tassel, 1969). Keamanan algoritma Vignere Cipher dan variannya yang termasuk juga Beaufort
Cipher bergantung pada penggunaan karakter acak pada tabel, semakin acak karakter
yang digunakan pada tabel tersebut, maka keamanan algoritma ini juga akan semakin baik (Singh, 2012).
Algoritma One Time Pad atau disebut juga algoritma Vernam Cipher dikenal sebagai algoritma yang memiliki kerahasiaan sempurna (perfect secrecy). Hal tersebut dikarenakan algoritma ini tidak memiliki hubungan statistik dengan plaintext sehingga tidak dapat dilakukan analisis statistik terhadap ciphertext yang diperoleh (Sadikin, 2012).
Keamanan algoritma Beaufort Cipher dan One Time Pad sangat bergantung kepada proses pertukaran kunci. Apabila terjadi kebocoran kunci, maka keamanan kedua algoritma ini akan otomatis runtuh. Oleh karena itu, diperlukan sebuah metode yang meminimalisir kebocoran kunci selama melakukan pertukaran pesan. Metode yang dipilih dikenal dengan sebutan Three-Pass Protocol. Protocol ini memungkinkan pengiriman pesan tanpa menggunakan pertukaran kunci. Sehingga pesan yang dikirimkan dapat sampai kepada penerima dengan aman tanpa takut terjadi kebocoran kunci (Haramaini, 2014). Berdasarkan uraian diatas, maka penulis mengambil tugas akhir dengan judul “Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data”.
1.2.Rumusan Masalah
Berdasarkan latar belakang di atas pengamanan informasi yang akan dipertukarkan merupakan sesuatu yang penting sehingga diperlukan sebuah mekanisme penyandian dengan menggunakan kriptografi. Selain itu didalam penggunaannya proses penyandian ini memerlukan pertukaran kunci yang juga harus dipastikan selalu aman. Oleh karena itu, dapat dirumuskan masalah yang akan dibahas adalah bagaimana mengamankan pesan yang terkirim sekaligus mengamankan kunci dengan sebuah mekanisme penyandian pesan dan pengamanan kunci yang lebih baik.
1.3.Tujuan Penelitian
Tujuan Penelitian ini adalah untuk mengimplementasikan Three-Pass Protocol menggunakan kombinasi algoritma Beaufort Cipher dan One Time Pad untuk pengamanan data.
1.4.Batasan Penelitian
Batasan masalah dalam penelitian ini antara lain adalah sebagai berikut: 1. Jenis file yang digunakan adalah file teks yang berekstensi .doc.
2. Plainteks dan cipherteks yang dapat dibuat berdasarkan ASCII printable character, dengan list karakter yang digunakan adalah Ʃ = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ., ,, !, &, *, #, ^, (, $, %, ), {, }, [, ],+, -, =, <, >, /, :, ;, _, ?, |, `, ~, \\, @, ‘ ‘}
|Ʃ| = 93
3. Implementasi berupa enkripsi dan dekripsi pesan saja dan tidak melakukan kriptanalisis.
4. Bahasa pemrograman yang digunakan adalah Python dan C#.
5. Parameter yang akan digunakan adalah keutuhan data, kompleksitas Ө dan waktu proses.
1.5.Manfaat Penelitian
Penelitian ini diharapkan mampu memberikan kemudahan kepada masyarakat dalam merahasiakan pesan yang mereka kirimkan dan mendapatkan kembali pesan seperti semula.
1.6.Metodologi Penelitian
Metode penelitian yang dilakukan dalam penelitian ini adalah: 1. Studi Pustaka
Pada tahap ini penelitian dimulai dengan peninjauan pustaka berupa buku-buku, artikel-artikel ilmiah dan penelitian-penelitian yang didokumentasikan dalam bentuk jurnal yang berhubungan dengan Three Pass Protocol, Algoritma Beaufort
Cipher dan Algoritma One Time Pad.
2. Analisis dan Perancangan
Berkaitan dengan batasan masalah, pada tahap ini dianalisis apa saja yang dibutuhkan dalam penelitian ini dan selanjutnya dirancang dalam bentuk diagram alir dan diagram UML.
3. Implementasi
Pada tahap ini perancangan Diagram Alir diimplementasikan dengan menggunakan bahasa pemrograman Python dan C#.
4. Pengujian
Pada tahap ini prototipe yang telah dirancang dilakukan pengujian dengan menggunakan file teks berekstensi .doc.
5. Dokumentasi
Pada tahap ini dilakukan pendokumentasian penelitian yang telah dilakukan mulai dari tahap analisis sampai kepada pengujian dalam bentuk skripsi.
1.7.Sistematika Penulisan
Sistematika penulisan skripsi in iterdiri dari beberapa bagian utama, yaitu: BAB 1 PENDAHULUAN
Bab ini berisi latar belakang pemilihan judul skripsi “Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini menjelaskan tentang sistem kriptografi secara umum, kriptografi klasik, teori dan dasar-dasar perhitungan serta contoh implementasi algoritma Beaufort Cipher, One Time Pad dan mekanisme Three-Pass Protocol.