Pengantar Kriptografi
Pahami konsep enkripsi simetris dan asimetris, fungsi hash, tanda tangan digital, serta cara menggunakannya secara benar untuk melindungi data.
Tujuan Pembelajaran
- Membedakan enkripsi simetris dan asimetris
- Menjelaskan fungsi hash dan kegunaannya
- Memahami tanda tangan digital dan sertifikat
- Mengetahui prinsip penting: jangan membuat algoritma sendiri
01Tujuan kriptografi
Kriptografi adalah ilmu mengamankan informasi menggunakan matematika. Tujuannya mendukung pilar keamanan: kerahasiaan lewat enkripsi, integritas lewat hash, serta autentikasi dan non-repudiation lewat tanda tangan digital.
Dalam skema modern, algoritma dibuat publik dan keamanannya bertumpu pada kerahasiaan kunci, bukan kerahasiaan algoritma. Prinsip ini dikenal sebagai prinsip Kerckhoffs.
02Enkripsi simetris
Pada enkripsi simetris, kunci yang sama dipakai untuk mengenkripsi dan mendekripsi. Contoh algoritma modern adalah AES. Ia sangat cepat sehingga cocok untuk mengenkripsi data dalam jumlah besar.
Tantangan utamanya adalah distribusi kunci: bagaimana kedua pihak berbagi kunci rahasia dengan aman. Karena itu, enkripsi simetris sering dipasangkan dengan enkripsi asimetris.
03Enkripsi asimetris dan tanda tangan digital
Enkripsi asimetris memakai sepasang kunci: kunci publik yang boleh disebarkan dan kunci privat yang dirahasiakan. Pesan yang dienkripsi dengan kunci publik hanya dapat dibuka oleh pemilik kunci privat. Contohnya RSA dan kurva eliptik.
Tanda tangan digital membalik peran: pemilik menandatangani dengan kunci privat, dan siapa pun dapat memverifikasi dengan kunci publik. Ini membuktikan asal dan keutuhan pesan. HTTPS memadukan keduanya: asimetris untuk bertukar kunci, simetris untuk data.
04Fungsi hash dan penyimpanan kata sandi
Fungsi hash mengubah data berukuran apa pun menjadi nilai tetap yang unik secara praktis, dan tidak dapat dibalik. Perubahan satu karakter saja menghasilkan hash yang sangat berbeda, sehingga hash cocok untuk memeriksa integritas file.
Untuk kata sandi, jangan simpan teks asli. Gunakan algoritma hash kata sandi yang lambat dan bersalt seperti Argon2, bcrypt, atau scrypt. Hindari MD5 dan SHA-1 karena sudah dianggap lemah.
- Gunakan pustaka kriptografi yang teruji, jangan membuat algoritma sendiri
- Lindungi dan rotasi kunci secara berkala
- Pilih algoritma modern: AES, SHA-256, Argon2
Contoh Praktis (Aman)
Memeriksa integritas file dengan hashSitus resmi sering menerbitkan nilai hash di samping file unduhan. Anda dapat menghitung hash sendiri dan membandingkannya untuk memastikan file tidak berubah.
$ echo -n "halo" | sha256sum $ echo -n "Halo" | sha256sum # Dua masukan yang hanya beda huruf besar # menghasilkan hash yang sama sekali berbeda. $ sha256sum installer.iso # Bandingkan hasilnya dengan hash resmi dari # situs penerbit. Jika berbeda, jangan dipakai.
Rangkuman
- Simetris memakai satu kunci dan cepat; asimetris memakai pasangan kunci publik-privat
- Hash menghasilkan sidik jari data untuk memeriksa integritas dan tidak dapat dibalik
- Tanda tangan digital membuktikan asal dan keutuhan pesan
- Gunakan algoritma modern dan pustaka teruji, jangan membuat kriptografi sendiri
Mini Quiz
Pilih satu jawaban untuk setiap soal, lalu tekan "Periksa Jawaban".
Pada enkripsi asimetris, pesan yang dienkripsi dengan kunci publik dibuka dengan...
Algoritma mana yang tepat untuk menyimpan hash kata sandi?
Apa yang berubah pada hash jika satu karakter masukan diubah?