[發(fā)明專利]一種基于Sponge結(jié)構(gòu)的輕量級(jí)哈希函數(shù)構(gòu)造方法有效
| 申請(qǐng)?zhí)枺?/td> | 201711240500.2 | 申請(qǐng)日: | 2017-11-30 |
| 公開(kāi)(公告)號(hào): | CN107769911B | 公開(kāi)(公告)日: | 2020-07-28 |
| 發(fā)明(設(shè)計(jì))人: | 趙太飛;尹航;郭嘉文;李永明;雷洋飛 | 申請(qǐng)(專利權(quán))人: | 西安理工大學(xué) |
| 主分類號(hào): | H04L9/06 | 分類號(hào): | H04L9/06 |
| 代理公司: | 西安弘理專利事務(wù)所 61214 | 代理人: | 羅磊 |
| 地址: | 710048*** | 國(guó)省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 sponge 結(jié)構(gòu) 輕量級(jí) 函數(shù) 構(gòu)造 方法 | ||
1.一種基于Sponge結(jié)構(gòu)的輕量級(jí)哈希函數(shù)構(gòu)造方法,其特征在于,該Sponge結(jié)構(gòu)為迭代結(jié)構(gòu),其內(nèi)部操作為壓縮函數(shù),具體方法按照以下步驟實(shí)施:
步驟1、消息預(yù)處理
首先將輸入的文本消息轉(zhuǎn)換為對(duì)應(yīng)的ASCII碼,再將對(duì)應(yīng)的ASCII碼轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制數(shù)據(jù),然后進(jìn)行填充操作:在消息后面填充一個(gè)1,然后填充若干個(gè)0,使消息長(zhǎng)度為r的最小整數(shù)倍,并將內(nèi)存狀態(tài)的初始值設(shè)為0;
步驟2、消息吸收處理
將經(jīng)步驟1預(yù)處理后的消息通過(guò)壓縮函數(shù)的多輪迭代完成吸收,具體為:
步驟2.1、首先將預(yù)處理后的消息分為r=8bit一組,共S組,第一個(gè)分組的r=8bit位數(shù)據(jù)與初始內(nèi)存狀態(tài)的前r=8bit位0進(jìn)行異或運(yùn)算,與剩下初始內(nèi)存狀態(tài)的c=56bit位0拼接在一起通過(guò)壓縮函數(shù)運(yùn)算得到64bit中間狀態(tài);
步驟2.2、將中間狀態(tài)的前8位與預(yù)處理消息的第二個(gè)分組進(jìn)行異或運(yùn)算,與剩下中間狀態(tài)的56bit數(shù)據(jù)拼接在一起再次通過(guò)壓縮函數(shù)進(jìn)行運(yùn)算,依次進(jìn)行計(jì)算直到S組預(yù)處理消息運(yùn)算完畢,完成吸收操作,將不定長(zhǎng)的消息變?yōu)槎ㄩL(zhǎng)的中間狀態(tài);
步驟3、壓縮函數(shù)處理
每輪壓縮處理時(shí)首先將輸入的定長(zhǎng)的中間狀態(tài)與產(chǎn)生的輪密鑰進(jìn)行輪密鑰加AddRoundKey(·)操作,再通過(guò)非線性置換層Substitution(·)進(jìn)行非線性置換,然后進(jìn)行移位操作RotateNibbles(·),再通過(guò)線性置換層Permutation(·)進(jìn)行線性置換,最后將輪密鑰與本輪輪數(shù)通過(guò)密鑰生成算法進(jìn)行輪密鑰的更新,本輪處理結(jié)束,進(jìn)入下輪迭代,依次迭代i輪,i表示輪數(shù),完成壓縮函數(shù)處理,得到經(jīng)壓縮函數(shù)處理的中間狀態(tài);
步驟4、消息擠壓處理
將經(jīng)過(guò)步驟2消息吸收處理后的定長(zhǎng)的中間狀態(tài)取前r=8bit數(shù)據(jù)為第一個(gè)子串H0,然后將經(jīng)過(guò)步驟3處理得到的經(jīng)壓縮函數(shù)處理的中間狀態(tài)再次取前8bit數(shù)據(jù)為第二個(gè)子串H1,依次進(jìn)行處理得到8個(gè)子串,拼接到一起即為最后的64bit消息摘要。
2.根據(jù)權(quán)利要求1所述的一種基于Sponge結(jié)構(gòu)的輕量級(jí)哈希函數(shù)構(gòu)造方法,其特征在于,所述Sponge結(jié)構(gòu)的具體參數(shù)設(shè)置為:吞吐率r=8bit,容量c=56bit,置換長(zhǎng)度b=64bit,消息摘要長(zhǎng)度為64bit,擁有64bit的內(nèi)存狀態(tài)。
3.根據(jù)權(quán)利要求1所述的一種基于Sponge結(jié)構(gòu)的輕量級(jí)哈希函數(shù)構(gòu)造方法,其特征在于,步驟3中所述的輪密鑰的生成算法采用典型的Feistel結(jié)構(gòu),將迭代輪數(shù)Nr作為變量參與運(yùn)算,密鑰更新流程如下:
ski+1[0]=ski[5];
ski+1[1]=ski[6];
ski+1[2]=ski[7]⊕Nr;
ski+1[3]=ski[4];
ski+1[4]=ski[1]⊕ski[5];
ski+1[5]=sbox[ski[2]⊕ski[6]];
ski+1[6]=sbox[ski[3]⊕ski[7]];
ski+1[7]=ski[0]⊕ski[4];
其中,ski[n]表示第i輪密鑰的第n個(gè)字節(jié),⊕表示異或運(yùn)算,sbox[?]表示用s盒對(duì)數(shù)據(jù)進(jìn)行非線性變換。
4.根據(jù)權(quán)利要求3所述的一種基于Sponge結(jié)構(gòu)的輕量級(jí)哈希函數(shù)構(gòu)造方法,其特征在于,所述輪密鑰加后的定長(zhǎng)的中間狀態(tài)通過(guò)Substitution(·)層進(jìn)行非線性置換,所述Substitution(·)層采用16個(gè)并行相同的s盒,s盒為Klein中的4位s盒。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安理工大學(xué),未經(jīng)西安理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711240500.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 卡片結(jié)構(gòu)、插座結(jié)構(gòu)及其組合結(jié)構(gòu)
- 鋼結(jié)構(gòu)平臺(tái)結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 單元結(jié)構(gòu)、結(jié)構(gòu)部件和夾層結(jié)構(gòu)
- 鋼結(jié)構(gòu)扶梯結(jié)構(gòu)
- 鋼結(jié)構(gòu)隔墻結(jié)構(gòu)
- 鋼結(jié)構(gòu)連接結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 高速高帶寬AHB總線到低速低帶寬AHB總線的雙向轉(zhuǎn)換橋
- 可拆裝換鉤頭的1輕量級(jí)的鋁制手柄及十四枚鋼鉤針組合
- 一種輕量級(jí)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法、裝置、設(shè)備和介質(zhì)
- 一種輕量級(jí)節(jié)點(diǎn)的數(shù)據(jù)傳輸方法、裝置、設(shè)備和介質(zhì)
- 輕量級(jí)請(qǐng)求的并發(fā)處理方法及相關(guān)設(shè)備
- 一種輕量級(jí)深度卷積神經(jīng)網(wǎng)絡(luò)的FPGA實(shí)現(xiàn)方法
- 一種小區(qū)選擇方法、輕量級(jí)終端及網(wǎng)絡(luò)設(shè)備
- 授權(quán)簽名生成方法、節(jié)點(diǎn)管理方法、裝置、設(shè)備和介質(zhì)
- 輕量級(jí)桌面機(jī)械臂底座及輕量級(jí)桌面機(jī)械臂
- 輕量級(jí)機(jī)械臂束線結(jié)構(gòu)、輕量級(jí)機(jī)械臂及機(jī)器人





