Cryptology Academy · Ders

CRYSTALS-Dilithium ve Falcon İmzaları

NIST tarafından standartlaştırılan örgü tabanlı dijital imza şemalarını karşılaştırın.

3. ders / 413 adım

CRYSTALS-Dilithium ve Falcon İmzaları, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Kuantum Sonrası İmzalara Duyulan İhtiyaç

RSA ve ECDSA imzaları Shor algoritması tarafından kırılabilir. Kuantum sonrası imzalar şu alanlarda bunların yerini almalıdır: TLS sertifikaları, kod imzalama, e-posta imzalama (S/MIME, PGP) ve yazılım güncellemelerinin kimlik doğrulaması. NIST, kafes tabanlı iki şemayı standartlaştırmıştır: ML-DSA ve FN-DSA.

CRYSTALS-Dilithium (ML-DSA)

Dilithium, Module-LWE ve Module-SIS problemlerinin zorluğuna dayanır (Short Integer Solution, Kısa Tamsayı Çözümü). Güvenlik kanıtı QROM'da (Kuantum Rastgele Kahin Modeli) verilir. Üç çeşidi vardır: Dilithium2 (yaklaşık 128 bit), Dilithium3 (yaklaşık 192 bit), Dilithium5 (yaklaşık 256 bit). Basittir ve reddetmeli örnekleme içermeyen bir imzalama yoluna sahiptir.

Dilithium ile İmzalama

Özel anahtar: gizli s1, s2 matrisleri. Açık anahtar: t = As1 + s2. İmzalama: rastgele y örnekleyin; w = Ay hesaplayın; w1 = HighBits(w) olacak şekilde c = H(mu || w1) meydan okumasını hesaplayın; z = y + cs1 hesaplayın; ||z|| veya ||r0|| çok büyükse reddedin ve yeniden deneyin. Çıktı (z, c, hint) olur.

Dilithium Doğrulaması

(z, c, hint) değerlerini doğrulayın: ||z|| değerinin küçük olduğunu denetleyin; w' = Az - ct hesaplayın; w1'i geri elde etmek için ipucunu kullanın; c == H(mu || w1) olduğunu doğrulayın. İpucu, MakeHint() işlevinden alınan az sayıda bittir. Reddetme işlemi, z'nin s1'i sızdırmamasını sağlar; güvenlik gerekçesi “önce durdurma, sonra tekdüze dağılım” argümanına dayanır.

Dilithium Anahtar/İmza Boyutları

ML-DSA-65 (Dilithium3, 192 bit güvenlik): açık anahtar 1952 bayt, özel anahtar 4000 bayt, imza 3293 bayttır. Karşılaştırma için ECDSA-P256: açık anahtar 64 bayt, imza 64 bayttır. Dilithium imzalarda yaklaşık 40-50 kat daha büyüktür; ancak kuantuma karşı güvenlidir.

Falcon (FN-DSA)

Falcon, NTRU kafeslerine dayanır ve NTRU kafesi üzerinde bir Gauss örnekleyicisi kullanır. İmzaları Dilithium'unkilerden önemli ölçüde küçüktür; ancak imzalama, kayan noktalı bir Gauss örnekleyicisi gerektirir. Bu örnekleyiciyi sabit zamanlı uygulamak daha zordur ve kodu güvenli biçimde yazmak daha karmaşıktır.

Falcon Anahtar/İmza Boyutları

Falcon-512 (128 bit güvenlik): açık anahtar 897 bayt, imza 666 bayttır — Dilithium'dan çok daha küçüktür. Bunun karşılığında Falcon'ın güvenli biçimde uygulanması daha zordur (Gauss örneklemesi zamanlama saldırılarına açıktır). Bant genişliğinin kısıtlı olduğu ortamlar için uygundur; ancak dikkatli bir uygulama gerektirir.

SPHINCS+ (SLH-DSA)

SPHINCS+, özet tabanlı bir imza şemasıdır ve yapısal cebirsel varsayımlara dayanmayan ihtiyatlı bir seçimdir. Güvenliği yalnızca özet işlevinin güvenliğine dayanır. İmza boyutu yaklaşık 8-50 KB'tır (büyüktür). İmzalama yavaştır. Uzun vadeli güvenin kritik, performansın ise ikincil olduğu yerlerde kullanılır.

Şemalar Arasında Seçim

ML-DSA (Dilithium): genel amaçlıdır, uygulanması basittir; TLS sertifikaları ve kod imzalama için uygundur. FN-DSA (Falcon): bant genişliğinin kısıtlı olduğu ortamlar (IoT, LPWAN) içindir. SLH-DSA (SPHINCS+): son derece ihtiyatlıdır; uzun süre geçerli kökler (CA'lerin çevrimdışı anahtarları, yazılım güven kökü) için uygundur.

Uygulama Hususları

Dilithium: reddetmeli örnekleme, dallanma zamanlamasını sızdırabilir — sabit zamanlı karşılaştırma kullanın. Falcon: Gauss örnekleyicisi kayan nokta kullanır — FP belirlenimliliğini sağlayın. Her ikisinde de polinom aritmetiğindeki yan kanallardan kaçının. NIST başvuru paketlerindeki referans uygulamalarını kullanın.

FIPS Standartları

NIST FIPS 204: ML-DSA (Dilithium). NIST FIPS 205: SLH-DSA (SPHINCS+). NIST FIPS 206: FN-DSA (Falcon). Üçü de Ağustos 2024'te yayımlandı. Kütüphaneler: OpenSSL 3.x, BoringSSL, liboqs (Open Quantum Safe projesi) üçünü de uygular.

Kısa Kontrol

Falcon'ın Dilithium'a göre temel avantajı nedir?

Özet

ML-DSA (Dilithium): kafes tabanlı, basit, yaklaşık 3 KB imzalar. FN-DSA (Falcon): NTRU tabanlı, yaklaşık 700 baytlık imzalar, karmaşık uygulama. SLH-DSA (SPHINCS+): özet tabanlı, ihtiyatlı, büyük. Tümü FIPS 204/205/206'da standartlaştırılmıştır. Sırada: hibrit yaklaşımlarla PQC'ye geçiş.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Cryptology Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
67
Dersler
261

Sıkça Sorulan Sorular

“CRYSTALS-Dilithium ve Falcon İmzaları” dersi ücretsiz mi?

Evet — “CRYSTALS-Dilithium ve Falcon İmzaları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“CRYSTALS-Dilithium ve Falcon İmzaları” dersinde ne öğreneceğim?

NIST tarafından standartlaştırılan örgü tabanlı dijital imza şemalarını karşılaştırın. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“CRYSTALS-Dilithium ve Falcon İmzaları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Shor ve Grover Algoritmaları Açıklanıyor
  2. CRYSTALS-Kyber: Örgü Tabanlı KEM
  3. CRYSTALS-Dilithium ve Falcon İmzaları
  4. PQC'ye Geçiş: Hibrit Yaklaşımlar
← Cryptology Academy Sayfasına Dön