💡 Fakta Mengejutkan: Setiap hari, lebih dari 100 miliar pesan WhatsApp dan 500.000 transaksi Bitcoin diamankan oleh teknologi kriptografi yang sama!

1. Enkripsi End-to-End WhatsApp
Protokol Signal yang Revolusioner
WhatsApp menggunakan varian dari Signal Protocol yang menggabungkan:
- ECDH (Elliptic Curve Diffie-Hellman): Pertukaran kunci aman
- AES-256: Enkripsi pesan
- HMAC-SHA256: Verifikasi integritas
# Simulasi pertukaran kunci ala WhatsApp
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import hashes
# Generate key pair
private_key = ec.generate_private_key(ec.SECP384R1())
public_key = private_key.public_key()
# Simulasi pertukaran kunci
shared_key = private_key.exchange(ec.ECDH(), public_key)
derived_key = hashes.Hash(hashes.SHA256())
derived_key.update(shared_key)
encryption_key = derived_key.finalize()[:32]
print("Kunci Enkripsi:", encryption_key.hex())
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import hashes
# Generate key pair
private_key = ec.generate_private_key(ec.SECP384R1())
public_key = private_key.public_key()
# Simulasi pertukaran kunci
shared_key = private_key.exchange(ec.ECDH(), public_key)
derived_key = hashes.Hash(hashes.SHA256())
derived_key.update(shared_key)
encryption_key = derived_key.finalize()[:32]
print("Kunci Enkripsi:", encryption_key.hex())
2. Kriptografi di Balik Bitcoin
ECDSA dan SHA-256
Blockchain Bitcoin mengandalkan:
Digital Signature
Setiap transaksi ditandatangani dengan ECDSA menggunakan kunci privat wallet
Proof-of-Work
Mining menggunakan SHA-256 untuk menyelesaikan puzzle kriptografi
# Simulasi transaksi Bitcoin sederhana
from hashlib import sha256
from ecdsa import SigningKey, SECP256k1
# Generate wallet
private_key = SigningKey.generate(curve=SECP256k1)
public_key = private_key.get_verifying_key()
# Buat transaksi
transaction = {
"from": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
"to": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
"amount": 0.01
}
# Tanda tangan digital
signature = private_key.sign(str(transaction).encode())
print("Signature:", signature.hex())
# Verifikasi
print("Valid:", public_key.verify(signature, str(transaction).encode()))
from hashlib import sha256
from ecdsa import SigningKey, SECP256k1
# Generate wallet
private_key = SigningKey.generate(curve=SECP256k1)
public_key = private_key.get_verifying_key()
# Buat transaksi
transaction = {
"from": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
"to": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
"amount": 0.01
}
# Tanda tangan digital
signature = private_key.sign(str(transaction).encode())
print("Signature:", signature.hex())
# Verifikasi
print("Valid:", public_key.verify(signature, str(transaction).encode()))
3. Implementasi Praktis di Python
Enkripsi File seperti WhatsApp
from cryptography.fernet import Fernet
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.primitives import hashes
import base64, os
# Generate key dari password (simulasi kunci WhatsApp)
password = b"password-super-strong"
salt = os.urandom(16)
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(),
length=32,
salt=salt,
iterations=100000
)
key = base64.urlsafe_b64encode(kdf.derive(password))
# Enkripsi pesan
cipher = Fernet(key)
message = "Pesan rahasia untuk pacar".encode()
encrypted = cipher.encrypt(message)
print("Pesan Terenkripsi:", encrypted)
# Dekripsi
decrypted = cipher.decrypt(encrypted)
print("Pesan Asli:", decrypted.decode())
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.primitives import hashes
import base64, os
# Generate key dari password (simulasi kunci WhatsApp)
password = b"password-super-strong"
salt = os.urandom(16)
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(),
length=32,
salt=salt,
iterations=100000
)
key = base64.urlsafe_b64encode(kdf.derive(password))
# Enkripsi pesan
cipher = Fernet(key)
message = "Pesan rahasia untuk pacar".encode()
encrypted = cipher.encrypt(message)
print("Pesan Terenkripsi:", encrypted)
# Dekripsi
decrypted = cipher.decrypt(encrypted)
print("Pesan Asli:", decrypted.decode())
⚠️ Penting!
Kode di atas adalah simplifikasi. Implementasi sebenarnya di WhatsApp/Bitcoin melibatkan:
- Perfect Forward Secrecy (PFS)
- Protokol anti-man-in-the-middle
- Mekanisme pembaruan kunci berkala
Perbandingan Teknologi
Platform | Algoritma | Kekuatan |
---|---|---|
AES-256 + ECDH | End-to-End Encryption | |
Bitcoin | ECDSA + SHA-256 | Immutable Ledger |
SSL/TLS | RSA/AES/SHA | Secure Communication |