Post-Quantum Cryptography
/ 6 min read
Table of Contents
Penjelasan singkat
Post-Quantum Cryptography bukan berarti kriptografi yang menggunakan teknologi quantum ya. Tapi ini adalah algoritma kriptografi yang dirancang supaya tetap aman meskipun diserang oleh quantum computer. Jadi ini adalah kriptografi “tahan quantum” gitu deh.
Kenapa kita harus peduli sekarang padahal quantum computer yang bisa crack RSA belum ada? Soalnya ada konsep namanya “Store Now, Decrypt Later”. Jadi ada kemungkinan pihak jahat itu nyimpen data terenkripsi sekarang, terus nanti pas quantum computer udah ada, baru mereka decrypt. Ngeri kan?
Kenapa RSA bisa di-crack oleh Quantum Computer?
Komputer biasa itu bekerja dengan bit: 0 atau 1. Satu bit cuma bisa nyimpen satu nilai di satu waktu. Kalau mau coba semua kemungkinan, ya harus satu per satu.
Quantum computer beda. Dia pakai qubit (quantum bit) yang bisa ada di kondisi 0 dan 1 secara bersamaan. Ini namanya superposisi. Bayangin kamu lempar koin, tapi koinnya itu melayang terus dan bisa jadi kepala dan ekor di waktu yang sama. Baru pas kamu “lihat” hasilnya, koin itu jatuh jadi salah satu.
Dengan superposisi ini, quantum computer bisa nyoba banyak kemungkinan secara paralel. Kalau komputer biasa harus nyoba 1 juta kemungkinan satu per satu, quantum computer bisa nyoba semuanya sekaligus.
Untuk crack RSA-2048 (RSA dengan kunci 2048 bit):
- Komputer biasa: butuh jutaan tahun
- Quantum computer (kalau udah matang): bisa dalam hitungan jam atau bahkan menit
Ya meskipun quantum computer yang powerful gitu belum ada sih. Tapi para ahli prediksi dalam 10-20 tahun ke depan bisa jadi kenyataan. Makanya kita harus prepare dari sekarang.
Post-Quantum Cryptography
NIST (National Institute of Standards and Technology) dari Amerika udah mulai standardisasi algoritma Post-Quantum sejak 2016. Setelah kompetisi yang panjang, akhirnya di tahun 2024 mereka announce pemenangnya.
Beberapa algoritma yang jadi standar:
CRYSTALS-Kyber (sekarang dinamain ML-KEM)
- Dipakai untuk key encapsulation (pertukaran kunci)
- Berbasis Lattice cryptography
- Paling populer dan kemungkinan besar bakal banyak dipakai
CRYSTALS-Dilithium (sekarang dinamain ML-DSA)
- Dipakai untuk digital signatures
- Juga berbasis Lattice cryptography
- Alternatif dari RSA untuk tanda tangan digital
SPHINCS+ (sekarang dinamain SLH-DSA)
- Digital signature berbasis hash functions
- Lebih konservatif, lebih “aman” tapi lebih lambat
- Backup plan kalau lattice-based ternyata ada kelemahan
Yang paling menarik dan populer adalah yang berbasis Lattice. Jadi kita bahas itu aja ya.
Lattice-based Cryptography
Lattice itu artinya “kisi-kisi” dalam bahasa Indonesia. Bayangin kamu punya papan dengan titik-titik yang tersusun rapi seperti kisi-kisi.
· · · · · · ·· · · · · · ·· · · X · · ·· · · · · · ·· · · · · · ·Sekarang ada titik X yang ga pas di kisi-kisi. Misalnya posisinya di (3.7, 2.3). Pertanyaannya: Titik kisi mana yang paling deket dengan X?
Kalau titik-titiknya cuma dikit, gampang. Tapi kalau lattice-nya ada di dimensi yang tinggi (misal 512 dimensi atau 1024 dimensi) dan titik-titiknya banyak banget, mencari titik terdekat itu jadi masalah yang SANGAT SULIT. Bahkan untuk quantum computer sekalipun.
Ini yang namanya Shortest Vector Problem (SVP) atau Closest Vector Problem (CVP). Masalah ini udah dipelajari matematikawan sejak lama dan sampai sekarang belum ada cara cepat untuk solve-nya, bahkan dengan quantum computer.
Nah, algoritma seperti Kyber dan Dilithium ini keamanannya berbasis pada sulitnya masalah lattice ini. Bedanya dengan RSA:
- RSA: Sulitnya memfaktorkan bilangan besar (tapi quantum computer bisa)
- Lattice: Sulitnya mencari vektor terpendek di lattice (quantum computer juga ga bisa)
Cara Kerja Sederhana Lattice Cryptography
Disclaimer dulu ya: ini penjelasan yang disederhanakan banget. Yang asli jauh lebih kompleks.
Anggap kamu punya lattice (kisi-kisi titik). Kamu pilih beberapa vektor basis yang jadi “kunci privat”. Vektor basis ini nentuin struktur dari lattice kamu.
Kemudian kamu bikin versi “kacau” dari vektor basis ini dengan menambahkan noise (gangguan) kecil. Versi yang udah di-kacau-in ini jadi “kunci publik” kamu.
Untuk enkripsi: Orang lain pakai kunci publik kamu (yang udah dikacauin) untuk encrypt pesan. Mereka encode pesan sebagai titik di lattice, terus tambahin noise lagi buat bikin tambah susah.
Untuk dekripsi: Kamu yang punya kunci privat (vektor basis asli) bisa dengan mudah nemuin titik terdekat di lattice dan recover pesan aslinya. Noise yang ditambahin tadi cukup kecil sehingga ga ganggu proses dekripsi.
Kenapa aman? Orang lain yang cuma punya kunci publik (basis yang udah di-kacau-in) ga bisa nemuin struktur lattice yang asli. Mereka harus solve CVP yang mana itu masalah yang susah banget.
Konsep ini namanya Learning With Errors (LWE). Basically kamu dikasih sistem persamaan linear yang udah ditambahin error, terus kamu harus cari solusinya. Kedengeran gampang tapi ternyata sangat sulit kalau errornya dirancang dengan baik.
Perbandingan RSA vs Post-Quantum
Mari kita bandingkan RSA dengan Kyber (ML-KEM):
Ukuran Kunci:
- RSA-2048: Public key ~256 bytes, Private key ~1024 bytes
- Kyber-768: Public key ~1184 bytes, Private key ~2400 bytes
Jadi ukuran kunci Kyber memang lebih besar. Ini adalah trade-off yang harus diterima.
Kecepatan:
- RSA: Enkripsi cepat, dekripsi lambat (karena pakai pangkat besar)
- Kyber: Keduanya relatif cepat dan seimbang
Keamanan:
- RSA: Aman dari komputer klasik, NOT aman dari quantum computer
- Kyber: Aman dari komputer klasik DAN quantum computer
Maturity:
- RSA: Udah dipake puluhan tahun, teruji di dunia nyata
- Kyber: Baru jadi standar, masih perlu waktu untuk adopsi luas
Real World Implementation
Ini bukan cuma teori lho. Industri udah mulai migrasi ke Post-Quantum:
Browser Modern: Chrome, Firefox, dan Safari udah mulai eksperimen dengan hybrid mode. Jadi mereka pakai kombinasi RSA + Kyber untuk TLS (HTTPS). Kenapa hybrid? Supaya kalau ada kelemahan di salah satu algoritma, yang satunya lagi masih protect.
Signal: Aplikasi messaging Signal udah implementasi PQXDH (Post-Quantum Extended Diffie-Hellman) di protokol mereka sejak 2023. Mereka kombinasi X25519 (elliptic curve) dengan Kyber.
Apple: iMessage mulai adopsi PQ3 (Post-Quantum 3) yang juga kombinasi classical + post-quantum cryptography.
Timeline:
- 2024: Standarisasi NIST selesai
- 2025-2030: Migrasi bertahap di industri
- 2030-2035: Diharapkan mayoritas sistem udah pakai Post-Quantum
- 2040+: Quantum computer mungkin udah bisa crack RSA
Jadi masih ada waktu, tapi ga bisa santai-santai juga.
Tantangan dan Isu
Migrasi ke Post-Quantum ga semudah ganti algoritma doang:
Ukuran Data Lebih Besar Kunci dan signature Post-Quantum lebih besar dari RSA. Ini bisa jadi masalah untuk device dengan bandwidth terbatas atau IoT devices yang resource-nya terbatas.
Backward Compatibility Sistem lama yang udah pakai RSA harus tetap didukung. Makanya banyak yang pakai hybrid mode dulu.
Implementation Bugs Algoritma baru = potensi bug baru. Butuh waktu untuk implementation matang dan teruji.
Side-Channel Attacks Meskipun secara matematis aman, implementasi yang jelek bisa bocor lewat timing attack, power analysis, dll.
Kesimpulan
Jadi intinya gini: RSA yang kita kenal dan cintai itu masih aman untuk sekarang. Tapi quantum computer lagi dalam perjalanan, dan kalau udah datang, RSA bakal jadi obsolete.
Post-Quantum Cryptography adalah solusi yang lagi disiapkan dari sekarang. Lattice-based cryptography seperti Kyber dan Dilithium adalah kandidat terkuat yang udah distandarisasi oleh NIST.
Kamu pusing ga? Kalau pusing wajar kok, saya juga pusing ngetiknya wkwk. Yang penting kamu tau bahwa dunia kriptografi itu terus berkembang. Algoritma yang aman hari ini belum tentu aman besok. Makanya research dan standardisasi penting banget.
Btw, ini ga berarti kamu harus langsung panik dan ganti semua sistem ke Post-Quantum. Industri lagi migrasi bertahap dengan hybrid approach. Jadi kita punya waktu untuk prepare dengan baik.
Yang jelas sih, kalau kamu developer atau security engineer, mulai belajar tentang Post-Quantum dari sekarang. Karena dalam 5-10 tahun ke depan, ini bakal jadi standar baru.
Daftar link menarik:
- https://csrc.nist.gov/projects/post-quantum-cryptography - Official NIST PQC Project
- https://signal.org/blog/pqxdh/ - Implementasi PQ di Signal
- https://blog.cloudflare.com/post-quantum-for-all/ - Cloudflare’s journey to PQ