Lumina Blocks
Post-kuantum kriptografi
Önizleme · v0.3.0

LM-PQC-K

ML-KEM anahtar kapsülleme motoru

  • Yapısı gereği zamanlama ve SPA dirençli
  • Çalışma öncesi öz test
  • Üç parametre setinin tamamı
  • Her FPGA'ya taşınabilir

LM-PQC-K, FPGA ve SoC tasarımlarında anahtar oluşturmayı donanıma aktarmak için bir post-kuantum kriptografi bloğudur.

Motor, FIPS 203 olarak standartlaştırılan modül kafes tabanlı anahtar kapsülleme mekanizması ML-KEM'i üç parametre setinin tamamında, yani ML-KEM-512, ML-KEM-768 ve ML-KEM-1024'te gerçekler. Anahtar üretimi, kapsülleme ve kapsül açma; sayı teorik dönüşüm (NTT), örnekleme algoritmaları, bayt kodlama ve sıkıştırma ile standardın üzerine kurulduğu Keccak süngeri dahil tamamen donanımda yapılır.

Blok, üreticiden bağımsız SystemVerilog olarak teslim edilir ve AMD, Altera ve Efinix cihazlarında aynı kaynaktan derlenir. Dört AXI4-Stream veri portu ve bir AXI4-Lite register haritası sunar; açık ve gizli materyal iki yönde de hiçbir zaman aynı portu paylaşmaz. Hedef platforma hızlı entegrasyon için bir ANSI C sürücüsü sağlanır.

Ölçülmüş FPGA sonuçları

Ürün top'ı, bağlam dışı (out of context) ve hedef saatte kısıtlanmış olarak. AMD ve Efinix LUT, Altera ALM raporlar; ikisi hiçbir zaman birleştirilmez.

CihazKonfigürasyonMantıkFFBellekDSPFmax
Altera Agilex 3A3CW135BM16AE6S · quartus-pro 26.1.1KEM_1024=1, KEM_512=1, KEM_768=17.656 ALM7.086174 Kb M20K14175,0 MHzhedef 175
AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1KEM_1024=1, KEM_512=1, KEM_768=111.208 LUT4.30212 BRAM16301,8 MHzhedef 300
Efinix Titanium Ti375Ti375N1156 · efinity 2026.1KEM_1024=1, KEM_512=1, KEM_768=116.481 LUT4.72632 RAM26213,4 MHzhedef 175

Özellikler

Anahtar kapsülleme

  • Çalışma zamanında seçilebilen ML-KEM-512, ML-KEM-768, ML-KEM-1024
  • Anahtar üretimi, kapsülleme ve kapsül açma
  • Kapsül açmada, FIPS 203'ün istediği şekliyle örtük reddetme (implicit rejection)

Standartlar

  • Bölüm 7.2 ve 7.3'teki girdi denetimleri dahil FIPS 203'ün tamamı
  • Standardın kullandığı biçimiyle FIPS 202 Keccak süngeri, SHA3-256/512 ve SHAKE128/256

Güvenlik

  • Sabit zamanlı veri yolu. Çalışma süresi ve kontrol akışı gizli veriye bağlı değildir; blok yapısı gereği zamanlama analizine ve basit güç analizine dirençlidir
  • Açık ve gizli materyal iki yönde de ayrı portlarda; böylece gizli bir yol SoC'nin korumalı bir bölgesinden geçirilebilir ve bu pinlerde görülebilir
  • Hiçbir register adresinde anahtar materyali bulunmaz
  • Her reset bırakılışından sonra çalışma öncesi bilinen cevap öz testi; test geçene kadar veri çıkışı engellenir
  • Çalışma bellekleri ve iç tamponlar her işlemin sonunda sıfırlanır

Entegrasyon

  • AMBA AXI4-Lite kontrol ve dört AXI4-Stream veri arayüzü
  • İki teslim top'ı: eksiksiz AXI ürünü ya da kendi yapınız için yalın motor
  • Tek saat alanı, tek reset
  • ANSI C sürücüsü, UVM RAL, IP-XACT, SystemRDL register tanımı

Uygulamalar

  • Post-kuantum güvenlikli TLS ve IKEv2 anahtar oluşturma
  • Klasik ECDH ile birlikte hibrit anahtar değişimi
  • Güvenli açılış ve firmware güncellemesi için anahtar taşıma
  • Makineler arası ve IoT oturum kurulumu
  • "Şimdi topla, sonra çöz" (harvest-now-decrypt-later) saldırılarına açık, uzun ömürlü sistemler
  • Güven kökü (root of trust) ve HSM alt sistemleri

Blok diyagramı


Parametre setleri

SetGüvenlik kategorisiKapsülleme anahtarıKapsül açma anahtarıŞifreli metinPaylaşılan sır
ML-KEM-5121800 B1.632 B768 B32 B
ML-KEM-76831.184 B2.400 B1.088 B32 B
ML-KEM-102451.568 B3.168 B1.568 B32 B

Üçü de her derlemede bulunur ve çalışma zamanında seçilir. Boyutları bir tablodan değil, donanımdan okuyarak sürücü raporlar; böylece host FIPS 203 için ikinci bir doğruluk kaynağı taşımak zorunda kalmaz.


Arayüzler

Veriyi dört AXI4-Stream portu, kontrolü bir AXI4-Lite arayüzü taşır. Port sayısı bir kolaylık değil, bir güvenlik özelliğidir: açık ve gizli materyal iki yönde de hiçbir zaman aynı teli paylaşmaz.

ArayüzTürGenişlikTaşıdığı
s_axilAXI4-Lite slave32 bit veri, 7 bit adreskonfigürasyon, komut, durum, sayaçlar, uzunluklar
s_axis_pubAXI4-Stream sink32 bitkapsülleme anahtarı, şifreli metin, anahtar denetimi girdisi
s_axis_secAXI4-Stream sink32 bittohumlar, kapsül açma anahtarı, anahtar çiftinin gizli yarısı
m_axis_pubAXI4-Stream source32 bitkapsülleme anahtarı, şifreli metin
m_axis_secAXI4-Stream source32 bitkapsül açma anahtarı, paylaşılan sır
irqseviye1 bittamamlanma ve hata olayları

enable düşükken motor boşta bekler ve tüm çıkışlar engellenir.


Güvenlik özellikleri

Zamanlama ve basit güç analizi. Veri yolu gizli veriye göre sabit zamanlıdır: hiçbir dallanma, bellek adresi ya da döngü sınırı gizli bir değere bağlı değildir. Dolayısıyla blok yapısı gereği zamanlama analizine ve basit güç analizine dirençlidir; bu, ML-KEM'in kendi yapısının izin verdiği dirençtir.

Diferansiyel güç analizi kapsam dışıdır. Maskeleme, karıştırma (shuffling) ya da rastgeleleştirilmiş adresleme uygulanmamıştır. Çok sayıda iz toplayabilen bir saldırgana karşı korunması gereken bir uygulama, bu bloğun üzerinde ek önlemler gerektirir.

Örtük reddetme korunur. Şifreli metni denetimden geçmeyen bir kapsül açma işlemi, FIPS 203'ün tanımladığı gibi hata yerine reddetme tohumundan türetilmiş bir paylaşılan sır döndürür; böylece saldırgan bir şifreli metnin geçerli olup olmadığı hakkında hiçbir şey öğrenmez. Bunu bilerek hiçbir durum biti raporlamaz.

Rastgelelik entegratöre aittir. Blok bir rastgele bit üreteci içermez. FIPS 203 bölüm 3.3, tohumların parametre setinin güvenlik gücünde onaylı bir RBG'den gelmesini ister; sürücü bunu çağıranın sağladığı bir callback'ten alır. LM-DRBG böyle bir kaynaktır.

Çalışma öncesi öz test. Her reset bırakılışından sonra bir kez bilinen cevap testi çalışır ve test geçene kadar veri çıkışı engellenir. Bu, FIPS 140-3'ün bir kriptografik modüle yüklediği modül seviyesi yükümlülüktür; sertifikanın kendisi bir modülün tamamının bir laboratuvar tarafından akredite edilmesidir ve burada iddia edilmez.


Konfigürasyon

ParametreTürEtkisi
parametre setiçalışma zamanı (cfg)ML-KEM-512, 768 ya da 1024
KEM_512, KEM_768, KEM_1024elaborationgerekmeyen bir seti derlemeden çıkarır
top seçimielaborationeksiksiz AXI ürünü ya da yalın motor

Kaynaklar ve performans

Her hedef cihaz için kaynak kullanımı ve maksimum saat frekansı bağlam dışında (out of context) ölçülür ve bu sayfadaki ölçülmüş sonuçlarda hedef bazında yayımlanır. AMD ve Efinix satırları LUT, Altera satırları ALM raporlar; ikisi hiçbir zaman birleştirilmez. İşlem ve parametre seti başına çevrim sayıları da onlarla birlikte yayımlanır.


Teslimat içeriği

Öğeİçerik
RTLparametrik, üreticiden bağımsız SystemVerilog
Modelbit doğruluğunda C++ modeli
Register'larSystemRDL kaynağı ve üretilmiş altı dışa aktarım
DoğrulamaUVM RAL, formal property wrapper'ları, ACVP/KAT vektör sürücüleri
Yazılımüretilmiş başlık dosyası ve JSON ile ANSI C referans sürücüsü
PaketlemeIP-XACT, IEEE 1685-2022
Gerçeklemeher FPGA üreticisi için çalıştırılabilir akış script'i, dosya listesi, SDC
Dokümantasyonentegrasyon kılavuzu

Gizlilik ayarları

Bu sitenin neleri kullanabileceğini seçin. Kararınızı her sayfanın altındaki Gizlilik ayarları bağlantısından dilediğiniz zaman değiştirebilirsiniz.

Sitenin çalışması için gerekenler ve burada yaptığınız seçimin kaydı. Kayıt tarayıcınızda tutulur; çerez kullanılmaz.

Her zaman açık

Ziyaretleri saymamıza ve hangi sayfaların işe yaradığını görmemize olanak tanır; reklam ya da siteler arası takip içermez. Şu anda hiçbir analitik aracı kullanmıyoruz, yani seçiminiz ne olursa olsun hiçbir şey yüklenmez.

Çerez politikası · Gizlilik politikası