Thursday, February 07, 2013

Kriptografi


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.