BAB 2 LANDASAN TEORI
2.1 Kriptografi 2.1.1 Definisi Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi di mana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mendapatkan kembali data asli. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Algoritma biasanya tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (Kromodimoeljo, 2010) Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun seiring perkembangannya kriptografi pada pengertian modern adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi, bila diklasifikasikan terdapat kriptografi klasik dan kriptografi modern.
2.1.2 Tujuan Kriptografi Kriptografi bertujuan untuk memberikan layanan keamanan sebagai berikut (Sadikin, 2012) : 1. Otentikasi Otentikasi memberikan kepastian terhadap identitas setiap entitas yang terlibat dan sumber sebuah data. 2.
Kendali Akses Layanan keamanan jaringan yang menghalangi penggunaan tidak terotorisasi terhadap sumber daya.
Universitas Sumatera Utara
9
3. Kerahasiaan (Confidentiality) Data yang ditransmisikan diproteksi terhadap pengungkapan oleh pihak-pihak yang tidak berwenang. 4. Keutuhan Data (Data Integrity) Data yang diterima oleh penerima dipastikan adalah sama dengan data yang dikirim oleh pengirim. 5. Non-Repudiation Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima. 6. Ketersediaan Laayanan ini membuat sumber daya sistem tetap dapat diakses dan digunakan ketika ada permintaan dari pihak yang berwenang. 2.1.3 Sistem Kriptografi Klasik Sistem kriptografi klasik umumnya telah digunakan jauh sebelum era komputer. Kriptografi klasik juga dibagi menjadi dua jenis cipher yaitu cipher transposisi yang mengubah susunan huruf - huruf di dalam pesan dan cipher substitusi yang mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain. Kriptografi klasik, teknik enkripsi yang digunakan adalah enkripsi simetris dimana kunci dekripsi sama dengan kunci enkripsi. Penyandian
ini
berorientasi
pada
karakter.
Terdapat 5 bagian dalam sistem kriptografi klasik (Sadikin, 2012) yaitu: 1.
Plaintext Pesan atau data dalam bentuk aslinya yang dapat dibaca dan masukan bagi algoritma enkripsi.
2.
Secret Key Masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi.
3.
Ciphertext Hasil dari proses algoritma enkripsi dan teks asli dianggap telah tersembunyi.
4.
Algoritma Enkripsi Algoritma enkripsi memiliki 2 masukan yaitu teks asli dan kunci rahasia, kedua masukan tersebut akan diproses sehingga menghasilkan teks sandi.
Universitas Sumatera Utara
10
5.
Algoritma Dekripsi Algoritma dekripsi memiliki 2 masukan yaitu teks sandi dan kunci rahasia, keduanya akan diproses sehingga menghasilkan teks asli.
2.1.4 Sistem Kriptografi Modern Sistem kriptografi modern umumnya berorientasi pada bit. Untuk public key cryptography, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi asimetris menggunakan bilangan - bilangan yang sangat besar. Beberapa mekanisme yang berkembang pada kriptografi modern (Sadikin, 2012) : 1.
Penyandian dengan kunci simetrik (symmetric key encipherment). Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai sama. Penyandian ini masih digunakan pada kriptografi modern. Skema penyandian ini dapat digambarkan pada Gambar 2.1.
Gambar 2.1. Sistem Kriptografi Simetrik (Sumber : Sadikin, 2012)
2.
Penyandian dengan kunci asimetrik (asymmetric key encipherment) Penyandian dengan kunci asimetrik yang disebut juga dengan kunci publik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai berbeda. Penyandian ini yang banyak dikembangkan. Skema penyandian ini dapat digambarkan pada Gambar 2.2.
Universitas Sumatera Utara
11
A Teks Asli
B Ciphertext
Algoritma Enkripsi
Teks Asli
Algoritma Dekripsi
Kprivat B
Pembangkit Kunci
Kpublik B
Gambar 2.2 Sistem Kriptografi Asimetrik (Sumber : Fauzana, 2013)
Tidak seperti sistem kriptografi klasik di mana setiap entitas harus saling mengetahui kunci rahasia, sistem kriptografi modern yang juga disebut kriptografi kunci asimetrik, memiliki dua jenis kunci, yaitu kunci enkripsi dan kunci dekripsi yang berbeda. Dalam kriptografi kunci asimetris, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, kecuali algoritma Pohlig - Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat privat. 2.2 Three-pass Protocol Dalam kriptografi Three-pass protocol adalah konsep yang memungkinkan satu pihak bisa dengan aman mengirim pesan kepada pihak kedua tanpa harus bertukar atau mendistribusikan kunci enkripsi. Protokol ini pertama kali dikembangkan oleh Adi Shamir seorang ahli kriptografi pada tahun 1980. Protokol ini dimodifikasi oleh James Massey dan Jim K Omura yang disebut dengan Massey-omura. Keduanya adalah pakar teori informasi pada tahun 1982 (Pramana, 2013). Three-pass protocol memiliki beberapa tahapan untuk dapat menyampaikan pesan itu dari pengirim kepada penerima. Berikut tahapannya (Pramana, 2013) : a.
Pengirim memilih kunci enkripsi eA . Pengirim mengenkripsi pesan dengan kunci dan mengirimkan pesan terenkripsi kepada penerima.
b.
Penerima memiliki kunci enkripsi eB . Penerima mengenkripsi pesan
C1 (eA, m)
dengan
kunci
dan
mengirim
pesan
terenkripsi
lagi
C 2 (eB, C1 (eA, m)) kepada pengirim.
Universitas Sumatera Utara
12
c.
Pengirim mendekripsi pesan C 2 (eB, C1 (eA, m)) dengan menggunakan dA dan mengirim lagi pesan C3 (eB, m) yang mana pesan ini dienkripsi oleh kunci penerima. Pengirim kembali mengirim pesan tersebut ke penerima dan kemudian penerima akan mendekripsi pesan tersebut dengan dB untuk bisa melihat pesan.
Tahapan - tahapan ini dapat diilustrasikan pada Gambar 2.3
Gambar 2.3 Skema cara kerja Three-pass protocol 2.3 Affine Cipher Affine cipher adalah perluasan dari Caesar cipher yang mengalikan plainteks dengan sebuah nilai dan menambahkannya dengan sebuah pergeseran. Skema sandi Affine cipher dapat diilustrasikan pada Gambar 2.4.
Gambar 2.4 Skema Affine Cipher
Secara matematis enkripsi plainteks P lalu menghasilkan cipherteks C dinyatakan dengan fungsi kongruen : C mP b(mod n)
(1)
Berdasarkan persamaan (1), plainteks dapat dihitung sebagai berikut : Plainteks
:MAHASISWAILKOM
Universitas Sumatera Utara
13
n = 26, m = 9, b = 2 M = 12.9 + 2 = 110 (mod 26) = 6 -> G A = 0.9 + 2
=2
(mod 26) = 2 -> C
yang dalam hal ini n adalah ukuran alfabet, m adalah bilangan bulat yang harus relatif prima dengan n dan b adalah jumlah pergeseran. Untuk melakukan dekripsi, persamaan di atas harus dipecahkan untuk mendapatkan P . Solusi kekongruenan tersebut hanya ada di inversi m (mod n). Jika m 1 ada maka dekripsi dilakukan dengan persamaan : P m 1 (C b)(mod n)
(2)
Berdasarkan persamaan (2), cipherteks dapat dikembalikan sebagai berikut : n = 26, m = 9, b = 2, m-1 = 3 G = 3. (6 – 2) (mod 26) = 12 -> M C = 3. (2 – 2) (mod 26) = 0 -> A
2.4 Vigenère Cipher Vigenère Cipher mungkin adalah contoh terbaik dari cipher alphabet - majemuk. Algoritma ini dipublikasikan oleh diplomat sekaligus kriptologis Perancis, Blaise de Vigenère pada abad 16. Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra del Sig. Vigenère Cipher dipublikasikan pada tahun 1586, tetapi algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemu sandi tersebut kemudian dinamakan Vigenère cipher (Winata, 2012). Vigenère
cipher
sangat
dikenal
karena
mudah
dipahami
dan
diimplementasikan. Cipher menggunakan bujursangkar Vigenère untuk melakukan enkripsi. Kolom kiri dari bujursangkar menyatakan huruf - huruf kunci, sedangkan baris paling atas menyatakan huruf - huruf plainteks. Setiap baris di dalam bujursangkar menyatakan huruf - huruf cipherteks yang diperoleh dengan Caesar Cipher. Skema sandi Vigenère Cipher dapat diilustrasikan pada Gambar 2.5.
Universitas Sumatera Utara
14
Gambar 2.5 Skema Vigenère Cipher Bujursangkar Vigenère digunakan untuk memperoleh cipherteks dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang penggunaannya. Bujursangkar Vigenère ditunjukkan pada Tabel 2.1.
Universitas Sumatera Utara
15
Tabel 2.1 Bujursangkar Vigenère 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
c C D E F G H I
J
K L M N O P
d D E F G H I
J
K L M N O P
e E F G H I
J
K L M N O P
f F G H I
J
K L M N O P
g G H I
J
K L M N O P
h H I
J
K L M N O P
i
I
J
K L M N O P
j
J
K L M N O P
Q R S
Q R S
Q R S
Q R S
Q R S
Q R S
Q R S
Q R S
Q R S
T U V W X Y Z A
T U V W X Y Z A B
T U V W X Y Z A B C
T U V W X Y Z A B C D
T U V W X Y Z A B C D E
T U V W X Y Z A B C D E F
T U V W X Y Z A B C D E F
T U V W X Y Z A B C D E F
T U V W X Y Z A B C D E F
G
G H
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
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
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
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
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
t
K L M N O P
T U V W X Y Z A B C D E F
G H I
J
u U V W X Y Z A B C D E F G H I
J
v V W X Y Z A B C D E F G H I
J
K L M N O P
w W X Y Z A B C D E F G H I
J
K L M N O P
x X Y Z A B C D E F G H I
J
K L M N O P
y Y Z A B C D E F G H I
J
K L M N O P
z Z A B C D E F G H I
K L M N O P
J
K L M N O P
Q R S
Q R S
Q R
Q R S
Q R S
Q
Q R S
Q R S
Q R S
K L
T
T U
T U V
T U V W
T U V W X
T U V W X Y
Berdasarkan Tabel 2.1 plainteks dapat dihitung sebagai berikut : Plainteks
:MAHASISWAILKOM
Universitas Sumatera Utara
16
Kunci
: a z i meya z imey a z
Cipherteks
:MZPMWGSVIUPIOL
Secara matematis, misalkan kunci dengan panjang m adalah rangkaian k1 , k1 ...k m , plainteks adalah rangkaian p1 , p1 ... pt dan cipherteks adalah rangkaian c1 , c1 ...ct , maka enkripsi pada Vigenère cipher dapat dinyatakan sebagai berikut : ci ( pi k r ) mod 26 ; (1 i t )
(3)
dan i r (mod m)
(1 r t )
Berdasarkan persamaan (3) huruf M dapat dienkripsi dengan kunci a dan z sebagai berikut : (M + a) mod 26 = (12 + 0) mod 26 = 12 = M (M + z) mod 26 = (12 + 25) mod 26 = 11 = L
Dekripsi pada Vigenère
dilakukan dengan cara yang berkebalikan, yaitu
menarik garis mendatar dari huruf kunci sampai ke huruf cipherteks yang dituju, lalu dari huruf cipherteks Tarik garis vertikal ke atas sampai ke huruf plainteks. Secara matematis dekripsi dapat dinyatakan dengan persamaan : pi (ci k r ) mod 26
(4)
Berdasarkan persamaan (4) huruf L dan M dapat didekripsi dengan kunci a dan z sebagai berikut : (M - a) mod 26 = (12 - 0) mod 26 = 12 = M (L - z) mod 26 = (11 - 25) mod 26 = 12 = M 2.4.1 Varian Vigenère Cipher
Beaufort Cipher adalah salah satu varian dari Vigenère Cipher dimana cara melakukan enkripsi dan dekripsi hampir sama dengan melakukan enkripsi dan dekripsi pada Vigenère Cipher. Beaufort Cipher ditemukan oleh Laksamana Sir Francis Beaufort, Royal Navy, yang juga pencipta skala Beaufort, yang merupakan instrumen ahli meteorologi digunakan untuk menunjukkan kecepatan angin. (Mollin, 2007)
Universitas Sumatera Utara
17
Cara melakukan enkripsi dan dekripsi Beaufort Cipher akan ditunjukkan pada persamaan (8) dan (10).
x (e1 x1 , e2 x2 ,..., er xr )
(5)
e (e1 ,..., er ) K dan x ( x1 ,..., xr ) Z
(6)
di mana
Proses enkripsi dan dekripsi pada persamaan (8) dan (10) berdasarkan persamaan (5) dan (6) yang menjelaskan K adalah kunci dan Z adalah bilangan bulat dapat dikatakan berasal dari inversi persamaan (7) dan (9). Untuk melihat hubungan kedua berikut ini diasumsikan P adalah plainteks, C adalah cipherteks dan K sebagai kunci. Enkripsi Vigenere Cipher :
P K C (Mod n)
(7)
Enkripsi Beaufort Cipher :
K P C (Mod n)
(8)
Dekripsi Vigenere Cipher :
C K P (Mod n)
(9)
Dekripsi Beaufort Cipher :
K C P (Mod n)
(10)
Universitas Sumatera Utara
18
2.5 Penelitian yang Relevan Berikut penelitian tentang kriptografi yang membahas algoritma Affine cipher, Vigenère cipher dan three-pass protocol : 1.
Pada penelitian Mehta K M et al (2013) yang berjudul Encryption using Affine and One Time Pad (AAOTP) disimpulkan bahwa dapat mengenkripsi 256 karakter ASCII dengan memanfaatkan bilangan acak. Konsep ini dinilai aman dan susah dipecahkan.
2.
Pada penelitian Shukla S et al (2014) yang berjudul Implementation of Affine substitution cipher with keyed transposition cipher for enhancing data security dapat disimpulkan bahwa pendekatan kriptografi dengan algoritma Affine Cipher membutuhkan kombinasi algoritma yang lain. Penelitian ini juga menunjukkan multienkripsi menyulitkan proses dekripsi.
3.
Pada penelitian Kester (2012) yang berjudul a cryptosystem based on Vigenère cipher with varying key menyatakan bahwa implementasi kriptosistem ini sangat sulit jika kuncinya panjang dan varian fungsinya harus sulit untuk diprediksi.
4.
Berdasarkan penelitian oleh Kanamori et a (2009), membuat sebuah pengembangan three-pass protocol dengan teknologi kuantum, sehingga keamanan lebih terjaga meskipun kunci didistribusikan. Penelitian ini memiliki teknologi yang dapat mendeteksi eavesdroppers. Selain itu pengembangan ini bisa diimplementasikan sesuaikan dengan teknologi yang ada saat ini.
5.
Berdasarkan penelitian oleh Oktaviana B (2013) membuat sebuah kombinasi algoritma Caesar Cipher dan Vigenère Cipher pada three-pass protocol diperoleh sebuah kombinasi algoritma yang kuat tanpa melakukan pertukaran kunci.
6.
Pada penelitian oleh Pramana (2013), diimplementasikan algoritma Massey Omura ini pada konsep three-pass protocol dan diterapkan pada keamanan Email pada Mozilla thunderbird. Kesimpulan dari penelitian ini waktu eksekusinya berbanding lurus dengan besar bilangan prima dan kunci. Rata – rata waktu enkripsi lebih lama dibandingkan dengan waktu dekripsi.
Universitas Sumatera Utara