Kriptografi adalah suatu ilmu yang mempelajari
bagaimana cara menjaga agar data atau pesan
tetap aman saat dikirimkan, dari pengirim ke penerima
tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography",
kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure).
Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi.
Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi
bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan
algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah
kembali bentuk tersamar tersebut menjadi informasi awal.
Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat
dibedakan menjadi dua jenis yaitu :
·
Algoritma simetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah
kunci yang sama
·
Algoritma asimetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi
menggunakan kunci yang berbeda.
Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka
algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :
·
Algoritma block
cipher
Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal
64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan
akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama.
·
Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok
yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan
waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu.
Konsep kriptografi sendiri telah lama
digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih
sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni:
·
Confidelity
(kerahasiaan) yaitu
layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali
pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan
cara membuat suatu algoritma
matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan
dipahami.
· Data integrity (keutuhan
data) yaitu layanan yang mampu mengenali/mendeteksi
adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak
lain).
· Authentication (keotentikan)
yaitu layanan yang
berhubungan dengan identifikasi.
Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi
keaslian data/informasi.
·
Non-repudiation
(anti-penyangkalan)
yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang
dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).
Berbeda
dengan kriptografi klasik yang menitikberatkan kekuatan pada kerahasiaan
algoritma yang digunakan (yang artinya apabila algoritma yang digunakan telah
diketahui maka pesan sudah jelas "bocor" dan dapat diketahui isinya
oleh siapa saja yang mengetahui algoritma tersebut), kriptografi modern lebih
menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma tersebut
(oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke kalangan
masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya.
Berikut
adalah istilah-istilah yang digunakan dalam bidang kriptografi :
- Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli).
- Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.
- Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext.
- Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli.
- Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.
Kriptografi itu sendiri terdiri dari dua proses
utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan
di atas, proses enkripsi mengubah plaintext menjadi ciphertext
(dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut
sukar dimengerti.
Diagram proses enkripsi dan dekripsi
Peranan kunci
sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma
yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat
diketahui. Secara matematis, proses enkripsi
merupakan pengoperasian fungsi E (enkripsi)
menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C (ciphertext), notasinya :
Ee(M) – C
Sedangkan
untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga
dihasilkan M (plaintext), notasinya :
Dd(C) = M
Sehingga dari dua hubungan diatas
berlaku :
Dd(Ee(M)) = M
Komentar
Posting Komentar