Panduan Enkripsi Lanjutan: AES, RSA, ECC & Kriptografi Pasca-Kuantum

Panduan komprehensif ini meneroka konsep encryption lanjutan, algoritma, dan protokol yang digunakan dalam sistem komunikasi selamat moden. Sesuai untuk pembangun dan profesional keselamatan.

Nota: Panduan ini mengandaikan kebiasaan dengan konsep encryption asas. Untuk pemula, mulakan dengan Petua Keselamatan untuk Pemula kami.

Algoritma Symmetric Encryption

AES (Advanced Encryption Standard)

Standard emas untuk symmetric encryption, diterima pakai oleh kerajaan A.S. pada tahun 2001.

Ciri-ciri Utama

  • Saiz key: 128, 192, atau 256 bit
  • Saiz blok: 128 bit
  • Rounds: 10, 12, atau 14 bergantung pada saiz key
  • Prestasi: Sangat dioptimumkan, pecutan perkakasan tersedia

Mod Biasa

  • GCM (Galois/Counter Mode): Authenticated encryption, disyorkan untuk kebanyakan kes penggunaan
  • CBC (Cipher Block Chaining): Mod tradisional, memerlukan MAC berasingan
  • CTR (Counter): Boleh diparalelkan, digunakan dalam beberapa protokol

ChaCha20

Stream cipher moden direka oleh Daniel J. Bernstein, semakin popular sebagai alternatif AES.

Kelebihan

  • Lebih pantas daripada AES pada peranti tanpa pecutan perkakasan
  • Implementasi constant-time (tahan terhadap timing attacks)
  • Reka bentuk mudah, lebih mudah untuk dilaksanakan dengan selamat
  • Digunakan dengan Poly1305 untuk authenticated encryption

Asymmetric Encryption

RSA (Rivest-Shamir-Adleman)

Digunakan secara meluas untuk key exchange dan digital signatures.

Pertimbangan Utama

  • Saiz key minimum: 2048 bit (4096 bit disyorkan untuk keselamatan jangka panjang)
  • Prestasi: Mahal dari segi pengiraan berbanding symmetric encryption
  • Skim padding: Gunakan OAEP untuk encryption, PSS untuk signatures
  • Ancaman quantum: Terdedah kepada komputer quantum (algoritma Shor)

Elliptic Curve Cryptography (ECC)

Alternatif yang lebih cekap kepada RSA dengan keselamatan setara pada saiz key yang lebih kecil.

Curve Popular

  • Curve25519: Direka untuk ECDH key exchange, diterima pakai secara meluas
  • Ed25519: Untuk digital signatures, digunakan dalam SSH, GPG
  • P-256 (secp256r1): Standard NIST, disokong secara meluas
  • P-384, P-521: Tahap keselamatan lebih tinggi

Kelebihan Berbanding RSA

  • 256-bit ECC ≈ keselamatan 3072-bit RSA
  • Pengiraan lebih pantas
  • Key dan signatures lebih kecil
  • Keperluan bandwidth dan penyimpanan lebih rendah

Protokol Key Exchange

Diffie-Hellman (DH)

Membolehkan dua pihak mewujudkan shared secret melalui saluran tidak selamat.

Varian

  • Classic DH: Implementasi asal
  • ECDH: Versi Elliptic Curve (lebih cekap)
  • X25519: ECDH moden menggunakan Curve25519

Perfect Forward Secrecy (PFS)

Memastikan komunikasi lepas kekal selamat walaupun key jangka panjang terjejas.

Implementasi

  • Jana pasangan key ephemeral untuk setiap sesi
  • Musnahkan session keys selepas digunakan
  • Digunakan dalam TLS 1.3, Signal Protocol, dll.

Hash Functions

Keluarga SHA-2

  • SHA-256: Output 256-bit, digunakan secara meluas
  • SHA-384, SHA-512: Tahap keselamatan lebih tinggi
  • Aplikasi: Digital signatures, pengesahan sijil, password hashing (dengan teknik yang betul)

SHA-3 (Keccak)

  • Pembinaan berbeza daripada SHA-2 (sponge function)
  • Tahan terhadap length extension attacks
  • Sesuai untuk aplikasi yang memerlukan margin keselamatan tinggi

BLAKE2/BLAKE3

  • Lebih pantas daripada SHA-2 dan SHA-3
  • Selamat secara kriptografi
  • BLAKE3: Sangat boleh diparalelkan, cemerlang untuk data besar

Key Derivation Functions (KDFs)

PBKDF2 (Password-Based Key Derivation Function 2)

  • Tujuan: Dapatkan key kriptografi daripada password
  • Iterations: Minimum 100,000 (cadangan OWASP)
  • Kes penggunaan: Penyimpanan password, key derivation

Argon2

Pemenang Password Hashing Competition (2015), disyorkan untuk aplikasi baharu.

Varian

  • Argon2id: Hibrid (disyorkan untuk kebanyakan kes penggunaan)
  • Argon2i: Dioptimumkan terhadap side-channel attacks
  • Argon2d: Rintangan maksimum terhadap serangan GPU

scrypt

  • Fungsi memory-hard (tahan terhadap serangan perkakasan)
  • Digunakan oleh Litecoin, Tarsnap
  • Keseimbangan baik antara keselamatan dan keserasian

Message Authentication Codes (MACs)

HMAC (Hash-based MAC)

  • Menggabungkan hash function dengan secret key
  • Menyediakan pengesahan dan integriti
  • Biasa: HMAC-SHA256, HMAC-SHA512

Poly1305

  • Authenticator sekali guna
  • Digunakan dengan ChaCha20 untuk authenticated encryption
  • Pantas dan constant-time

Authenticated Encryption

Mengapa Ia Penting

Encryption sahaja tidak menjamin integriti. Penyerang boleh mengubah suai ciphertext tanpa dikesan. Authenticated encryption menyelesaikan masalah ini.

AEAD (Authenticated Encryption with Associated Data)

  • AES-GCM: Paling disokong secara meluas
  • ChaCha20-Poly1305: Lebih baik pada peranti mudah alih
  • AES-CCM: Digunakan dalam beberapa protokol wayarles

Digital Signatures

RSA Signatures

  • Padding: Gunakan PSS (Probabilistic Signature Scheme)
  • Hash function: SHA-256 atau lebih tinggi
  • Saiz key: 2048 bit minimum

ECDSA (Elliptic Curve Digital Signature Algorithm)

  • Signatures lebih kecil daripada RSA
  • Memerlukan penjanaan nonce yang berhati-hati (RNG lemah = key terjejas)
  • Varian deterministik (RFC 6979) disyorkan

Ed25519

  • Deterministik (tidak memerlukan RNG)
  • Penjanaan dan pengesahan signature pantas
  • Signatures kecil (64 bytes)
  • Tahan terhadap side-channel attacks

Protokol Moden

Signal Protocol

Protokol end-to-end encryption terkini digunakan oleh Signal, WhatsApp, Facebook Messenger.

Ciri-ciri Utama

  • Double Ratchet: Mengemaskini key secara berterusan
  • Perfect Forward Secrecy: Mesej lepas kekal selamat
  • Post-Compromise Security: Pulih daripada key compromise
  • Asynchronous: Berfungsi walaupun penerima offline

TLS 1.3

Versi terkini protokol Transport Layer Security.

Penambahbaikan

  • Menghapuskan algoritma lemah dan cipher suites
  • Sentiasa menyediakan forward secrecy
  • Handshake lebih pantas (1-RTT, pilihan 0-RTT)
  • Encrypted Server Hello

Noise Protocol Framework

Framework protokol kriptografi moden untuk membina sistem komunikasi selamat.

Aplikasi

  • WireGuard VPN
  • Lightning Network
  • I2P messaging

Post-Quantum Cryptography

Ancaman

Komputer quantum boleh memecahkan RSA dan ECC menggunakan algoritma Shor. Algoritma simetri kurang terjejas tetapi memerlukan key yang lebih besar.

Calon Post-Quantum NIST

  • Kyber: Key encapsulation berasaskan lattice
  • Dilithium: Digital signatures berasaskan lattice
  • SPHINCS+: Signatures berasaskan hash

Strategi Peralihan

  • Pendekatan hibrid: Gabungkan algoritma klasik dan post-quantum
  • Tingkatkan saiz symmetric key kepada 256 bit
  • Pantau proses penyeragaman NIST
  • Rancang untuk algorithm agility

Amalan Terbaik Implementasi

Jangan Buat Crypto Sendiri

Gunakan perpustakaan yang mantap dan disemak rakan sebaya:

  • libsodium: Tahap tinggi, mudah digunakan
  • OpenSSL: Komprehensif, disokong secara meluas
  • BoringSSL: Fork OpenSSL Google
  • Ring: Perpustakaan kriptografi Rust

Pengurusan Key

  • Gunakan hardware security modules (HSMs) untuk key kritikal
  • Laksanakan dasar key rotation
  • Jangan sekali-kali hardcode key dalam kod sumber
  • Gunakan key derivation untuk pelbagai tujuan
  • Padamkan key dengan selamat dari memori selepas digunakan

Penjanaan Nombor Rawak Selamat

  • Gunakan RNG selamat secara kriptografi (CSPRNG)
  • Jangan sekali-kali gunakan fungsi rand() standard
  • RNG sistem operasi: /dev/urandom (Linux), CryptGenRandom (Windows)
  • Khusus bahasa: crypto.randomBytes (Node.js), modul secrets (Python)

Pencegahan Timing Attack

  • Gunakan perbandingan constant-time untuk secrets
  • Elakkan branching berdasarkan data rahsia
  • Sedar tentang cache timing attacks
  • Gunakan perpustakaan yang direka dengan rintangan timing attack

Pengujian dan Pengesahan

Audit Keselamatan

  • Pengujian penembusan berkala
  • Semakan kod oleh pakar keselamatan
  • Audit keselamatan pihak ketiga
  • Program bug bounty

Pematuhan

  • FIPS 140-2/3: Standard kerajaan A.S.
  • Common Criteria: Pensijilan keselamatan antarabangsa
  • PCI DSS: Keperluan industri kad pembayaran

Sumber untuk Pembelajaran Lanjut

Buku

  • "Cryptography Engineering" oleh Ferguson, Schneier, dan Kohno
  • "Serious Cryptography" oleh Jean-Philippe Aumasson
  • "Applied Cryptography" oleh Bruce Schneier

Sumber Online

  • Cryptopals Crypto Challenges
  • Kursus Cryptography Stanford (Coursera)
  • IACR ePrint Archive
  • Crypto Stack Exchange
Lihat encryption dalam tindakan: SecretNote menggunakan encryption AES-256-GCM dengan key derivation selamat untuk melindungi mesej awak. Cuba sekarang!