Memahami tanda tangan pasca-kuantum: mengapa PQC Imza menandatangani dengan ML-DSA
Komputer kuantum akan memecahkan tanda tangan yang diandalkan sebagian besar perangkat lunak saat ini. Apa artinya bagi dokumen yang ditandatangani, dan bagaimana PQC Imza menandatangani dengan ML-DSA, standar NIST yang dirancang untuk bertahan lama.
4 menit baca
Tanda tangan pada sebuah kontrak adalah janji yang harus bertahan lebih lama daripada hari ketika janji itu dibuat. Perjanjian sewa, perjanjian pinjaman, atau keputusan pemegang saham bisa saja diperiksa bertahun-tahun kemudian oleh orang-orang yang tidak hadir saat itu, ketika pertanyaannya bukan lagi "apakah Anda menandatanganinya?" melainkan "dapatkah Anda membuktikannya?".
Tanda tangan elektronik menjawab pertanyaan itu dengan matematika. Namun, matematika yang dipakai sebagian besar tanda tangan elektronik saat ini punya tanggal kedaluwarsa.
Apa yang diubah oleh komputer kuantum
Hampir semua tanda tangan digital yang digunakan saat ini, baik RSA, ECDSA, maupun Ed25519, bertumpu pada salah satu dari dua masalah: memfaktorkan bilangan yang sangat besar, atau menghitung logaritma diskret pada kurva eliptik. Komputer biasa tidak dapat menyelesaikan keduanya dalam waktu yang praktis, dan itulah yang menjaga kunci tanda tangan tetap rahasia meskipun bagian publiknya dipublikasikan.
Pada tahun 1994, Peter Shor memaparkan sebuah algoritma yang dapat menyelesaikan kedua masalah itu secara efisien pada komputer kuantum yang besar dan toleran terhadap kesalahan. Mesin seperti itu belum ada, dan perkiraan tentang kapan mesin itu akan ada sangat beragam. Namun, akibatnya bagi tanda tangan sudah jelas: begitu mesin itu ada, kunci publik saja sudah cukup untuk menghitung kunci privatnya, dan siapa pun yang melakukannya dapat membuat tanda tangan yang tidak dapat dibedakan dari tanda tangan pemilik aslinya.
Bagi dokumen yang ditandatangani, di situlah seluruh persoalannya. Tanda tangan hanya bernilai sebagai bukti selama tidak ada orang lain yang bisa membuatnya.
Standar yang dibuat untuk menghadapinya
Para kriptografer telah menghabiskan lebih dari satu dekade untuk merancang tanda tangan yang bertumpu pada masalah yang tidak diketahui dapat dipecahkan oleh komputer kuantum. Pada Agustus 2024, National Institute of Standards and Technology (NIST) Amerika Serikat menerbitkan yang pertama di antaranya sebagai standar. FIPS 204 mendefinisikan ML-DSA, Module-Lattice-Based Digital Signature Algorithm, yang berkembang dari rancangan CRYSTALS-Dilithium.
Keamanan ML-DSA bertumpu pada masalah-masalah sulit pada kisi (lattice) matematis. Algoritma ini hadir dalam tiga set parameter. PQC Imza menggunakan ML-DSA-44, set yang ditempatkan NIST dalam kategori keamanan 2, dengan kunci publik berukuran 1.312 byte dan tanda tangan berukuran 2.420 byte. Ukuran itu lebih besar daripada tanda tangan kurva eliptik, tetapi cukup kecil untuk diverifikasi dalam hitungan milidetik dan untuk disimpan bersama setiap dokumen.
Cara PQC Imza menggunakannya
Setiap tanda tangan di PQC Imza adalah tanda tangan ML-DSA-44 yang dibuat di ponsel Anda dengan aplikasi PQC Wallet:
- Kunci lahir di ponsel Anda dan tetap di sana. PQC Wallet membuat kunci tanda tangan Anda di perangkat dan menyimpannya di penyimpanan aman perangkat. Server kami hanya pernah melihat bagian publiknya.
- Tanda tangan mencakup dokumen itu sendiri. Apa yang Anda tanda tangani mencakup sidik jari SHA-256 dokumen. Ubah satu byte saja dari berkasnya, maka tanda tangan tidak lagi cocok dengannya.
- Setiap tanda tangan diperiksa sebelum diperhitungkan. Sebelum mencatatnya, server kami memverifikasi setiap tanda tangan dengan kunci publik Anda dan memeriksa bahwa kunci itu memang kunci yang terdaftar di akun Anda.
- Anda mengonfirmasi setiap tanda tangan. Sidik jari, Face ID, atau kode sandi perangkat Anda selalu berada di antara kunci dan setiap tanda tangan.
Setelah semua orang menandatangani, sidik jari dokumen dan sidik jari tanda tangannya dicatat di blockchain SciChain. Waktu pada catatan itu berasal dari buku besar (ledger), bukan dari server kami, sehingga kelak catatan itu dapat menunjukkan bahwa tanda tangan tersebut sudah ada pada saat itu.
Mengapa bertindak sebelum mesinnya ada
Memang menggoda untuk menunggu sampai komputer kuantum benar-benar ada. Untuk tanda tangan, itu akan terlambat: dokumen yang ditandatangani hari ini dengan kunci klasik masih akan ada ketika kunci-kunci itu sudah dapat dipecahkan. Jauh lebih mudah menandatangani dengan algoritma yang tahan kuantum sejak awal daripada menandatangani ulang seluruh arsip di kemudian hari.
Dengan PQC Imza, tidak ada langkah tambahan yang perlu dilakukan. Anda menandatangani seperti di tempat lain, dan tanda tangan Anda sudah pasca-kuantum sejak hari pertama.