[發明專利]基于廣義二維貓映射的輕量級分組密碼算法GCM的加密方法有效
| 申請號: | 202110746280.0 | 申請日: | 2021-07-01 |
| 公開(公告)號: | CN113343276B | 公開(公告)日: | 2022-06-14 |
| 發明(設計)人: | 李浪;陳文 | 申請(專利權)人: | 衡陽師范學院 |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/62;G06F21/64 |
| 代理公司: | 長沙市融智專利事務所(普通合伙) 43114 | 代理人: | 龔燕妮 |
| 地址: | 421200 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 廣義 二維 映射 輕量級 分組 密碼 算法 gcm 加密 方法 | ||
1.一種基于廣義二維貓映射的輕量級分組密碼算法GCM的加密方法,其特征在于,包括如下步驟:
步驟1:將待加密的數據分成4個16位的加密分組數據X0||X1||X2||X3;
步驟2:將加密分組數據X0進行第一次輪運算獲得X′0,將X′0與加密分組數據X1進行異或操作作為運算結果;
步驟3:將步驟2的運算結果與加密分組數據X3進行異或運算;
步驟4:將步驟3獲得的運算結果進行第二次輪運算;
步驟5:獲取更新后的輪密鑰;
密鑰更新,并將更新后的密鑰的中間32位等分成2個16位左輪密鑰右輪密鑰1≤i≤R,R表示迭代輪次,取值為27;
步驟6:將步驟2中的運算結果與左輪密鑰進行輪密鑰加運算;
步驟7:將步驟1中分組數據X2與右輪密鑰進行輪密鑰加運算;
步驟8:將步驟1中的分組數據X0、步驟4獲得的運算結果分別與步驟7中獲得的運算結果進行異或運算;
步驟9:將步驟3、步驟6以及步驟8獲得的運算結果進行P1置換;
步驟10:將步驟9獲得結果重復執行步驟1至步驟9,繼續迭代R-1輪,第R輪迭代時,重復執行步驟1至步驟8后,輸出密文;
所述密鑰更新過程如下:
步驟A:若當前迭代次數不為1,則對上一次更新后的密鑰進行向左循環移32位操作,進入下一步驟,否則,設置96位的初始密鑰,直接進入下一步驟;
步驟B:取當前密鑰的第61-65位進行輪常量加操作,將獲得的結果與當前密鑰的第1-60位進行合并;
步驟C:對步驟B得到的結果的前64位調用輪函數F進行更新操作,再與當前密鑰的后32位密鑰拼接成新的96位密鑰;
所述P1置換操作過程如下:
將待進行P1置換的64位數據按照8×8矩陣進行排列,將每一位數據在矩陣中的位置坐標作為自主構造的廣義二維貓映射的輸入值,經過自主構造的廣義二維貓映射得到新位置坐標,再進行如下操作:
第一步,將矩陣中所有原位置坐標所存的數據賦值到新位置坐標處,得到置換后的64位數據;
第二步,對置換后的64位數據進行向左循環移3位的操作;
對上述兩步操作迭代M-1次,在第M次迭代時,只執行第一步操作,所得的結果即P1置換的結果;
所述自主構造的廣義二維貓映射的公式如下:
其中,g為廣義二維貓映射控制參數,取值為每輪密鑰的首3位,N為輸入數據的位數,取值為8;(x0,y0)為數據在8×8矩陣中的原位置坐標,(x1,y1)為經廣義二維貓映射置亂后的8×8矩陣中位置坐標,8×8矩陣的坐標范圍為(0,0)到(7,7)。
2.根據權利要求1所述的方法,其特征在于,奇數輪時,輪運算使用F1函數;偶數輪時,輪運算使用F0函數;
所述F0函數和F1函數均包含:并列的向左循環移0位運算、向左循環移3位運算、向左循環移1位運算,左移0位運算的結果和向左循環移3位運算的結果進行組合運算后的結果再與向左循環移1位運算的結果進行異或運算;其中,F0函數和F1函數中的組合運算分別為與運算和與非運算。
3.根據權利要求1所述的方法,其特征在于,所述密鑰更新中使用的輪常量是將加密輪數作為5位的輪常量。
4.根據權利要求1所述的方法,其特征在于,所述M取值為16。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于衡陽師范學院,未經衡陽師范學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110746280.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:分布式調用日志打印的方法
- 下一篇:一種基于患者信息的建議生成方法及系統





