System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据加解密领域,特别是涉及一种数据加解密方法及系统。
技术介绍
1、常用的des使用feistel结构。加解密过程中存在大量的按位抽取,按位置换操作,操作过程复杂且难度大。
技术实现思路
1、本专利技术的目的是提供一种数据加解密方法及系统,通过按byte循环移位和按byte置换减少了加密复杂度。
2、为实现上述目的,本专利技术提供了如下方案:
3、一种数据加密方法,所述数据加密方法包括:
4、对明文进行按byte循环左移位和按byte置换处理,得到ip置换后的明文;
5、将ip置换后的明文的分为高位明文和低位明文;
6、获取多个子密钥;
7、基于多个子密钥对高位明文和低位明文进行处理,得到多个处理后的低位明文和多个处理后的高位明文;
8、对多个处理后的低位明文和多个处理后的高位明文进行按byte置换、按byte循环右移位和按byte异或处理,得到密文。
9、可选地,基于多个子密钥对高位明文和低位明文进行处理,得到多个处理后的低位明文和多个处理后的高位明文,具体包括:
10、对低位明文进行按byte循环左移位和按byte置换处理,得到处理后的低位明文;
11、令k的数值为1;
12、基于第k个子密钥对处理后的低位明文进行按byte循环左移位和按byte置换处理,得到第k个子密钥处理后的低位明文;
13、对所述高位明文和第k个子密
14、根据第k个子密钥处理后的低位明文确定第k个子密钥对应的处理后的高位明文;
15、判断是否达到预设迭代次数,得到第一判断结果;
16、若所述第一判断结果为是,则输出第k个子密钥对应的处理后的低位明文和高位明文,迭代结束;
17、若所述第一判断结果为否,则输出第k个子密钥对应的处理后的低位明文和高位明文,令k的数值加1,返回基于第k个子密钥对处理后的低位明文进行按byte循环左移位和按byte置换处理,得到第k个子密钥处理后的低位明文的步骤。
18、可选地,获取多个子密钥,具体包括:
19、获取多位密钥;
20、将多位密钥分为高位密钥和低位密钥;
21、分别对所述高位密钥和所述低位密钥进行按byte循环左移位处理,得到左移后的高位密钥和左移后的低位密钥;
22、分别对左移后的高位密钥和左移后的低位密钥进行按byte置换处理和按byte异或处理,得到多个所述子密钥。
23、可选地,对多个处理后的低位明文和多个处理后的高位明文进行按byte置换、按byte循环右移位和按byte异或处理,得到密文,具体包括:
24、对多个处理后的低位明文进行按byte置换和按byte循环右移位处理,得到右移位后的低位明文;
25、对多个处理后的高位明文进行按byte置换和按byte循环右移位处理,得到右移位后的高位明文;
26、将右移位后的低位明文作为高位,右移位后的高位明文作为低位进行按byte异或处理,得到密文。
27、一种数据加密系统,所述数据加密系统应用于上述所述的数据加密方法,所述数据加密系统包括:
28、第一置换模块,用于对明文进行按byte循环左移位和按byte置换处理,得到ip置换后的明文;
29、第一分类模块,用于将ip置换后的明文的分为高位明文和低位明文;
30、子密钥获取模块,用于获取多个子密钥;
31、第一处理模块,用于基于多个子密钥对高位明文和低位明文进行处理,得到多个处理后的低位明文和多个处理后的高位明文;
32、密文确定模块,用于对多个处理后的低位明文和多个处理后的高位明文进行按byte置换、按byte循环右移位和按byte异或处理,得到密文。
33、一种数据解密方法,所述数据解密方法应用于所述上述所述的数据解密方法,所述数据解密方法包括:
34、对密文进行按byte循环左移位和按byte置换处理,得到ip置换后的密文;
35、将ip置换后的密文的分为高位密文和低位密文;
36、获取多个逆序子密钥;
37、基于多个所述逆序子密钥对所述高位密文和所述低位密文进行处理,得到多个处理后的低位密文和多个处理后的高位密文;
38、对个处理后的低位密文和多个处理后的高位密文进行按byte置换、按byte循环右移位和按byte异或处理,得到明文。
39、一种数据解密系统,所述数据解密系统应用于上述所述的数据解密方法,所述数据解密系统包括:
40、第二ip置换函数模块,用于对密文进行按byte循环左移位和按byte置换处理,得到ip置换后的密文;
41、第二分类模块,用于将ip置换后的密文的分为高位密文和低位密文;
42、逆序子密钥获取模块,用于获取多个逆序子密钥;
43、第二f函数模型,用于基于多个所述逆序子密钥对所述高位密文和所述低位密文进行处理,得到多个处理后的低位密文和多个处理后的高位密文;
44、明文确定模块,用于对个处理后的低位密文和多个处理后的高位密文进行按byte置换、按byte循环右移位和按byte异或处理,得到明文。
45、一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的数据加密方法。
46、一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被执行时实现如上述所述的数据加密方法。
47、根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
48、本专利技术公开一种数据加解密方法及系统,数据加解密方法包括:对明文进行按byte循环左移位和按byte置换处理,得到ip置换后的明文;将ip置换后的明文的分为高位明文和低位明文;获取多个子密钥;基于多个子密钥对高位明文和低位明文进行处理,得到多个处理后的低位明文和多个处理后的高位明文;对多个处理后的低位明文和多个处理后的高位明文进行按byte置换、按byte循环右移位和按byte异或处理,得到密文。本专利技术通过按byte循环移位和按byte置换减少了加密复杂度。
本文档来自技高网...【技术保护点】
1.一种数据加密方法,其特征在于,所述数据加密方法包括:
2.根据权利要求1所述的数据加密方法,其特征在于,基于多个子密钥对高位明文和低位明文进行处理,得到多个处理后的低位明文和多个处理后的高位明文,具体包括:
3.根据权利要求1所述的数据加密方法,其特征在于,获取多个子密钥,具体包括:
4.根据权利要求1所述的数据加密方法,其特征在于,对多个处理后的低位明文和多个处理后的高位明文进行按Byte置换、按Byte循环右移位和按Byte异或处理,得到密文,具体包括:
5.一种数据加密系统,其特征在于,所述数据加密系统应用于所述权利要求1-4中任意一项所述的数据加密方法,所述数据加密系统包括:
6.一种数据解密方法,其特征在于,所述数据解密方法应用于所述权利要求1-4中任意一项所述的数据加密方法,所述数据解密方法包括:
7.一种数据解密系统,其特征在于,所述数据解密系统应用于所述权利要求6中所述的数据解密方法,所述数据解密系统包括:
8.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被执行时实现如权利要求1至4中任一项所述的数据加密方法。
...【技术特征摘要】
1.一种数据加密方法,其特征在于,所述数据加密方法包括:
2.根据权利要求1所述的数据加密方法,其特征在于,基于多个子密钥对高位明文和低位明文进行处理,得到多个处理后的低位明文和多个处理后的高位明文,具体包括:
3.根据权利要求1所述的数据加密方法,其特征在于,获取多个子密钥,具体包括:
4.根据权利要求1所述的数据加密方法,其特征在于,对多个处理后的低位明文和多个处理后的高位明文进行按byte置换、按byte循环右移位和按byte异或处理,得到密文,具体包括:
5.一种数据加密系统,其特征在于,所述数据加密系统应用于所述权利要求1-4中任意一项所述的数据加密方法,所述数据加密...
【专利技术属性】
技术研发人员:王吉健,徐红如,
申请(专利权)人:南京英锐创电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。