Cryptology Academy · Pelajaran

Tandatangan CRYSTALS-Dilithium & Falcon

Bandingkan skema tandatangan digital berasaskan kekisi yang dipiawaikan oleh NIST.

Pelajaran 3 daripada 413 langkah

Tandatangan CRYSTALS-Dilithium & Falcon ialah pelajaran Cryptology Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cryptology Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Keperluan Tandatangan Pascakuantum

Tandatangan RSA dan ECDSA dapat dipecahkan oleh algoritma Shor. Tandatangan pascakuantum mesti menggantikannya untuk: sijil TLS, penandatanganan kod, penandatanganan e-mel (S/MIME, PGP), dan pengesahan kemas kini perisian. NIST menyeragamkan dua skim berasaskan kekisi: ML-DSA dan FN-DSA.

CRYSTALS-Dilithium (ML-DSA)

Dilithium berasaskan kesukaran Module-LWE dan Module-SIS (Penyelesaian Integer Pendek). Bukti keselamatan diberikan dalam QROM (Model Peramal Rawak Kuantum). Tiga variasi: Dilithium2 (kira-kira 128 bit), Dilithium3 (kira-kira 192 bit), Dilithium5 (kira-kira 256 bit). Laluan tandatangan yang ringkas dan bebas daripada pensampelan penolakan.

Penandatanganan Dilithium

Kunci peribadi: matriks rahsia s1, s2. Kunci awam: t = As1 + s2. Untuk menandatangani: ambil sampel y rawak; kira w = Ay; kira cabaran c = H(mu || w1) dengan w1 = HighBits(w); kira z = y + cs1; jika ||z|| atau ||r0|| terlalu besar, tolak dan cuba lagi. Hasilkan (z, c, hint).

Pengesahan Dilithium

Sahkan (z, c, hint): semak bahawa ||z|| kecil; kira w' = Az - ct; gunakan hint untuk mendapatkan semula w1; sahkan c == H(mu || w1). Hint ialah sebilangan kecil bit daripada MakeHint(). Penolakan memastikan z tidak membocorkan s1 — hujah keselamatannya ialah hujah “gagal kemudian seragam”.

Saiz Kunci/Tandatangan Dilithium

ML-DSA-65 (Dilithium3, keselamatan 192 bit): kunci awam 1952 bait, kunci peribadi 4000 bait, tandatangan 3293 bait. Bandingkan: ECDSA-P256: kunci awam 64 bait, tandatangan 64 bait. Tandatangan Dilithium kira-kira 40-50 kali lebih besar tetapi tahan kuantum.

Falcon (FN-DSA)

Falcon berasaskan kekisi NTRU dan menggunakan pensampel Gaussian pada kekisi NTRU. Tandatangannya jauh lebih kecil berbanding Dilithium, tetapi penandatanganan memerlukan pensampel Gaussian titik apungan — lebih sukar dilaksanakan dalam masa malar dan lebih rumit untuk dikodkan dengan selamat.

Saiz Kunci/Tandatangan Falcon

Falcon-512 (keselamatan 128 bit): kunci awam 897 bait, tandatangan 666 bait — jauh lebih kecil berbanding Dilithium. Pertukarannya: Falcon lebih sukar dilaksanakan dengan selamat (pensampelan Gaussian terdedah kepada serangan pemasaan). Sesuai untuk persekitaran dengan lebar jalur terhad tetapi memerlukan pelaksanaan yang teliti.

SPHINCS+ (SLH-DSA)

SPHINCS+ ialah skim tandatangan berasaskan cincangan — pilihan konservatif tanpa andaian algebra berstruktur. Keselamatannya hanya bergantung pada keselamatan fungsi cincang. Saiz tandatangan: kira-kira 8-50 KB (besar). Penandatanganan perlahan. Digunakan apabila kepercayaan jangka panjang amat penting dan prestasi menjadi keutamaan kedua.

Memilih antara Skim

ML-DSA (Dilithium): tujuan umum, pelaksanaan mudah, sesuai untuk sijil TLS dan penandatanganan kod. FN-DSA (Falcon): persekitaran dengan lebar jalur terhad (Internet Benda, LPWAN). SLH-DSA (SPHINCS+): sangat konservatif, akar yang berumur panjang (kunci luar talian CA, akar kepercayaan perisian).

Kebimbangan Pelaksanaan

Dilithium: pensampelan penolakan mungkin membocorkan pemasaan cabang — gunakan perbandingan masa malar. Falcon: pensampel Gaussian menggunakan titik apungan — pastikan ketentuan FP. Kedua-duanya: elakkan saluran sampingan dalam aritmetik polinomial. Gunakan pelaksanaan rujukan daripada pakej penyerahan NIST.

Piawaian FIPS

NIST FIPS 204: ML-DSA (Dilithium). NIST FIPS 205: SLH-DSA (SPHINCS+). NIST FIPS 206: FN-DSA (Falcon). Semua diterbitkan pada Ogos 2024. Pustaka: OpenSSL 3.x, BoringSSL dan liboqs (projek Open Quantum Safe) melaksanakan ketiga-tiganya.

Semakan Pantas

Apakah kelebihan utama Falcon berbanding Dilithium?

Imbas Kembali

ML-DSA (Dilithium): berasaskan kekisi, ringkas, tandatangan kira-kira 3 KB. FN-DSA (Falcon): berasaskan NTRU, tandatangan kira-kira 700 bait, pelaksanaan rumit. SLH-DSA (SPHINCS+): berasaskan cincangan, konservatif, besar. Semua diseragamkan dalam FIPS 204/205/206. Seterusnya: berhijrah kepada PQC dengan pendekatan hibrid.

Percuma untuk bermula

Pelajari Cryptology Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
67
Pelajaran
261

Soalan Lazim

Adakah pelajaran “Tandatangan CRYSTALS-Dilithium & Falcon” percuma?

Ya — teks penuh “Tandatangan CRYSTALS-Dilithium & Falcon” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cryptology Academy, tingkat taraf kepada CoddyKit PRO. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Tandatangan CRYSTALS-Dilithium & Falcon”?

Bandingkan skema tandatangan digital berasaskan kekisi yang dipiawaikan oleh NIST. Anda berlatih Cryptology Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cryptology Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cryptology Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Tandatangan CRYSTALS-Dilithium & Falcon” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Algoritma Shor & Grover Diterangkan
  2. CRYSTALS-Kyber: KEM Berasaskan Kekisi
  3. Tandatangan CRYSTALS-Dilithium & Falcon
  4. Penghijrahan ke PQC: Pendekatan Hibrid
← Kembali ke Cryptology Academy