LM-DRBG, FPGA ve SoC tasarımlarına deterministik rastgele bit üretimi sağlayan bir kriptografi bloğudur.
Motor, NIST SP 800-90A bölüm 10.2.1'e göre CTR_DRBG'yi gerçekler; blok şifreleyici olarak AES-256 kullanır ve bölüm 10.3.2'deki blok şifreleyici türetme fonksiyonunu içerir. Kişiselleştirme dizisiyle başlatmayı, ek girdiyle yeniden tohumlamayı, tahmin direncini ve her uzunlukta üretim isteğini destekler.
Blok, üreticiden bağımsız SystemVerilog olarak teslim edilir ve AMD, Altera ve Efinix cihazlarında aynı kaynaktan derlenir. Bilinen cevap (known-answer) sağlık testleri her reset'ten sonra ve talep üzerine çalışır; testler geçene kadar çıkış engellenir. Hızlı entegrasyon için ANSI C sürücüleri 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 | AXIS_W=32, SBOX_STYLE=0, SEED_BLK=8 | 3.564 ALM | 6.304 | 1 Kb M20K | 0 | 271,3 MHzhedef 265 |
| AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1 | AXIS_W=32, SBOX_STYLE=0, SEED_BLK=8 | 4.848 LUT | 3.231 | 0 BRAM | 0 | 341,8 MHzhedef 300 |
| AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1 | AXIS_W=32, SBOX_STYLE=1, SEED_BLK=8 | 3.971 LUT | 3.077 | 8 BRAM | 0 | 326,8 MHzhedef 300 |
| Efinix Titanium Ti375Ti375N1156 · efinity 2026.1 | AXIS_W=32, SBOX_STYLE=0, SEED_BLK=8 | 8.605 LUT | 3.029 | 22 RAM | 0 | 338,4 MHzhedef 300 |
Özellikler
Mekanizma
- NIST SP 800-90A bölüm 10.2.1, AES-256 ile CTR_DRBG
- Bölüm 10.3.2 blok şifreleyici türetme fonksiyonu
- Başlatmada kişiselleştirme dizisi
- Yeniden tohumlamada ve üretimde ek girdi
- Tahmin direnci: üretimden önce zorunlu yeniden tohumlama
- Her bayt uzunluğunda üretim isteği
Sağlık ve güvence
- Bölüm 11.3'e göre instantiate, generate ve reseed için bilinen cevap testleri
- Testler her reset bırakılışından sonra ve talep üzerine çalışır
- Testler geçene kadar çıkış engellenir
- Sağlık testi hatasında alarm mandalı ve kesme
- Reseed sayacı zorunlu tutulur: tohum ömrünü aşan bir üretim isteği karşılanmaz, reddedilir
Entegrasyon
- AMBA AXI4-Lite kontrol ve iki AXI4-Stream veri arayüzü
- Entropi kendi stream'inden girer, rastgele veri kendi stream'inden çıkar
- Yanıtların bir sonu vardır: N baytlık bir istek,
tlastile tam olarak N bayt üretir - İki teslim top'ı: eksiksiz AXI ürünü ya da kendi yapınız için yalın mekanizma
- ANSI C sürücüsü, UVM RAL, IP-XACT, SystemRDL register tanımı
Uygulamalar
- Simetrik ve post-kuantum kriptografi için anahtar üretimi
- Nonce, IV ve salt üretimi
- Kimlik doğrulama protokollerinde challenge üretimi
- Dolgu ve körleme (blinding) değerleri
- Tohumlanmış bir kaynaktan tekrarlanabilir, standartlara izlenebilir rastgele bitlere ihtiyaç duyan her sistem
Blok diyagramı
Arayüzler
| Arayüz | Tür | Genişlik | Taşıdığı |
|---|---|---|---|
s_axil | AXI4-Lite slave | 32 bit | yetenekler, kontrol, komut, durum, alarmlar, sayaçlar |
s_axis (tohum) | AXI4-Stream sink | AXIS_W | entropi girdisi, kişiselleştirme dizisi, ek girdi |
m_axis (rastgele) | AXI4-Stream source | AXIS_W, tkeep, tlast | üretilen bitler |
irq | seviye | 1 bit | tamamlanma, alarm |
Yanıt stream'inin bir sonu vardır. Çağıran belirli sayıda bayt ister ve tam olarak
onu alır; son aktarımda tlast bulunur, uzunluk tam aktarım sayısına denk gelmiyorsa
tkeep son aktarımı belirtir. Deterministik bir üreteci fiziksel bir gürültü
kaynağından ayıran fark budur ve arayüzde görülür.
Güvenlik ve güvence
Sağlık testleri isteğe bağlı değildir ve ertelenmez. Bilinen cevap testleri her reset bırakılışından sonra ve talep üzerine instantiate, generate ve reseed fonksiyonlarında çalışır. SP 800-90A bölüm 11.3.1'in istediği gibi testler geçene kadar veri çıkışı engellenir: testler her DRBG fonksiyonunda ilk kullanımdan önce yapılır.
Bir hata alarmı mandallar. Durum bir register'da görünür, kesmeyle bildirilir ve mekanizma çıkış üretmeyi reddeder.
Reseed sayacı zorunlu tutulur. Tohum ömrünü aşan bir üretim isteği karşılanmaz, reddedilir; standardın sınırı bir yazılım geleneği değil, donanımın davranışıdır.
Tahmin direnci istek bazında kullanılabilir ve üretimden önce yeniden tohumlamayı zorunlu kılar.
Entropi kaynağı entegratöre aittir. Bu blok deterministik bir üreteçtir: başlatmasında iddia ettiği güvenlik gücünde entropi girdisi gerektirir. LM-TRNG böyle bir kaynaktır. Yetersiz bir kaynakla tohumlanan bir DRBG'nin çıkışı, incelenerek iyi bir çıkıştan ayırt edilemez; bu yükümlülüğün varsayılmak yerine burada açıkça yazılmasının nedeni budur.
Güç analizi saldırılarına karşı önlem yoktur. Maskeleme ya da rastgeleleştirilmiş çizelge uygulanmamıştır.
Konfigürasyon
| Parametre | Tür | Etkisi |
|---|---|---|
SEED_BLK | elaboration | tohum materyali tamponlama |
AXIS_W | elaboration | stream genişliği |
SBOX_STYLE | elaboration | yerine koyma gerçeklemesi: bellek ya da mantık |
| tahmin direnci | çalışma zamanı | istek bazında |
| kişiselleştirme / ek girdi | çalışma zamanı | tohum stream'i üzerinden |
| top seçimi | elaboration | eksiksiz AXI ürünü ya da yalın mekanizma |
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.
Üretim hızı AES motorunun temposunu izler: arka arkaya sürekli olarak her on dört saatte bir 128 bit blok.
Teslimat içeriği
| Öğe | İçerik |
|---|---|
| RTL | parametrik, üreticiden bağımsız SystemVerilog |
| Model | çevrim doğruluğunda C++ modeli |
| Register'lar | SystemRDL kaynağı ve üretilmiş altı dışa aktarım |
| Doğrulama | UVM RAL, formal property wrapper'ları, CAVP 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 ve LM-TRNG ile birlikte kullanım notu |