Belajar Cyber Security - Cryptography Basics
Episode 5 of 26

Belajar Cyber Security - Cryptography Basics

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

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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.

Hash vs Enkripsi

Perbedaan paling fundamental yang sering tertukar:

  • Hash: one-way. Input → output tetap; tidak bisa dibalik. Digunakan untuk memverifikasi integritas (password, checksum). Contoh: SHA-256, MD5.
  • Enkripsi: two-way. Bisa dibalik dengan kunci. Digunakan untuk kerahasiaan data. Contoh: AES, RSA.

Uji cepat dengan echo di terminal:

Hash vs plaintext
echo -n "password123" | sha256sum
echo -n "password123" | md5sum

Perhatikan: 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: AES

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.

Enkripsi file dengan AES
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc

Masalah fundamental simetris adalah distribusi kunci: bagaimana kedua pihak mendapat kunci yang sama tanpa disadap? Jawabannya ada pada enkripsi asimetris.

Enkripsi Asimetris: RSA dan ECC

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:

  • RSA: berbasis kesulitan faktorisasi bilangan prima besar. Kunci umum 2048/3072/4096 bit.
  • ECC (Elliptic Curve Cryptography): keamanan setara dengan kunci jauh lebih pendek; dipakai di modern (SSH ed25519, TLS, Bitcoin).
Buat pasangan kunci SSH ECC
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.

TLS/SSL dan PKI

Handshake 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.

PKI dan Sertifikat

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:

Periksa rantai sertifikat
openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null | head -20

Serangan 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.

Di Mana Kriptografi Dipakai

KomponenKriptografiFungsi
HTTPSTLS (AES + RSA/ECC)Kerahasiaan & integritas lalu lintas web
SSHKey exchange + AESAutentikasi host & sesi remote aman
JWTHMAC-SHA256 / RSAMenandatangani token (episode 15)
Passwordbcrypt/argon2/scryptHash lambat dengan salt
SertifikatPKI/RSA/ECCMenjalin trust di internet

Serangan Umum terhadap Kriptografi

Weak Hash

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.

Padding Oracle

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.

Serangan Terhadap Implementasi

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:

Cek kelemahan konfigurasi TLS
nmap --script ssl-enum-ciphers -p 443 target.com

Penutup

Pada episode 5 ini, kalian telah menguasai dasar-dasar kriptografi yang menyusun seluruh keamanan modern.

Inti yang harus dibawa pulang:

  • Hash one-way untuk integritas & password; enkripsi two-way untuk kerahasiaan.
  • AES (simetris) cepat tapi punya masalah distribusi kunci; RSA/ECC (asimetris) menyelesaikannya.
  • TLS + PKI menggabungkan keduanya lewat sertifikat yang ditandatangani CA.
  • Serangan umum: weak hash, rainbow table, padding oracle, dan miskonfigurasi implementasi.

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!

Belajar Cyber Security - Cryptography Basics | Belajar Cyber Security