Kriptografi (Cryptography)
berasal dari bahasa Yunani yaitu dari kata Crypto
dan Graphia yang berarti penulisan
rahasia. Kriptografi adalah seni dan ilmu untuk menjaga pesan supaya aman.
Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut Cryptology. Kriptografi bertujuan
menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi
tersebut tidak dapat diketahui oleh pihak yang tidak sah (Kurniawan, 2002).
Istilah-istilah
yang umum ditemui di dunia kriptografi adalah sebagai berikut:
a.
Pesan,
Plaintext dan Ciphertext
Pesan (messages)
adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain
untuk pesan adalah plaintext. Pesan
dapat berupa data atau informasi yang dikirim melalui kurir atau media
telekomunikasi lain atau yang di dalam media penyimpan (storage). Agar
pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan harus
disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang
tersandikan disebut ciphertext. Ciphertext harus dapat dikembalikan ke
bentuk awal atau dikembalikan menjadi plaintext
semula agar pesan dapat dibaca oleh orang yang seharusnya menerima pesan.
b.
Pengirim
dan Penerima
Komunikasi
data yang menggunakan kriptografi selalu melibatkan dua pihak atau dua entitas.
Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas
lain. Penerima (receiver) adalah entitas yang menerima pesan entitas,
dapat berupa orang atau komputer (machine).
c.
Enkripsi
dan Dekripsi
Enkripsi
(encryption) atau enciphering (standar nama menurut ISO 7498-2)
merupakan proses menyandikan plaintext
menjadi ciphertext. Dekripsi (decryption)
atau deciphering (standar nama menurut ISO 7498-2) merupakan proses
mengembalikan ciphertext menjadi plaintext semula. Enkripsi dan dekripsi
bisa diterapkan pada pesan yang dikirimkan melalui media transmisi atau pesan
yang disimpan di media simpan (storage media).
d.
Cipher
Algoritma
kriptografi disebut juga cipher, yaitu aturan untuk enciphering dan
deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan
dekripsi. Konsep matematis yang mendasari algortima kriptografi adalah relasi
antara dua buah himpunan, yaitu himpunan yang berisi elemen–elemen plaintext dan himpunan yang berisi ciphertext. Enkripsi dan dekripsi
merupakan fungsi yang memetakan elemen-elemen
antara kedua himpunan tersebut. Misalnya P menyatakan plaintext dan C
menyatakan ciphertext, maka fungsi enkripsi E memetakan P ke C :
E(P) = C
Dan
fungsi dekripsi D memetakan C ke P :
D(C) = P
Karena
proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan awal, maka
kesamaan berikut harus benar :
D(E(P))
= P
Keamanan
algoritma kriptografi sering diukur dari banyaknya kerja (work) yang
dibutuhkan untuk memecahkan ciphertext menjadi plaintext-nya tanpa mengetahui
kunci yang digunakan.
e.
Kriptanalisis
dan Kriptologi
Kriptografi
telah berkembang pesat sehingga memunculkan bidang baru yang disebut
kriptanalisis. Kriptanalisis atau cryptanalysis
adalah ilmu dan seni untuk memecahkan ciphertext
menjadi plaintext tanpa mengetahui
kunci dan algoritma yang digunakan. Orang yang melakukan kriptanalisis disebut
kriptanalis. Jika seorang kriptografer (cryptografer) mengubah plaintext
menjadi ciphertext dengan algoritma dan kunci tertentu, maka seorang
kriptanalis mengubah ciphertext menjadi plaintext tanpa mengetahui kunci dan
algoritmanya terlebih dahulu. Tujuan kriptanalisis adalah menemukan plaintext
atau menemukan kunci atau algoritmanya. Kriptologi (cryptology)
merupakan studi mengenai kriptografi dan kriptanalisis, dan keduanya saling
berkaitan.
A. Macam-macam
Algoritma Kriptografi
Algoritma kriptografi dibagi menjadi dua
berdasarkan pembagian kunci sebagai berikut (Munir, 2000):
a.
Kriptografi Simetri
Kriptografi simetri menggunakan kunci untuk
enkripsi sama dengan kunci yang dipakai untuk melakukan dekripsi. Istilah lain
untuk enkripsi dan dekripsi ini adalah kriptografi kunci privat (private-key
cryptography) atau kriptografi kunci rahasia (secret-key cryptography).
Penerapan algoritma akan menghasilkan output yang berbeda sesuai dengan kunci
yang dipakai. Mengubah kunci berarti juga mengubah output dari algoritma yang
dipakai. Hasil chipertext tersebut dapat diubah kembali menjadi pesan asli
dengan algoritma dekripsi dan dengan kunci yang sama seperti yang digunakan
pada saat enkripsi. Keamanan dari enkripsi konvensional ini terdiri dari
beberapa faktor. Pertama, algoritma enkripsi harus benar-benar teruji, sehingga
tidak dimungkinkan untuk mendekripsi sebuah pesan hanya dalam bentuk
chipertext. Kedua, keamanan enkripsi konvensional juga ditentukan oleh
kerahasiaan kunci yang digunakan, bukan kerahasiaan algoritma yang digunakan.
Kunci simetri meliputi OTP, DES, RC2, RC4, RC5, RC6, IDEA, Twofish, Rijndael
(AES) dan Blowfish.
b.
Kriptografi Asimetri
Kriptografi asimetri adalah
algoritma yang memakai kunci berbeda untuk proses enkripsi dan dekripsinya.
Kriptografi asimetri disebut juga sebagai sistem kriptografi Public-key karena kunci untuk enkripsi
dibuat secara umum (publickey) atau bisa diketahui oleh siapa saja.
Proses dekripsinya yang dibuat satu saja, yakni hanya oleh yang berwenang untuk
mendekripsinya (disebut private-key). Keuntungan kriptografi asimetri
ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan
kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci
(disebut public-key) bagi para koresponden untuk mengenkripsi pesan, dan
private-key untuk mendekripsi pesan. Metode enkripsi kunci publik
membutuhkan dua buah kunci di dalam algoritmanya, yaitu kunci publik dan kunci
pribadi. Kunci publik dipakai untuk mengenkripsi plaintext menjadi ciphertext,
kunci pribadi dipakai untuk mendekripsi ciphertext menjadi plaintext dan kunci
ini bersifat rahasia. Algoritma kriptografi asimetri meliputi ECC, LUC, RSA, El
Gamal, DH.
B. Tujuan
Kriptografi
Tujuan kriptografi meliputi
lima aspek penting sebagai berikut (Kurniawan, 2004):
a.
Kerahasiaan
Confidentiality
atau kerahasiaan adalah tujuan kriptografi yang bertujuan untuk
menjaga agar informasi atau pesan yang ada tidak dapat dibaca oleh pihak–pihak
yang tidak berhak.
b.
Integritas
Data
Data integrity atau
integritas data merupakan tujuan kriptografi yang menjamin bahwa pesan masih
asli atau belum pernah dimanipulasi oleh pihak yang tidak berhak selama proses
pengiriman.
c.
Otentikasi
Authentication atau
otentikasi adalah tujuan kriptografi yang berhubungan dengan identifikasi.
Dalam hal ini akan diidentifikasi tentang kebenaran pihak–pihak yang
berkomunikasi. Hal ini berkaitan erat dengan keaslian sumber pesan.
d.
Anti
Penyangkalan
Non repudiation atau
anti penyangkalan adalah tujuan kriptografi yang bertujuan mencegah pihak yang
mengirim pesan melakukan penyangkalan terhadap pesan yang dikirimnya.