Int 6: Elliptic Curve Cryptography - Kriptografi Masa Depan
Target: Memahami ECC - lebih kuat dari RSA dengan key yang lebih pendek
Tools:python3
Praktikum
cd ~ && mkdir crypto-int6 && cd crypto-int6
python3 << 'PYEOF'
# Konsep: ECC menggunakan kurva y² = x³ + ax + b
# Keamanan dari Elliptic Curve Discrete Logarithm Problem (ECDLP)
print("=== RSA vs ECC - Key Size Comparison ==*")
print()
print(f"{'Security Level':<20} {'RSA bits':<15} {'ECC bits':<15} {'Ratio'}")
print("-"*60)
for level, rsa, ecc in [("80 (low)", 1024, 160, "6.4x"),
("112", 2048, 224, "9.1x"),
("128 (AES-128)", 3072, 256, "12x"),
("192 (AES-192)", 7680, 384, "20x"),
("256 (AES-256)", 15360, 521, "29x")]:
print(f"{level:<20} {rsa:<15} {ecc:<15} {ratio}")
print()
print("=== ECC Key Generation ==*")
print("Bitcoin: ECDSA dengan secp256k1")
print("TLS 1.3: ECDHE dengan X25519 atau P-256")
print("Signal: X25519 (Curve25519)")
print("WhatsApp: 25519 untuk end-to-end encryption")
print()
# Simulasi ECDHE (Elliptic Curve Diffie-Hellman Ephemeral)
print("=== ECDHE Key Exchange ==*")
print("Alice punya key pair: (dA, QA) - private, public")
print("Bob punya key pair: (dB, QB)")
print("Alice: s = dA × QB (scalar × point)")
print("Bob: s = dB × QA (scalar × point)")
print("✅ Shared secret SAMA!")
print()
print("Keuntungan ECDHE:")
print(" - Perfect Forward Secrecy (key ephemeral)")
print(" - Key lebih pendek (256 bit vs RSA 3072)")
print(" - Komputasi lebih cepat")
print(" - Digunakan di TLS 1.3, Signal, WhatsApp")
PYEOF
Temuan
| Kurva ECC | Penggunaan | Bits | Setara RSA |
|---|---|---|---|
| secp256k1 | Bitcoin, Ethereum | 256 | 3072 |
| X25519 | TLS 1.3, Signal | 255 | 3072 |
| P-256 (secp256r1) | TLS, government | 256 | 3072 |
| P-384 | NSA Suite B | 384 | 7680 |
Refleksi: ECC menggantikan RSA untuk banyak aplikasi modern - lebih kuat, lebih cepat, lebih kecil. Bitcoin, Signal, WhatsApp, dan TLS 1.3 semuanya bergantung pada ECC. ECC adalah standar masa depan kriptografi asimetris.
Generated by @farishhz Agent Pentest Pipeline - TDCTF Security Academy