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

        ?

        SHA算法的硬件設(shè)計(jì)與實(shí)現(xiàn)

        2020-10-20 07:55:56張陽
        科學(xué)與信息化 2020年17期

        張陽

        摘 要 本文先簡(jiǎn)單介紹了一種用于消息認(rèn)證的加密算法——SHA的原理,接著結(jié)合FPGA的硬件特性,重點(diǎn)闡述了一種用于安全協(xié)處理器中的SHA密碼芯片的方案設(shè)計(jì)及優(yōu)化方法,最后給出了硬件實(shí)現(xiàn)過程和較好的測(cè)試結(jié)果。

        關(guān)鍵詞 散列函數(shù);安全散列算法;SHA

        引言

        Hash函數(shù)是把可變輸入長(zhǎng)度串轉(zhuǎn)換成固定長(zhǎng)度輸出串的一種函數(shù)。一個(gè)安全的hash函數(shù)必須滿足下面的條件:對(duì)任意長(zhǎng)度的消息,產(chǎn)生固定長(zhǎng)度的hash值;由消息到hash值的映射過程易于實(shí)現(xiàn);由hash值反映射為原始消息是不可行的;欲構(gòu)造任意兩個(gè)不同的明文,使其有相同的hash值,也是不可行的。常用的單向hash函數(shù)有MD5,SHA等,而SHA因其實(shí)現(xiàn)更簡(jiǎn)單,安全性更高,而更為廣泛地應(yīng)用于身份認(rèn)證,數(shù)據(jù)完整性鑒別等方面。

        SHA(Secure Hash Algorithm)由美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)協(xié)會(huì)(NIST)開發(fā),于1993年作為聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS PUB 180)發(fā)表。SHA由麻省理工學(xué)院的Ron rivest開發(fā),設(shè)計(jì)很近似于MD4模型,易于硬件實(shí)現(xiàn)。本文所述的SHA密碼芯片采用FPGA技術(shù)實(shí)現(xiàn),主要應(yīng)用于安全協(xié)處理器中[1]。

        1 SHA算法原理

        SHA對(duì)長(zhǎng)度不超過264的消息產(chǎn)生160位的消息摘要輸出,其步驟如下:

        (1)消息預(yù)處理。先填充附加位,使消息長(zhǎng)度對(duì)512取模余448。即使信息已經(jīng)達(dá)到需要的長(zhǎng)度,也需進(jìn)行填充,因此填充消息長(zhǎng)度范圍是1至512。附加位為單個(gè)“1”和若干個(gè)“0”。按上述方式填充后,再填充64位原消息長(zhǎng)度,使消息長(zhǎng)度恰好是512的整數(shù)倍。

        (2)SHA運(yùn)算。其運(yùn)算流程如圖1所示。圖中,CV為160位的hash值。先將其初始化為CV0,與對(duì)應(yīng)的消息分組Y0作SHA運(yùn)算后生成hash值CV1;再將CV1與Y1作SHA運(yùn)算后生成CV2。共進(jìn)行L次迭代運(yùn)算后得到的CVL即為最終的hash函數(shù)值。

        將CV用5個(gè)32位字(A,B,C,D,E)表示,其初始值CV0為如下16進(jìn)制值:

        A=67452301;B=EFCDAB89;C=98BADCFE;D=10325476;E=C3D2E1F0。

        在圖1的SHA運(yùn)算功能模塊中,先將Yi分為80個(gè)16位的子分組;再分別參與80輪迭代;最后將最終迭代結(jié)果的每個(gè)字與CVi的對(duì)應(yīng)字作模232加法,從而生成CVi+1。

        Y的子分組過程為:先將512位Y分為16個(gè)32位M t(t=0~15),再由此產(chǎn)生80個(gè)32位子分組W t(t=0~79)。產(chǎn)生方式如下:

        W t=M t ,(t=0~15);

        Wt=(M t-3⊕M t-8⊕M t-14⊕M t-16)<<1,(t=16~79)。

        <<表示循環(huán)左移,+表示模232加,F(xiàn)t與Kt隨t變化。

        (3)輸出hash值。將進(jìn)行L次SHA運(yùn)算后得到的CVL緩存后輸出。

        2 密碼芯片的方案設(shè)計(jì)

        該SHA密碼芯片用于安全協(xié)處理器(PCI板)上,受外圍電路時(shí)鐘頻率和數(shù)據(jù)寬度限制。為使該設(shè)計(jì)芯片和外圍電路協(xié)調(diào)工作,可將SHA算法系統(tǒng)的設(shè)計(jì)方案分為如下三個(gè)模塊:消息預(yù)處理模塊、SHA算法實(shí)現(xiàn)模塊和hash值輸出模塊 [2]。SHA算法實(shí)現(xiàn)模塊是設(shè)計(jì)的核心模塊,主要完成SHA運(yùn)算。根據(jù)其流程特點(diǎn)及硬件結(jié)構(gòu),進(jìn)行如下設(shè)計(jì)和優(yōu)化。

        2.1 子分組W的生成

        如上節(jié)所述,1次SHA運(yùn)算需要80個(gè)32位子分組Wt,而在實(shí)際設(shè)計(jì)時(shí),根據(jù)其產(chǎn)生規(guī)律和硬件結(jié)構(gòu),僅需16×32位的RAM和1個(gè)32位的寄存器即可。先將Wt(t=0~15)依次存于RAM中;而32位寄存器用以存儲(chǔ)從RAM中取出4個(gè)相應(yīng)的Wt進(jìn)行異或移位的值;此后,每個(gè)新的Wt均直接從該寄存器中直接讀取,并同時(shí)更新RAM中對(duì)應(yīng)的Wt的值。因此,每個(gè)新的Wt的產(chǎn)生公式則變?yōu)椋?/p>

        wt <=(w(t mod 16) xor w((t+2)mod 16) xor w((t+8)mod 16) xor w((t+13)mod 16))<<1;

        80個(gè)子分組Wt在經(jīng)過上述5輪RAM循環(huán)寫操作后全部產(chǎn)生。而80個(gè)子分組Wt參與加密運(yùn)算,即對(duì)RAM的讀操作,也與寫操作同時(shí)進(jìn)行。經(jīng)過上述處理,能最大程度地節(jié)約FPGA中寶貴的存儲(chǔ)資源,并能較好的簡(jiǎn)化硬件操作的復(fù)雜度。

        3.2 80輪迭代

        由于80輪迭代的流程完全相同,故可以設(shè)計(jì)一個(gè)迭代模塊,再對(duì)其復(fù)用80次,每次迭代的輸出存入寄存器中,作為下一輪迭代的輸入,這樣可極大的優(yōu)化FPGA的硬件資源。其中,循環(huán)移位運(yùn)算硬件容易實(shí)現(xiàn)。Ft是關(guān)于B、C、D和t的非線性函數(shù),可采用多路選擇器產(chǎn)生。在具體實(shí)現(xiàn)時(shí),可將B、C、D參與運(yùn)算的可能的結(jié)果預(yù)先以異步方式先算出,再由t作判斷,指定1路結(jié)果[3]。

        3.3 模232加法運(yùn)算

        模232加法運(yùn)算多次應(yīng)用于SHA運(yùn)算過程中,直接關(guān)系到密碼芯片的運(yùn)算速度??紤]到模塊的復(fù)用性,所有的模加運(yùn)算均采用4個(gè)8位分塊的超前進(jìn)位加法器并接實(shí)現(xiàn),其結(jié)構(gòu)如圖4所示。

        參考文獻(xiàn)

        [1] 殷輝,胡曉宇.適用于家庭安全網(wǎng)關(guān)的HMAC SHA3算法的硬件設(shè)計(jì)[J].集成電路應(yīng)用,2020,37(5):14-17.

        [2] 房海松,司偉建.基于FPGA的二維譜峰搜索算法硬件架構(gòu)設(shè)計(jì)[J].空天防御,2020,3(1):58-64.

        [3] 谷會(huì)濤,武宗濤.基于雙重流水同步迭代的SM3算法高速硬件設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2020,46(2):54-56.

        青青草视频国产在线观看 | 久热这里只有精品视频6| chinesefreexxxx国产麻豆| 中文字幕日本熟妇少妇| 男人天堂亚洲一区二区| 欧美黑人又大又粗xxxxx| 亚洲日本va午夜在线电影| 99精品国产第一福利网站| 亚洲人成精品久久熟女| 一本加勒比hezyo无码专区| 人妻丰满熟妇av无码处处不卡| 欧美中文在线观看| 蜜桃av区一区二区三| 国产亚洲精品97在线视频一| 久激情内射婷内射蜜桃| 大陆一级毛片免费播放| 中文字幕被公侵犯的丰满人妻| 国产午夜免费啪视频观看| 中文字幕一精品亚洲无线一区| 艳妇臀荡乳欲伦交换在线播放| 亚洲av成人一区二区三区av| 人妻少妇中文字幕久久69堂| 亚洲一区二区三区偷拍视频| 无码va在线观看| 免费在线视频一区| 国产一区二区三区在线观看蜜桃| 少妇连续高潮爽到抽搐| 漂亮人妻被中出中文字幕久久| 在教室伦流澡到高潮hnp视频| 欧美激情国产一区在线不卡| 天堂久久一区二区三区| 97人伦色伦成人免费视频| 伊人影院综合在线| 国产伦精品一区二区三区在线| av成人一区二区三区| 天天躁日日躁狠狠久久| 精品国产AⅤ无码一区二区| 韩国黄色三级一区二区| 中文字幕日韩欧美一区二区三区| 亚洲男人的天堂在线播放| 欧美人与动牲交片免费|