LUT'a Dayalı Yüksek Hız ve Düşük Donanım Ek Yükü için SHA-3 Algoritmasının Tasarımı

Zhang Yuejun, Liao Chenhuan, Ding Dailu

(Devreler ve Sistemler Enstitüsü, Ningbo Üniversitesi, Ningbo 315211, Zhejiang)

SHA-3 algoritması ve arama tablosu (Look-Up-Table, LUT) yönteminin incelenmesi yoluyla, yüksek hızlı ve düşük donanım yükü SHA-3 algoritma tasarım şeması önerilmiştir. İlk olarak program, SHA-3 algoritmasının çekirdek değiştirme işlevinin yuvarlak çalışmasını uygulamak için bir durum makinesi kullanır ve her işlem turunun veri alışverişini ve veri depolamasını işlemek için LUT yöntemini birleştirir; daha sonra, SHA'yı iyileştirmek için donanım modüllerinin paralel işlenmesi ve depolama birimlerinin paylaşımı kullanılır. -3 Algoritma hızı, donanım yükünü azaltın. Son olarak, SHA-3 algoritması SMIC 65 nm CMOS işlemi altında tasarlanmıştır, DC sentezinden sonraki devre alanı 65833 m2, maksimum çalışma frekansı 1,2 V gerilim altında 150 MHz'e ulaşabilir ve güç tüketimi 2,5 mW'dir.

SHA-3 algoritması; LUT arama tablosu; yüksek hız; düşük donanım yükü; CMOS devresi

Çin Kütüphanesi Sınıflandırma Numarası: TP331

Belge tanımlama kodu: Bir

DOI: 10.16157 / j.issn.0258-7998.2017.04.011

Çince alıntı biçimi: Zhang Yuejun, Liao Chenhuan, Ding Dailu.LUT'a dayalı yüksek hız ve düşük donanım ek yükü ile SHA-3 algoritmasının tasarımı.Elektronik Teknoloji Uygulaması, 2017, 43 (4): 43-46.

İngilizce alıntı biçimi: Zhang Yuejun, Liao Huanhuan, Ding Dailu. LUT yöntemine dayalı yüksek hızlı ve düşük donanım maliyetli bir SHA-3 algoritması.Elektronik Tekniğin Uygulanması, 2017, 43 (4): 43-46.

0 Önsöz

Entegre devrelerin ve bilgi teknolojisinin artan gelişimi ve Alipay, Taobao, çevrimiçi bankacılık ve WeChat gibi İnternet uygulamalarının hızla yayılması, insanların günlük yaşamlarına, çalışmalarına ve işlerine büyük kolaylık getirdi. Büyük miktarda bilgi paylaşımı kolaylık sağlarken, çevrimiçi banka hesaplarının çalınması, kişisel gizlilik sızıntısı ve Prismgate olayı gibi bilgi sızıntısı ve tahrifat tehditleri de vardır. Bu nedenle, veri bilgilerinin güvenliğinin nasıl sağlanacağı özellikle kriptografide öne çıkmaktadır. Hash fonksiyonu veya hash fonksiyonu olarak da bilinen Hash fonksiyonu, modern şifrelemedeki en temel modüllerden biridir.Herhangi bir uzunluktaki mesaj değerlerini girdi olarak alır ve sabit uzunlukta çıktı verisi üretir. Karma işlevler dijital imzalarda, dosya doğrulamada, kimlik doğrulama protokollerinde, akış anahtarı oluşturmada, sözde rasgele sıra oluşturma ve akış şifrelerinde yaygın olarak kullanılmaktadır. Kriptograf Profesör Wang Xiaoyun'un yaygın olarak kullanılan MD5 hash algoritmasını kırdığını duyurduğu 2004 yılından bu yana, ağ bilgi güvenliği sorunları daha da öne çıkmaya başladı. Ulusal Standartlar ve Teknoloji Enstitüsü (NIST), 2007'de yeni bir karma işlevi standardı (SHA-3 algoritması) için halka açık bir çağrı duyurdu. 2 Ekim 2012'de, Keccak karma algoritması yeni Sünger yapısı yinelemeli tasarımına dayanıyordu. Yöntemler, güçlü güvenlik performansı ve iyi uygulama yöntemleri, yeni nesil karma işlev standartları haline geldi.

Mevcut karma algoritma standardı olarak SHA-3 algoritması, önceki karma algoritmalara kıyasla iyi güvenlik ve iş verimliliği gösterir, ancak fiziksel uygulaması henüz olgunlaşmamıştır. Birincisi, algoritmanın devre uygulaması tarafından kullanılan donanım kaynakları hala nispeten büyüktür; ikincisi, algoritmanın elde edebileceği işlem hızı daha hızlı olmasına rağmen, gerçek uygulama alanı hala sınırlıdır; son olarak, saldırı yöntemlerinin gelişmesiyle, SHA-3 Algoritmaya yapılan saldırıların sayısı artacak ve güvenliği de azalabilecektir. Bu nedenle, SHA-3 algoritmasının kendisi belirli bir optimizasyon alanına sahiptir. Look-Up-Table (LUT) yönteminin çalışmasına dayanan bu makale, algoritmanın pratik uygulamalarda yavaş hızını ve büyük kaynak tüketimini iyileştirir ve LUT tabanlı bir yüksek hızlı ve düşük donanım ek yük SHA-3 algoritması önerir. . İşleminin ara sonuçları önce RAM'e yazılır ve belirli mantıksal işlemler yalnızca her işlem turu için adres bilgisi girilerek gerçekleştirilebilir ve aynı zamanda donanım kullanım oranı donanım paylaşımı yoluyla iyileştirilebilir. Geliştirilmiş algoritma, SHA-3 algoritmasının uygulanabilirliğini daha da geliştirir ve geniş uygulama olanaklarına sahiptir.

1 SHA-3 algoritması

Ekim 2012'de NIST, Keccak algoritmasının SHA-3 kampanyasının son galibi olduğunu duyurdu.Algoritma şemasının sağlayıcıları arasında esas olarak Guido Bertoni, Joan Daemen (AES şifreleme algoritmasının mucitlerinden biri), Michael Peeters ve Gilles Van Assche yer alıyor. Sağlanan standart Keccak çözümünün genel yapısı sünger yapısını benimser. Sünger yapının çalışma süreci esas olarak iki aşamaya ayrılır: absorpsiyon aşaması ve ekstrüzyon aşaması. Absorpsiyon aşamasında, giriş bilgisi, dahili durumu değiştirmeden tutma öncülü altında giriş durumu ile XORlanır ve XOR'un sonucu, absorpsiyon aşamasının giriş verileri olarak kullanılır; ekstrüzyon aşamasında, çıkış verisi bit genişliği ihtiyacına göre, N turdan Değiştirme işleminin sonucundan gerekli veriler dönüşümlü olarak çıkarılır ve son olarak çıktı verileri eklenir. Keccak algoritmasında kullanılan sünger yapı modeli. Bunlar arasında, sıkıştırma işlevi Keccak-f'dir, x, yuvarlak işlevin değiştirme genişliğidir ve uzunluk, x = 25 × 2l formülüne göre özel olarak hesaplanan yinelemeli işlevin tur sayısını belirler. Yani, nr = 12 + 2l, sıkıştırma fonksiyonu işlemede, permütasyon fonksiyonunun her bir f turu, üç boyutlu bir matrisin beş aşamalı yinelemeli permütasyonu üzerinde hareket eder.

1.1 SHA-3 algoritmasının üç boyutlu permütasyon matrisi

Sıkıştırma fonksiyonu Keccak-f'nin giriş verileri, m, n ve p koordinat eksenlerine göre sıralı olarak 5 × 5 × 64 üç boyutlu bit dizisine a doldurulur.

, Durum dizisini çağırdı. Son sunumda, b = 1600, yani, m = 5, n = 5, p = 64 (l = 6) ve temel blok değiştirme işlevi, her biri 5 alt turdan oluşan 12 + 2l (l = 6 olduğunda 24) ile yinelenir. Yuvarlak operasyonların tümü basit ve bağımsızdır. Her yinelemenin yuvarlak işlevi, üç boyutlu bit dizisini farklı yönlerde dönüştürerek difüzyon ve kafa karışıklığı sağlayan beş adımlı yinelemeli R işleminden oluşur. Bunlar arasında, dönüşüm doğrusal olmayan bir dönüşümdür ve SHA-3 algoritmasının beş adımlı yinelemeli işlevi aşağıda özel olarak analiz edilecektir.

1.2 SHA-3 algoritmasının beş adımlı yinelemeli işlevi

Şu anda, SHA-3 algoritmasının üç boyutlu matrisi esas olarak l = 6'yı benimser, yani matris boyutu 5 × 5 × 64'tür. M ve n eksenlerinde modulo 5 işlemlerini gerçekleştirin ve p ekseninde modulo 64 işlemlerini gerçekleştirin.

Bu dönüşüm, her bitin yakınındaki iki sütun (sütun) bitinin toplamını bit ile üst üste koymaktır (m ve n'nin koordinatları modulo 5'tir), ki bu iyi yayılabilirliğe sahiptir.

Bu dönüşüm z ekseni üzerinde hareket eder ve p yönündeki her şerit için biraz döngüsel kaymadır.

Bu dönüşüm, uzun vadeli difüzyonun etkisini elde etmek için m-n düzleminin her dilimi için bir bit kaymasıdır.

Bu, her bir m yönü satırı için doğrusal olmayan bir işlemdir ve 5 × 5 S-kutusuna eşdeğerdir.

Bu dönüşüm, her hesaplama turunun sonuna bir yuvarlak sabit RC eklenerek gerçekleştirilir ve parça parça gerçekleştirilir ve her bir ir turunun yuvarlak sabiti, üç boyutlu dizinin orijinal simetrisini yok edecek şekilde farklıdır.

SHA-3 alan optimizasyon algoritmasının 2 VLSI gerçekleştirilmesi

SHA-3 algoritmasının alan optimizasyonunun ana fikri, paralel hızlandırma tasarım algoritmasını LUT yöntemini kullanarak kullanmanın etkisini elde etmek ve her bir hesaplama sonucunu ve bazı ara değişkenleri kaydetmek için RAM kullanmak, böylece bir paket verisinin aynı anda çalışmasını ve işlenmesini gerçekleştirmek ve böylece SHA'yı hızlandırmaktır. 3 Algoritma işleme hızını değiştirin, algoritma yürütme güç tüketimini azaltın.

2.1 LUT alanı optimizasyon stratejisi

SHA-3 algoritmasında, paket veri bit genişliği 64 bit olduğundan, algoritma paralel bir hızlandırma yönteminde tasarlandıysa, ek yük, aynı zamanda bir paket veri üzerinde aritmetik işlem yapabilmek için çok büyüktür. Verilerin bir kısmı hesaplanır ve diğer veri kaynakları boşta kalır, bu da kullanım oranını ve algoritma yürütme hızını büyük ölçüde etkiler. Şekil 1 ve Şekil 2'de gösterildiği gibi LUT yöntemi, algoritmayı uygulamak için ara verileri geçici olarak depolar ve aşırı bellek ek yükünün dezavantajının üstesinden gelir. Hesaplanan sonuç RAM'e her yerleştirildiğinde ve şifreleme işlemi yapıldığında, işlem sonucu doğrudan SRAM'den alınabilir. Yalnızca SHA-3 değiştirme algoritmasının işlem hızını hızlandırmakla kalmaz, aynı zamanda algoritma tasarımının karmaşıklığını büyük ölçüde azaltır, böylece gerçek devre kaynağı ek yükünü azaltır.

2.2 Alan optimizasyon algoritması akışı

SHA-3 standart algoritması ve alan optimizasyon stratejisine bağlı olarak, SHA-3 alan optimizasyon algoritmasının spesifik uygulama planı belirlenir.Algoritma akışı Şekil 3'te gösterilmektedir. Algoritma adımları aşağıdaki gibidir:

Adım 1: Giriş verilerini, 0 adresinden 64-bit 64 tabanlı RAM tablosuna algoritmadaki 25 bitlik 64 tabanlı veri biçiminde depolayın.

Adım 2: Sırasıyla giriş verileri üzerinde doğrusal dönüşüm ve doğrusal olmayan dönüşüm uygulamak için durum makinesi aracılığıyla, her işlemin sonuçları RAM tablosunda depolanır ve her durum, 0 ~ 63'lük bir adres adresi ve 8 bitlik bir ikili oluşturur. Komut sözcüğü komutu, counter_plane_to_pe ve counter_sheet_to_pe kontrol sözcükleri 0 ~ 4, yuvarlak sayı nr_round 0 ~ 24 ve iki tek bitlik ikili okuma ve yazma sinyalleri enR ve enW, RAM tablosundaki karşılık gelen veriler üzerinde adres aracılığıyla çalışır ve sinyalleri okur ve yazar , Okunan veri 64-bit ikili yazmaç data_from_mem'de saklanır ve RAM tablosuna yazılacak sayı 64-bit ikili yazmaç veri_to_mem'de saklanır.

Her durum tarafından gerçekleştirilen dönüştürme işlemi Şekil 4'te gösterilmektedir. Dönüştürme işlemi, r1_in, r1_out, r2_in, r2_out, r3_in, r3_out, rho_out, chi_out ve iota olan 9 adet 64-bit ikili kayıt kullanır. Başlangıç değerlerinin tümü 0x0000. Dönüşüm akış şeması, esas olarak aşağıdaki iki aşamaya bölünmüş olan Şekil 3'te gösterilmektedir:

Aşama 1: enW = 1 olduğunda, doğrusal dönüşüm aşamasında, r1_in değerini hesaplamak ve komut sözcüğüne göre r1_in değerini hesaplamak için komut sözcüğünün her bitinin değerine göre data_from_mem, r1_out, r2_out ve r3_out öğesini seçin. Bit değeri r1_out veya r2_out'u seçer ve bunu r2_in'e atar. Komut sözcüğünün her bitinin değerine göre, r2_out veya r3_out'u seçin ve bunu r3_in'e atayın. Chi_out'un değerini hesaplamak için r1_out, r2_out ve r3_out üzerinde karşılık gelen AND, XOR işlemlerini gerçekleştirin; Doğrusal dönüşüm aşamasında, counter_plane_to_pe ve counter_sheet_to_pe kontrol kelimelerinin değerine göre, r1_out belirli bir sayı kadar sola kaydırılır ve ardından rho_out'a atanır.Dönüşüm aşamasında, nr_round yuvarlak sayısına göre ilgili tekerlek sabiti iota üretilir.

Aşama 2: enR = 1 olduğunda, XOR işlemini gerçekleştirmek için r1_out, chi_out, rho_out ve iota'yı seçin ve bunları komut sözcüğünün her bitinin değerine göre data_to_mem'e atayın. Saatin yükselen kenarı geldiğinde, atama işlemi beş adımlı yinelemeli formüle göre gerçekleştirilir. Nihai SHA-3 verilerini almak için RAM tablosundaki 0-24 adreslerinde veri çıkışı yapın.

2.3 Alan optimizasyon algoritmasının donanım yapısı

Alan optimizasyonlu SHA-3 algoritmasının spesifik yapısı Şekil 5'te gösterilmektedir. HA-3 algoritmasının ana ek yükü yuvarlak işlem sürecindedir, bu nedenle işlem hızı 24 turluk işlemin beş aşamalı yinelemesiyle belirlenir. Bu nedenle, donanım uygulama sürecinde, algoritmanın verimliliğini artırmak için bir saat döngüsü içinde beş aşamalı yinelemeyi tamamlamak için LUT yöntemi kullanılır. Aynı zamanda, alanı optimize etmek için donanımın yeniden kullanımı kullanılır. Zaman açısından, her bir anahtar hesaplama turu önceden tamamlanabilir ve verilere hash işlemi uygulamak için yalnızca bir saat döngüsü gereklidir, böylece veri hesaplaması gerçek zamanlı gereksinimleri mümkün olduğunca karşılayabilir; donanım ek yükü perspektifinden, tüm SHA-3 algoritması benimsenir. LUT ve donanımın çoğullaması, çok sayıda depolama ve mantık işletim birimi tasarrufu sağlar ve sistem güç tüketimini azaltır.

3 Deneysel sonuçlar ve analiz

TSMC 65 nm CMOS süreci, LUT yöntemine dayalı SHA-3 algoritma donanım devresini gerçekleştirmek için kullanılır. Deneysel ortam Intel Pentium (R) Dual-Core CPU 2.70 GHz, 2 G RAM bilgisayar, DC entegre yazılım, NCverilog ve Modelsim simülasyon yazılımını içerir. Alan optimizasyonu SHA-3 algoritmasını gerçekleştirmek için VHDL dilini kullanın, bunlardan Tablo 1 ve Tablo 2 sırasıyla giriş / çıkış verilerinin bir parçasıdır ve Tablo 3 DC sentezinin özelliklerinin bir özetidir Çalışma hızı 150 MHz'dir.

4. Sonuç

Bu makale, SHA-3 algoritmasının beş aşamalı değiştirme çalışması aracılığıyla LUT yöntemine dayalı küçük bir alan algoritması tasarım şeması önermekte ve bunu VHDL donanım dilinde uygulamaktadır. Üretilen verileri, doğruluğunu onaylamak için orijinal SHA-3 algoritması sonucuyla karşılaştırın. Durum makinesini SHA-3 algoritmasının çekirdek değiştirme işlevinin yuvarlak çalışmasını gerçekleştirmek için kullanmak, her işlem turunun veri alışverişini ve veri depolamasını işlemek için LUT yöntemi ile birlikte, işlemi okumak ve yeni işlem sonucunu kapsamak için RAM tablosunun verilerini okuyup yazın ve SHA'yı optimize edin -3 Alan ek yükünü etkili bir şekilde azaltırken algoritma verimliliği.

Referanslar

Wang Yong, Cai Guoyong. Rastgele fonksiyona dayalı karma fonksiyonu Bilgisayar Mühendisliği ve Tasarımı, 2015, 34 (10): 2679-2683.

ZHANG H, HAN W, LAI X, ve diğerleri.Siber uzay güvenliği üzerine anket. Science China (Information Sciences), 2015, 58 (11); 5-47.

MALIK A, AZIZ A, KUNDI D, et al. Intel core-i5 ve cavium ağları octeon plus gömülü platformda standart karma algoritmanın (SHA-3) Keccak yazılım uygulaması. 2nd Mediterranean Conference on Embedded Computing (MECO), 2013: 79 -83.

Hash function.http: //en.wikipedia.org/wiki/Hash function. (2015.11.30).

Li Qiannan, Li Yunqiang, Jiang Shujing, vb. Keccak benzeri doğrusal olmayan dönüşümlerin fark özellikleri, Journal on Communications, 2012, 33 (9): 140-146.

Li Jianrui, Wang Pengjun, Zhang Yuejun ve diğerleri SHA-3 algoritmasına dayalı görüntü anahtarı oluşturma yöntemi. Doğu Çin Üniversitesi Bilim ve Teknoloji Dergisi, 2015, 41 (5): 693-697.

Enerji Saldırısına Dayalı FPGA Klonlama Teknolojisi Araştırması
önceki
Abartı değil, yılın en iyi İngiliz draması
Sonraki
"Derinlemesine Haberler" Beihang Üniversitesi ve Mikroelektronik Enstitüsü, yeni nesil bellek yongası cihazlarını başarıyla üretti
Mavi Dağlar: Pitoresk Yanyushan Kasabası
Bu Ulusal Gün "İngiliz Hesaplaşması" size farklı bir Jackie Chan veriyor!
Sis yine geliyor, işte kışın kendi kendine yardım için bir rehber
Zhejiang'ın "500.000 çocuk arayan saçmalık" hakkındaki gerçek burada! Çocuğun annesi kasıtlı olarak test kocası için plan yaptı
Liu Tianchi: O olmadan birçok oyuncu doğamazdı
Geek Gourmet: İnternet Kırmızı Noel Çırpma Teli ile Matcha Çelenk Çerezleri Yapmanın 2 Adımı
Kaba taneli dizi platformunda SM4 algoritmasının paralel eşlemesi
Mi İkilem
Telaşlı! İnternetteki ünlü zayıflama içecekleri yasa dışı uyuşturucular içerir ve birçok il ve şehre satılır
Taobao'nun ekonomik salgını: 90'lardan sonra saç dökülmesi üç katına çıktı, Chongqing erkekleri içmeyi sevmiyor ve sağlıklı kalmayı sevmiyor
Mac mini 2018 demontajı: Yalnızca bellek "DIY" olabilir, arayüz zarar görmüş, anakartın değiştirilmesi gerekir
To Top