Latar Belakang DATA MAHASISWA

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