stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-06
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 6: Kriptografi dan Penerapannya pada Blockchain
RPS minggu 6 · 2x50 menit

Kriptografi & Penerapannya pada Blockchain

Dasar Teknologi Finansial & Mata Uang Kripto — Magister Manajemen FEB UNDIP

Peta Pembelajaran Hari Ini

Sub-CPMK 6: menjelaskan prinsip kriptografi yang mendasari keamanan dan integritas blockchain. Empat indikator yang harus Anda kuasai sebelum keluar kelas.

Jam ke-1 (50 menit)
  • Symmetric vs asymmetric cryptography; AES & ChaCha20
  • Public Key Infrastructure (PKI) vs trustless blockchain
  • Hash function & tiga properti resistance (preimage, second-preimage, collision)
Jam ke-2 (50 menit)
  • Digital signature: ECDSA, EdDSA, Schnorr, BLS
  • Address Bitcoin & Ethereum dari key pair
  • Merkle tree & zero-knowledge proof (zk-SNARK)
Posisi dalam alur 14 pertemuan: jembatan matematis antara blockchain fundamental (P5) dan smart contract (P7) → Bitcoin/Ethereum (P9-P10).

Mengapa Private Key Adalah Uang Itu Sendiri

Chainalysis memperkirakan ~20% Bitcoin (~4 juta BTC) hilang permanen karena private key hilang (dihedge ~). Nilai pasarnya ratusan miliar USD.

BTC Hilang Permanen
~4 juta BTC
~20% dari supply 21 juta (Chainalysis, dihedge ~) — tidak ada customer service untuk reset
Nilai Pasar (ilustratif)
~USD 200+ M
Pada BTC ~USD 50-60 ribu (dihedge ~); uang yang tidak bisa diakses siapa pun selamanya
Pertanyaan pemantik: kalau private key hilang, kenapa tidak bisa di-reset seperti password bank? Apa konsekuensi manajerial untuk custody institusi?
Bagian 1 · 1/4
Dasar Kriptografi
Diskusi kelas: apakah "enkripsi" WhatsApp (symmetric) sama dengan "enkripsi" transaksi Bitcoin? Mengapa berbeda?

Symmetric vs Asymmetric Cryptography

Dua keluarga cryptography dengan trade-off berbeda — blockchain memakai asymmetric untuk identitas, symmetric untuk enkripsi data.

Symmetric (1 kunci)
  • Satu key untuk enkripsi & dekripsi (AES, ChaCha20)
  • Cepat — cocok untuk data besar
  • Tantangan: distribusi key antar-pihak
  • Contoh: WhatsApp (Signal), TLS data flow, file vault
Asymmetric (sepasang key)
  • Public key & private key (RSA, ECC)
  • Lambat — untuk key exchange & signature
  • Solve distribusi: public key boleh dibagikan
  • Blockchain pakai asymmetric untuk signature transaksi
Hybrid modern: asymmetric (X3DH) untuk handshake sesi, symmetric (Signal/AES-GCM) untuk pesan/data. Bitcoin: asymmetric (ECDSA secp256k1) untuk tanda tangan transaksi.

Evolusi Cipher: Caesar → AES → ChaCha20

Komputasi naik → cipher harus kuat. DES 56-bit di-brute force 1998 (EFF Deep Crack, 22 jam); AES-256 dianggap aman bahkan dari quantum attack.

EraCipherStatus
Romawi (~50 SM)Caesar (substitusi sederhana)Tidak aman — frequency analysis
WWII (1940-an)Enigma (rotor mekanis)Dipecahkan Turing/Bletchley Park
1977DES (56-bit, NIST)Deprecated — di-brute force 1998
2001AES-128/192/256 (FIPS 197)Standar global, aman hingga 2030+
2008+ChaCha20 (stream cipher)Mobile-friendly, TLS modern, WireGuard VPN
Quantum: algoritma Grover memangkas brute-force ke 2^(n/2) operasi. AES-256 → 128-bit efektif pasca-quantum. AES-128 jadi 64-bit → rentan.

Public Key Infrastructure (PKI) vs Trustless Blockchain

Dua model trust berbeda: PKI hierarchical (browser, bank) vs blockchain trustless (math verifies).

PKI (Hierarchical)
  • Certificate Authority (CA) issue sertifikat
  • Mengikat public key ke identitas (domain, org)
  • Browser trust CA root; verifikasi chain
  • TLS/HTTPS, e-KTP digital, bank login
  • Recovery via CA revoke
Blockchain (Trustless)
  • Public key = identitas pseudonim (address)
  • Tidak butuh CA — trust via math
  • Verifikasi oleh ribuan node independen
  • Bitcoin, Ethereum, hyperledger identity
  • Tidak ada recovery — private key hilang = hilang
Trade-off: PKI punya recovery (revoke cert), tapi single-point-of-failure (CA compromise). Blockchain no-recovery, tapi tanpa SPOF.

HDN-1: AES-256 Brute Force — Kenapa Aman Secara Fisik

Skenario: AES-256 keyspace = 2²⁵⁶ ≈ 1,16 × 10⁷⁷. Komputer teoritis eksaflop 10¹⁸ key/detik (supercomputer Frontier-class).
LangkahPerhitunganNilai
1. Keyspace AES-2562²⁵⁶≈ 1,16 × 10⁷⁷
2. Komputer eksaflop10¹⁸ key/ssupercomputer kelas Frontier 2024
3. Waktu brute force10⁷⁷ ÷ 10¹⁸= 10⁵⁹ detik
4. Konversi tahun10⁵⁹ ÷ (3,15 × 10⁷)≈ 3 × 10⁵¹ tahun
5. Umur alam semesta~1,4 × 10¹⁰ tahun
6. Rasio3 × 10⁵¹ ÷ 1,4 × 10¹⁰≈ 10⁴¹ × umur alam semesta
Kesimpulan
Aman secara fisik
Brute force AES-256 mustahil secara fisik — security-nya = hardness matematika, bukan kerahasiaan algoritma (prinsip Kerckhoffs).
Bagian 2 · 2/4
Hash Function
Diskusi kelas: hash satu arah — bagaimana cara login Anda divalidasi tanpa server menyimpan password plain?

Tiga Properti Hash Function

Hash function cryptographic yang baik harus memenuhi tiga resistance berbeda — blockchain butuh ketiganya.

Preimage resistance
Dari hash H, sulit mencari input x sehingga hash(x) = H. One-way — tidak bisa reversed.
Second-preimage resistance
Dari input x₁, sulit mencari x₂ berbeda sehingga hash(x₁) = hash(x₂). Stability untuk update.
Collision resistance
Sulit mencari pasangan x₁ ≠ x₂ dengan hash sama. Keunikan global.

SHA-256 ketiganya terpenuhi hingga 2024. MD5 collision dipecahkan 2004 → deprecated. SHA-1 collision 2017 (Google SHAttered) → deprecated.

Eksplorasi SHA-256: Avalanche Effect

Hash function cryptographic memiliki avalanche effect: satu bit berubah di input → ~50% bit output berubah. Coba sendiri.

Pelajaran: ubah 1 karakter di input (mis. "blockchain" → "Blockchain") → hash SHA-256 berubah total. Inilah yang membuat modifikasi transaksi blockchain langsung terdeteksi.

SHA-256, Keccak-256, BLAKE2 — Pilihan Chain

Setiap blockchain memilih hash function berdasarkan trade-off keamanan, kecepatan, dan ekosistem.

HashStandardDipakai olehKarakter
SHA-256FIPS 180-4 (NIST)Bitcoin (double SHA-256), TLS256-bit output, established, slightly slower
Keccak-256FIPS 202 (SHA-3 family)Ethereum (address & contract)Sponge construction, berbeda dari SHA-2
BLAKE2/BLAKE3RFC 7693Zcash, Solana (keccak+blake), chain baruLebih cepat dari SHA-2 di software
RIPEMD-160Belgium academic 1996Bitcoin address (P2PKH)160-bit, dipakai bareng SHA-256
Bitcoin address = Base58Check(RIPEMD-160(SHA-256(public_key))). Ethereum address = 20 byte terakhir Keccak-256(public_key).

HMAC & KDF: Password Storage & Authentication

Hash function mentah tidak cukup untuk password storage. Modern FinTech memakai HMAC untuk authentication dan KDF memory-hard untuk password.

HMAC (Hash-based MAC)
  • Hash + secret key untuk authentication pesan
  • Memverifikasi integritas & origin
  • Dipakai JWT (JSON Web Token), API signature (Binance, Indodax)
  • Tanpa key, attacker tidak bisa forge HMAC
KDF (Key Derivation Function)
  • PBKDF2, bcrypt, scrypt, Argon2
  • Hash password + salt + stretching
  • Memory-hard → tahan GPU/ASIC brute force
  • Dipakai bank, exchange kripto, password manager
Penyimpanan password modern wajib Argon2id (memory-hard, tahan GPU). MD5/SHA plain = bencana (LinkedIn 2012, Adobe 2013).

HDN-2: SHA-256 Collision via Birthday Paradox

Skenario: Birthday paradox — untuk hash n-bit, collision ditemukan setelah ~2^(n/2) operasi (akar kuadrat). SHA-256 = 256-bit.
LangkahPerhitunganNilai
1. SHA-256n = 256 bit2²⁵⁶ kemungkinan output
2. Birthday bound2^(256/2)= 2¹²⁸ ≈ 3,4 × 10³⁸ operasi
3. Komputer eksaflop10¹⁸ hash/ssupercomputer kelas Frontier
4. Waktu collision3,4 × 10³⁸ ÷ 10¹⁸= 3,4 × 10²⁰ detik
5. Konversi tahun3,4 × 10²⁰ ÷ (3,15 × 10⁷)≈ 1,1 × 10¹³ tahun
6. Rasio vs umur alam semesta1,1 × 10¹³ ÷ 1,4 × 10¹⁰≈ 800 × umur alam semesta
Kesimpulan
Collision mustahil
SHA-256 collision-resistant secara fisik — butuh ~10³ kali umur alam semesta bahkan dengan supercomputer terbaik 2024.
Bagian 3 · 3/4
Digital Signature
Diskusi kelas: apa beda tanda tangan digital dengan scan tanda tangan basah di PDF kontrak?

ECDSA: Tanda Tangan Digital Elliptic Curve

ECDSA (Elliptic Curve Digital Signature Algorithm): tanda tangan digital berbasis elliptic curve cryptography. Bitcoin & Ethereum pra-Merge pakai ECDSA over kurva secp256k1.
Signing: signature = ECDSA_sign(private_key, message) → (r, s) · Verification: ECDSA_verify(public_key, message, signature) → true/false
Proses Signing
  • Pengirim hitung hash pesan
  • Sign dengan private key → signature (r, s)
  • Kirim pesan + signature + public key
  • Setiap signature unik per pesan
Proses Verification
  • Node verifikasi dengan public key pengirim
  • Cek apakah signature cocok dengan pesan
  • Tidak membocorkan private key
  • Keamanan: hardness ECDLP
ECDSA tidak mengenkripsi transaksi — ia membuktikan otorisasi. Setiap transaksi Bitcoin = pesan + signature; node verifikasi signature dengan public key pengirim.

EdDSA, Schnorr, BLS — Evolusi Signature

Setelah ECDSA, muncul varian signature dengan properti tambahan: determinism, aggregation, dan efisiensi.

AlgoritmaKarakterDipakai oleh
ECDSA secp256k1Standar Bitcoin & Ethereum pra-MergeBitcoin, Ethereum pra-Merge
EdDSA (Ed25519)Deterministic, cepat, tahan side-channelSolana, Cardano, Tezos, Signal
Schnorr (BIP-340)Multi-sig aggregated, lebih privateBitcoin via Taproot (aktif Nov 2021)
BLS signatureAggregatable, efisien untuk validator set besarEthereum PoS, Dfinity, Chainlink
Taproot upgrade Bitcoin (BIP 340-342, aktif November 2021) membawa Schnorr signature → multi-sig aggregated, privasi lebih baik, fee lebih rendah untuk smart contract sederhana.

Mini-Kasus: Address Bitcoin & Ethereum dari Key Pair

Address adalah derivasi satu arah dari public key. Dari address tidak bisa balik ke public key (preimage); dari public key sangat sulit balik ke private key (ECDLP).

LangkahBitcoinEthereum
1. Private key256-bit random256-bit random
2. Public keyECDSA secp256k1ECDSA secp256k1
3. HashSHA-256 → RIPEMD-160Keccak-256
4. Address formatBase58Check → 1xxx / 3xxx / bc1...20 byte terakhir → 0x...
5. Contohbc1qxy2k... (bech32)0x7d655... (40 hex char)
Exchange RI seperti Indodax, Tokocrypto, Pintu, Pluang mengelola jutaan address — private key di-HSM atau MPC-Thresheld untuk custody institusi.
Bagian 4 · 4/4
Merkle Tree & Zero-Knowledge Proof
Diskusi kelas: bagaimana membuktikan Anda tahu password tanpa membocorkannya? Apa aplikasinya di blockchain privasi?

Merkle Tree & Zero-Knowledge Proof (zk-SNARK)

Dua inovasi cryptographic yang memungkinkan blockchain skala dan privasi.

Merkle Tree
  • Hash transaksi dipasang-pasangkan hingga root
  • Bukti inklusi = O(log n) hash path
  • Dipakai block header Bitcoin, state root Ethereum
  • SPV client verify tanpa download full chain
Zero-Knowledge Proof (zk-SNARK/STARK)
  • Buktikan statement benar tanpa membocorkan input
  • zk-SNARK: Zcash, Tornado Cash, zkSync, Scroll
  • zk-STARK: Starknet, tahan quantum
  • Aplikasi: private tx, rollup scaling (validity proof)
zkRollup memproses ribuan transaksi off-chain, posting proof ke Ethereum mainnet → skala + privasi. Inilah jalan scaling Ethereum 2024+.

Ringkasan Kunci Pertemuan 6

Kriptografi Dasar
Symmetric (AES) vs asymmetric (ECDSA) · PKI vs trustless · AES-256 aman secara fisik
Hash Function
3 resistance · SHA-256/Keccak/BLAKE2 · HMAC & KDF Argon2 · collision mustahil (birthday paradox)
Signature & Advanced
ECDSA secp256k1 · EdDSA/Schnorr/BLS · Merkle tree · zk-SNARK

Tiga lensa ini (dasar · hash · signature) adalah DNA blockchain — pegang sepanjang P7-P14.

Persiapan P7: baca Szabo (1997) sekilas; bawa satu ide smart contract use case untuk FinTech RI (escrow, parametric insurance, atau tokenisasi). Kuis 10 menit di awal P7.