日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

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

出處:電子技術(shù)網(wǎng) 發(fā)布于:2013-06-05 14:26:54

  摘 要: 哈希算法被廣泛用于數(shù)據(jù)完整性檢測.在物聯(lián)網(wǎng)數(shù)據(jù)完整性檢測中,現(xiàn)有標(biāo)準(zhǔn)哈希算法的軟硬件開銷仍需進(jìn)一步降低.從低功耗AVR 微處理器的特點(diǎn)出發(fā),通過基于字節(jié)的壓縮函數(shù)變換操作和基于布爾運(yùn)算特點(diǎn)的函數(shù)優(yōu)化,以AVR ASM 為開發(fā)語言環(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)綜合國力和國際競爭力.無線傳感器網(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)境下,已有實(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 級別的存儲(chǔ)能力,安全算法同樣面對ROM.RAM 和處理器性能上的嚴(yán)格限制.過多的存儲(chǔ)和計(jì)算開銷也會(huì)增大對能量的消耗,降低算法的實(shí)用性,這在WSN 和RFID 環(huán)境下同樣是不可接受的.

  SHA-3 競賽雖然將會(huì)選出新的哈希算法作為國際標(biāo)準(zhǔn),但選擇依據(jù)并沒有將傳感器和RFID 等資源受限環(huán)境下的實(shí)現(xiàn)開銷和性能作為評選準(zhǔn)則,從進(jìn)入一輪的5 個(gè)候選算法來看,除了Keccak可以通過參數(shù)設(shè)置來降低開銷以適應(yīng)低功耗環(huán)境之外,其他4 種算法均不具備受限環(huán)境下輕量級性質(zhì).在文獻(xiàn)中,Bogdanov 等人采用基于分組密碼的構(gòu)造方式,基于PRESENT 給出了滿足RFID 資源限制的輕量級哈希算法.在已公開文獻(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)勢,但在受限環(huán)境下,其軟硬件開銷仍需進(jìn)一步降低才能具有比較好的實(shí)用價(jià)值.此外,國內(nèi)雖然已有若干針對輕量級分組密碼算法的安全性與優(yōu)化實(shí)現(xiàn)分析,但針對輕量級哈希算法的比較少,需要進(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 語言給出了QUARK 哈希算法的優(yōu)化實(shí)現(xiàn).由于Quark 算法并沒有采用傳統(tǒng)的S 盒來實(shí)現(xiàn)非線性性,在算法優(yōu)化上并不能簡單套用分組密碼算法的優(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)勢.

  2 Quark 哈希算法簡介在 CHES 2010 會(huì)議上,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ù)基于兩個(gè)非線性反饋移位寄存器(NFSR)X 和Y 用以增加輸出的非線性度,另外再采用一個(gè)線性反饋移位寄存器(LFSR)L 為每一輪壓縮函數(shù)的執(zhí)行提供輪常量,使得滑動(dòng)攻擊等基于迭代構(gòu)造的攻擊不再有效.布爾函數(shù)f , g , h 將輸入值按照固定的非線性方程的方式輸出一個(gè)比特.函數(shù)p 僅僅只對L的輸出進(jìn)行一個(gè)線性變換.對于不同參數(shù)的Quark 子函數(shù)而言,壓縮函數(shù)結(jié)構(gòu)上是完全一致的,僅在f ,g ,h 函數(shù).輸入輸出長度和迭代次數(shù)上有所不同.

  在迭代結(jié)構(gòu)上,Quark 采用了在新型哈希算法設(shè)計(jì)中廣泛被采用的Sponge 構(gòu)造.與傳統(tǒng)的Merkle-Damgard 構(gòu)造相比,Sponge 構(gòu)造對于長消息攻擊和隨機(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)算,我們增加一個(gè)額外的字節(jié)用來存放相關(guān)數(shù)據(jù),同時(shí)根據(jù)算法每次運(yùn)行需左移一位的特點(diǎn),我們可以把比特的運(yùn)算變?yōu)樽止?jié)的運(yùn)算.假設(shè)寄存器里存放x0 x1x2 x3 x4 x5 x6 x7八個(gè)比特的值,我們在當(dāng)前的計(jì)算中需要x0 這個(gè)比特?cái)?shù),那么下計(jì)算中我們需要x1這個(gè)比特?cái)?shù),由此我們對寄存器作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í)長.由于f , g , h 本身是基于比特運(yùn)算的非線性函數(shù),每次需要對輸入比特進(jìn)行大量的加法和乘法運(yùn)算.而在AVR 環(huán)境下并沒有針對比特的上述算術(shù)操作,因而在實(shí)際計(jì)算需要對布爾函數(shù)的每一項(xiàng)進(jìn)行運(yùn)算才能得出結(jié)果.在算法的優(yōu)化過程中,我們基于布爾運(yùn)算的特點(diǎn),將f , g , h 函數(shù)的計(jì)算過程通過同類項(xiàng)和提前約取的方法加以簡化.我們通過布爾函數(shù)  f (x) = x0 x1x2 + x 0×1 x3 (其中x0 x1 x2 + x 0x 1×3 表示各比特邏輯與之后再進(jìn)行邏輯加運(yùn)算,與Quark中表示方法一致)對優(yōu)化方法解釋如下:

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

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

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

  main:

  SRAM_DATA = message;call quark;if digest equal outreturn digest ok;else return digest error;quark:

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

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

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

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

  4 結(jié)束語雖然摩爾定律預(yù)測計(jì)算機(jī)的計(jì)算速度和存儲(chǔ)能力每18 個(gè)月能增加一倍,但由于制造成本和便攜性的限制,WSN 和RFID 硬件平臺(tái)的計(jì)算能力.存儲(chǔ)能力和能量仍然受到非常大的限制.盡管輕量級分組密碼算法的研究已經(jīng)引起廣泛的關(guān)注,但仍然存在不少問題尚待解決.輕量級密碼學(xué)作為一個(gè)新興研究分支,需要綜合密碼學(xué).電路設(shè)計(jì)和嵌入式系統(tǒng)等方面的研究方法和成果.Quark 哈希算法采用了面向軟件的設(shè)計(jì)思路,很好的平衡了算法的安全性和軟硬件實(shí)現(xiàn)上的效率與開銷.在未來的工作中,我們將進(jìn)一步地深入分析Quark 哈希算法在受限軟硬件環(huán)境下的具體實(shí)現(xiàn)方法,為Quark 在實(shí)際中提供更充分的性能指標(biāo)和算法實(shí)現(xiàn)參考.


關(guān)鍵詞:低功耗AVR微處理器上Quark 哈希算法優(yōu)化實(shí)現(xiàn)低功耗AVR微處理器Quark哈希算法

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

超低功耗的射頻模塊nrf24l01,它在無線通信中是許多玩家的選擇!
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!