[发明专利]采用Feistel-PG结构的密码装置及加密方法有效
| 申请号: | 201210501414.3 | 申请日: | 2012-11-29 |
| 公开(公告)号: | CN103051442A | 公开(公告)日: | 2013-04-17 |
| 发明(设计)人: | 吴文玲;张蕾;于晓丽 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 采用 feistel pg 结构 密码 装置 加密 方法 | ||
技术领域
本发明提出了一种采用Feistel-PG加密结构的密码装置及加密方法,可应用于设计各种参数下的密码算法,可以使得密码算法的设计更灵活,并可以在同等安全强度下拥有更低的实现代价,属于通信技术领域。
背景技术
密码算法的设计一直是密码学研究的热点,其设计都是基于Shannon提出的混淆和扩散原则。混淆原则:使密文与密钥之间的统计关系复杂化,使得利用密文无法得到密钥的统计特征。扩散原则:将明文的统计特征散布到密文中,使得每一比特的密文与明文的若干比特相关。密码算法设计的核心是算法的结构,算法的结构决定了算法整体的密码学性质及其实现性能。目前常见的分组密码算法的结构有SP结构、Feistel结构和广义Feistel结构等。
SP结构由密钥加、混淆层和扩散层三部分组成。通常,混淆层由一些S盒并置构成,S盒必须是双射,密钥加是指轮子密钥和轮输入做异或操作。密码算法的加解密性质要求SP结构的混淆层和扩散层必须可逆,这对设计SP结构的算法提出了一个基本的要求,同时,SP结构轮函数的输入长度与算法整体的输入长度相同,轮函数相对复杂。高级加密标准AES算法就是采用SP结构的典型代表。
Feistel结构是分组密码另外一个常用的结构,如图1所示,其使用的仍然是轮密钥加、S盒层和置换层,只不过Feistel结构将算法的输入分为左右两个相等的部分,轮函数的输入长度只有算法整体输入长度的一半,同时因为Feistel结构的可逆性导致轮函数不需要可逆也能实现算法的解密。所以,Feistel结构的优势在于可以利用不可逆的函数构造整体可逆的函数。Feistel轮函数的结构为数据加密标准DES算法就是采用Feistel结构的典型代表。
广义Feistel结构(GFS)是在Feistel结构的基础上进行的一些变形所得到的结构,常见的有GFS Type-1(如图2)和GFS Type-2(如图3),这两种广义Feistel结构均将算法的输入平均分成4个部分,GFS Type-1每轮只有一个轮函数,GFS Type-2每轮有两个轮函数。
除了安全性之外,密码算法设计的首要目标是硬件实现占用的面积小以及实现效率高。目前算法实现不仅要求在8位、32位、64位处理器上都有很好的实现性能,同时还要求具有优良的硬件实现效率。目前已有的算法结构并不能同时满足这些要求,这给算法设计者带来了很大的挑战。本发明将这些已有的算法结构称之为“现有结构”,本发明即给出了一种Feistel-PG加密结构及加密方法,本发明提出的加密结构灵活性大,在同等安全的条件下相对于“现有结构”,其软件和硬件实现效率都有较大提高。本发明为算法设计者提供了一个很好的设计选择。
发明内容
针对“现有结构”无法满足目前算法设计的所有要求的现状,根据密码算法安全性和实现代价的需求,本发明的目的在于提供一种采用Feistel-PG加密结构的密码装置及加密方法。本发明在Feistel结构的基础上,使用了一个没有任何代价的字节置换操作P,在大大提高算法的安全界的同时降低了算法的实现代价。同时本发明设计灵活,对于不同的参数选择都有相应的轮函数与之对应,本发明提出的Feistel-PG加密结构可以构造多种安全性高且实现代价低密码算法。
本发明的技术方案为:
一种密码装置,包括一采用Feistel-PG加密结构的处理器,
所述Feistel-PG加密结构由轮函数F构成,所述轮函数F将输入X经过线性变换P和非线性变换G映射为U,即X→U,其中U=G(P(X))且输入X和输出U均为t×k×m比特的串,其中t,k,m均为正整数;
所述线性变换P是基于t×k×m比特串的置换,是t×m个k比特串的位置变换;
所述非线性变换G是基于k×m比特串的t个非线性变换T的并置;
所述非线性变换T是基于k×m比特串的非线性变换,非线性变换T将(um-1,…,u1,u0)经过S盒层和线性变换A变为A(S(um-1,…,u1,u0)),即(um-1,…,u1,u0)→A(S(um-1,…,u1,u0)),其中S盒层是由m个k×k的s盒并置而成,线性变换A是基于k×m比特串的线性变换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210501414.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种直肠癌改道患者便携式造口盒
- 下一篇:改进的耳机结构





