LM-PQC-D, FPGA ve SoC tasarımlarında dijital imza üretimini ve doğrulamasını donanıma aktarmak için bir post-kuantum kriptografi bloğudur.
Motor, FIPS 204 olarak standartlaştırılan modül kafes tabanlı dijital imza algoritması ML-DSA'yı üç parametre setinin tamamında, yani ML-DSA-44, ML-DSA-65 ve ML-DSA-87'de gerçekler. Anahtar üretimi, imzalama ve doğrulama; sayı teorik dönüşüm (NTT), reddetmeli örnekleyiciler, yuvarlama ve ipucu (hint) fonksiyonları, bit paketleme ve 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. Beş AXI4-Stream veri portu ve bir AXI4-Lite register haritası sunar; mesaj, açık materyal ve gizli materyal 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.
| Cihaz | Konfigürasyon | Mantık | FF | Bellek | DSP | Fmax |
|---|---|---|---|---|---|---|
| Altera Agilex 3A3CW135BM16AE6S · quartus-pro 26.1.1 | DSA_44=1, DSA_65=1, DSA_87=1 | 11.939 ALM | 29.641 | 995 Kb M20K | 6 | 195,7 MHzhedef 195 |
| AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1 | DSA_44=1, DSA_65=1, DSA_87=1 | 14.877 LUT | 7.925 | 32 BRAM | 12 | 250,1 MHzhedef 235 |
| Efinix Titanium Ti375Ti375N1156 · efinity 2026.1 | DSA_44=1, DSA_65=1, DSA_87=1 | 25.365 LUT | 9.005 | 126 RAM | 24 | 240,8 MHzhedef 230 |
Özellikler
Dijital imza
- Çalışma zamanında seçilebilen ML-DSA-44, ML-DSA-65, ML-DSA-87
- Anahtar üretimi, imzalama ve doğrulama
- İmza bazında seçilen hedged ya da deterministik imzalama
- Mesaj portundan büyük mesajlar için external-mu giriş noktaları
- HashML-DSA yapıları için M′'yi hazır alan iç giriş noktaları
Standartlar
- Yuvarlama, ipucu ve reddetme döngüleri dahil FIPS 204'ün tamamı
- Standardın kullandığı biçimiyle FIPS 202 Keccak süngeri, SHAKE128 ve SHAKE256
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
- Mesaj, açık ve gizli materyal 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
- Çalışma bellekleri ve iç tamponlar her işlemin sonunda sıfırlanır
Entegrasyon
- AMBA AXI4-Lite kontrol ve beş 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
- Kod imzalama, güvenli açılış ve firmware güncellemesi kimlik doğrulaması
- Post-kuantum güvenlikli sertifika üretimi ve doğrulaması
- Klasik ECDSA ya da RSA ile birlikte hibrit imzalar
- Cihaz kimliği ve attestation
- İmzalarının onlarca yıl geçerli kalması gereken uzun ömürlü sistemler
- Güven kökü (root of trust) ve HSM alt sistemleri
Blok diyagramı
Parametre setleri
| Set | Güvenlik kategorisi | Açık anahtar | Gizli anahtar | İmza | RBG gücü |
|---|---|---|---|---|---|
| ML-DSA-44 | 2 | 1.312 B | 2.560 B | 2.420 B | 128 bit |
| ML-DSA-65 | 3 | 1.952 B | 4.032 B | 3.309 B | 192 bit |
| ML-DSA-87 | 5 | 2.592 B | 4.896 B | 4.627 B | 256 bit |
Üçü de her derlemede bulunur ve çalışma zamanında seçilir; üçünün birlikte alanı, tek başına birininkinden çok az fazladır. Boyutları bir tablodan değil, donanımdan okuyarak sürücü raporlar; böylece host FIPS 204 için ikinci bir doğruluk kaynağı taşımak zorunda kalmaz.
Arayüzler
Veriyi beş AXI4-Stream portu, kontrolü bir AXI4-Lite arayüzü taşır. Port sayısı bir kolaylık değil, bir güvenlik özelliğidir: mesaj, açık materyal ve gizli materyal hiçbir zaman aynı teli paylaşmaz.
| Arayüz | Tür | Genişlik | Taşıdığı |
|---|---|---|---|
s_axil | AXI4-Lite slave | 32 bit veri, 6 bit adres | konfigürasyon, komut, durum, sayaçlar, uzunluklar |
s_axis_msg | AXI4-Stream sink | 32 bit, tkeep | imzalanacak ya da doğrulanacak mesaj |
s_axis_pub | AXI4-Stream sink | 32 bit | açık anahtar, imza, bağlam dizisi |
s_axis_sec | AXI4-Stream sink | 32 bit | tohum, gizli anahtar, hedging rastgeleliği |
m_axis_pub | AXI4-Stream source | 32 bit | açık anahtar, imza |
m_axis_sec | AXI4-Stream source | 32 bit | gizli anahtar |
irq | seviye | 1 bit | tamamlanma 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.
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.
Hedged ve deterministik imzalama, imza bazında birlikte sunulur. Hedged imzalama, entegratörün RBG'sinden 32 bayt alır; deterministik imzalama bunun yerine sıfır kullanır ve imzayı yalnızca anahtarın ve mesajın bir fonksiyonu yapar. Deterministik imzalama tekrarlanabilir ve test edilebilirdir; hedged imzalama hata enjeksiyonu saldırılarına karşı daha güçlü seçimdir. Seçim bir varsayılana bırakılmaz, açıkça yapılır.
Doğrulanmayan bir imza bir hata değil, bir sonuçtur. Doğrulama, geçerlilik bayrağı sıfır olarak başarıyla döner. Hiçbir istisnai yol sahte bir imzayı bir bus hatasından ayırmaz.
Rastgelelik entegratöre aittir. Blok bir rastgele bit üreteci içermez. FIPS 204 bölüm 3.6.3, parametre setinin güvenlik gücünde onaylı bir RBG ister; sürücü bunu çağıranın sağladığı bir callback'ten alır. LM-DRBG böyle bir kaynaktır.
Konfigürasyon
| Parametre | Tür | Etkisi |
|---|---|---|
| parametre seti | çalışma zamanı (cfg) | ML-DSA-44, 65 ya da 87 |
DSA_44, DSA_65, DSA_87 | elaboration | gerekmeyen bir seti derlemeden çıkarır |
| top seçimi | elaboration | eksiksiz 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; imzalama bir reddetme döngüsü olduğundan maliyeti tek bir sayı olarak değil, bir dağılım olarak raporlanır.
Teslimat içeriği
| Öğe | İçerik |
|---|---|
| RTL | parametrik, üreticiden bağımsız SystemVerilog |
| Model | bit doğruluğunda C++ modeli |
| Register'lar | SystemRDL kaynağı ve üretilmiş altı dışa aktarım |
| Doğrulama | UVM 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ü |
| Paketleme | IP-XACT, IEEE 1685-2022 |
| Gerçekleme | her FPGA üreticisi için çalıştırılabilir akış script'i, dosya listesi, SDC |
| Dokümantasyon | entegrasyon kılavuzu |