Pengertian Kriptografi
Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau
informasi secara aman dan dilakukan oleh cryptographer. Sedang, cryptanalysis
adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang
melakukannya disebut cryptanalyst. Kriptografi (Cryptography)
berasal dari bahasa Yunani yaitu dari kata Crypto dan Graphia yang berarti
penulisan rahasia. Kriptografi adalah suatu ilmu yang mempelajari penulisan
secara rahasia. 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.
Dalam menjaga kerahasiaan data, kriptografi
mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext)
yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh
pengirim (sender) kepada penerima (receiver). Setelah sampai di
penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk
plaintext agar dapat dikenali.
Proses tranformasi dari plaintext menjadi
ciphertext disebut proses Encipherment atau enkripsi (encryption),
sedangkan proses mentransformasikan kembali ciphertext menjadi plaintext
disebut proses dekripsi (decryption).
Untuk mengenkripsi dan mendekripsi data.
Kriptografi menggunakan suatu algoritma (cipher) dan kunci (key). Cipher adalah
fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi. Sedangkan
kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan
mendekripsi data.
Secara sederhana istilah-istilah di atas dapat digambarkan sebagai
berikut :.
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan
plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter
yang menentukan transformasi pencipheran tertentu disebut suatu set kunci.
Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi.
Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan
pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.
Secara umum proses enkripsi dan dekripsi dapat
dijelaskan secara matematis sebagai berikut :
EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Dekripsi)
DK (C) = M (Proses Dekripsi)
Pada saat proses enkripsi menyandikan pesan M dengan
suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C
tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang
sama seperti pesan sebelumnya.
Dengan demikian keamanan suatu pesan tergantung
pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada
algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut
dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan
algoritma tersebut dapat diproduksi massal. Sehingga tidak menjadi masalah
apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak
mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.
Secara umum berdasarkan kesamaan kuncinya,
algoritma sandi dibedakan menjadi :
- kunci-simetris/symetric-key, sering juga disebut dengan algoritma kunci rahasia, merupakan suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key).
- kunci-asimetris/asymetric-key, suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm.
Berdasarkan arah implementasi dan pembabakan
jamannya dibedakan menjadi :
- algoritma sandi klasik/classic cryptography
- algoritma sandi modern/modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan
menjadi :
- algoritma sandi kunci rahasia secret-key, adalah suatu kunci yang dimiliki oleh kita dan hanya kita seorang, dan tidak pernah diperlihatkan kepada publik, yang berfungsi sebagai kunci pembuka data yang telah terenkripsi hanya dapat didekripsi dengan menggunakan private key yang hanya diketahui oleh pemilik secret key.
- algoritma sandi kunci publik publik-key, merupakan suatu sistem yang menggunakan dua kunci; yaitu public key dan the secret key yang lebih baik dan lebih praktis dibandingkan dengan conventional crypto. Tujuan utamanya adalah kemudahan dalam manajemen kunci.