CN105681026B - 适用于轻量级加密算法的动态s盒构造方法及系统 - Google Patents

适用于轻量级加密算法的动态s盒构造方法及系统 Download PDF

Info

Publication number
CN105681026B
CN105681026B CN201610137307.5A CN201610137307A CN105681026B CN 105681026 B CN105681026 B CN 105681026B CN 201610137307 A CN201610137307 A CN 201610137307A CN 105681026 B CN105681026 B CN 105681026B
Authority
CN
China
Prior art keywords
box
optimal
input
dynamic
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610137307.5A
Other languages
English (en)
Other versions
CN105681026A (zh
Inventor
杜周全
徐启建
张�杰
徐勇军
安竹林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610137307.5A priority Critical patent/CN105681026B/zh
Publication of CN105681026A publication Critical patent/CN105681026A/zh
Application granted granted Critical
Publication of CN105681026B publication Critical patent/CN105681026B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/14WLL [Wireless Local Loop]; RLL [Radio Local Loop]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供一种适用于轻量级加密算法的动态S盒构造方法及系统,包括:步骤1,计算得到一批不同规模的S盒,选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合;步骤2,将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据输入数据分组的大小、S盒集合的容量以及S盒的规模确定拆分规则;步骤3,根据拆分规则将输入数据拆分为两部分,一部分用于调用集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将两部分的输出结果进行组合以作为非线性层的加密输出数据。此方法操作简单,适用性强,可有效增加非线性层的安全强度,解决静态流程易受攻击的问题。

Description

适用于轻量级加密算法的动态S盒构造方法及系统
技术领域
本发明属于信息技术领域,涉及无线传感器网络的数据加密,特别涉及一种适用于轻量级加密算法的动态S盒构造方法及系统。
背景技术
近年来,无线传感器网络(WSN)作为物联网感知客观世界的触角已经触及人们生活中的各行各业。它综合了传感器技术、嵌入式技术、微电子技术、分布式处理技术以及无线通信技术等,属于近年来新兴的领域,成为当前各国研究的热点。然而传感器节点也面临着存储能量小、计算能力低、所处环境恶劣等挑战。这使得在加密算法的设计和选择中不仅需要考虑传感器节点计算能力和能量受限等特点,而且还要保证足够的安全等级以抵抗现有的各种攻击。这也是无线传感器网络安全研究的难点所在。
目前针对无线传感器网络加密算法的设计思想主要是从轻量级出发,在降低计算复杂度的同时保持较高的安全强度,而对称密码体制下的如分组密码体制具有结构简洁清晰的特点,在完成无线传感器节点上的加密任务具有得天独厚的优势。目前分组密码整体结构的主要由Feistel网络结构(如图1(a)所示)以及SPN网络结构(如图1(b)所示)构建而成。
Feistel结构的最大优点是加解密相似,并且Feistel结构只对输入明文的一半长度进行操作,从而降低了运算的复杂性以及硬件实现的开销。DES、GOST、RC5、LBlock等加密算法都采用了Feistel架构。而SPN结构清晰,其线性层具有良好的扩散特性,有较高的吞吐率。因而常将二者结合进行轻量级加密算法的设计。SPN结构的代表算法主要有PRESENT、Crypton、PRINT等。
如图2所示,轻量级算法的设计包括如下几大模块:算法的整体构架、非线性层(S盒)、线性扩散层和密钥扩展算法。在轻量级加密算法设计中,由于资源条件受限,为了在降低计算复杂度的同时保证算法的安全强度,对算法的各个模块进行优化设计。作为轻量级加密算法核心模块之一的置换S盒是该算法唯一的一个非线性单元,而该模块的优劣会直接影响整个算法的性能。
专利文献1(公开号:103856320A)公开了一种基于多级混沌系统的动态S盒构造方法,将密钥映射为Chebyshev混沌映射系统和分段线性混沌映射系统的初始条件和演化参数,不同密钥映射为不同的系统参数,实现了实时生成不同S盒的动态特性。由于使用两级混沌系统,对两个混沌系统的输出进行异或操作以生成S盒元素,与使用单一混沌系统相比提高了抗破译难度。同时两级混沌系统的输出均相互交叉反馈给对方,实现混沌系统之间的动态交叉扰动,进一步增大了所生成S盒的扩散性和扰乱性,实现了严格雪崩效应,显著提高安全强度。
专利文献2(公开号:104683096A)公开了一种动态S盒变换方法及系统,包括接口模块、S盒控制模块和S盒变换模块,接口模块实现密钥、信息和控制信号的接收、存储与发送;S盒控制模块实现整个S盒变换的动态控制;S盒变换模块实现S盒变换的动态变换。本发明在S盒变换中增加了初始密钥奇偶性的依赖关系,同时增加了S盒变换的数目,让S盒变换动态化和多样化,克服了传统S盒变换固定单一且独立于密码算法的缺陷,提高了S盒变换输入和输出之间的复杂性,增强了密码算法的安全性能,且提高了运行速度,有效地节省了硬件资源。
上述方法得到的S盒都能在某个性能上有突出的表现,能够有针对性的实现对整个算法的加强,而同时也存在一定的缺陷。作为无线传感器网络安全的第一级安全屏障,我们希望它能够更加安全可靠,从信源端杜绝安全隐患,为整个无线传感器网络安全打下坚实的基础。现有的加密算法中,非线性层的安全完全依赖于S盒构造规则的保密强度,而这些固有的计算方法终有被发现的一天,因此这也为一成不变的S盒置换埋下了安全隐患。
发明内容
本发明的目的在于,解决至少上述问题和缺陷,采用以下技术方案,提供一种适用于轻量级加密算法的动态S盒构造方法及系统,可以有效增加S盒调用的灵活性,提高非线性层的安全强度,进而实现对算法安全的加强。
本发明提供的适用于轻量级加密算法的动态S盒构造方法,包括:
步骤1,采用下述仿射公式计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合,
S(x)=C(x)+(X-1)·B(x)mod A(x) (1)
其中,X-1为有限域上各状态字的逆元,A(x)表示有限域GF(2n)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是仿射常量;
步骤2,将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则。
步骤3,根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据。
本发明的适用于轻量级加密算法的动态S盒构造方法,其中,所述步骤1中,所述规定条件为,S盒的下述的非线性度、差分均匀性、雪崩效应、及代数次数及项数分布均为最优;
A、非线性度:
令S(x)=(f1(x),...fn(x)):GF(2)n→GF(2)n
则S(x)非线性度
其中Ln为全体n元线性仿射函数集,dH(u·S(x),l)表示函数S(x)与l(x)之间的汉明距离,f1(x),...fn(x)是指每位输入与输出之间的布尔函数方程,GF(2)n是指某个伽罗瓦域,当S(x)达到上界时,非线性度最优;
B、差分均匀性:
n×n的S盒差分均匀度的计算公式如下,
其中满足2差分一致性的S盒的差分均匀性最优;
C、雪崩效应:雪崩概率为1/2时,雪崩效应为最优;
D、代数次数及项数分布:当S盒输入位数为n时,代数次数值为n-1则代数次数及项数分布为最优。
本发明的适用于轻量级加密算法的动态S盒构造方法,其中,所述步骤3中,
所述运算常量K由用户自行设定或从所述密钥中调用而得到。
本发明的适用于轻量级加密算法的动态S盒构造方法,进一步包括:
步骤4,根据加密算法的迭代轮数,重复执行所述步骤3,直至完成全部轮数的迭代从而完成对某一特定数量的数据加密或者某一类数据的加密后,跳到步骤2,重新确定拆分规则并更新S盒,以完成后续的加密任务。
本发明的适用于轻量级加密算法的动态S盒构造方法,其中,将所述加密输出数据输入到线性扩散层进行线性扩散。
另外,本发明还提供一种用于构造适用于轻量级加密算法的动态S盒的系统,包括:
S盒构建模块,用于采用下述仿射公式计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合,
S(x)=C(x)+(X-1)·B(x)mod A(x) (1)
其中,X-1为有限域上各状态字的逆元,A(x)表示有限域GF(2n)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是仿射常量;
拆分确立模块,用于将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则。
数据加密模块,用于根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,其中,所述S盒构建模块中,所述规定条件为,S盒的下述的非线性度、差分均匀性、雪崩效应、及代数次数及项数分布均为最优;
A、非线性度:
令S(x)=(f1(x),…fn(x)):GF(2)n→GF(2)n
则S(x)非线性度
其中Ln为全体n元线性仿射函数集,dH(u·S(x),l)表示函数S(x)与l(x)之间的汉明距离,f1(x),...fn(x)是指每位输入与输出之间的布尔函数方程,GF(2)n是指某个伽罗瓦域,当S(x)达到上界时,非线性度最优;
B、差分均匀性:
n×n的S盒差分均匀度的计算公式如下,
其中满足2差分一致性的S盒的差分均匀性最优;
C、雪崩效应:雪崩概率为1/2时,雪崩效应为最优;
D、代数次数及项数分布:当S盒输入位数为n时,代数次数值为n-1则代数次数及项数分布为最优。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,其中,所述数据加密模块中,所述运算常量K由用户自行设定或从所述密钥中调用而得到。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,进一步包括:
S盒更新模块,用于根据加密算法的迭代轮数,重复执行所述步骤3,直至完成全部轮数的迭代从而完成对某一特定数量的数据加密或者某一类数据的加密后,跳到步骤2,重新确定拆分规则并更新S盒,以完成后续的加密任务。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,其中,将所述加密输出数据输入到线性扩散层进行线性扩散。
通过本发明提出的动态S盒构建方法及系统,可以根据用户需要,有效改进以往的静态工作流程,将S盒置换动态化,使非线性层显得更加活跃多变,不可预知,增加其安全强度,有效加强对信源的隐私保护工作。
本发明的动态S盒构建方法及系统具有如下优点:
(1)有效优化S盒的构造规则,使得到的S盒具有最优的密码学特性。
(2)有效实现对收到数据包的拆分组合处理,对不同的分组可以有不同的处理规则。在一种加密算法中融入了不同规模S盒的调用,增加了安全强度。
(3)有效增强了用户对算法的控制,固定异或参数由用户自行设置,为加密算法在密钥之外又加了一道安全锁。
(4)有效实现同时对多个S盒的动态调用,增大了一次加密过程中的S盒容量,加强了对穷尽搜索蛮力破解的抵抗力。
(5)有效降低了运算量,增加了适用性。
基于动态策略的动态S盒,从S盒的构造出发,首先对S盒的性能进行优化,构建了一个最优S盒集合。然后结合Feistel结构原理,将进入S盒置换的数据先进行一个拆分组合处理,用拆分得到的一部分完成对S盒的调用,并与某常量运算后输出;而另一部分则输入调出的S盒进行置换操作。最后将两者按照一定规则组合作为非线性层的输出。此方法操作简单,适用性强,可有效增加非线性层的安全强度,解决静态流程易受攻击的问题。
附图说明
图1(a)是Feistel结构的示意图,图1(b)是SPN结构的示意图;
图2是轻量级加密算法的加密流程的概要示意图;
图3是本发明的适用于轻量级加密算法的动态S盒构造方法的流程图。
图4是本发明的适用于轻量级加密算法的动态S盒构造方法另一实施方式的流程图;
图5示出本发明的适用于轻量级加密算法的动态S盒构造方法的一个具体实施例;
图6是本发明对应的4×4规模的S盒加密流程图;
图7是本发明的用于构造适用于轻量级加密算法的动态S盒的系统的结构图;
图8是本发明的用于构造适用于轻量级加密算法的动态S盒的系统的另一实施方式的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的适用于轻量级加密算法的动态S盒构造方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一、S盒:
在轻量级加密算法中,非线性层主要是以S盒为基础,完成对输入的数据的非线性置换,非线性的强度关键在于S盒的映射关系。而近年来,针对S盒的计算构造方法层出不穷,我们采用了基于有限域的逆映射的构造方法,在对其进行优化改进的基础上得到了一系列各项性能参数均符合预期要求的S盒。
首先,该方法的仿射变化公式如下:
S(x)=C(x)+(X-1)·B(x)mod A(x) (1)
其中X-1为有限域上各状态字的逆元,A(x)表示有限域GF(2n)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是为了避免计算过程中出现不动点与反不动点的一个仿射常量,且该常量的选取不会影响S盒的密码学特性。
根据上述计算公式,带入相关参数进行数学计算,我们得打了一批性能优异的非线性S盒,通过对S盒的密码学特性分析,选取了性能最优的一类S盒作为我们构造动态S盒设计的基础。比如下面表1的这个4×4的S盒,它的非线性特性、差分均匀特性、雪崩效应以及代数次数与项数分布都符合我们对最优S盒的要求标准。
表1 4×4的S盒
二、S盒的性能分析:
在数学函数中,由于S盒的密码学特性可用多输出布尔函数来描述,所以我们通过对多输出布尔函数的分析来具体研究S盒的性能。衡量其密码学性能的指标主要包括:
1.非线性度:令S(x)=(f1(x),…fn(x)):GF(2)n→GF(2)n
2.则S(x)非线性度:
其中Ln为全体n元线性仿射函数集,dH(u·S(x),l)表示函数S(x)与l(x)之间的汉明距离。f1(x),...fn(x)是指每位输入与输出之间的布尔函数方程,GF(2)n是指某个伽罗瓦域非线性度直接决定了S盒抵抗线性密码分析的能力,非线性度越高,抵抗线性攻击的能力就越强。当S(x)达到上界时,非线性达到最优。
2.差分均匀性:n×n的S盒差分均匀度可由如下计算:
差分均匀性是用来衡量该密码抗击差分密码分析能力的指标,主要通过差分分布表来体现。差分分布表显示了输入差分与输出差分的分布情况,分布越均匀,差分传播概率最大值就越小,S盒抵抗差分攻击的能力越强,K-差分一致性是指满足输入差分值为X且输出差分值为Y的情况出现的次数不大于K,因而2差分一致性主要是指差分分布表中的统计数据均不超过2。其中在差分分布表,满足2差分一致性的S盒为最佳。根据公式3可知两者是该有限域内的元素,前者代表输入变量的改变值,后者代表输出变量的改变值;公式3表达的意思是:S(x)的差分均匀度为差分分布表中的最大值,也即有限域内任取一个输入改变值α引起输出改变β的情形出现的统计次数
3.雪崩效应:是指S盒输出任意1个比特与输入比特之间的关系,衡量输入改变对输出改变的随机性。当输入有1个比特改变时,有一半输出比特改变时则满足雪崩效应,而当每个输出改变的概率(雪崩概率)为1/2时,称之满足严格雪崩准则(SAC),满足严格雪崩准则时,雪崩效应为最优。
4.代数次数及项数分布:代数次数用来衡量S盒的代数非线性程度,代数次数和项数越高,就越难用线性表达式进行逼近。当S盒输入位数为n时,最佳的代数次数值为n-1。比如4×4S盒中输入与输出之间的关系可表示为4个只含AND和XOR逻辑符号的布尔方程:
代数次数D(fi)是指该方程中各项的最高次数,而项数分布则表示各个布尔方程包含的项数情况。
三、动态S盒(DRCS盒):
通过前面的计算方法,计算得到大量不同规模的S盒,并通过筛选分类构建各个规模的最优S盒的集合,并将这个集合中的S盒进行随机编号处理。动态S盒设计,是以Feistel结构为原型,运用拆分与组合的原理,将前端传来的数据分组拆分为两个部分,一部分作为输入S盒进行置换的数据,另一部分则作为从集合中选取S盒的依据,通过一定的拆分规则得到两个子数据,并分别对两部分进行处理,最后再将各自的结果进行组合,进而得到输出。而这两部分的具体拆分规则可由用户自行根据数据位的大小、S盒的规模以及S盒集合的容量等因素进行确定。
如图3所示,是本发明的适用于轻量级加密算法的动态S盒构造方法的流程图,该方法的一下主要步骤如下:
步骤1,采用上述仿射公式(1)计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合;
步骤2,将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则;
步骤3,根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据。
如图4所示,是本发明的适用于轻量级加密算法的动态S盒构造方法的流程图,还包括下述步骤:
步骤4,根据加密算法的迭代轮数,重复执行所述步骤3,直至完成全部轮数的迭代从而完成对某一特定数量的数据加密或者某一类数据的加密后,跳到步骤2,重新确定拆分规则并更新S盒,以完成后续的加密任务。
图5示出本发明的适用于轻量级加密算法的动态S盒构造方法的一个具体实施例,包括如下步骤:
步骤101:通过改进现有的S盒构造方法,采用上述仿射公式(1)构造得到一批性能较好的S盒,将S盒进行分类形成多个不同规模的集合,并对集合中的S盒进行随机编号,其中性能较好的S盒是指,S盒的的非线性度、差分均匀性、雪崩效应、及代数次数及项数分布均为最优,最优的条件则是满足上述S盒的性能分析中的各最优值。
步骤102:将明文与轮子密钥进行运算的结果输入非线性层,根据输入数据分组的大小、S盒集合的容量以及S盒的规模确定拆分规则。
步骤103:用户自行设定运算常量K,亦可从密钥中调用得到。同时根据步骤102得到的拆分规则随机选取m个S盒进行重新编号备用。
步骤104:根据步骤102得到的拆分规则,将进入非线性层的数据拆分成左右两部分。左半部分用于调用该数据对应的S盒,然后与某常量进行运算;将右半部分输入调用得到的S盒进行非线性置换操作。
步骤105:将上述两部分各自运算得到的结果进行组合形成新的数据作为运算的输出,进入P层进行线性扩散。
步骤106:根据加密算法的迭代轮数,重复进行步骤104到步骤105,完成数轮迭代。
步骤107:当完成对某个特定数量的数据分组或者一类数据分组的加密后,跳到步骤102,重新确定拆分规则并更新S盒,以完成后续的加密任务。
图6是本发明对应的4×4规模的S盒加密流程图。
首先,需要进行相关参数的设置:选取8位数据作为单次加密的输入,选择的4×4规模的S盒;确定将8位数据拆分成左右两个四位,右边四位作为选择S盒的依据;根据拆分规则从求得的S盒集中随机选取16个4×4S盒,并进行编号(0~15)。根据选取的各项参数进行图中的操作步骤:步骤201,先将8位明文与密钥进行异或运算,步骤202,接着对该结果进行拆分,步骤203,右边四位数据选择对应编号的S盒,并与K进行异或运算后作为输出的左边部分,左边四位则输入该S盒进行置换,得到的结果作为输出的右边部分;步骤204,最后输出组合得到的八位数据。
另外,本发明还提供一种用于构造适用于轻量级加密算法的动态S盒的系统100,如图7所示,包括:
S盒构建模块10,用于采用下述仿射公式计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合,
S(x)=C(x)+(X-1)·B(x)mod A(x) (1)
其中,X-1为有限域上各状态字的逆元,A(x)表示有限域GF(2n)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是仿射常量;
拆分确立模块20,用于将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则。
数据加密模块30,用于根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,其中,所述S盒构建模块中,所述规定条件为,S盒的下述的非线性度、差分均匀性、雪崩效应、及代数次数及项数分布均为最优;
A、非线性度:
令S(x)=(f1(x),…fn(x)):GF(2)n→GF(2)n
则S(x)非线性度
其中Ln为全体n元线性仿射函数集,dH(u·S(x),l)表示函数S(x)与l(x)之间的汉明距离,当S(x)达到上界时,非线性度最优;
B、差分均匀性:
n×n的S盒差分均匀度的计算公式如下,
其中满足2差分一致性的S盒的差分均匀性最优;
C、雪崩效应:雪崩概率为1/2时,雪崩效应为最优;
D、代数次数及项数分布:当S盒输入位数为n时,代数次数值为n-1则代数次数及项数分布为最优。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,其中,所述数据加密模块中,所述运算常量K由用户自行设定或从所述密钥中调用而得到。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统100,如图8所示,进一步包括:
S盒更新模块40,用于根据加密算法的迭代轮数,重复执行所述步骤3,直至完成全部轮数的迭代从而完成对某一特定数量的数据加密或者某一类数据的加密后,跳到步骤2,重新确定拆分规则并更新S盒,以完成后续的加密任务。
本发明的用于构造适用于轻量级加密算法的动态S盒的系统,其中,将所述加密输出数据输入到线性扩散层进行线性扩散。
本发明为轻量级加密算法而设计,涉及的动态S盒构造方案可用于改进优化多种加密算法,针对WSN中前端感知节点搭载的密码算法进行优化,主要在传感器中发挥作用,可应用于如车联网、城市安防、环境监测、工业生产控制等。只要有轻量级密码算法的地方,均可以采用本专利对其进行优化。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上对本发明所提供的适用于轻量级加密算法的动态S盒构造方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限值。

Claims (8)

1.一种适用于轻量级加密算法的动态S盒构造方法,其特征在于,包括:
步骤1,采用下述仿射公式计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合,
S(x)=C(x)+(X-1)·B(x)modA(x) (1)
其中,X-1为有限域上各状态字的逆元,A(x)表示有限域GF(2n)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是仿射常量;
步骤2,将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则;
步骤3,根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据;
步骤4,根据加密算法的迭代轮数,重复执行所述步骤3,直至完成全部轮数的迭代从而完成对某一特定数量的数据加密或者某一类数据的加密后,跳到步骤2,重新确定拆分规则并更新S盒,以完成后续的加密任务。
2.根据权利要求1所述的适用于轻量级加密算法的动态S盒构造方法,其特征在于,所述步骤1中,所述规定条件为,S盒的下述的非线性度、差分均匀性、雪崩效应、代数次数及项数分布均为最优;
A、非线性度:
令S(x)=(f1(x),…fn(x)):GF(2)n→GF(2)n
则S(x)非线性度
其中Ln为全体n元线性仿射函数集,dH(u·S(x),l)表示函数S(x)与l(x)之间的汉明距离,f1(x),...fn(x)是指每位输入与输出之间的布尔函数方程,GF(2)n是指某个伽罗瓦域,当S(x)达到上界2n-1-2n/2-1时,非线性度最优;
B、差分均匀性:
n×n的S盒差分均匀度的计算公式如下,
其中满足2差分一致性的S盒的差分均匀性最优;
C、雪崩效应:雪崩概率为1/2时,雪崩效应为最优;
D、代数次数及项数分布:当S盒输入位数为n时,代数次数值为n-1则代数次数及项数分布为最优。
3.根据权利要求1所述的适用于轻量级加密算法的动态S盒构造方法,其特征在于,所述步骤3中,
所述运算常量K由用户自行设定或从所述密钥中调用而得到。
4.根据权利要求1所述的适用于轻量级加密算法的动态S盒构造方法,其特征在于,
将所述加密输出数据输入到线性扩散层进行线性扩散。
5.一种用于构造适用于轻量级加密算法的动态S盒的系统,其特征在于,包括:
S盒构建模块,用于采用下述仿射公式计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合,
S(x)=C(x)+(X-1)·B(x)modA(x) (1)
其中,X-1为有限域上各状态字的逆元,A(x)表示有限域GF(2n)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是仿射常量;
拆分确立模块,用于将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则;
数据加密模块,用于根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据;
S盒更新模块,用于根据加密算法的迭代轮数,重复执行所述步骤3,直至完成全部轮数的迭代从而完成对某一特定数量的数据加密或者某一类数据的加密后,跳到步骤2,重新确定拆分规则并更新S盒,以完成后续的加密任务。
6.根据权利要求5所述的用于构造适用于轻量级加密算法的动态S盒的系统,其特征在于,所述S盒构建模块中,所述规定条件为,S盒的下述的非线性度、差分均匀性、雪崩效应、代数次数及项数分布均为最优;
A、非线性度:
令S(x)=(f1(x),…fn(x)):GF(2)n→GF(2)n
则S(x)非线性度
其中Ln为全体n元线性仿射函数集,dH(u·S(x),l)表示函数S(x)与l(x)之间的汉明距离,f1(x),...fn(x)是指每位输入与输出之间的布尔函数方程,GF(2)n是指某个伽罗瓦域,当S(x)达到上界2n-1-2n/2-1时,非线性度最优;
B、差分均匀性:
n×n的S盒差分均匀度的计算公式如下,
其中满足2差分一致性的S盒的差分均匀性最优;
C、雪崩效应:雪崩概率为1/2时,雪崩效应为最优;
D、代数次数及项数分布:当S盒输入位数为n时,代数次数值为n-1则代数次数及项数分布为最优。
7.根据权利要求5所述的用于构造适用于轻量级加密算法的动态S盒的系统,其特征在于,
所述数据加密模块中,
所述运算常量K由用户自行设定或从所述密钥中调用而得到。
8.根据权利要求5所述的用于构造适用于轻量级加密算法的动态S盒的系统,其特征在于,将所述加密输出数据输入到线性扩散层进行线性扩散。
CN201610137307.5A 2016-03-10 2016-03-10 适用于轻量级加密算法的动态s盒构造方法及系统 Expired - Fee Related CN105681026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610137307.5A CN105681026B (zh) 2016-03-10 2016-03-10 适用于轻量级加密算法的动态s盒构造方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610137307.5A CN105681026B (zh) 2016-03-10 2016-03-10 适用于轻量级加密算法的动态s盒构造方法及系统

Publications (2)

Publication Number Publication Date
CN105681026A CN105681026A (zh) 2016-06-15
CN105681026B true CN105681026B (zh) 2019-06-18

Family

ID=56307532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610137307.5A Expired - Fee Related CN105681026B (zh) 2016-03-10 2016-03-10 适用于轻量级加密算法的动态s盒构造方法及系统

Country Status (1)

Country Link
CN (1) CN105681026B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330429B (zh) * 2016-08-24 2019-08-06 中国信息安全测评中心 Sm4算法的s盒的生成方法及装置
CN107425963A (zh) * 2017-05-09 2017-12-01 上海众人网络安全技术有限公司 一种密码墙的构建方法及系统
CN108737067B (zh) * 2018-04-04 2021-04-27 中国电子科技集团公司第三十研究所 一种基于s盒的分割方法
CN109905231B (zh) * 2019-02-26 2020-10-30 清华大学 一种新型的密码专用的4×4的s盒构造方法
CN110022202B (zh) * 2019-03-12 2020-10-27 中国科学院软件研究所 一种搜索s盒的最少硬件实现门数的方法和s盒电路结构
CN109921899B (zh) * 2019-04-18 2019-11-19 衡阳师范学院 一种完全雪崩4×4的s盒实现方法
CN112636899B (zh) * 2020-09-21 2022-03-18 中国电子科技集团公司第三十研究所 一种轻量化s盒设计方法
CN112511293B (zh) * 2020-09-21 2022-03-18 中国电子科技集团公司第三十研究所 基于比特与运算的s盒参数化设计方法及存储介质
CN113162755B (zh) * 2021-02-03 2022-12-20 北京信息科学技术研究院 一种轻量级8比特s盒的构造方法及其电路
CN114124351B (zh) * 2021-11-15 2023-06-27 中国电子科技集团公司第三十研究所 一种非线性不变子的快速计算方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187364A (zh) * 2014-03-19 2015-12-23 恩智浦有限公司 保护白盒实现方案不受攻击

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838198B2 (en) * 2014-03-19 2017-12-05 Nxp B.V. Splitting S-boxes in a white-box implementation to resist attacks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187364A (zh) * 2014-03-19 2015-12-23 恩智浦有限公司 保护白盒实现方案不受攻击

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于动态策略的S盒设计研究;杜周全,徐启建,张杰,钟旭东,安竹林;《研究与开发》;20160114;全文 *

Also Published As

Publication number Publication date
CN105681026A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
CN105681026B (zh) 适用于轻量级加密算法的动态s盒构造方法及系统
Wang et al. A novel method to design S-box based on chaotic map and genetic algorithm
CN109787743B (zh) 一种基于矩阵运算的可验证的全同态加密方法
CN104506313B (zh) 一种支持大规模动态变化的量子密钥分发保密增强方法
CN102263636B (zh) 一种融合神经网络与混沌映射的流密码密钥控制方法
Sarkar Multilayer neural network synchronized secured session key based encryption in wireless communication
Guesmi et al. A novel design of Chaos based S-Boxes using genetic algorithm techniques
CN109921899B (zh) 一种完全雪崩4×4的s盒实现方法
KR20120071884A (ko) 래티스 기반의 링 서명 방법
CN103634101A (zh) 加密处理方法及设备
CN106487503A (zh) 基于剪裁的霍普菲尔德神经网络的多元密码学
CN106464490A (zh) 用于确定共享密钥的设备
CN103607276B (zh) 基于随机函数的抗已知明文密文对攻击的分组加密方法
CN109768854A (zh) 一种轻量级分组密码算法Wheel的实现方法
CN107292184A (zh) 图像加密方法、装置及密钥流生成方法和密钥流生成器
WO2017049790A1 (zh) 一种基于多变量密码技术的在线离线签名系统及方法
CN104917608A (zh) 一种密钥抗功耗攻击的方法
CN103516513B (zh) 一种抗已知明文密文对攻击的分组加密方法
Wang et al. The design of keyed hash function based on CNN-MD structure
Wang et al. A method for designing S-box based on chaotic neural network
CN101866401B (zh) 演化s盒对抗旁路式攻击的方法
Ullah et al. An efficient construction of S-box based on the fractional-order Rabinovich–Fabrikant chaotic system
Wang et al. A Chaotic Key Expansion Algorithm Based on Genetic Algorithm.
CN106559782B (zh) 基于混沌神经网络公钥加密算法的异构传感网加密方法
Noughabi et al. Design of S-boxes based on neural networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190618

CF01 Termination of patent right due to non-payment of annual fee