Kriptografi
Pengertian
Kriptografi atau sandisastra merupakan keahlian dan ilmu
dari cara-cara untuk komunikasi aman pada kehadirannya di pihak ketiga (seperti
sandi computer, ATM, dll).
Sejarah
Sejarah penulisan rahasia tertua dapat ditemukan pada
peradaban Mesir kuno, yakni tahun 3000 SM. Bangsa Mesir menggunakan ukiran
rahasia yang disebut dengan hieroglyphics untuk menyampaikan pesan
kepada orang-orang yang berhak.
Awal tahun 400 SM bangsa Spartan di Yunani memanfaatkan
kriptografi di bidang militer dengan menggunakan alat yang disebut scytale,
yakni pita panjang berbahan daun papyrus yang dibaca dengan cara digulungkan ke
sebatang silinder. Sedangkan peradaban Cina dan Jepang menemukan kriptografi
pada abad 15 M.
Peradaban Islam juga menemukan kriptografi karena
penguasaannya terhadap matematika, statistik, dan linguistik. Bahkan teknik
kriptanalisis dipaparkan untuk pertama kalinya pada abad 9 M oleh seorang
ilmuwan bernama Abu Yusuf Ya’qub ibn ‘Ishaq as-Shabbah al Kindi atau dikenal
dengan Al-Kindi yang menulis kitab tentang seni memecahkan kode. Kitabnya berjudul Risalah
fi Istikhraj al-Mu’amma (Manuskrip untuk memecahkan pesan-pesan
Kriptografi). Terinspirasi dari perulangan huruf dalam Al-Qur’an, Al-Kindi
menemukan teknik analisis frekuensi, yakni teknik untuk memecahkan ciphertext
berdasarkan frekuensi kemunculan karakter pada sebuah pesan (Wirdasari, 2008).
Tujuan
Kriptografi bertujuan untuk memberikan layanan keamanan
(yang juga dinamakan aspek-aspek keamanan) sebagai berikut :
1.
Kerahasiaan (confidentiality). Adalah layanan
yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak
yang tidak berhak.
2.
Integritas data (data integrity). Merupakan
kemampuan penerima pesan untuk memverifikasi pesan, memastikan bahwa pesan
belum dimodifikasi dalam perjalanan, seorang penyusup seharusnya tidak mampu
mengganti pesan asli dengan yang palsu.
3.
Otentikasi (authentication). Otentifikasi adalah
kemampuan penerima pesan untuk memastikan pesan tersebut asli. Seorang penyusup
seharusnya tidak bisa menyamar sebagai orang lain.
4.
Nirpenyangkalan (non-repudiation). Adalah dimana
pengirim pesan tidak bisa menyangkal bahwa dia telah mengirim pesan.
Proses
Proses pada Kriptografi dibagi menjadi 2 yaitu :
1.
Enkripsi (Encrypt)
2.
Dekripsi (Decrypt)
Enkripsi (Encrypt)
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan
yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca
(ciphertext). Berikut adalah contoh enkripsi :
Plaintext Ciphertext
laptop mbqupq
Dekripsi (Decrypt)
Deskripsi merupakan proses kebalikan dari enkripsi dimana
proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan
algoritma "pembalik" dan key yang sama. contoh :
Ciphertext Plaintext
mbqupq laptop
Kunci pada Algoritma Kriptografi
Block Cipher
Block-cipher adalah skema algoritma sandi yang akan
membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut
blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci
yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang
relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola
serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model
algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
·
ECB, Electronic Code Book
·
CBC, Cipher Block Chaining
·
OFB, Output Feed Back
·
CFB, Cipher Feed Back
Stream Cipher
Stream-cipher adalah algoritma sandi yang mengenkripsi data
persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di
enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan
kunci yang merupakan hasil pembangkitan dari kunci sebelum.
Dalam kriptografi, Stream cipher dan Block cipher adalah dua
algoritma enkripsi / dekripsi yang termasuk dalam keluarga cipher kunci
simetris. Biasanya cipher mengambil teks biasa sebagai input dan menghasilkan
ciphertext sebagai output. Blok cipher mengenkripsi blok bit dengan panjang
tetap menggunakan transformasi yang tidak bervariasi. Cipher stream
mengenkripsi aliran bit dengan panjang yang bervariasi dan menggunakan
transformasi yang berbeda pada setiap bit.
Perbandingan
Dasar
untuk perbandingan
|
Blok
cipher
|
Stream
cipher
|
Dasar
|
Konversi
teks biasa dengan mengambil bloknya sekaligus.
|
Konversi
teks dengan mengambil satu byte teks biasa pada suatu waktu.
|
Kompleksitas
|
Desain sederhana
|
Kompleks secara
komparatif
|
Tidak
ada bit yang digunakan
|
64
Bit atau lebih
|
8
Bit
|
Kebingungan
dan Difusi
|
Menggunakan
kebingungan dan difusi
|
Bergantung pada
kebingungan saja
|
Mode
algoritma digunakan
|
ECB
(Buku Kode Elektronik)
CBC (Cipher Block Chaining)
|
CFB
(Umpan Balik Cipher)
OFB (Umpan Balik Keluaran)
|
Reversibilitas
|
Membalik teks
terenkripsi sulit.
|
Ini menggunakan
XOR untuk enkripsi yang dapat dengan mudah dibalik ke teks biasa.
|
Pelaksanaan
|
Feistel
Cipher
|
Vernam
Cipher
|
Kriptografi Hybrid
Sistem ini mengggabungkan chiper simetrik dan asimetrik.
Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua
belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian
session key digunakan dengan teknik chiper simetrik untuk mengenkripsi
conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya
dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.
Proses Kriptografi
Metode hibrida terdiri atas enkripsi simetris dengan satu
kunci (Session Key) dan enkripsi asimetris dengan sepasang kunci
(Public/Private Key).
Langkah 1 : Pengirim mengenkripsi teks dengan Session Key.
Langkah 2 : Mengenkripsi Session Key dengan Public Key.
Langkah 3 : Penerima men-decrypt Session Key dengan Private
Key.
Langkah 4 : Men-decrypt teks dengan Session Key.
Teknik Dasar Kriptografi
1. Teknik Subtitusi
Sebuah huruf akan digantikan dengan huruf yang letaknya
sesuai dengan yg diinginkan
Contoh :
ROT3 = mengganti huruf ke-1 menjadi huruf ke-3
Huruf A akan digantikan dengan huruf C, dan huruf Z akan
digntikan dengan huruf B

2. Teknik Blocking
Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen.
Contoh:
Plain Text : SAYA LAKI LAKI
Enkripsi : SAK AKI YI A L LA
3. Teknik Permutasi
Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu.
Plain Teks : SAYA LAKI LAKI
Enkripsi : LAAY SLAIK LIIK
4. Teknik Ekspansi
· Suatu metode sederhana untuk mengacak pesan adalah dengan memelarkan pesan itu dengan aturan tertentu.
· Salah satu contoh penggunaan teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di akhir kata itu dan menambahkan akhiran "an".
· Bila suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran "i".
Plain Text : SAYA LAKI LAKI
Enkripsi : AYASAN AKILAN AKILAN
5. Teknik Pemampatan
· Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan.
· Contoh sederhana ini menggunakan cara menghilangkan setiap karakter ke-tiga secara berurutan.
· Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai "lampiran" dari pesan utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini digunakan "&".
Plain Text :
Ket :
Warna merah = pesan yang dilampirkan
Warna hitam = pesan yang dimampatkan
Enkripsi :
SAA AKI LKI&YLIA
Referensi : kajianpustaka.com, qwords.com.