[發明專利]一種實現Magpie加解密的方法有效
| 申請號: | 201310717294.5 | 申請日: | 2013-12-23 |
| 公開(公告)號: | CN103746795A | 公開(公告)日: | 2014-04-23 |
| 發明(設計)人: | 李浪;賀位位;劉波濤;鄒祎;許瓊方;劉輝 | 申請(專利權)人: | 衡陽師范學院 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 長沙市融智專利事務所 43114 | 代理人: | 黃美成 |
| 地址: | 421002 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 magpie 解密 方法 | ||
1.一種實現Magpie加解密的方法,其特征在于,包括以下幾個步驟:
步驟1:將64位明文或64位密文加載至寄存器;
步驟2:將待加/解密數據與96位密鑰前64位進行輪密鑰加運算獲得中間運算結果,依據控制信號對待加/解密數據進行32輪運算;
1)依據控制信號對中間運算結果進行輪運算操作;
當控制信號select0為1時,輪運算操作步驟如下:
2)對1)中所述的中間運算結果進行常數加運算;
3)對2)得到的運算結果采用S盒進行字節變換運算;
4)對3)得到的運算結果進行行移位變換運算;
5)對4)得到的運算結果進行列混合變換運算;
6)對5)得到的運算結果進行輪密鑰加運算,然后密鑰更新;
7)以6)得到的運算結果作為新的中間運算結果進行下一輪運算,如果到達第32輪運算操作,則輸出當前運算結果完成加/解密操作,否則返回1);
當控制信號select0為0時,輪運算操作步驟如下:
8)密鑰更新,然后對1)中所述的中間運算結果進行輪密鑰加運算;
9)對8)得到的運算結果進行列混合變換運算;
10)對9)得到的運算結果進行行移位變換運算;
11)對10)得到的運算結果采用S盒進行字節變換運算;
12)對11)得到的運算結果進行常數加運算;
13)對12)得到的運算結果作為新的中間運算結果進行下一輪運算,如果到達第32輪運算,則輸出當前運算結果完成加/解密操作,否則返回1)。
所述的控制信號為96位密鑰的第65位到96位二進制數,其中,96位密鑰中第65位到第80位依次作為S盒變換控制信號select1,96位密鑰中第81位到第96位均作為行移位、列混合以及輪內模塊運算順序的控制信號select0,每個控制信號select1、select0連續控制兩輪輪運算;
所述密鑰更新是將96位密鑰前64位在每輪運算中做一次S盒變換,后32位保持不變;
所述常數加運算是指將待進行常數加運算的數據的第1位到第8位和第56位到第64位分別與常數加數組RC[i](0<=i<32)的第i個字節進行異或運算,i表示數組RC中的第i個元素,同時表示第i輪運算;
RC[i]=RC[31-i],(0<=i<32),其數組元素如下:
byte?RC[32]={
0x02,0x03,0x06,0x0A,
0x3C,0x92,0xA3,0x61,
0xA8,0xCD,0xFE,0x3B,
0x2C,0x6E,0x25,0x6D,
0x6D,0x25,0x6E,0x2C,
0x3B,0xFE,0xCD,0xA8,
0x61,0xA3,0x92,0x3C,
0x0A,0x06,0x03,0x02
};
進行解密操作時,與解密數據進行輪密鑰加運算操作的96位密鑰是通過將變換后輪密鑰96位密鑰中前64位二進制數不變,后32位二進制數先全部取反,然后再將取反操作的32位中后16位二進制數倒置后獲得。
2.根據權利要求1所述的實現Magpie加解密的方法,其特征在于,所述行移位變換運算操作是指將64位的輸入數據以每4位作為一個矩陣元素構成一個4*4的矩陣state:
如果控制信號select0等于1,矩陣state的第一行循環左移一個半字節,第二行循環左移1個字節,第三行循環左移半個字節,第四行保持不動;
如果控制信號二進制數select0等于0,矩陣state的第一行循環右移一個半字節,第二行循環右移1個字節,第三行循環右移半個字節,第四行保持不動。
3.根據權利要求2所述的實現Magpie加解密的方法,其特征在于,所述列混合變換運算操作是指將64位的輸入數據以每4位作為一個矩陣元素構成一個4*4的矩陣state,固定矩陣R與矩陣state相乘:
如果控制信號select0等于0,固定矩陣M為
如果控制信號select0等于1,固定矩陣M’為
4.根據權利要求1-3任一項所述的實現Magpie加解密方法,其特征在于,所述S盒變換操作受控于控制信號select1,當控制信號select1為0時,S盒為{5,e,f,8,c,1,2,d,b,4,6,3,0,7,9,a},當select1為1時,S盒為{c,5,6,b,9,0,a,d,3,e,f,8,4,7,1,2},96位密鑰中第65位到第80位依次作為S盒變換控制信號select1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于衡陽師范學院,未經衡陽師范學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310717294.5/1.html,轉載請聲明來源鉆瓜專利網。





