Menguasai fondasi kriptografi yang menyusun seluruh keamanan modern: perbedaan hash dan enkripsi, simetris AES versus asimetris RSA dan ECC, cara kerja TLS dan PKI, serta di mana semua dipakai di HTTPS SSH JWT dan password hashing lengkap dengan serangan umum seperti weak hash dan padding oracle

Di episode 4 kita menyentuh TLS sebagai lapisan enkripsi HTTPS. Sekarang kita bedah kriptografi secara utuh — karena hampir setiap komponen keamanan yang kalian temui dalam karir (HTTPS, SSH, JWT, password storage, VPN) dibangun di atasnya.
Mengapa kriptografi wajib dipahami pentester? Dua alasan. Pertama, untuk menyerang: banyak kerentanan nyata berasal dari kriptografi yang disalahgunakan — hash tanpa salt, JWT dengan algoritma lemah, padding oracle. Kedua, untuk melaporkan: rekomendasi mitigasi selalu menyebutkan kriptografi yang benar. Episode ini memberi kalian fondasi untuk keduanya.
Perbedaan paling fundamental yang sering tertukar:
Uji cepat dengan echo di terminal:
echo -n "password123" | sha256sum
echo -n "password123" | md5sumPerhatikan: input sama, hash selalu sama — inilah dasar rainbow table attack: penyerang menyimpan database hash dari password umum lalu mencocokkan. Itu sebabnya password modern di-hash dengan salt dan algoritma lambat seperti bcrypt/argon2.
Enkripsi simetris memakai satu kunci yang sama untuk enkripsi dan dekripsi. Standar dominan saat ini adalah AES (Advanced Encryption Standard) dengan ukuran kunci 128/192/256 bit.
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.encMasalah fundamental simetris adalah distribusi kunci: bagaimana kedua pihak mendapat kunci yang sama tanpa disadap? Jawabannya ada pada enkripsi asimetris.
Enkripsi asimetris memakai pasangan kunci: public key (boleh disebar) dan private key (rahasia). Data yang dienkripsi dengan public key hanya bisa didekripsi dengan private key. Dua algoritma utama:
ssh-keygen -t ed25519 -C "lab@example.com"Dalam praktik, sistem modern tidak memakai asimetris untuk data besar (lambat), melainkan hybrid: RSA/ECC dipakai untuk bertukar kunci sesi, lalu AES untuk data selanjutnya — persis yang dilakukan TLS.
Saat browser membuka HTTPS, terjadi negosiasi: client dan server menyepakati cipher suite, server membuktikan identitasnya dengan sertifikat, lalu keduanya bertukar kunci sesi. Hasilnya, semua data terenkripsi AES di bawah kunci sesi yang hanya keduanya tahu.
Siapa yang menjamin public key server itu benar? PKI (Public Key Infrastructure): sertifikat server ditandatangani oleh Certificate Authority (CA) tepercaya. Browser hanya memercayai rantai: sertifikat server → CA intermediate → root CA. Verifikasi cepat:
openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null | head -20Serangan terhadap PKI: sertifikat self-signed yang dipaksa dipercaya (klik "lanjutkan"), CA yang dibobol, atau MITM dengan sertifikat palsu — kita bahas MITM lebih jauh di episode 16.
| Komponen | Kriptografi | Fungsi |
|---|---|---|
| HTTPS | TLS (AES + RSA/ECC) | Kerahasiaan & integritas lalu lintas web |
| SSH | Key exchange + AES | Autentikasi host & sesi remote aman |
| JWT | HMAC-SHA256 / RSA | Menandatangani token (episode 15) |
| Password | bcrypt/argon2/scrypt | Hash lambat dengan salt |
| Sertifikat | PKI/RSA/ECC | Menjalin trust di internet |
Algoritma lama (MD5, SHA-1) atau hash tanpa salt bisa di-brute force. Hash cepat seperti MD5 bisa menghitung miliaran hash per detik dengan GPU — itulah kenapa password di-hash dengan algoritma sengaja lambat.
Serangan yang mengeksploitasi error berbeda saat dekripsi gagal. Ketika aplikasi mengembalikan respon berbeda antara "padding salah" vs "format salah", penyerang bisa mendekripsi atau mengenkripsi data secara bertahap tanpa kunci. Contoh klasik: kerentanan pada implementasi CBC yang bocor lewat pesan error.
Warning
Dua aturan emas kriptografi: jangan pernah membuat kriptografi sendiri — gunakan library standar yang sudah teraudit — dan jangan pernah menyimpan password dalam bentuk yang bisa dibalik. Semua kerentanan kriptografi besar yang pernah terjadi (padding oracle, weak hash) lahir dari melanggar salah satu aturan ini.
Kriptografi paling aman pun bisa salah implementasi: kunci disimpan di kode (hardcoded), random number generator lemah, atau versi TLS/cipher lama yang masih diizinkan. Ini yang bisa dicek pentester:
nmap --script ssl-enum-ciphers -p 443 target.comPada episode 5 ini, kalian telah menguasai dasar-dasar kriptografi yang menyusun seluruh keamanan modern.
Inti yang harus dibawa pulang:
Di episode 6 selanjutnya kita masuk ke fase operasional: information gathering & OSINT — passive reconnaissance dengan Google dorking, Shodan/Censys, whois, email/username enumeration, dan Have I Been Pwned, lalu mengorganisir intel dengan theHarvester dan Recon-ng. Sampai jumpa di episode 6!