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

LM-AES-XTS

AES-XTS depolama şifreleme/şifre çözme motoru

  • Saat başına bir blok
  • Register gerektirmeyen sektör pipeline'ı
  • Entegre anahtar genişletme
  • Her FPGA'ya taşınabilir

LM-AES-XTS, FPGA ve SoC tasarımlarında depolama şifrelemesini donanıma aktarmak için bir kriptografi bloğudur.

Motor, AES'i IEEE Std 1619-2007'ye göre XTS modunda, FIPS 197 AES blok şifreleyicisiyle 128 ve 256 bit anahtar boyutlarında gerçekler. Her uzunluktaki veri birimini şifreler ve şifresini çözer; tam blok sayısına denk gelmeyen birimler için ciphertext stealing uygular ve electronic codebook modunu da sunar.

Şifreleyici tamamen unrolled yapıdadır: her saat çevriminde bir 128 bit blok girer, bir blok çıkar. Tweak şifreleyicisi kendi motorunda çalışır; ardışık sektörler arada boşluk olmadan pipeline'a girer. Blok, üreticiden bağımsız SystemVerilog olarak teslim edilir, AMD, Altera ve Efinix cihazlarında aynı kaynaktan derlenir ve 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.1DU_BLOCKS_W=32, PIPES=212.665 ALM18.6951.838 Kb M20K0250,8 MHzhedef 250
AMD Kintex UltraScale+xcku3p-ffva676-1-e · vivado 2026.1DU_BLOCKS_W=32, PIPES=217.604 LUT13.655234 BRAM0261,6 MHzhedef 250
Efinix Titanium Ti375Ti375N1156 · efinity 2026.1DU_BLOCKS_W=32, PIPES=228.804 LUT21.260468 RAM0300,3 MHzhedef 250

Özellikler

Depolama şifrelemesi

  • IEEE Std 1619-2007 AES-XTS şifreleme ve şifre çözme
  • 16 baytın katı olmayan veri birimleri için ciphertext stealing
  • Her uzunlukta veri birimi
  • Anahtar sarmalama ve test için ECB modu

Anahtar boyutları

  • XTS-AES-128 ve XTS-AES-256; yani iki adet 128 bit ya da iki adet 256 bit şifreleme anahtarı
  • İki anahtar genişletmesi de donanımda, her anahtar değişiminde bir kez yapılır

Motor

  • Tamamen unrolled şifreleyici: sürekli olarak saat başına bir 128 bit blok
  • PIPES = 2 konfigürasyonu saat başına iki blok işler
  • Ayrı tweak motoru: sektör hazırlığı pipeline'dan yuva çalmaz
  • İki yön için ortak MixColumns ağı

Entegrasyon

  • AMBA AXI4-Lite kontrol ve dört AXI4-Stream veri arayüzü
  • Anahtarlar kendi stream'lerinden gelir; hiçbir register anahtar materyali tutmaz
  • Register haritasında başlatma strobe'u yoktur: tamamlanan bir tweak veri birimini başlatır
  • Yön bir register'da değil, bir portta
  • İki teslim top'ı: eksiksiz AXI ürünü ya da kendi yapınız için yalın şifreleyici
  • ANSI C sürücüsü, UVM RAL, IP-XACT, SystemRDL register tanımı

Uygulamalar

  • Kendi kendini şifreleyen sürücüler ve depolama denetleyicileri
  • NVMe, SATA ve SAS üzerinde satır içi (inline) şifreleme
  • Gömülü ve endüstriyel sistemlerde durağan veri koruması
  • Şifreli dosya sistemleri ve birim yöneticileri
  • Güvenli kayıt tutma ve arşivleme

Blok diyagramı


Arayüzler

ArayüzTürGenişlikTaşıdığı
s_axilAXI4-Lite slave32 bit veri, 6 bit adresyetenekler, kontrol, uzunluk, durum, sayaç, kesmeler
s_axis_keyAXI4-Stream sink32 bitönce Key1 sonra Key2, en anlamlı kelime önce
s_axis_tweakAXI4-Stream sink32 bittweak, en az anlamlı kelime önce; tlast veri birimini başlatır
s_axisAXI4-Stream sink128 × PIPES bitgiriş payload'u
m_axisAXI4-Stream source128 × PIPES bitçıkış payload'u
enc_decgiriş1 bityön; veri birimi başında örneklenir
enablegiriş1 bitpayload kapısı
statusçıkış7 bitdurum register'ının bitleri; polling yapmak istemeyen bir denetleyici için
irqseviye1 bittamamlanma ve hata olayları

Sektör üstüne sektör gönderen bir depolama denetleyicisi, aralarda hiçbir register'a yazmaz. Birimi tweak stream'inin tamamlanması başlatır, yön de bir porttan gelir; böylece AXI4-Lite arayüzü konfigürasyon sırasında kullanılır, sonra kenara bırakılır.


Bant genişliği

throughput  =  128 x PIPES x f_clk    bits per second

250 MHz'te PIPES = 1 32 Gbit/s, PIPES = 2 64 Gbit/s verir.

Sektör hazırlığı gizlenir. Tweak şifreleyicisi unrolled pipeline'dan yuva ödünç almak yerine kendi motorunda çalışır; bu yüzden mevcut sektör stream edilirken bir sonraki sektörün tweak'ini vermek hiçbir payload çevrimine mal olmaz.


Güvenlik özellikleri

Anahtar materyali okunamaz. Anahtarlar kendi AXI4-Stream'lerinden gelir ve hiçbir register anahtar tutmaz; anahtarı tutacak bir register olmadığı için, onun geri okunabileceği bir adres de yoktur. Bir işlemcinin bus üzerinden on altı kelime yazması yerine bir DMA motoru anahtarı veri yolu üzerinden teslim edebilir.

Bir anahtar yalnızca tamamı geldiyse devreye girer. Beklenen kelime sayısı, yapılandırılan anahtar boyutundan ve moddan çıkar; tlast'ı başka bir yere denk gelen bir anahtar kullanılmaz, atılır. Böylece anahtar stream'ini erken bitiren bir üretici, yarısı yeni yarısı eski bir anahtarı sessizce yükleyemez.

Güç analizi saldırılarına karşı önlem yoktur. Maskeleme, rastgeleleştirilmiş çizelge ya da sabit güçlü yerine koyma uygulanmamıştır. Fiziksel erişimi ve iz toplama imkânı olan bir saldırgana karşı korunması gereken bir uygulama, bu bloğun üzerinde ek önlemler gerektirir.


Konfigürasyon

ParametreTürEtkisi
PIPESelaboration1 = saat başına bir blok; 2 = saat başına iki blok
anahtar boyutuçalışma zamanışifreleme anahtarı başına 128 ya da 256 bit
modçalışma zamanıXTS ya da ECB
veri birimi uzunluğuçalışma zamanıherhangi bir uzunluk, ciphertext stealing ile
top seçimielaborationeksiksiz AXI ürünü ya da yalın şifreleyici

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. Gecikme üç uç noktası da belirtilerek yayımlanır: başlangıçtan ilk girişin kabulüne, ilk girişten ilk çıkışa ve başlangıçtan ilk çıkışa; çünkü anahtar genişletici ilk iki nokta arasında çalışı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ı, IEEE 1619 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ı