💡 Fakta Penting: Setiap kali Anda mengirim pesan WhatsApp, berbelanja online, atau menggunakan mobile banking, Anda sedang memanfaatkan teknologi kriptografi canggih!

Konsep Dasar Kriptografi
Three Pillars of Cryptography
Confidentiality
Memastikan informasi hanya dapat diakses oleh pihak yang berwenang
Teknik: Enkripsi simetris/asimetris
Integrity
Memastikan data tidak diubah selama transmisi
Teknik: Hash functions, MAC
Authentication
Memverifikasi identitas pengguna/sistem
Teknik: Digital signature, certificates
Jenis-Jenis Algoritma Kriptografi
1. Kriptografi Simetris (AES)
Menggunakan kunci yang sama untuk enkripsi dan dekripsi
from Crypto.Random import get_random_bytes
key = get_random_bytes(16) # AES-128
cipher = AES.new(key, AES.MODE_GCM)
ciphertext, tag = cipher.encrypt_and_digest(b"Data rahasia")
Keunggulan: Cepat, efisien untuk data besar
Kelemahan: Masalah distribusi kunci
2. Kriptografi Asimetris (RSA)
Menggunakan pasangan kunci publik dan privat
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
# Enkripsi dengan kunci publik
from Crypto.Cipher import PKCS1_OAEP
cipher = PKCS1_OAEP.new(public_key)
ciphertext = cipher.encrypt(b"Data rahasia")
Keunggulan: Solusi distribusi kunci
Kelemahan: Lebih lambat dari simetris
Implementasi Praktis
Enkripsi File dengan Python
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
import base64, os
# Generate key dari password
password = b"password_kuat"
salt = os.urandom(16)
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(),
length=32,
salt=salt,
iterations=100000
)
key = base64.urlsafe_b64encode(kdf.derive(password))
# Enkripsi file
cipher = Fernet(key)
with open("data.txt", "rb") as file:
encrypted = cipher.encrypt(file.read())
with open("data.enc", "wb") as file:
file.write(encrypted)
Perbandingan Algoritma Modern
Algoritma | Jenis | Keamanan | Penggunaan |
---|---|---|---|
AES-256 | Simetris | Sangat kuat | Enkripsi disk, SSL/TLS |
RSA-4096 | Asimetris | Kuat | Pertukaran kunci, tanda tangan |
ECC-384 | Asimetris | Sangat kuat | Blockchain, perangkat IoT |
SHA-3 | Hash | Sangat kuat | Integritas data |
Kriptografi dalam Kehidupan Nyata
1. SSL/TLS untuk Keamanan Web
Protokol yang melindungi komunikasi internet menggunakan kombinasi:
- Asimetris (RSA/ECC) untuk pertukaran kunci
- Simetris (AES) untuk enkripsi data
- Hash (SHA) untuk integritas
2. Blockchain dan Cryptocurrency
Memanfaatkan:
- ECDSA untuk tanda tangan digital
- Hash untuk proof-of-work
- Kriptografi kunci publik untuk wallet
⚠️ Praktik Terbaik Keamanan
- Jangan pernah membuat algoritma kriptografi sendiri
- Selalu gunakan library yang sudah teruji (OpenSSL, PyCryptodome)
- Update sistem secara berkala
- Gunakan panjang kunci yang memadai (minimal 256-bit untuk simetris)
Sumber Belajar Lanjutan
- Buku: "Cryptography Engineering" oleh Bruce Schneier
- Kursus: Cryptography I oleh Dan Boneh (Stanford)
- Tools Praktik: Cryptool (www.cryptool.org)
- Challenge: Cryptopals (cryptopals.com)