低功耗AVR微處理器上Quark 哈希算法優(yōu)化實(shí)現(xiàn)-技術(shù)方案_第1頁(yè)
低功耗AVR微處理器上Quark 哈希算法優(yōu)化實(shí)現(xiàn)-技術(shù)方案_第2頁(yè)
低功耗AVR微處理器上Quark 哈希算法優(yōu)化實(shí)現(xiàn)-技術(shù)方案_第3頁(yè)
低功耗AVR微處理器上Quark 哈希算法優(yōu)化實(shí)現(xiàn)-技術(shù)方案_第4頁(yè)
低功耗AVR微處理器上Quark 哈希算法優(yōu)化實(shí)現(xiàn)-技術(shù)方案_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯低功耗AVR微處理器上Quark哈希算法優(yōu)化實(shí)現(xiàn)-技術(shù)方案摘要:哈希算法被廣泛用于數(shù)據(jù)完整性檢測(cè).在物聯(lián)網(wǎng)數(shù)據(jù)完整性檢測(cè)中,現(xiàn)有標(biāo)準(zhǔn)哈希算法的軟硬件開銷仍需進(jìn)一步降低.從低功耗AVR微處理器的特點(diǎn)出發(fā),通過基于字節(jié)的壓縮函數(shù)變換操作和基于布爾運(yùn)算特點(diǎn)的函數(shù)優(yōu)化,以AVRASM為開發(fā)語(yǔ)言環(huán)境給出了Quark哈希算法的優(yōu)化實(shí)現(xiàn),在算法實(shí)現(xiàn)的處理速度和存儲(chǔ)開銷上取得較好的平衡.

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)綜合國(guó)力和國(guó)際競(jìng)爭(zhē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ò)傳輸信息,攻擊者更加容易獲得.干擾甚至破壞信息傳輸,信息安全的重要性不言而喻.在國(guó)際上,目前已提出不少面向受限環(huán)境的輕量級(jí)分組密碼算法.如PRESENT.DESXL.LBlock和LED算法.但在具體應(yīng)用中,除了數(shù)據(jù)保密性之外,完整性檢測(cè)也是保障信息安全所需的基本密碼學(xué)構(gòu)件.通常情況下,密碼學(xué)哈希函數(shù)(如SHA-1,SHA-2等)被用來檢測(cè)消息完整性.在受限環(huán)境下,已有實(shí)驗(yàn)結(jié)果表明SHA-1等常用哈希函數(shù)需要6000-8000個(gè)門電路才能在硬件上實(shí)現(xiàn),但現(xiàn)有數(shù)據(jù)表明一個(gè)典型RFID標(biāo)簽只具有1000到10000個(gè)標(biāo)準(zhǔn)門電路,其中僅有200到2000個(gè)門電路可用于信息安全.如果采用軟件方式實(shí)現(xiàn),由于WSN與RFID往往只具有8比特CPU和KB級(jí)別的存儲(chǔ)能力,安全算法同樣面對(duì)ROM.RAM和處理器性能上的嚴(yán)格限制.過多的存儲(chǔ)和計(jì)算開銷也會(huì)增大對(duì)能量的消耗,降低算法的實(shí)用性,這在WSN和RFID環(huán)境下同樣是不可接受的.

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

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

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

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

在迭代結(jié)構(gòu)上,Quark采用了在新型哈希算法設(shè)計(jì)中廣泛被采用的Sponge構(gòu)造.與傳統(tǒng)的Merkle-Damgard構(gòu)造相比,Sponge構(gòu)造對(duì)于長(zhǎng)消息攻擊和隨機(jī)預(yù)言機(jī)區(qū)分攻擊有著非常好的可證明安全性.同時(shí)在低功耗設(shè)備的實(shí)現(xiàn)上,實(shí)驗(yà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哈希算法實(shí)現(xiàn)3.1基于字節(jié)的壓縮函數(shù)變換操作Quark的壓縮函數(shù)輪數(shù)與內(nèi)部數(shù)據(jù)寬度有關(guān).

以D-Quark為例,由于其內(nèi)部數(shù)據(jù)寬度為176比特,我們采用22個(gè)字節(jié)來存儲(chǔ)內(nèi)部數(shù)據(jù),同時(shí)需要704輪來迭代處理數(shù)據(jù).在普通環(huán)境實(shí)現(xiàn)中,我們可以采用并行化的方法,增大內(nèi)部數(shù)據(jù)存儲(chǔ)空間的方式來加快處理速度.但在受限硬件環(huán)境下,由于內(nèi)存的限制,三個(gè)變換操作每輪只能輸出一個(gè)比特,在AVR微處理器環(huán)境下,算法的實(shí)際總輪數(shù)大大增加.

在算法的優(yōu)化上,我們采用基于字節(jié)的方式來提高壓縮函數(shù)的效率.在每一輪迭代過程中,由于新的輸出值將會(huì)影響到下一輪的運(yùn)算,我們?cè)黾右粋€(gè)額外的字節(jié)用來存放相關(guān)數(shù)據(jù),同時(shí)根據(jù)算法每次運(yùn)行需左移一位的特點(diǎn),我們可以把比特的運(yùn)算變?yōu)樽止?jié)的運(yùn)算.假設(shè)寄存器里存放x0x1x2x3x4x5x6x7八個(gè)比特的值,我們?cè)诋?dāng)前的計(jì)算中需要x0這個(gè)比特?cái)?shù),那么下計(jì)算中我們需要x1這個(gè)比特?cái)?shù),由此我們對(duì)寄存器作or或者and的操作,就可以同時(shí)更新8個(gè)比特的值.因此我們可以把的循環(huán)次數(shù)降低1/8.改進(jìn)后的Quark各子算法在內(nèi)部狀態(tài)存儲(chǔ)上所需的字節(jié)數(shù)和基于字節(jié)的壓縮函數(shù)所需迭代輪數(shù)如下表2所示.

3.2基于布爾運(yùn)算特點(diǎn)的非線性函數(shù)優(yōu)化基于字節(jié)操作方式優(yōu)化壓縮函數(shù)后,f,g,h三個(gè)非線性布爾函數(shù)的變換操作耗時(shí)長(zhǎng).由于f,g,h本身是基于比特運(yùn)算的非線性函數(shù),每次需要對(duì)輸入比特進(jìn)行大量的加法和乘法運(yùn)算.而在AVR環(huán)境下并沒有針對(duì)比特的上述算術(shù)操作,因而在實(shí)際計(jì)算需要對(duì)布爾函數(shù)的每一項(xiàng)進(jìn)行運(yùn)算才能得出結(jié)果.在算法的優(yōu)化過程中,我們基于布爾運(yùn)算的特點(diǎn),將f,g,h函數(shù)的計(jì)算過程通過同類項(xiàng)和提前約取的方法加以簡(jiǎn)化.我們通過布爾函數(shù)f(x)=x0x1x2+x0×1x3(其中x0x1x2+x0x1×3表示各比特邏輯與之后再進(jìn)行邏輯加運(yùn)算,與Quark中表示方法一致)對(duì)優(yōu)化方法解釋如下:

1.如果有x0或x1等于0,那么無論x2或x3取何值,整個(gè)函數(shù)的輸出值均為0;2.如果x2或x3等于0,那么所有包含x2或x3的項(xiàng)都為0;3.如果x2等于1,那么可以把所有x2從等式中約去,對(duì)輸出結(jié)果沒有影響.

采用上述優(yōu)化方法后,我們?cè)谟?jì)算f,g,h函數(shù)的過程中能大大簡(jiǎn)化所需要的布爾運(yùn)算次數(shù).

優(yōu)化后的Quark算法的AVRASM偽代碼結(jié)構(gòu)如下所示.

main:

SRAM_DATA=message;callquark;ifdigestequaloutreturndigestok;elsereturndigesterror;quark:

callinit;callupdate;callfinal;ret雖然上述優(yōu)化方法需要額外增加邏輯判斷的開銷,但由于f,g,h布爾函數(shù)是固定的,所以在實(shí)際運(yùn)算的過程中,增加的邏輯判斷對(duì)算法的優(yōu)化效果仍然比較明顯.

3.3實(shí)驗(yàn)結(jié)果通過上述優(yōu)化方法,我們基于AVR匯編語(yǔ)言實(shí)現(xiàn)了Quark算法.基于Quark原始論文給出的正確性測(cè)試,優(yōu)化后的算法在實(shí)現(xiàn)上是正確的.Quark算法基于標(biāo)準(zhǔn)輸入消息的相應(yīng)輸出結(jié)果應(yīng)如下所示:

為了比較Quark實(shí)現(xiàn)在ATtiny設(shè)備上的實(shí)際效率,我們采用ATMELATting45系列微處理器作為實(shí)驗(yàn)平臺(tái),在平臺(tái)上使用AVRASM匯編語(yǔ)言(編譯環(huán)境AVRStudio6.0)來實(shí)現(xiàn)D-Quark和S-Quark算法.ATtiny45系列微處理器具有4K字節(jié)可編程FlashROM,256字節(jié)EEPROM,256字節(jié)SRAM,工作模式下主頻可自適應(yīng)調(diào)整,可為20MHz.

為了對(duì)比所提出的優(yōu)化方法的效率,我們也按照Quark原始參考文獻(xiàn)當(dāng)中的標(biāo)準(zhǔn)方法將D-Quark和S-Quark在相同平臺(tái)下加以實(shí)現(xiàn)并測(cè)試.各項(xiàng)性能數(shù)據(jù)均由AVRStudio6.0測(cè)試給出.

4結(jié)束語(yǔ)雖然摩爾定律預(yù)測(cè)計(jì)算機(jī)的計(jì)算速度和存儲(chǔ)能力每18個(gè)月能增加一倍,但由于制造成本和便攜性的限制,WSN和RFID硬件平臺(tái)的計(jì)算能力.存儲(chǔ)能力和能量仍然受

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論