Berasal dari bahasa Yunani yang berarti "tulisan tersembunyi", kriptografi adalah ilmu yang mengaburkan informasi yang dikirimkan sehingga hanya dapat dibaca oleh penerima yang dituju. Terdapat banyak jenis aplikasi kriptografi. Dari autentikasi pesan sehari-hari yang menyeluruh di WhatsApp hingga tanda tangan digital praktis pada formulir hukum atau bahkan sandi yang menguras CPU yang digunakan untuk menambang mata uang kripto, kriptografi menjadi aspek penting dari dunia digital dan komponen keamanan siber yang penting untuk melindungi data sensitif dari peretas dan penjahat siber lainnya.
Praktik kriptologi sudah ada sejak zaman kuno, dengan salah satu contoh paling awal dikaitkan dengan Julius Caesar sendiri. Sistem kriptografi modern jauh lebih maju, tetapi tetap berfungsi dengan cara yang sama. Sebagian besar sistem kriptografi dimulai dengan pesan yang tidak terenkripsi yang dikenal sebagai plaintext, yang kemudian dienkripsi menjadi sebuah kode tidak dapat dipahami yang dikenal sebagai ciphertext dengan menggunakan satu kunci enkripsi atau lebih.
Ciphertext ini kemudian ditransmisikan ke penerima. Jika ciphertext disadap dan algoritma enkripsi kuat, ciphertext tidak berguna bagi penyadap yang tidak sah karena mereka tidak akan dapat memecahkan kode. Namun, penerima yang dituju akan dengan mudah dapat menguraikan teks tersebut, dengan asumsi bahwa mereka memiliki kunci dekripsi yang benar.
Sebelum menyelam lebih dalam, mari kita lihat fitur inti dari kerangka kriptografi yang kuat:
- Kerahasiaan: Informasi terenkripsi hanya dapat diakses oleh orang yang dituju dan tidak oleh orang lain.
- Integritas: Informasi terenkripsi tidak dapat dimodifikasi saat disimpan atau dalam perjalanan antara pengirim dan penerima yang dituju tanpa terdeteksi adanya perubahan.
- Nonrepudiasi: Pencipta/pengirim informasi terenkripsi tidak dapat menyangkal niatnya untuk mengirimkan informasi tersebut.
- Autentikasi: Identitas pengirim dan penerima—serta asal dan tujuan informasi—dikonfirmasi.
- Manajemen kunci: Kunci yang digunakan untuk mengenkripsi dan mendekripsi data (dan tugas terkait seperti panjang, distribusi, pembuatan, rotasi kunci) dijaga keamanannya.