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
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
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
Gambar 2.1 Skema Sistem Kriptografi Klasik
2.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 (Ke) yang disebut kunci publik (Kpublik). Kunci kedua ialah kunci dekripsi (Kd) bersifat rahasia (Kprivat) yang ditunjukkan pada gambar 2.2. Berikut algoritma sistem kriptografi kunci publik [12]:
(Kpublik , Kprivat) PembangkitKunci() …(B)
2.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
Teks Asli
B
Ciphertext Teks Asli
Algoritma Enkripsi
Algoritma Dekripsi
Kunci Rahasia A Kunci Rahasia B
Gambar 2.3 Skema Sistem Kriptografi Non Kunci Publik
2.3Algoritma 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.1Enkripsi 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
Tabel 2.1 Tabel Polybius Square
1 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. Kk untuk Kata Kunci, pt untuk plaintext dan ct untuk ciphertext.
Tabel 2.2 Tabel Hasil Enkripsi dengan Nihilist
pt 43 24 23 34 44 11 33 22
kk 44 24 22 11 44 24 22 11
ct 87 48 45 45 88 35 55 33
2.3.2 Dekripsi Nihilist
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
ciphertextdan “TIGA” menjadi kata kuncinya.
2. Mengacu pada Tabel 2.3 kata “TIGA” bila disubstitusi akan menghasilkan himpunan koordinat “44 24 22 11”.
Tabel 2.3 Tabel Polybius Square
1 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
3. Lakukan operasi pengurangan antara koordinat cipertext dengan kata kunci.
Tabel 2.4 Tabel Hasil Dekripsi dengan Nihilist
ct 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.4Algoritma 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.
Tabel 2.5 Tabel ADFGVX Cipher
A D F G V X
A B C D E F G
D M L K J I H
F N O P Q R S
G Y X W V U T
V Z A 1 2 3 4
X 0 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
T I G A
4 3 2 1
F X D V
D X F D
G X V D
F A A X
Tabel 2.7 Tabel Perubahan Posisi Kunci ADFGVX Cipher
A G I 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 ciphertextyang 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
T I 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
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 G V X
A B C D E F G
D M L K J I H
F N O P Q R S
G Y X W V U T
V Z A 1 2 3 4
X 0 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