Lumina Blocks
Güvenlik ve kriptografi
Önizleme · v0.1.0

LM-TRNG

Gerçek rastgele sayı üreteci

  • Ring osilatör entropi kaynağı
  • SP 800-90B sağlık testleri
  • AIS-31 toplam arıza tespiti
  • Her FPGA'ya taşınabilir

LM-TRNG, FPGA ve SoC tasarımları için fiziksel bir rastgele sayı üreteci bloğudur.

Entropi kaynağı, periyotlarındaki ısıl jitter'ı toplamak için sistem saatiyle örneklenen, serbest çalışan bir ring osilatör dizisidir. Sayısallaştırılmış gürültü, çıkışa ulaşmadan önce yapılandırılabilir bir parite filtresinden ve sürekli çalışan bir sağlık testi zincirinden geçer; testlerden herhangi biri alarmdayken blok çıkışı engeller.

Blok, üreticiden bağımsız SystemVerilog olarak teslim edilir ve AMD, Altera ve Efinix cihazlarında aynı kaynaktan derlenir. AMBA AXI arayüzleri ve bir register haritası içerir; hedef platforma 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.

CihazKonfigürasyonMantıkFFBellekDSPFmax
Altera Agilex 3A3CW135BM16AE6S · quartus-pro 26.1.1APT_W_LOG2=10, AXIS_W=32, PFILT_MAX=128, ROSC_N=8, ROSC_STAGES=13, ROSC_TAPS=3, S22_W_LOG2=12, SRC_EXT=0852 ALM1.4690 Kb M20K3295,2 MHzhedef 295
AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1APT_W_LOG2=10, AXIS_W=32, PFILT_MAX=128, ROSC_N=8, ROSC_STAGES=13, ROSC_TAPS=3, S22_W_LOG2=12, SRC_EXT=0968 LUT1.1410 BRAM4481,9 MHzhedef 475
Efinix Titanium Ti375Ti375N1156 · efinity 2026.1APT_W_LOG2=10, AXIS_W=32, PFILT_MAX=128, ROSC_N=8, ROSC_STAGES=13, ROSC_TAPS=3, S22_W_LOG2=12, SRC_EXT=01.107 LUT1.0270 RAM6457,5 MHzhedef 400

Özellikler

Entropi kaynağı

  • Sayısı ve uzunluğu yapılandırılabilen, serbest çalışan evirici halkalar dizisi
  • Her halkanın her fazı örneklenir ve birleştirilir
  • Kendi gürültü kaynağını sağlayan sistemler için harici gürültü kaynağı desteği

Koşullandırma

  • Uzunluk sınırlamalı, yapılandırılabilir XOR parite filtresi
  • Yapılandırılan her ham bit grubu için bir çıkış biti: hiçbir bit tekrar kullanılmaz, hiçbiri atılmaz

Sürekli sağlık testleri

  • Repetition Count Test: NIST SP 800-90B bölüm 4.4.1
  • Adaptive Proportion Test: NIST SP 800-90B bölüm 4.4.2
  • Toplam arıza testi: AIS-31 gereksinimi PTG.2.5, duran bir halkayı izler
  • Frekans (monobit) ve Runs testleri: NIST SP 800-22 bölüm 2.1 ve 2.3, yapılandırılabilir pencereler üzerinde sürekli uygulanır
  • Deterministik yolun açılışta bilinen cevap testi
  • Herhangi bir test alarmdayken çıkış engellenir; her alarm mandallanır ve okunabilir

Entegrasyon

  • AMBA AXI4-Lite kontrol ve bir AXI4-Stream rastgele çıkış
  • Tüm test eşikleri register'dır; entegratör onları kendi değerlendirmesine göre ayarlar
  • İki teslim top'ı: eksiksiz AXI ürünü ya da kendi yapınız için yalın çekirdek
  • ANSI C sürücüsü, UVM RAL, IP-XACT, SystemRDL register tanımı

Uygulamalar

  • Deterministik bir rastgele bit üretecini tohumlamak: eşleşen blok LM-DRBG'dir
  • Henüz hiçbir tohum yokken, açılışta anahtar üretimi
  • Nonce ve challenge üretimi
  • Fiziksel klonlanamaz fonksiyonlar ve cihaz kimliği şemaları
  • Tohumlanmış değil, deterministik olmayan bir kaynak gerektiren her sistem

Blok diyagramı


Arayüzler

ArayüzTürGenişlikTaşıdığı
s_axilAXI4-Lite slave32 bityetenekler, konfigürasyon, eşikler, durum, alarmlar, sayaçlar
m_axisAXI4-Stream sourceAXIS_Wrastgele çıkış
irqseviye1 bitalarm ve durum olayları

Çıkış stream'inin bir sonu yoktur. Fiziksel bir kaynak etkin olduğu sürece bit üretir; istek uzunluğu ve tlast yoktur. Deterministik bir üreteçten yapısal farkı budur ve arayüzde görülür.


Sağlık ve güvence

Dört sürekli test ve bir açılış öz testi. İki SP 800-90B testi, her birinde yanlış yapılması kolay sınır koşulları dahil, dokümanda yazıldığı gibi gerçeklenmiştir. AIS-31 toplam arıza testi birleştirilmiş gürültü bitini değil, örneklenen halka fazlarını doğrudan izler; böylece duran bir halka, istatistiksel bir testin yakalayacağından daha erken ve daha net yakalanır.

Her eşik bir register'dır. Eşik değerleri, pencere boyutları ve parite filtresi uzunluğu sabit değil, konfigürasyondur; çünkü bu kaynağı kendi cihazında ve çalışma köşesinde doğrulayan bir entegratörün onları kendi değerlendirmesine göre ayarlayabilmesi gerekir.

Herhangi bir test alarmdayken çıkış engellenir ve her alarm mandallanır.

Entropi iddiası, açıkça

Örnek başına min-entropi bu teslimatla belirlenmez ve hiçbir değer iddia edilmez. Bir min-entropi tahmini, fiziksel kaynaktan hedef cihazda ve çalışma köşesinde toplanmış en az bir milyon ardışık ham örneğin SP 800-90B tahmincilerinden geçirilmesini gerektirir. Bu donanım üzerinde yapılan bir ölçümdür; simülasyonla, sentezle ya da bu paketteki herhangi bir çıktıyla üretilemez.

Register haritasında gelen varsayılan eşik değerleri varsayılan bir min-entropiden hesaplanmıştır ve bu varsayım, geçtiği her yerde varsayım olarak etiketlenmiştir. Herhangi bir doğrulama arayan entegratör, her eşiği kendi değerlendirmesine göre değiştirir; eşiklerin register olmasının nedeni de tam olarak budur.

Ring osilatör dizisinin modeli yoktur ve simüle edilmez. Sayısallaştırılmış gürültü bitinden sonraki her şey deterministik bir durum makinesidir ve bir referans modele karşı saat saat doğrulanır; halkaların kendisi fiziksel olduğundan silikon üzerinde ölçümle doğrulanır ve bu ölçüm entegratörün işidir.


Konfigürasyon

ParametreTürEtkisi
ROSC_N, ROSC_STAGES, ROSC_TAPSelaborationhalka sayısı, uzunluğu, örneklenen fazlar
SRC_EXTelaborationhalkalar yerine harici bir gürültü kaynağı kullanır
PFILT_MAXelaborationmaksimum parite filtresi grup uzunluğu
APT_W_LOG2, S22_W_LOG2elaborationsağlık testi pencere boyutları
AXIS_Welaborationçıkış stream genişliği
eşikler, sınır değerleri, filtre uzunluğuçalışma zamanıentegratörün kendi değerlendirmesine göre ayarlanır

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.

Çıkış hızı, örnekleme hızının parite filtresi uzunluğuna bölümüdür ve ikisi de konfigürasyondur.


Teslimat içeriği

Öğeİçerik
RTLparametrik, üreticiden bağımsız SystemVerilog
Modeldeterministik yolun çevrim doğruluğunda C++ modeli
Register'larSystemRDL kaynağı ve üretilmiş altı dışa aktarım
DoğrulamaUVM RAL, formal property wrapper'ları, sağlık testi 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ı