2
BAB 2 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: plaintext
Enkripsi
ciphertext
Dekripsi
plaintext
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:
Universitas Sumatera Utara
6
πΈ (π) = πΆ -------------------------------(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 Non-Repudiation adalah usaha untuk memastikan bahwa baik pesan maupun kunci yang sampai adalah benar-benar pesan atau kunci yang diharapkan. Selain itu, non-repudiation juga adalah usaha untuk menghindari adanya
Universitas Sumatera Utara
7
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.
Universitas Sumatera Utara
8
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). Proses enkripsi dan dekripsi pada algoritma Beaufort Cipher menggunakan sebuah tabel yang disebut dengan tabel Beaufort (Tassel, 1969).
Universitas Sumatera Utara
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
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 XY Z A B C D E F G H I J K L M N O P Q R S T U V W XY Z B C D E F G H I J K L M N O P Q R S T U V W XY Z A C D E F G H I J K L M N O P Q R S T U V W XY Z A B D E F G H I J K L M N O P Q R S T U V W XY Z A B C E F G H I J K L M N O P Q R S T U V W XY Z A B C D F G H I J K L M N O P Q R S T U V W XY Z A B C D E G H I J K L M N O P Q R S T U V W XY Z A B C D E F H I J K L M N O P Q R S T U V W XY Z A B C D E F G I J K L M N O P Q R S T U V W XY Z A B C D E F G H J K L M N O P Q R S T U V W XY Z A B C D E F G H I K L M N O P Q R S T U V W XY Z A B C D E F G H I J L M N O P Q R S T U V W XY Z A B C D E F G H I J K M N O P Q R S T U V W XY Z A B C D E F G H I J K L N O P Q R S T U V W XY Z A B C D E F G H I J K L M O P Q R S T U V W XY Z A B C D E F G H I J K L M N P Q R S T U V W XY Z A B C D E F G H I J K L M N O Q R S T U V W XY Z A B C D E F G H I J K L M N O P R S T U V W XY Z A B C D E F G H I J K L M N O P Q S T U V W XY Z A B C D E F G H I J K L M N O P Q R T U V W XY Z A B C D E F G H I J K L M N O P Q R S U V W XY Z A B C D E F G H I J K L M N O P Q R S T V W XY Z A B C D E F G H I J K L M N O P Q R S T U W XY Z A B C D E F G H I J K L M N O P Q R S T U V XY 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 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 A B C D E F G H I J K L M N O P Q R S T U V W XY 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
:SUMATERA
Kunci
:m e i l a d ya
Ciphertext
:UKWLHZHA
Proses enkripsi dan dekripsi algortima Beaufort Cipher dirumuskan sebagai berikut:
Universitas Sumatera Utara
10
πΎ β π β‘ πΆ (πππ π) --------------------- (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: 1. Alice sebagai pengirim pesan melakukan enkripsi pesan dengan kunci pribadi miliknya. Alice kemudian mengirimkan pesan yang telah dienkripsi (πΆ1 ) kepada penerima pesan, yaitu Bob.
Universitas Sumatera Utara
11
2. Bob menerima πΆ1 dan kemudian melakukan enkripsi πΆ1 menggunakan kunci pribadi miliknya. Bob kemudian mengirimkan pesan πΆ1 yang telah dienkripsi (πΆ2 ) kepada Alice. 3. Alice yang menerima πΆ2 kemudian mendekripsikan pesan πΆ2 menggunakan kunci pribadi miliknya. Alice kemudian mengirimkan pesan πΆ2 yang telah didekripsi (πΆ3 ) kepada Bob. Selanjutnya Bob melakukan dekripsi pesan πΆ3 . Hasil dekripsi pesan πΆ3 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,
Universitas Sumatera Utara
12
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.
Universitas Sumatera Utara