BAB2 LANDASAN TEORI 2.1 Kriptografi
BAB2
LANDASAN TEORI
2.1 Kriptografi
2.1.1Pengertian Kriptografi
Secara etimologi, kriptografi berasal dari bahasa Yunani, yaitu: cryptos berarti rahasia dan graphein berarti tulisan [6]. Sedangkan secara terminologi, kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dipahami maknanya sehingga tidak dapat dibaca oleh orang yang tidak berkepentingan.
Setiap orang dimungkinkan untuk bebas memilih metode untuk merahasiakan pesan dalam metode kriptografi. Metode tersebut berbeda-beda untuk setiap pelaku kriptografi sehingga penulisan pesan rahasia mempunyai estetika tersendiri. Estetika penulisan pesan rahasia ini menjadikan kriptografi sebagai sebuah seni. Pada perkembangan selanjutnya, kriptografi dikenal sebagai disiplin ilmu yang menggunakan teknik matematika untuk keamanan informasi, seperti privasi dan autentikasi.
2.1.2 Tujuan Kriptografi
Kriptografi bertujuan untuk memberikan layanan keamanan [10] sebagai berikut: 1.
Autentikasi (Authentication) Autentikasi memberikan kepastian terhadap identitas setiap entitas yang terlibat dan sumber sebuah data.
2. Kerahasiaan (Confidentiality)
Data yang ditransmisikan diproteksi terhadap pengungkapan oleh pihak-pihak yang tidak berwenang.
3. Keutuhan Data (Data Integrity) Data yang diterima oleh penerima dipastikan adalah sama dengan data yang dikirim oleh pengirim.
4. Nirpenyangkalan (Non-Repudiation) Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.
2.2 Sistem Kriptografi
Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi (cryptosystem). Cryptosystem adalah lima tuple (P, C, K, E, D), dimana P adalah
plaintext ,C adalah ciphertext, K adalah himpunan kunci-kunci, E adalah himpunan
fungsi enkripsi dan D adalah himpunan fungsi dekripsi [9]. Berdasarkan prinsip kerjanya, sistem kriptografi terbagi dua, yaitu sistem kriptografi klasik (simetris) dan modern (asimetris) [11].
2.2.1 Sistem Kriptografi Klasik (Simetris)
Kriptografi klasik umumnya merupakan teknik penyandian dengan kunci simetris dan pesan disembunyikan sehingga tidak memiliki arti dengan metode substitusi dan/atau transposisi. Terdapat lima komponen utama dalam sistem kriptografi klasik, yaitu: 1.
Plaintext Teks asli dapat berupa pesan atau data sebagai input algoritma enkripsi.
2. Kunci Rahasia Kunci rahasia sebagai penentu output dari algoritma enkripsi. Antar entitas harus saling mengetahui kunci ini agar dapat melakukan enkripsi/dekripsi pesan.
3. Ciphertext Hasil dari proses algoritma enkripsi di mana teks asli dianggap telah tersembunyi.
4. Algoritma Enkripsi Algoritma enkripsi mengubah teks asli menjadi ciphertext dengan parameter masukan, yaitu teks asli dan kunci rahasia.
5. Algoritma Dekripsi
Algoritma dekripsi mengubah ciphertext menjadi teks asli dengan parameter masukan, yaitu ciphertext dan kunci rahasia.
Berdasarkan skema pada Gambar 2.1, kriptografi simetris menggunakan kunci tunggal yang mengharuskan pengirim dan penerima menyetujui dan mengetahui satu kunci rahasia tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan kriptografi simetris ini terletak pada kerahasiaan kuncinya. Semua algoritma kriptografi klasik termasuk dalam algoritma simetri. A B
Teks Asli Teks Asli
Ciphertext
Algoritma Algoritma
DekripsiEnkripsi
Kunci Rahasia
: Jalur RahasiaGambar 2.1 Skema Sistem Kriptografi Klasik2.2.2Sistem Kriptografi Kunci Publik Sistem kunci kriptografi kunci publik merupakan bagian dari sistem kriptografi modern.
Pada kriptografi kunci publik terdapat dua jenis kunci, kunci pertama ialah kunci tidak rahasia, yaitu kunci enkripsi (K e ) yang disebut kunci publik (K publik ). Kunci kedua ialah
d privat
kunci dekripsi (K ) bersifat rahasia (K ) yang ditunjukkan pada gambar 2.2. Berikut algoritma sistem kriptografi kunci publik [12]:
(K , K ) PembangkitKunci() publik privat …(B) Ciphertext Enkripsi(K publik , Plaintext) …(A) Plaintext Dekripsi(K publik , Ciphertext) A B …(B) Teks Asli
Teks Asli Ciphertext
Algoritma Algoritma Enkripsi Dekripsi Pembangkit K privat B
Kunci K B publik
Gambar 2.2 Skema Sistem Kriptografi Kunci Publik2.2.3Sistem Kriptografi Non Kunci Publik
Hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan sebagainya. Kecuali algoritma Pohlig˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat rahasia.Skema non kunci publik (dengan asumsi kunci sudah diketahui oleh kedua belah pihak sebelumnya) dapat dilihat pada Gambar 2.3. A B
Teks Asli Teks Asli
Ciphertext
Algoritma Algoritma
Enkripsi Dekripsi
Kunci Rahasia A Kunci Rahasia B
Gambar 2.3 Skema Sistem Kriptografi Non Kunci Publik2.3 Algoritma Nihilist Cipher
Algoritma Nihilist ciphers ditemukan sekitar abad ke-19 tepanya tahun 1880an [1] dan digunakan di Rusia oleh Russian Nihilist untuk mengorganisir teroris-teroris dalam melawan rezim czarist. Beberapa tahun kemudian algoritma ini mengalami perkembangan dan digunakan sebagai alat komunikasi mata-mata Soviet. Nihilist mendukung cara untuk menggulingkan kekuasaan Tsar Alexander II di Rusia [3].
2.3.1 Enkripsi Nihilist Cipher
Langkah-langkah dalam mengenkripsi sebuah pesan pada algoritma Nihilist Cipher adalah sebagai berikut :
1. Algoritma ini menggunakan Polybius Squre [3] yaitu sebuah kotak 5x5, dengan huruf Latin secara acak dan misalkan huruf J dihilangkan. Setiap elemen berisi huruf yang berbeda dengan 2 digit koordinat. Penempatan setiap huruf dapat diacak. Untuk kata SIHOTANG dapat direpresentasikan sebagai koordinat (43 24 23 34 44 11 33 22).
Tabel 2.1 Tabel Polybius Squareciphertext dan “TIGA” menjadi kata kuncinya.
87
48
45
45
88
35
55
33
Tahapan mendekripsi plaintext dengan menggunakan algoritma Nihilist Cipher [2]:
1. Untuk mendekripsi nihilist kita harus mengetahui kata kunci dan memiliki
ciphertext- nya
. Misalkan kita memiliki “87 48 45 45 88 35 55 33” sebagai
2. Mengacu pada Tabel 2 .3 kata “TIGA” bila disubstitusi akan menghasilkan himpunan koordinat “44 24 22 11”.
22
Tabel 2.3 Tabel Polybius Square1
2
3
4
5
1 A B C D E
2 F G H
I J
3 L M N O P
4 Q R S T U
5 V W
X Y Z
11 ct
24
1
Kk untuk Kata Kunci, pt untuk plaintext dan ct untuk ciphertext.
2
3
4
5
1 A B C D E
2 F G H
I J
3 L M N O P
4 Q R S T U
5 V W
X Y Z
2. Selanjutnya tentukan Kata Kunci misalnya TIGA maka hasil substitusinya adalah (44 24 22 11). Lakukan pengulangan bila panjang karakter berlebih.
3. Lakukan operasi penjumlahan antara koordinat kata kunci dengan plaintext.
Tabel 2.2 Tabel Hasil Enkripsi dengan Nihilist44
pt
43
24
23
34
44
11
33
22 kk
44
24
22
11
2.3.2 Dekripsi Nihilist
3. Lakukan operasi pengurangan antara koordinat cipertext dengan kata kunci.
Tabel 2.4 Tabel Hasil Dekripsi dengan Nihilistct
87
48
45
45
88
35
55
33
kk
44
24
22
11
44
24
22
11 pt
43
24
23
34
44
11
33
22
4. Langkah terakhir adalah mencari padanan karakter untuk setiap koordinat yang didapatkan di atas dengan tabel Polybius Square seperti pada Tabel 2.4 Maka didapati kata plaintext “SIHOTANG”.
2.4 Algoritma ADFGVX Cipher
Salah satu implementasi kriptografi Kunci ialah sistem kriptografi ADFGVX Cipher yang dipublikasikan pada tahun 1918 [4]. Algoritma ADFGVX Ciphermerupakan bagian dari algoritma simetris yang mana menggunakan tabel 6 x 6 yang berisi 26 huruf dan 10 angka (0-9).Enkripsinya terdiri dari dua proses, yaitu proses substitusi dan transposisi. Selain itu setiap proses tersebut setiap proses tersebut membutuhkan sebuah kunci.
2.4.1 Enkripsi ADFGVX Cipher
Berikut ini adalah langkah-langkah dalam mengenkripsi sebuah pesan plaintext dengan menggunakan algoritma ADFGVX Cipher [2].
1. Buatlah sebuah tabel 6 x 6 yang berisi secara acak 26 huruf dan 10 angka.
Setiap huruf dalam plaintext disubstitusi menjadi dua huruf yang ditentukan oleh posisi baris dan kolom. Misalkan plaintext-nya adalah “SIHOTANG”, maka hasil substitusinya adalah “FX DV DX FD GX VD FA AX”.
Tabel 2.5 Tabel ADFGVX Cipher A D F GV X A B C D E F G
M L K J
I H
D
N O P Q R S
F G Y
X W
V U T
V Z A
1
2
3
4 X
9
8
7
6
5
2. Tentukan kata kunci, yang mana terdiri dari huruf saja. Kunci ini digunakan dalam proses transposisi. Pertama buatlah sebuah tabel baru. Kemudian tulis kata yang menjadi kunci di bagian atas setiap kolomnya. Selanjutnya tulis hasil substitusi plaintext dibawahnya secara berurutan ke kanan lalu ke bawah. Sebagai contoh, kata kunci yang kita gunakan adalah “TIGA”. Maka tabel yang terbentuk adalah seperti pada Tabel 2.6.
Tabel 2.6 Tabel Kunci Enkripsi ADFGVX Cipher TI G A
4
3
2
1 F
X D
V D
X F D G
X V D F A A
X
3. Selanjutnya, urutkan kolom pada kunci terurut sesuai dengan alfabet. Maka urutan kata “tiga” menjadi “agit” (1-2-3-4). Sehingga tabel menjadi seperti pada Tabel 2.7.
Tabel 2.7 Tabel Perubahan Posisi Kunci ADFGVX Cipher A GI T
1
2
3
4 V D
X F D F
X D D
V X G
X A A F 4. Ciphertext adalah huruf-huruf yang berada di kolom pertama dan seterusnya.
Maka ciphertext yang dihasilkan adalah “VDDX DFVA XXXA FDGF”.
2.4.2 Dekripsi ADFGVX Cipher
Berikut algoritma dekripsi ADFGVX Cipher:
1. Lakukan pemisahan ciphertext dengan cara membagi ciphertext yang ada dengan kata kunci yang kita miliki. Sebagai contoh, kita memiliki pesan
ciphertext : “VDDXDFVAXXXAFDGF”.
2. Misalkan kunci yang digunakan adalah “TIGA”. Kita mengetahui bahwa kolom dibawah T, I, G dan Amemiliki 4 huruf. Selanjutnya, kita tempatkan 4 huruf pertama FDGF dibawah T, XXXA dibawah I, DFVA dibawah G, dan terakhir VDDX dibawah A. Maka tabel yang terbentuk seperti pada Tabel 2.8.
Tabel 2.8 Tabel Kunci Dekripsi ADFGVX Cipher TI G A
4
3
2
1 F
X D
V D
X F D G
X V D F A A
X
3. Kemudian lakukan penyelesaian dengan pembacaan secara berurutan ke kanan lalu ke bawah.
“FXDVDXFDGXVDFAAX”.
4. Langkah terakhir adalah mencari padanan karakter untuk setiap 2 huruf teks yang didapatkan di atas dengan tabel ADFGVX seperti pada Tabel 2.9.
Tabel 2.9 Tabel ADFGVX Cipher A D F GV X A B C D E F G
M L K J
I H
D
F N O P Q R S
G YX W
V U T
V Z A
1
2
3
4 X
9
8
7
6
5
5. Setelah mencari padanan karakter, maka didapatkan plaintext “SIHOTANG”.
2.5Penelitian Terkait
Berikut penelitian tentang kriptografi yang membahas ADFGVX Cipher dan RSA:
1. Pada penelitian oleh Yahya [1], nihilist unggul dalam penggunaan bujursangkar Polybius yang bisa berubah tergantung kunci, namun sekaligus menjadi kelemahan karena tidak efektif dimana kriptografer harus memberitahukan bentuk bujursangkar tersebut kepada penerima pesan.
2. Dalam penelitian oleh Mahyudin [4], kelebihan Algoritma ADFGVX cipher terletak pada fakta bahwa algoritma ini berbeda dengan algoritma klasik lainnya dimana frekuensi tiap huruf seperti frekuensi huruf E tidaklah mudah untuk dikenali. Selanjutnya kekuatan algoritma ini menjadi lebih ketika sistem transposisi diterapkan. Namun, kekuatan terbesar algoritma ini terletak pada kunci yang digunakan.