0Pricing
Cryptology Academy · Pelajaran

Tanda Tangan CRYSTALS-Dilithium & Falcon

Bandingkan skema tanda tangan digital berbasis kisi yang distandardisasi oleh NIST.

Tanda Tangan CRYSTALS-Dilithium & Falcon adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Kebutuhan Tanda Tangan Pascakuantum

Tanda tangan RSA dan ECDSA dipecahkan oleh algoritma Shor. Tanda tangan pascakuantum harus menggantikannya untuk: sertifikat TLS, penandatanganan kode, penandatanganan surel (S/MIME, PGP), dan autentikasi pembaruan perangkat lunak. NIST menstandardisasi dua skema berbasis kisi: ML-DSA dan FN-DSA.

CRYSTALS-Dilithium (ML-DSA)

Dilithium didasarkan pada kesulitan Module-LWE dan Module-SIS (Solusi Bilangan Bulat Pendek). Pembuktian keamanan dilakukan dalam QROM (Model Orakel Acak Kuantum). Tiga varian: Dilithium2 (sekitar 128 bit), Dilithium3 (sekitar 192 bit), Dilithium5 (sekitar 256 bit). Jalur penandatanganan sederhana dan bebas pengambilan sampel dengan penolakan.

Penandatanganan Dilithium

Kunci privat: matriks rahasia s1, s2. Kunci publik: t = As1 + s2. Tanda tangani: ambil sampel y acak; hitung w = Ay; hitung tantangan c = H(mu || w1), dengan w1 = HighBits(w); hitung z = y + cs1; jika ||z|| atau ||r0|| terlalu besar, tolak dan ulangi. Keluarkan (z, c, hint).

Verifikasi Dilithium

Verifikasi (z, c, hint): periksa apakah ||z|| kecil; hitung w' = Az - ct; gunakan hint untuk memulihkan w1; verifikasi c == H(mu || w1). Hint adalah sejumlah kecil bit dari MakeHint(). Penolakan memastikan z tidak membocorkan s1 — argumen keamanannya adalah argumen "menggugurkan lalu seragam".

Ukuran Kunci/Tanda Tangan Dilithium

ML-DSA-65 (Dilithium3, keamanan 192 bit): kunci publik 1952 bita, kunci privat 4000 bita, tanda tangan 3293 bita. Sebagai perbandingan, ECDSA-P256: kunci publik 64 bita, tanda tangan 64 bita. Tanda tangan Dilithium sekitar 40–50 kali lebih besar, tetapi aman terhadap kuantum.

Falcon (FN-DSA)

Falcon didasarkan pada kisi NTRU dan menggunakan pengambil sampel Gaussian pada kisi NTRU. Tanda tangannya jauh lebih kecil daripada Dilithium, tetapi penandatanganan memerlukan pengambil sampel Gaussian titik-mengambang — lebih sulit diimplementasikan dalam waktu-konstan dan lebih rumit untuk dikodekan secara aman.

Ukuran Kunci/Tanda Tangan Falcon

Falcon-512 (keamanan 128 bit): kunci publik 897 bita, tanda tangan 666 bita — jauh lebih kecil daripada Dilithium. Konsekuensinya: Falcon lebih sulit diimplementasikan secara aman (pengambilan sampel Gaussian rentan terhadap serangan pewaktuan). Cocok untuk lingkungan dengan lebar pita terbatas, tetapi memerlukan implementasi yang cermat.

SPHINCS+ (SLH-DSA)

SPHINCS+ adalah skema tanda tangan berbasis hash — pilihan konservatif tanpa asumsi aljabar struktural. Keamanannya hanya bergantung pada keamanan fungsi hash. Ukuran tanda tangan: sekitar 8–50 KB (besar). Penandatanganan lambat. Digunakan ketika kepercayaan jangka panjang sangat penting dan kinerja menjadi prioritas sekunder.

Memilih antara Skema

ML-DSA (Dilithium): serbaguna, implementasi sederhana, cocok untuk sertifikat TLS dan penandatanganan kode. FN-DSA (Falcon): lingkungan dengan lebar pita terbatas (perangkat Internet untuk Segala Sesuatu, LPWAN). SLH-DSA (SPHINCS+): sangat konservatif, untuk akar berumur panjang (kunci CA luring, akar kepercayaan perangkat lunak).

Pertimbangan Implementasi

Dilithium: pengambilan sampel dengan penolakan dapat membocorkan pewaktuan percabangan — gunakan perbandingan waktu-konstan. Falcon: pengambil sampel Gaussian menggunakan titik-mengambang — pastikan determinisme FP. Keduanya: hindari kanal samping dalam aritmetika polinomial. Gunakan implementasi rujukan dari paket pengajuan NIST.

Standar FIPS

NIST FIPS 204: ML-DSA (Dilithium). NIST FIPS 205: SLH-DSA (SPHINCS+). NIST FIPS 206: FN-DSA (Falcon). Semuanya diterbitkan pada Agustus 2024. Pustaka: OpenSSL 3.x, BoringSSL, dan liboqs (proyek Open Quantum Safe) menerapkan ketiganya.

Pemeriksaan Singkat

Apa keunggulan utama Falcon dibandingkan Dilithium?

Rangkuman

ML-DSA (Dilithium): berbasis kisi, sederhana, tanda tangan sekitar 3 KB. FN-DSA (Falcon): berbasis NTRU, tanda tangan sekitar 700 bita, implementasinya rumit. SLH-DSA (SPHINCS+): berbasis hash, konservatif, berukuran besar. Semuanya distandardisasi dalam FIPS 204/205/206. Berikutnya: bermigrasi ke PQC dengan pendekatan hibrida.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tanda Tangan CRYSTALS-Dilithium & Falcon” gratis?

Ya — teks lengkap “Tanda Tangan CRYSTALS-Dilithium & Falcon” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Tanda Tangan CRYSTALS-Dilithium & Falcon”?

Bandingkan skema tanda tangan digital berbasis kisi yang distandardisasi oleh NIST. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Tanda Tangan CRYSTALS-Dilithium & Falcon” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Algoritma Shor & Grover Dijelaskan
  2. CRYSTALS-Kyber: KEM Berbasis Kisi
  3. Tanda Tangan CRYSTALS-Dilithium & Falcon
  4. Migrasi ke PQC: Pendekatan Hibrida
← Kembali ke Cryptology Academy