Lumina Blocks
Güvenlik ve kriptografi
Önizleme · v1.0.0

LM-SHA3

SHA-3 hash kripto motoru

  • Yüksek bant genişliği
  • Sabit gecikmeli permütasyon
  • Register tabanlı konfigürasyon
  • Her FPGA'ya taşınabilir

LM-SHA3, FPGA ve SoC tasarımlarında hash algoritmalarını donanıma aktarmak için bir kriptografi bloğudur.

Motor, FIPS 202'ye göre Secure Hash Algorithm 3 ailesini gerçekler: sabit uzunluklu SHA3-224, SHA3-256, SHA3-384 ve SHA3-512 fonksiyonları ile genişletilebilir çıkışlı SHAKE128 ve SHAKE256 fonksiyonları. NIST SP 800-185'teki cSHAKE ve KMAC işlemlerini de destekler.

LM-SHA3, Keccak sünger yapısını eksiksiz gerçekler: alan ayırma soneki, mesaj dolgusu ve permütasyonun hepsi donanımda yapılır; host yalnızca mesaj baytlarını gönderir. Bağlam değiştirme fonksiyonuyla Keccak motorunun iç durumu kaydedilip geri yüklenebilir; böylece kısmen işlenmiş bir mesaj askıya alınıp araya başka veriler alınabilir.

Blok, üreticiden bağımsız SystemVerilog olarak teslim edilir ve AMD, Altera ve Efinix cihazlarında aynı kaynaktan derlenir. AMBA AXI arayüzleri ile hash fonksiyonunu, XOF'ların özet uzunluğunu ve cSHAKE/KMAC konfigürasyonunu seçen, kullanıcı tarafından programlanabilir parametrelere sahip 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.1varsayılan6.005 ALM5.9610 Kb M20K0215,0 MHzhedef 215
AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1varsayılan7.972 LUT4.3600 BRAM0307,3 MHzhedef 300
Efinix Titanium Ti375Ti375N1156 · efinity 2026.1varsayılan13.833 LUT4.3430 RAM0276,7 MHzhedef 255

Özellikler

Kriptografik hash

  • SHA3-224, SHA3-256, SHA3-384, SHA3-512

Genişletilebilir çıkışlı fonksiyonlar (XOF)

  • SHAKE128, cSHAKE128
  • SHAKE256, cSHAKE256

Mesaj kimlik doğrulama

  • KMAC128, KMAC256

Motor

  • Sabit olarak her 24 saat çevriminde bir Keccak-f[1600] permütasyonu
  • Mesaj saat başına tam bir 64 bit lane hızında alınır; motor veri beklemek için durmaz
  • Alan soneki ve pad10*1 dolgusu donanımda uygulanır
  • Bağlam değiştirme: 1600 bitlik durumun tamamı register haritası üzerinden kaydedilir ve geri yüklenir
  • Yetenek register'ı: sürücü konfigürasyonu kendisine söylenmeden keşfeder

Entegrasyon

  • AMBA AXI4-Lite kontrol ve üç AXI4-Stream veri arayüzü
  • İki teslim top'ı: eksiksiz AXI ürünü ya da kendi yapınız için yalın sünger
  • Tek saat alanı, tek reset: false path yok, multicycle yol yok
  • ANSI C sürücüsü, UVM RAL, IP-XACT, SystemRDL register tanımı
  • Tek kaynaktan her AMD, Altera ya da Efinix cihazına taşınabilir

Uygulamalar

  • Dijital imza ve sertifika işleme
  • Post-kuantum kriptografi: ML-KEM ve ML-DSA baştan sona SHAKE ve cSHAKE kullanır
  • Anahtar türetme ve mesaj kimlik doğrulama
  • Güvenli açılış (secure boot) ve firmware doğrulama
  • Şifreli veri depolama
  • Güvenli haberleşme

Blok diyagramı


SHA-3 fonksiyonları

On fonksiyon yalnızca rate, alan soneki ve çıkış uzunluğu açısından farklıdır; hepsine tek bir motor hizmet eder.

FonksiyonRate (bayt)Rate (lane)SonekÖzet
SHA3-224144180x0628 bayt
SHA3-256136170x0632 bayt
SHA3-384104130x0648 bayt
SHA3-5127290x0664 bayt
SHAKE128168210x1Fprogramlanabilir
SHAKE256136170x1Fprogramlanabilir
cSHAKE128168210x04programlanabilir
cSHAKE256136170x04programlanabilir
KMAC128168210x04programlanabilir
KMAC256136170x04programlanabilir

Rate değerleri FIPS 202 bölüm 6'yı izler: r = 1600 − 2s. Sonekler SHA-3 ve SHAKE için ek B.2'yi izler; türetilmiş fonksiyonlar 00 alır, çünkü onların alanını cSHAKE öneki ayırır.


Arayüzler

Blok, giriş mesajının ve çıkış hash değerinin yüksek hızda aktarımı için iki 64 bit AXI4-Stream arayüzü ile cSHAKE ve KMAC parametre dizilerini taşıyan 8 bit bir AXI4-Stream arayüzü içerir. AXI4-Lite arayüzü; SHA-3 fonksiyonunu, XOF'ların özet uzunluğunu ve cSHAKE/KMAC parametrelerini seçmek için register haritasına erişim sağlar.

ArayüzTürGenişlikİşlevi
s_axilAXI4-Lite slave32 bit veri, 8 bit adreskonfigürasyon, komut, durum, özet ve bağlam pencereleri
s_axis_msgAXI4-Stream sink64 bit, tkeep, tlastgiriş mesajı
s_axis_parAXI4-Stream sink8 bitcSHAKE ve KMAC parametre dizileri
m_axis_hashAXI4-Stream source64 bit, tkeep, tlastçıkış hash değeri
irqseviye1 bittamamlanma ve hata olayları

tkeep son mesaj vuruşundaki baytları belirtir; böylece bir mesaj herhangi bir bayt sayısında olabilir. Parametre dizileri cSHAKE için önce N sonra S, KMAC için önce S sonra K olarak gelir.


Bant genişliği

Bant genişliği doğrudan mimariden gelir ve tabloya bakmadan her saat frekansı için hesaplanabilir:

one permutation              24 clock cycles
one rate-block per permutation
throughput  =  rate_bytes  x  f_clk  /  24

300 MHz'te SHA3-256 için bu, 136 × 300 × 10⁶ / 24 ≈ 1,7 GB/s eder.

Permütasyon sabit gecikmelidir. Mesaj içeriğinden bağımsız olarak her permütasyon 24 çevrimdir ve bu ölçülerek değil, formal olarak kanıtlanmıştır: tur sayısı özelliğini ayrı bir kanıt taşır. Dolayısıyla çalışma süresi yalnızca mesaj uzunluğunun bir fonksiyonudur. Maskeleme, rastgeleleştirme ya da hata tespiti önlemleri uygulanmamıştır; bir uygulama güç analizine ya da hata enjeksiyonuna karşı direnç gerektiriyorsa bu, çevreleyen sistemin işidir.


Konfigürasyon

ParametreEtkisi
fonksiyon seçimi (cfg.fn)çalışma zamanında, on fonksiyondan biri
XOF özet uzunluğu (xoflen)çalışma zamanında, herhangi bir bayt sayısı
cSHAKE / KMAC dizi uzunluklarıçalışma zamanında (nlen, slen, keylen)
top seçimielaboration: eksiksiz AXI ürünü ya da yalın sünger

Bu blokta bir hash'i bir MAC'ten ayıran her şey bir register yazmasıdır. Yanlış ayarlanabilecek, elaboration zamanında fonksiyon alt kümesi seçimi yoktur.


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.


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ı, 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ü
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ı