新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 低功耗AVR微處理器上Quark 哈希算法優(yōu)化實現(xiàn)

低功耗AVR微處理器上Quark 哈希算法優(yōu)化實現(xiàn)

作者: 時間:2013-10-09 來源:網(wǎng)絡(luò) 收藏

  1 引言物聯(lián)網(wǎng)是繼 Internet 出現(xiàn)之后信息技術(shù)領(lǐng)域的一次革命,它能幫助我們將信息轉(zhuǎn)變?yōu)槎床炝?,提高決策的質(zhì)量,優(yōu)化工業(yè)控制過程和生產(chǎn)管理,提高生產(chǎn)力,增強(qiáng)綜合國力和國際競爭力.無線傳感器網(wǎng)絡(luò)(WSN)和射頻標(biāo)簽技術(shù)(RFID)具有硬件成本低.網(wǎng)絡(luò)健壯性.自組織性強(qiáng).適用性廣泛的特點(diǎn),已經(jīng)成為未來信息技術(shù)重點(diǎn)應(yīng)用“物聯(lián)網(wǎng)”的關(guān)鍵組成部分.由于WSN 和RFID 基于無線網(wǎng)絡(luò)傳輸信息,攻擊者更加容易獲得.干擾甚至破壞信息傳輸,信息安全的重要性不言而喻.在國際上,目前已提出不少面向受限環(huán)境的輕量級分組密碼算法.如PRESENT.DESXL.LBlock和LED 算法.但在具體應(yīng)用中,除了數(shù)據(jù)保密性之外,完整性檢測也是保障信息安全所需的基本密碼學(xué)構(gòu)件.通常情況下,密碼學(xué)哈希函數(shù)(如SHA-1,SHA-2 等)被用來檢測消息完整性.在受限環(huán)境下,已有實驗結(jié)果表明SHA-1 等常用哈希函數(shù)需要6000-8000 個門電路才能在硬件上實現(xiàn),但現(xiàn)有數(shù)據(jù)表明一個典型RFID 標(biāo)簽只具有1000 到10000 個標(biāo)準(zhǔn)門電路,其中僅有200 到2000 個門電路可用于信息安全.如果采用軟件方式實現(xiàn),由于WSN與RFID 往往只具有8 比特CPU 和KB 級別的存儲能力,安全算法同樣面對ROM.RAM 和處理器性能上的嚴(yán)格限制.過多的存儲和計算開銷也會增大對能量的消耗,降低算法的實用性,這在WSN 和RFID 環(huán)境下同樣是不可接受的.

  SHA-3 競賽雖然將會選出新的作為國際標(biāo)準(zhǔn),但選擇依據(jù)并沒有將傳感器和RFID 等資源受限環(huán)境下的實現(xiàn)開銷和性能作為評選準(zhǔn)則,從進(jìn)入最后一輪的5 個候選算法來看,除了Keccak可以通過參數(shù)設(shè)置來降低開銷以適應(yīng)低功耗環(huán)境之外,其他4 種算法均不具備受限環(huán)境下輕量級性質(zhì).在文獻(xiàn)中,Bogdanov 等人采用基于分組密碼的構(gòu)造方式,基于PRESENT 給出了滿足RFID 資源限制的輕量級.在已公開文獻(xiàn)中,也有若干在設(shè)計當(dāng)中直接考慮了受限環(huán)境下的實用性,如MAME.Photon和等.但從實驗結(jié)果來看, 上述算法的實現(xiàn)仍然需要4000-6000 個門電路,雖然上述哈希算法與標(biāo)準(zhǔn)環(huán)境下廣泛應(yīng)用的算法(如SHA-1,SHA-2 等)相比有比較大的軟硬件開銷優(yōu)勢,但在受限環(huán)境下,其軟硬件開銷仍需進(jìn)一步降低才能具有比較好的實用價值.此外,國內(nèi)雖然已有若干針對輕量級分組密碼算法的安全性與優(yōu)化實現(xiàn)分析,但針對輕量級哈希算法的比較少,需要進(jìn)一步研究.

愛特梅爾(ATMEL)公司設(shè)計并生產(chǎn)的AVR系列微控制器由于其出色的指令集設(shè)計和優(yōu)秀的性價比,在嵌入式應(yīng)用環(huán)境下成為了廣泛采用的解決方案.在AVR 微控制器家族中,ATtiny 系列具有低功耗.成本低.開發(fā)環(huán)境友善等優(yōu)點(diǎn),在無線傳感器和RFID 領(lǐng)域得到了廣泛的應(yīng)用.在本文中,我們從ATtiny 微處理器的特點(diǎn)出發(fā),基于AVRASM 語言給出了QUARK 哈希算法的優(yōu)化實現(xiàn).由于 算法并沒有采用傳統(tǒng)的S 盒來實現(xiàn)非線性性,在算法優(yōu)化上并不能簡單套用分組密碼算法的優(yōu)化方法.基于 算法的特點(diǎn),我們采用了基于字節(jié)與布爾函數(shù)運(yùn)算特點(diǎn)相結(jié)合的方法,從而算法實現(xiàn)的處理速度和存儲開銷三方面數(shù)據(jù)上取得較好的平衡.實際試驗數(shù)據(jù)表明,優(yōu)化后的Quark算法實現(xiàn)在ATtiny 微處理器平臺下與傳統(tǒng)實現(xiàn)相比具有較大優(yōu)勢.

  2 Quark 哈希算法簡介在 CHES 2010 會議上,Aumasson 等人提出了一種名為Quark 的新型輕量級哈希算法.算法基于壓縮函數(shù)和迭代運(yùn)算兩部分組成.壓縮函數(shù)基于不同的輸出長度,Quark 分為U-Quark,D-Quark和S-Quark 三種子算法,相關(guān)參數(shù)如下表1 所示.

  出于低功耗的考慮,Quark 的壓縮函數(shù)大量借鑒了輕量級流密碼Grain和分組密碼Katan的構(gòu)造方法.如下圖1 所示,Quark 的壓縮函數(shù)基于兩個非線性反饋移位寄存器(NFSR)X 和Y 用以增加輸出的非線性度,另外再采用一個線性反饋移位寄存器(LFSR)L 為每一輪壓縮函數(shù)的執(zhí)行提供輪常量,使得滑動攻擊等基于迭代構(gòu)造的攻擊不再有效.布爾函數(shù)f , g , h 將輸入值按照固定的非線性方程的方式輸出一個比特.函數(shù)p 僅僅只對L的輸出進(jìn)行一個線性變換.對于不同參數(shù)的Quark 子函數(shù)而言,壓縮函數(shù)結(jié)構(gòu)上是完全一致的,僅在f ,g ,h 函數(shù).輸入輸出長度和迭代次數(shù)上有所不同.

  在迭代結(jié)構(gòu)上,Quark 采用了在新型哈希算法設(shè)計中廣泛被采用的Sponge 構(gòu)造.與傳統(tǒng)的Merkle-Damgard 構(gòu)造相比,Sponge 構(gòu)造對于長消息攻擊和隨機(jī)預(yù)言機(jī)區(qū)分攻擊有著非常好的可證明安全性.同時在低功耗設(shè)備的實現(xiàn)上,實驗結(jié)果表明基于Sponge 結(jié)構(gòu)的哈希算法能節(jié)約大量的內(nèi)存開銷.下圖2 中描述了基于Sponge 構(gòu)造的Quark迭代方式,其中r 和c 是Sponge 構(gòu)造當(dāng)中所定義的rate 值和 capacity 值,P是上述 Quark 壓縮函數(shù).mi為輸入消息值,在迭代輪數(shù)后, zi 為哈希輸出值.

  3 面向低功耗AVR 微處理器的Quark 哈希算法實現(xiàn)3.1 基于字節(jié)的壓縮函數(shù)變換操作Quark 的壓縮函數(shù)輪數(shù)與內(nèi)部數(shù)據(jù)寬度有關(guān).


上一頁 1 2 下一頁

關(guān)鍵詞: AVR微處理器 Quark 哈希算法

評論


技術(shù)專區(qū)

關(guān)閉