Kriptografi adalah fondasi keamanan digital. Pahami algoritma enkripsi modern, kapan menggunakannya, dan kesalahan umum yang harus dihindari.
Dasar Kriptografi
Kriptografi menyediakan empat layanan keamanan fundamental: confidentiality, integrity, authentication, dan non-repudiation.
Symmetric Encryption
Menggunakan satu kunci untuk enkripsi dan dekripsi.
- AES-256-GCM: Standar industri, cepat dan aman. Gunakan ini untuk enkripsi data.
- ChaCha20-Poly1305: Alternatif AES yang efisien di perangkat mobile.
- ⚠️ Hindari: DES, 3DES, RC4, ECB mode
Asymmetric Encryption
Menggunakan pasangan kunci publik dan privat.
- RSA-2048+: Untuk digital signature dan key exchange
- ECDSA/EdDSA: Elliptic curve, lebih efisien dari RSA
- X25519: Untuk key agreement protocol
Hashing
- SHA-256/SHA-3: Untuk integrity check
- bcrypt/Argon2id: Untuk password hashing (BUKAN SHA/MD5!)
- ⚠️ Hindari: MD5, SHA-1 untuk security purposes
Kesalahan Umum Developer
- Menyimpan password dalam plaintext atau dengan MD5/SHA tanpa salt
- Hardcode encryption key di source code
- Menggunakan ECB mode untuk AES
- Membuat algoritma kriptografi sendiri
- Tidak menggunakan authenticated encryption (AE)
- IV/nonce reuse dalam stream cipher
Post-Quantum Cryptography
Dengan ancaman quantum computing, NIST telah memilih ML-KEM (Kyber) dan ML-DSA (Dilithium) sebagai standar post-quantum. Mulai persiapkan transisi crypto agility sekarang.