0Pricing
Cryptology Academy · Ders

ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı

ML-KEM'in anahtar kapsülleme mekanizmasını, parametre kümelerini ve uygulama hususlarını derinlemesine inceleyin.

ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 2. 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.

ML-KEM Neyi Standardize Eder

ML-KEM (Modül-Kafes Tabanlı Anahtar Kapsülleme Mekanizması), Ağustos 2024'te FIPS 203 olarak standardize edilmiş ve Diffie-Hellman ile RSA anahtar değişiminin kuantum sonrası karşılığıdır. Bir simetrik anahtarı açık anahtar altında kapsüller ve her iki tarafın da simetrik şifreleme için kullanabileceği ortak bir sır üretir. ML-KEM, belirtimin daha sade olması için küçük değişikliklerle CRYSTALS-Kyber'den türetilmiştir.

ML-KEM Parametre Kümeleri

ML-KEM üç parametre kümesi tanımlar. ML-KEM-512, 800 baytlık açık anahtar ve 768 baytlık şifreli metinle yaklaşık 128 bit klasik ve 100 bit kuantum sonrası güvenliği hedefler. ML-KEM-768, 192 bit klasik güvenliği hedefler (1184 baytlık açık anahtar, 1088 baytlık şifreli metin). ML-KEM-1024, 256 bit klasik güvenliği hedefler (1568 baytlık açık anahtar, 1568 baytlık şifreli metin). NIST, çoğu uygulama için ML-KEM-768'i öneriyor.

ML-KEM'de Anahtar Üretimi

ML-KEM anahtar üretimi şu şekilde çalışır: SHAKE-128 kullanarak bir tohumdan rastgele bir A matrisi örneklenir, küçük bir gizli s vektörü ile hata e vektörü örneklenir ve t = As + e mod q hesaplanır. Açık anahtar (seed, t), özel anahtar ise açık anahtar özetiyle birlikte s'dir. A matrisini saklamak yerine tohum kullanılması, bellek ve bant genişliğinden önemli ölçüde tasarruf sağlar.

Kapsülleme Süreci

Kapsüllemek için gönderen, rastgele bir m iletisi üretir ve SHA-3 aracılığıyla hem bir simetrik K anahtarı hem de r rastgeleliğini türetir. Şifreli metin iki bölümden oluşur: u = Ar + e1 mod q ve v = t^T r + e2 + encode(m) mod q. Ortak sır K, m'nin özetinden türetilir. Rastgelelik m'den deterministik olarak türetilir; böylece şifreli metin anahtara bağlanır.

Kapsül Açma ve FO Dönüşümü

Kapsül açma, v - s^T u hesaplanıp kod çözülerek m'yi geri kazanır ve ardından K'yi m'den yeniden türetir. Fujisaki-Okamoto dönüşümü kritik bir adım ekler: geri kazanılan m ile yeniden şifreleme yapılır ve şifreli metnin eşleşip eşleşmediği kontrol edilir. Eşleşmiyorsa özel anahtarın ve şifreli metnin özetinden türetilen sözde rastgele bir değer döndürülür. Bu, kapsül açmayı belirlenimci ve doğrulanabilir hâle getirerek seçilmiş şifreli metin saldırılarını önler.

CCA2 Güvenlik İspatı

ML-KEM, kuantum rastgele kehanet modelinde (QROM), Module-LWE varsayımı altında kanıtlanmış IND-CCA2 güvenliğine ulaşır. QROM önemlidir; çünkü kuantum sonrası saldırganlar özet işlevlerine süperpozisyon hâlinde sorgu gönderebilir. Hofheinz, Hovelmanns ve Kiltz tarafından sunulan güvenlik ispatı (HHK çerçevesi), QROM'da Module-LWE'den ML-KEM güvenliğine sıkı indirgemeler sağlar.

RSA ve ECDH'ye Göre Performans

ML-KEM, eşdeğer güvenlik düzeylerinde anahtar değişimi için RSA'dan çok daha iyi performans gösterir. ML-KEM-768'de anahtar üretimi modern bir CPU üzerinde yaklaşık 16 mikrosaniye, kapsülleme 20 mikrosaniye, kapsül açma ise 18 mikrosaniye sürer. RSA-2048 anahtar üretimi saniyeler alır. ML-KEM açık anahtarları (1184 bayt), ECDH anahtarlarından (32-64 bayt) daha büyüktür; ancak RSA-2048'den (yalnızca anahtar için 256 bayt, fakat pratikte daha uzun) çok daha küçüktür.

Hibrit Kurulumlar

Geçiş döneminde hibrit anahtar değişimi, ML-KEM'i klasik bir algoritmayla (genellikle X25519 veya P-256 ECDH) birleştirir. Ortak sır, her iki KEM çıktısının özetidir: K = Hash(K_classical || K_pqc). Böylece güvenlik, bileşenlerden herhangi birinin güvenliğinden daha kötü olamaz. Hibrit TLS, IETF draft-ietf-tls-hybrid-design belgesinde tanımlanmış olup BoringSSL, OpenSSL 3.x ve Rustls tarafından desteklenir.

TLS 1.3'te ML-KEM

IETF, TLS 1.3 için X25519ML-KEM-768'i hibrit anahtar paylaşımı olarak tanımladı (draft-ietf-tls-hybrid-design). Chrome, 124. sürümünde (Nisan 2024), Firefox ise 132. sürümünde (2024) destek ekledi. Cloudflare, ML-KEM'i TLS sonlandırma altyapısında kullanıma sundu. Bu hızlı benimsenme sayesinde artık günde yüz milyonlarca TLS bağlantısında kuantum sonrası anahtar değişimi yer alıyor.

Şifre Çözme Başarısızlık Oranı

LWE'deki hata terimleri nedeniyle, bir saldırgan olmasa bile kapsül açmanın başarısız olma olasılığı çok küçüktür. ML-KEM-512 için başarısızlık olasılığı yaklaşık 2^{-139}, ML-KEM-768 içinse 2^{-164} düzeyindedir. Bu oranlar pratik açıdan önemsenmeyecek kadar düşüktür (karşılaştırma için, donanım hataları çok daha sık görülür) ve güvenliği etkilemez; ancak belirtimde bunlar hesaba katılmalıdır.

Açık Kaynaklı Uygulamalar

ML-KEM, çok sayıda açık kaynaklı kütüphanede uygulanmıştır. Kyber ekibinin referans uygulaması kamuya açıktır. PQClean, sadeleştirilmiş ve taşınabilir bir C uygulaması sağlar. liboqs (Open Quantum Safe projesi), ML-KEM'i bir kütüphane sarmalayıcısına entegre eder. AWS-LC (Amazon'un BoringSSL çatalı), AWS TLS uç noktaları için ML-KEM içerir. NIST FIPS 203 standardı, tüm işlemler için ayrıntılı sözde kod içerir.

ML-KEM Parametreleri Sınavı

NIST, çoğu uygulama için hangi ML-KEM parametre kümesini öneriyor?

ML-KEM Özeti

ML-KEM (FIPS 203), Module-LWE'ye dayanan ve NIST tarafından standardize edilmiş kuantum sonrası KEM'dir. Üç parametre kümesi (512/768/1024), 128/192/256 bit klasik güvenlik sağlar. Anahtar üretimi, rastgele bir tohumdan kompakt bir açık anahtar üretir; kapsülleme ortak bir sır türetir; kapsül açma ise CCA2 güvenliği için FO dönüşümünü kullanır. ML-KEM, RSA'dan önemli ölçüde daha hızlıdır ve Chrome, Firefox ile Cloudflare TLS altyapısında zaten kullanımdadır.

Sıkça Sorulan Sorular

“ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı” dersi ücretsiz mi?

Evet — “ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı” 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.

“ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı” dersinde ne öğreneceğim?

ML-KEM'in anahtar kapsülleme mekanizmasını, parametre kümelerini ve uygulama hususlarını derinlemesine inceleyin. 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 2. dersidir.

“ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı” 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. NIST PQC Yarışması: Süreç ve Ölçütler
  2. ML-KEM (FIPS 203): CRYSTALS-Kyber Standardı
  3. ML-DSA (FIPS 204) ve SLH-DSA (FIPS 205)
  4. Kuantum Sonrası Standartlara Geçişinizi Planlama
← Cryptology Academy Sayfasına Dön