BAB 2
TINJAUAN PUSTAKA
3.1. Latar Belakang
3.1.1. Pengertian Kriptografi
Kriptografi berasal dari kata kripto dan grafi. Kripto berarti menyembunyikan, dan grafi yaitu ilmu. Kriptografi cryptography adalah suatu ilmu yang mempelajari suatu
sistem penyandian untuk menjamin kerahasiaan dan keamanan data. Orang yang melakukan disebut Criptographer. Kriptografi merupakan ilmu yang mempelajari
teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, dan integritas data serta autentifikasi data Menezes,
1996
Sisem kriptografi klasik umumnya menggunakan metode subtitusi atau transposisi dan telah digunakan jauh sebelum komputer ditemukan. Terdapat beberapa komponen
utama dalam sistem kriptografi yaitu:
Secara umum, istilah kriptografi yang sering digunakan adalah Munir, 2006: 1.
Pesan Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya,
pesan sering juga disebut dengan plaintext atau teks jelas cleartext. Plaintext merupakan suatu pesan bermakna yang akan diproses menggunakan algoritma
kriptografi. 2.
Ciphertext Cipertext atau di sebut dengan cryptosystem merupakan pesan yang telah
tersandi. Pesan dalam bentuk ciphertext tidak dapat dibaca karena berisi karakter-karekter yang tidak memiliki makna setelah melalui proses enkripsi.
3. Enkripsi
Enkripsi merupakan proses penyandian plaintext menjadi ciphertext atau disebut sebagai enciphering. Enkripsi dilakukan dengan tujuan agar plaintext
tersebut tidak dapat dibaca oleh pihak yang tidak memiliki otoritas wewenang.
4. Dekripsi
Dekripsi merupakan proses pengembalian ciphertext menjadi plaintext semula atau di sebut deciphering. Dekripsi dilakukan ketika pesan telah sampai
kepada pihak yang dituju. 5.
Kunci key. Kunci key adalah parameter yang digunakan untuk transformasi enkripsi dan
dekripsi. Kunci dapat juga berupa string atau deretan bilangan. Keamanan suatu algoritma kriptografi biasanya tergantug kepada kerahasiaan penyebaran
key. 6.
Kriptosistem cryptosystem Cryptosystem adalah perangkat keras atau implementasi perangkat lunak
kriptografi yang diperlukan atau mentranformasi sebuah pesan asli menjadi ciphertext atau juga sebaliknya.
3.1.2. Jenis Kriptografi
Menurut Munir, 2006 terdapat dua jenis algoritma kriptografi berdasarkan jenis kunci yang digunakan, yaitu:
1. Algoritma Kriptografi Simetri Konvensional Symetric Cryptosystem
2. Algoritma Kriptografi Asimetri Kunci Publik Assymetric Cryptosystem
1. Kriptografi Simetri Symetric Cryptosystem
Konsep dasar dari kriptografi simetri adalah kunci yang digunakan untuk enkripsi merupakan kunci yang sama dengan kunci untuk dekripsi. Istilah lain untuk
kriptografi simetri adalah kriptografi kunci privat private-key cryptography. Kriptografi kunci rahasia secret-key cryptography, atau kriptografi konvensional
conventional cryptography. Dapat juga di katakan sebagai proses enkripsi dan
dekripsi yang kuncinya harus dirahasiakan. Dan contoh disini yang diambil adalah DES Data Encrpytion Standart, Blowfish, IDEA. Dua kategori yang termasuk
algoritma simetri adalah algoritma blok cipher dan stream cipher. Proses enkripsi dan dekripsi dapat dilihat pada gambar 2.1 dibawah ini:
Gambar 2.1 Proses enkripsi dan dekripsi Simetric Cryptosystem
a. Block Cipher
Algoritma block cipher adalah algoritma yang masukan dan keluarannya berupa satu block, dan setiap blocknya terdiri dari banyak bit. Beberapa mode
operasi enkripsi block cipher. 1.
Data Encryption Standard DES 2.
AES Advanced Encryption Standard 3.
Blowfish b.
Stream Cipher Stream cipher cipher aliran adalah cipher yang berasal dari hasil XOR antara
bit plaintext dengan setip bit kuncinya. Stream cipher sangat rawan terhadap attack dan pembalikan kunci. Beberapa model algoritma stream cipher adalah
antara lain: 1.
One Time Pad OTP 2.
Rivest Code 4 RC4
Kelebihan algoritma simetri adalah: a.
Proses enkripsi dekripsi kriptografi simetri membutuhkan waktu yang relatif singkat.
b. Ukuran kunci yang relatif pendek.
c. Otentifikasi pengiriman pesan langsung diketahui dari ciphertext yang diterima
karena kunci hanya diketahui oleh penerima dan pengirim saja.
Kekurangan kriptografi simetri adalah: a.
Kunci simetri harus dikirim melalui saluran komunikasi yang aman dan kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci.
b. Kunci harus sering diubah, setiap kali melaksanakan komunikasi.
2. Kriptografi Asimetri Symetric Cryptosystem
Konsep dasar kriptografi asimetri sering juga disebut dengan algoritma kunci publik plaintext key, dengan arti kata kunci yang digunakan untuk melakukan enkripsi dan
dekripsi berbeda. Pada algoritma simetri kunci dibagi dua bagian, yaitu:
1. Kunci umum public key: kunci yang boleh dikataui oleh semua orang kunci
dipublikasikan. 2.
Kunci rahasia private key: kunci yang dirahasiakan hanya diketui oleh pengirim dan penerima pesan saja.
Kunci-kunci tersebut berhubungan satu dengan yang lain. Dengan kunci plaintext orang dapat mengenkripsi pesan tapi tidak bisa mendekripsikannya. Hanya
orang yang memiliki kunci rahasia yang dapat di dekripsi pesan tersebut. Algoritma asimetri dapat mengirim pesan dengan lebih aman dari algoritma simetri.
Dalam kriptografi asimetris digunakan dua buah kunci yang berbeda dalam proses enkripsi dan dekripsi lagi. Salah satu disebut kunci publik plaintext key dapat
dipublikasikan. Sedangkan kunci yang lain disebut kunci privat private key yang harus dirahasiakan. Misalnya bila A mengirim pesan kepada B, A dapat menyandikan
pesannya menggunakan kunci plaintext B, dan bila B ingin membaca pesan tersebut, maka Si B tersebut perlu mendekripsikan dengan kunci privatnya. Dengan demikian
kedua belah pihak dapat menjamin asal pesan serta keaslian pesan tersebut, karena adanya mekasnisme ini. Contoh dari sistem ini antara lain RSA Scheme dan Merkie
Hellman Scheme. Proses enkripsi dan dekripsi pada algoritma asimetri dapat dilihat pada gambar 2.2 dibawah ini:
Gambar 2.2 Proses Enkripsi dan dekripsi Asymetric Cryptosystem
3.1.3. Tujuan Kriptografi
Ditinjau dari tujuan kriptografi sendiri adalah sebagai berikut Menezes, Oorschot dan Vanstone, 1996:
1. Kerahasiaan confidentialy
Merupakan layanan yang bertujuan untuk mendaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak memiliki otoritas wewenang. Dalam
kriptografi layanan ini dapat direalisasikan dengan menyandikan pesan ciphertext. Misalnya kata
“majid” dapat disandikan dengan “abcde”. Istilah lain yang serupa dengan confidentialy adalah secrecy dan privacy.
2. Integritas data data integrity
Merupakan layanan yang menjamin bahwa pesan asli masih uth atau belum dimanipulasi selama proses pengiriman. Dengan kata lain, aspek keamanan ini
dapat diungkap sebagai pertanyaan “ apakah pesan yang diterima masih asli atau sudah di lakukan modifikasi”.
3. Otentifikasi autentification
Merupakan layanan
yang berhubungan
dengan identifikasi,
baik mengidentifikasi
kebenaran pihak-pihak
yang berkomunikasi
user autentification atau entity autentification. Dua pihak yang saling
berkomunikasi harus dapat mengidentifikasi satu sama yang lainnya sehingga si penerima memastikan sumber pesan.
4. Non-repudiation
Merupakan layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu si pengirim pesan menyangkal melakukan pengiriman
atau penerima pesan menyagkal telah menerima pesan sebelumnya.
3.1.4. Serangan Terhadap Kriptografi
Attack serangan merupakan suatu usaha yang dilakukan oleh seorang kriptanalis untuk menemukan kunci atau plaintext ke ciphertext dalam suatu sistem kriptogafi.
Kriptanalis akan berusaha untuk menemukan plaintext dari ciphertext tanpa memiliki akses kunci yang digunakan dari sistem kriptografi. Berdasarkan teknik yang
digunakan dalam menemukan kunci, serangan dapat dibagi menjadi exahaustive atau brute force attack dan analytical attack Fitria, 2007.
Exhaustive atau brute force attack merupakan serangan untuk mendapatkan plaintext dai ciphertext dengan mencoba satu persatu kombinasi atau kemungkinan
kunci yang digunakan. Dalam hal ini kriptanalis harus tahu jenis algoritma kriptografi yang digunakan oleh pengirim pesan dan juga memiliki sejumlah plaintext dan
ciphertext.
a. Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi
atas dua macam, yaitu serangan pasif dan serangan aktif:
1. Serangan aktif
Pada serangan ini, penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan pribadinya. Misalnya penyerang mengubah aliran pesan
seperti menghapus sebagian ciphertext, mengubah ciphertext, menyisipkan potongan ciphertext palsu, me-replay pesan lama, mengubah informasi yang
tersimpan, dan sebagainya.
2. Serangan pasif
Pada proses ini, penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima pesan, namun penyerang menyadap semua pertukaran pesan antara
kedua entitas tersebut, tujuan utamanya adalah untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalis
2.1.5 Teknik Enkripsi dan Dekripsi
a. Teknik Subtitusi
Teknik subtitusi akan diganti suatu kode dengan kode yang lain, degan menggunakan tabel subtitusi. Dapat ditampilkan dalam tabel dibawah ini. Dapat dilihat pada tabel
2.1 dibawah ini:
Tabel 2.1 Teknik subtitusi
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
M A J I D
S Y 4 B R U L 0 1 2 3
Tabel subtitusi diatas dibuat secara acak, misalkan huruf A akan diganti dengan huruf M, dan huruf B diganti dengan huruf A begitu seterusnya. Misalkan kata “ENKRIPSI”
akan dienkripsi dengan teknik subtitusi dengan tabel diatas menjadi “D4SBS”. Untuk memperoleh kata “ENKRIPSI” kembali maka dilakukan pula melihat tabel
subtitusi diatas.
b. Teknik Blocking
Teknik blocking yaitu membagi pesan plaintext kedalam blok-blok pesan yang kemudian akan di enkripsi secara independen. Misalkan kalimat “TEKNIK
BLOCKING ENCRYPTION METHODE ” akan dibagi kedalam blok-blok sebagai
berikut. Dapat dilihat pada tabel 2.2 dibawah ini:
Tabel 2.2 Teknik Blocking
T K
C space
Y N
H E
space K
E P
space O
K B
I N
T M
D N
L N
C I
E E
I O
G R
O T
space
Selajutnya teknik dapat dienkripsi perblok, misalkan untuk proses pengacakan sederhana dengan pembacaaan yang terbalik yaitu karena proses penyimpanan pada
blok dilakukan per kolom, maka proses enkripsi akan dilakukan dengan cara menaruh kalimat “ EDOHTEM NIOTPYRCNE GNIKCOLB KINKET” pada blok-blok pesan
berbaris dan membaca dengan perkolom dan menjadi kalimat “TEKNIK BLOCKING
ENCRYPTION METHODE ” kembali. Agar rumit dapat menggunakan kalkulasi
tertentu untuk mengacak susunan blok seperti pada algoritma FEAL dan ElGamal pada skripsi ini.
b. Teknik permutasi
Teknik permutasi sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu, prinsipnya adalah berlawanan tetap tapi
identitasnya yang diacak. Sebelum dilakukakan permutasi, umumnya plaintetxt terlebuh dahulu di bagi menjadi blok-blok dengan panjang yang sama. Untuk contoh
diatas, plaintext dibagi menjadi blok terdiri dari 5 karakter, dengan aturan permutasi pada gambar 2.3. berikut:
Gambar 2.3. Teknik Permutasi Misalkan kalimat “KUNCI RAHASIA” di enkripsi menjadi “ICNUK
ISAHAR A” dengan cara membaginya kalimat kedalam 5 blok – 5 blok dan melakukan proses permutasi seperti pada gambar diatas dengan teknik pengacakan.
Proses dekripsi dilakukan serupa dengan membagi kedalam 5 blok pula dan membalik permutasinya pada gambar. 2.4. dibawah ini:
K U N C I R A H A S I
A
I C N U K
I S A H A R
A
Gambar 2.4. Teknik Permutasi
c. Teknik Ekspansi
Teknik akan menambahkan beberapa byte kata kedalam plaintext dengan aturan tertentu. Proses penambahan beberapa
byte kata ini diharapkan dapat menyembunyikan informasi dapat plaintext. Salah satu contoh penggunaan teknik ini
adalah dengan menukar huruf awal dan akhir kata yang diberi awalan “NI” proses enkripsi dengan cara ekspansi terhadap plaintext terjadi sebagai pada gambar 2.5.
Berikut ini:
Gambar 2.5. Teknik Ekspansi
Ciphertext nya adalah “EVINGNI EETRCSNI SDROWNI”. Aturan ekspansi dapat
dibuat lebih kompleks dan terkadang teknik ekspansi dapat digabungkan dengan teknik lainnya.
d. Teknik Pemampatan Compaction
Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan. Misalkan untuk plaintext
“SECRET WORDS” setiap kata ke dua akan dihilangkan dan di sertakan pada akhir kalimat yang sebelumnya diberi
tanda “.”. proses yang terjadi untuk plaintext tersebut adalah pada gambar. 2.6. yaitu:
S E
C R
E T
E W O
R D
S
S C
E E
W R
S
S C
E E
W R S
. E
R T
O D
Gambar 2.6. Teknik Pemampatan.
Aturan penghilangan karakter dan karakter khusus dan berfungsi sebagai pemisah menjadi dasar untuk proses dekripsi ciphertext menjadi plaintext kembali.
Dengan menggunakan kelima menjadi teknik kriptografi diatas, dapat diciptakan teknik kriptografi yang amat banyak walaupun sekilas terlihat sederhanana,
kombinasi teknik dasar kriptografi dapat menghasilkan teknik kriptografi turunan yang cukup kompleks, dan beberapa teknik dasar kriptografi masih digunakan dalam
kriptografi modern.
2.2 Algoritma Hibrida Hybrid Algorithm