[发明专利]一种最优S盒构造方法及其电路有效
申请号: | 201110029693.3 | 申请日: | 2011-01-27 |
公开(公告)号: | CN102185690A | 公开(公告)日: | 2011-09-14 |
发明(设计)人: | 张蕾;吴文玲 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 最优 构造 方法 及其 电路 | ||
技术领域
本发明提出了一种最优S盒构造方法及其电路,可应用于快速生成大量密码学性质达到最优的4×4S盒,且这类S盒的硬件实现代价非常小,属于通信技术领域。
背景技术
S盒是一种多输出布尔函数,是构造密码算法极其重要的非线性部件,被广泛应用于多种密码方案中。尤其是针对资源受限环境等实际应用需求设计的轻量级密码算法中几乎都采用了4×4的S盒。由于轻量级密码算法通常都是用硬件实现,因此作为算法基本模块的S盒的硬件实现代价和安全性有着同等重要的地位。本发明即提出了一种构造这类S盒的有效方法。
由于目前密码算法的设计一般仍遵循香农提出的混乱原则和扩散原则,大部分迭代型密码算法都采用了非线性S盒来达到混乱效果。S盒是定义在二元域上的具有n个输入、m个输出的布尔函数,本质上可看作如下映射通常简称为一个n×m的S盒。由于S盒是许多密码算法的唯一非线性模块,它的密码特性将直接影响整个密码算法的安全性。例如,S盒的非线性度与密码算法抵抗线性攻击能力有直接的关系,在密码算法中使用高非线性度的S盒有助于抵抗线性攻击;S盒的差分均匀性是针对差分密码分析而引入的,用来衡量一个密码算法抵抗差分攻击的能力。由于差分攻击和线性攻击是目前最有效的两种攻击方法,因此上述两个密码学性质是S盒最主要的安全性指标。
构造具有良好密码学性质的S盒一直是密码算法设计的重要一环。对于S盒的规模,已有文章证明了随着n的增大,上几乎所有的置换均是非退化置换。因此当S盒的规模越大,随机产生的S盒的密码性能就越好。当参数m和n选择很大时,几乎所有的S盒都是非线性的,而且发现攻击所能利用的统计特性比较困难。然而由于大S盒通常都采用查表实现,当参数m和n过大,将增加算法的存储量(至少m2n比特),使得实际不可行。目前比较流行的是8×8的S盒,这类S盒的研究结果已经非常丰富。其中最常用的构造方法是基于有限域GF(2n)上的逆映射F(x)=Ax-1+B,利用该方法构造的S盒的差分均匀性、非线性度及代数次数等密码特性都可以达到8×8S盒的最佳情形。该方法是目前最主要的S盒构造方法,现有的大部分密码算法如AES、Camellia、SMS4等都采用了这种类型的S盒。然而对于射频识别设备、传感器网络等资源受限的应用环境,8×8S盒的硬件实现开销过大根本无法适用。因此在针对这类应用领域设计的轻量级密码算法中,基本都是采用4×4的S盒。遗憾的是,目前针对4×4S盒的构造仍没有有效的方法,大都是依照随机选取的方式生成S盒,并对非线性度和差分均匀性等密码特性进行检测,直到找到好的S盒为止。虽然只要时间和计算能力允许,采用此方式总可以构造所需要的S盒,但对于算法设计者而言仍是一项十分耗时的工作。因此如何快速生成具有良好密码学性质的4×4S盒是设计密码算法的重要任务之一。
密码算法的实现主要包括软件实现和硬件实现两方面。在软件实现中,密码算法的S盒均可以通过查表操作容易的实现,不仅快速灵活还适用于各种平台。然而在密码算法的硬件实现中,S盒只能用组合逻辑电路实现,其门电路数是影响算法实现性能的一个重要指标。但是目前还没有有效的方法可以构造硬件实现代价小且密码学性质达到最优的S盒。例如,对于常用的基于有限域逆函数构造的密码学性质达到最优的8×8S盒,其硬件实现平均需要至少500门。这将极大影响其在低成本、低功耗等资源受限环境中的应用。对于轻量级密码算法中常用的4×4S盒,由于这类S盒大部分是通过随机生成并测试的方法构造的,其硬件实现代价变化很大,在我们的大量测试中,其所需门电路数变化范围为21.3~39.3门,平均为30.4门。使得在射频识别标签、传感器网络等对资源占用、功耗、成本有严格限制的实现环境中,将影响算法整体的硬件实现效率。因此本发明提出的硬件实现代价小且密码学性质达到最优的4×4S盒的构造方法,在资源受限的实现环境下有很大的优势。
目前常用的4×4S盒的构造大都是采用随机生成并测试的方法(本发明称之为“原始方法”)。其中,对于随机生成的S盒,将主要测试如下两个密码学特性:
(1)非线性度
对于一个n×m的S盒S(X),其非线性度定义为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110029693.3/2.html,转载请声明来源钻瓜专利网。