亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        低功耗SM4-CCM 算法硬件架構設計?

        2024-01-29 02:22:58夏吉安胡光永
        電子器件 2023年6期
        關鍵詞:加解密寄存器功耗

        陳 銳,李 冰,夏吉安,胡光永

        (1.南京工業(yè)職業(yè)技術大學計算機與軟件學院,江蘇 南京 210023;2.東南大學微電子學院,江蘇 南京 210096)

        近年來,物聯(lián)網技術被廣泛應用于各行各業(yè),如智慧醫(yī)療[1]、智慧養(yǎng)殖[2]、智慧電力[3]、智慧城市[4]等。物聯(lián)網技術之所以被廣泛應用,主要是因為其采集數(shù)據的隱含價值。通過GPRS[5]、NB-IoT[6]、LoRa[3]等無線通信協(xié)議將采集數(shù)據傳遞至云端,借助于大數(shù)據、人工智能等技術,可實現(xiàn)數(shù)據挖掘、預測分析、智能決策等先進應用。在許多應用領域,物聯(lián)網終端設備采集的數(shù)據與用戶隱私、生命財產安全密切相關,使得物聯(lián)網攻擊事件頻發(fā),如2010 年的“震網病毒”攻擊多國核電站[7]、2016 年Mirai 惡意代碼控制物聯(lián)網終端發(fā)起DDoS 攻擊導致大半個美國網絡癱瘓[8]。為了避免數(shù)據在傳輸過程中遭受篡改、泄露而引起安全事故,應在數(shù)據源即物聯(lián)網終端側對采集數(shù)據進行安全保護。數(shù)據的保護可以通過在物聯(lián)網終端設備上部署密碼學算法來實現(xiàn)。認證加密算法作為一類應用廣泛的密碼學算法,不僅可以保障數(shù)據的機密性,還可以保障數(shù)據的完整性。2021 年IETF 公布了RFC 8998 標準[9],提出基于國產分組密碼算法SM4 的兩種認證加密算法,SM4-CCM 就是其中一種。本文面向物聯(lián)網數(shù)據安全,以SM4-CCM 為對象,研究適合于物聯(lián)網資源受限場景下的數(shù)據安全保障方法。

        由于物聯(lián)網終端資源受限,有些甚至采用電池供電,因而對算法實現(xiàn)的成本、功耗要求較高。相比于軟件實現(xiàn)計算密集的密碼學算法,硬件實現(xiàn)具有更高的性能、更低的功耗、更好的安全性、更少的ROM/RAM 資源占用等優(yōu)勢。硬件實現(xiàn)的這些優(yōu)勢促使我們研究和設計SM4-CCM 的專用硬件電路架構。

        與本文相關的文獻主要集中針對SM4 算法的某一種工作模式的硬件實現(xiàn)(如CBC 模式[10-11],CTR 模式[12])、針對SM4 算法的指令集擴展[13-14]、針對SM4 算法本身的低開銷設計[15-17]等。本文也是針對SM4 算法的一種工作模式,但是與上述文獻不同的是:①采用資源復用技術,僅用一個輪函數(shù)就實現(xiàn)了CCM 模式所包含的CBC-MAC 模式和CTR模式,不僅實現(xiàn)了加解密功能,還實現(xiàn)了完整性校驗功能;②為了降低SM4-CCM 算法的功耗,引入基于Decoder-Switch-Encoder(DSE)[18]架構的Sbox,與其他設計相比,功耗降低明顯。

        1 SM4 與SM4-CCM 算法簡介

        SM4 算法是國家密碼局2010 年公布的分組密碼算法行業(yè)標準,2016 年成為國家標準,2021 年成為國際標準。該算法由加解密算法和密鑰擴展算法組成。加密算法和解密算法結構相同,均由32 輪迭代和1 個反序變換組成,二者不同之處在于輸入到迭代輪函數(shù)的輪密鑰順序相反。如圖1 所示,加解密算法迭代所需的輪密鑰由密鑰擴展算法依據輸入的128 比特主密鑰經過32 輪迭代生成,共32 個,每個輪密鑰32 比特。密鑰擴展算法與加密算法結構相似,但是不需要反序變換。關于SM4 算法的詳細介紹可以查看文獻[19]。

        圖1 SM4 加解密算法和密鑰擴展算法示意圖

        CCM 算法是美國NIST 提出的分組密鑰算法認證加密工作模式,由兩種工作模式組成:用于產生128 比特消息認證碼的CBC-MAC 模式和用于加解密的CTR 模式。因而,CCM 算法既能對輸入數(shù)據進行加解密,又能保障數(shù)據的完整性。關于CCM 模式的詳細介紹可以查看文獻[20]。CCM 算法對數(shù)據的處理可分為四個階段:Nonce 數(shù)據的處理、AAD 數(shù)據的處理、明文數(shù)據的處理以及認證碼的生成。圖2 為按照這四個階段繪制的CCM 算法簡化流程圖,其中,AAD 為認證附加數(shù)據,用于提升算法的安全性,不需要對其進行加解密。從圖2 中可以看,輸入的明文需同時送入工作于CBC-MAC 模式的SM4模塊和工作于CTR 模式的SM4 模塊。這兩個SM4模塊完全相同,只不過輸入的數(shù)據不同。

        圖2 簡化之后的CCM 算法示意圖

        由上述分析可知,SM4-CCM 算法可從兩個層面實現(xiàn)資源復用以降低資源開銷,即SM4 算法本身的實現(xiàn)層面和CCM 算法的實現(xiàn)層面。

        2 硬件架構設計

        基于前文分析,借助于資源復用技術,本節(jié)提出一種低開銷、低功耗的SM4-CCM 硬件架構設計。

        2.1 整體架構

        圖3 給出了本文提出的SM4-CCM 硬件架構。如圖3 所示,采用狀態(tài)機控制單個SM4 算法內核,以分時復用的方式實現(xiàn)SM4-CCM 正向加密和反向驗證算法。整體架構主要包括:SM4 算法內核、SM4-CCM 算法控制狀態(tài)機、總線讀/寫接口、3 個控制類寄存器和5 個128 比特的數(shù)據寄存器。其中,控制寄存器控制算法開關和工作模式,數(shù)據類型寄存器指示總線寫入數(shù)據的類型,狀態(tài)寄存器存放SM4-CCM 算法狀態(tài)或者驗證結果。為了降低設計難度,SM4-CCM IP 處理完一個128 比特的數(shù)據塊即返回空閑狀態(tài)。因此需要為每次輸入的數(shù)據塊指明數(shù)據類型,依據數(shù)據塊類型是計數(shù)器初值、AAD 還是明文數(shù)據塊觸發(fā)狀態(tài)機進入不同的模式,待計算完畢之后將SM4 算法內核的計算結果存入對應的結果寄存器中。當所有數(shù)據傳遞完畢之后,將數(shù)據類型寄存器中的“FINISH”標志位置高,那么狀態(tài)機將控制SM4 算法內核完成最后一次計算,生成MAC值寫入CBC-MAC 結果寄存器中,上位機通過總線讀接口讀取該值。

        圖3 本文提出的SM4-CCM 硬件架構框圖

        2.2 控制狀態(tài)機

        本文提出的設計支持SM4-CCM 正向加密和反向驗證,圖4 給出狀態(tài)機狀態(tài)跳轉示意圖。當SM4-CCM IP 使能時,一旦檢測到總線寫接口向總線數(shù)據寄存器寫入數(shù)據即啟動狀態(tài)機。

        圖4 本文提出的SM4-CCM 控制狀態(tài)機狀態(tài)跳轉示意圖

        對于SM4-CCM 正向加密采用以下執(zhí)行流程:①將密鑰存入SM4 算法內核中的密鑰狀態(tài)寄存器;②將總線數(shù)據寄存器中的數(shù)據存入SM4 算法內核中的加解密狀態(tài)寄存器;③依據數(shù)據類型,執(zhí)行狀態(tài)跳轉,如果是計數(shù)器初值或者AAD 數(shù)據,則進行CBC-MAC 模式后返回空閑狀態(tài)(狀態(tài)跳轉路徑①→②→③→⑧);如果是明文數(shù)據則進入CBCMAC 模式之后再進入CTR 模式最后返回空閑狀態(tài)(狀態(tài)跳轉路徑①→②→③→⑤→⑥);如果數(shù)據傳遞完畢,在收到數(shù)據傳遞完畢信號(數(shù)據類型寄存器中“FINISH”標志置高)則直接進入CTR 模式,對計數(shù)器初值加密之后與CBC-MAC 結果異或得到所有數(shù)據的MAC(狀態(tài)跳轉路徑①→②→④→⑥)。

        對于SM4-CCM 反向驗證采用以下流程:步驟①、②與SM4-CCM 正向加密流程完全一致;③依據數(shù)據類型,執(zhí)行狀態(tài)跳轉,如果是計數(shù)器初值或者AAD 數(shù)據,則進行CBC-MAC 模式后返回空閑狀態(tài)(狀態(tài)跳轉路徑①→②→③→⑧);如果是密文數(shù)據則進入CTR 模式之后再進入CBC-MAC 模式最后返回空閑狀態(tài)(狀態(tài)跳轉路徑①→②→④→⑦→⑧);如果數(shù)據傳遞完畢,在收到數(shù)據傳遞完畢信號(數(shù)據類型寄存器中“FINISH”標志置高)則直接進入CTR 模式,對計數(shù)器初值加密之后與CBC-MAC 結果異或得到所有數(shù)據的MAC(狀態(tài)跳轉路徑①→②→④→⑥),最后將其與原始MAC 比較確認數(shù)據是否完整。

        2.3 SM4 硬件架構

        圖5 給出了SM4 算法內核的架構設計,該模塊負責完成SM4 算法的加解密算法和密鑰擴展算法。其中,密鑰擴展算法采用的是在線生成方法,因而無需存放32 個32 bit 的擴展密鑰。SM4 算法內核中包含一個密鑰擴展/加解密共享輪函數(shù),其架構如圖6 所示。共享輪函數(shù)交替工作于密鑰擴展模式和加解密模式。密鑰擴展模式在前,加解密模式在后。密鑰擴展模式下產生的狀態(tài)數(shù)據存放于密鑰擴展狀態(tài)寄存器中,其低32 bit 輸出作為加解密模式下的輪密鑰。兩種模式交替執(zhí)行32 次之后一個128 bit 的數(shù)據塊處理完畢。另外,由于SM4-CCM在CBC-MAC 和CTR 模式下輸入到SM4 算法內核進行加密的數(shù)據是不一樣的,需要特殊處理。在CBC-MAC 模式下,總線數(shù)據與上一個CBC-MAC 結果異或之后送入加解密狀態(tài)寄存器,在輪函數(shù)32 輪的迭代之后,直接將加解密狀態(tài)寄存器中的數(shù)據輸出寫入到CBC 結果寄存器。在CTR 模式下,輸入到加解密狀態(tài)寄存器的數(shù)據是計數(shù)器的值,在輪函數(shù)32 輪迭代之后,輸出結果與總線數(shù)據寄存器異或之后寫入到CTR 結果寄存器。

        圖5 SM4 算法內核硬件架構框圖

        圖6 密鑰擴展/加解密共享輪函數(shù)硬件架構框圖

        密鑰擴展/加解密共享輪函數(shù)架構較為簡單,如圖6 所示,輸入是4 個32 bit 數(shù)據,經過異或之后生成一個32 bit 數(shù)據。該數(shù)據將分4 個時鐘周期輪流將其各個字節(jié)送入到Sbox 中進行字節(jié)替換。替換之后的32 bit 數(shù)據依當前模式是密鑰擴展還是加解密模式,采用不同的移位和異或方式輸出并更新狀態(tài)寄存器。

        2.3.1 基于DSE 架構的Sbox

        為了降低功耗,本文采用了基于Decoder-Switch-Encoder 架構的Sbox[18]。這種Sbox 被認為是功耗最低的一種Sbox[21],但是面積較基于查找表的Sbox 或者基于復合域的Sbox 面積大。然而,由于本文只采用單個Sbox,因而對整個SM4-CCM IP的面積影響較小。其架構如圖7 所示,輸入為1 個字節(jié)8 個信號,經過譯碼器之后轉換成為256 個信號組成的獨熱信號。連線模塊將256 位的獨熱信號按照SM4 標準中定義的替換表固定連接輸入和輸出。經過連線模塊輸出依然是256 位的獨熱信號,再經過編碼器識別出256 位的獨熱信號1 的位置,將其轉換成8 比特的位置索引值。獨熱信號的引入使得Sbox 內部信號翻轉率降低,而功耗與信號翻轉率成正比,因而可以降低功耗。

        圖7 基于Decoder-Switch-Encoder 架構的Sbox

        3 實驗結果與分析

        為了評估本文提出的SM4-CCM 算法硬件架構的性能、面積和功耗,本文采用Verilog HDL 對其進行了描述,采用Synopsys EDA 工具鏈對其進行功能驗證和仿真以獲得吞吐率報告、綜合以獲得面積報告、門級功耗分析以獲得功耗報告。

        圖8 給出了SM4 模塊的仿真結果,當輸入數(shù)據塊和密鑰均為0123456789ABCDEFFEDCBA98765 43210 時,加密結果應為681EDF34D206965E86 B3E94F536E4246,仿真截圖證明SM4 模塊功能的正確性。

        圖8 SM4 模塊的仿真結果

        圖9 給出了SM4-CCM 仿真結果,實驗數(shù)據來源于文獻[9],Nonce 數(shù)值為00001234567800000000 ABCD,密鑰為 0123456789ABCDEFFEDCBA9876 543210,明文為AAAAAAAAAAAAAAAABBBBBB BBBBBBBBBBCCCCCCCCCCCCCCCCDDDDDDDDD DDDDDDDEEEEEEEEEEEEEEEEFFFFFFFFFFFFF FFFEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAA,AAD 數(shù)據為FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2,最終的認證碼應該為16842D4FA186F56AB33256971FA110F4,圖9 仿真截圖證明本文設計的SM4-CCM 硬件電路的功能正確性。

        圖9 SM4-CCM 的仿真結果

        表1 給出了本文設計的性能評估結果。在90 nm工藝100 MHz 時鐘頻率下,本文設計的硬件電路吞吐率達到32.12 Mbps,面積為31 428 門,而功耗只有1.338 mW。

        表1 本文設計的性能評估結果

        為了獲得較為精確的功耗分析結果,本文首先采用門級后仿真的方式獲得SAIF 文件,然后將其載入到功耗分析工具PrimeTime-PX 進行分析,由此獲得了較為精確的功耗分析報告,具體結果如表2 所示。從表2 可以看出,本文架構的動態(tài)功耗、靜態(tài)功耗和泄露功耗分別為84.2 μW、1.223 mW 和30.96 μW,三者分別占了總功耗的6.29%、91.4%和2.31%。

        表2 本文設計的門級功耗分析結果

        表3 羅列本文架構與參考文獻的比較結果。從表中可以看出,僅有本文設計實現(xiàn)了SM4-CCM 算法,并且本文設計的功能涵蓋列表中所有文獻的功能。與文獻[15,22]相比,本文設計功耗最低,但是由于SM4-CCM 算法復雜度相較于SM4 算法高很多,使得本文設計的面積開銷較二者高。雖然本文架構的吞吐率較其他文獻低,但是考慮到本文面向的是物聯(lián)網領域,而該領域的無線通信協(xié)議對數(shù)據速率要求較低(比如LoRa 的數(shù)據速率僅為250 kbps),因而可得出以下結論:本文提出的SM4-CCM 硬件架構是一種具有低開銷、低功耗、吞吐率適中、完全滿足物聯(lián)網應用需求的設計。

        表3 本文設計與參考文獻的性能比較

        最后,為了證明本文提出的硬件架構功能的正確性,我們將其實現(xiàn)并下載到DE10-Standard FPGA開發(fā)板,然后通過Signal Tap 邏輯分析儀抓取FPGA芯片運行結果,原型驗證環(huán)境如圖10(a)所示。我們將RFC 8998 提供的SM4-CCM 測試向量以MIF文件的方式載入到FPGA 中,然后通過邏輯分析儀抓取波形。圖10(b)所示的波形抓取結果與RFC 8998 中的結果完全一直,證明本文提出的硬件架構的功能正確性。

        圖10 本文設計的FPGA 原型驗證環(huán)境和抓取波形

        4 總結

        面向物聯(lián)網終端數(shù)據安全保護需求,本文以SM4-CCM 認證加密算法為對象,借助于資源復用技術,研究和設計了一款SM4-CCM 算法專用硬件架構。在TSMC 90 nm 工藝下的實驗結果顯示,本文提出的硬件架構設計的面積開銷、功耗、吞吐率分別為31428 門、1.338 mW、32.12 Mbps@ 100MHz。實驗結果表明,本文提出的架構設計具有低開銷、低功耗、吞吐率適中的特點,能夠滿足物聯(lián)網終端對數(shù)據保護的應用需求。后續(xù)研究將面向物聯(lián)網數(shù)據安全,研究和設計更多的滿足物聯(lián)網應用需求的密碼算法IP。

        猜你喜歡
        加解密寄存器功耗
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        分簇結構向量寄存器分配策略研究*
        PDF中隱私數(shù)據的保護方法
        軟件導刊(2017年4期)2017-06-20 20:35:24
        揭開GPU功耗的面紗
        個人電腦(2016年12期)2017-02-13 15:24:40
        數(shù)字電路功耗的分析及優(yōu)化
        電子制作(2016年19期)2016-08-24 07:49:54
        電子取證中常見數(shù)據加解密理論與方法研究
        基于FPGA的LFSR異步加解密系統(tǒng)
        “功耗”說了算 MCU Cortex-M系列占優(yōu)
        電子世界(2015年22期)2015-12-29 02:49:44
        IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
        電源技術(2015年11期)2015-08-22 08:51:02
        網絡數(shù)據傳輸?shù)募咏饷芟到y(tǒng)研究
        軟件工程(2014年11期)2014-11-15 20:02:46
        一区二区三区四区日韩亚洲| 国产影片中文字幕| 国产精品久久久三级18| 亚洲av成人精品一区二区三区 | 精品国产三级国产av| 91精品人妻一区二区三区久久久| 被三个男人绑着躁我好爽视频| 中文乱码人妻系列一区二区| 无码8090精品久久一区| 亚洲女同系列在线观看| 4hu四虎永久免费地址ww416| 中文字幕日本特黄aa毛片| 国产又黄又爽又无遮挡的视频| 免费av在线 国产精品| 国产成人精品免费久久久久| 国产97在线 | 免费| 久久久一本精品99久久| 日本女优久久精品观看| 中文字幕亚洲精品无码| 品色堂永远的免费论坛| 亚洲中文字幕av一区二区三区人| 一区二区三区午夜视频在线 | 日日噜噜夜夜狠狠久久无码区| 国产精品亚洲国产| 国产精品亚洲一二三区| 97在线视频免费人妻| 亚洲中文无码av在线| 国产一区二区三区亚洲精品| av免费在线免费观看| 少妇久久久久久被弄到高潮| 国产熟女亚洲精品麻豆| 国产成年无码久久久久下载| 久久久精品国产免费看| 日韩乱码人妻无码中文字幕久久| 成人精品一级毛片| 亚洲av自偷自拍亚洲一区| 老妇高潮潮喷到猛进猛出| 日日躁夜夜躁狠狠躁超碰97| 无码国产一区二区色欲| 色婷婷久久精品一区二区| 中文字幕在线观看亚洲日韩|