CN107124264A - 一种基于仿射变换字节替换盒的轻量级杂凑方法 - Google Patents
一种基于仿射变换字节替换盒的轻量级杂凑方法 Download PDFInfo
- Publication number
- CN107124264A CN107124264A CN201710127396.XA CN201710127396A CN107124264A CN 107124264 A CN107124264 A CN 107124264A CN 201710127396 A CN201710127396 A CN 201710127396A CN 107124264 A CN107124264 A CN 107124264A
- Authority
- CN
- China
- Prior art keywords
- msub
- mrow
- state
- mtd
- bits
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Abstract
本发明涉及一种基于仿射变换字节替换盒的轻量级杂凑方法,包括以下处理步骤:消息初始化阶段、消息吸收阶段、摘要输出阶段:本发明的优点在于:1)该方法外部采用海绵结构,具有可计算的安全边界,且提供了三个版本的参数组合以适应不同环境的应用需求,可提供从40比特的抗碰撞性至128比特的第一原象安全性;2)内部置换结构的仿射变换S盒增加了线性层的混淆性,在一定程度上弥补了类PRESENT结构线性层过于简单的不足,增强了内部置换结构抗统计饱和攻击的能力,从而提高了轻量级杂凑方法整体的安全性;3)内部置换结构的非线性层采用具有良好差分特性的3比特S盒,较同类型轻量级杂凑函数族的4比特S盒具有更低的硬件开销。
Description
技术领域
本发明涉及一种针对嵌入式系统安全的完整性验证算法,尤其涉及一种基于仿射变换字节替换盒(Subbytes Box,以下简称S盒)的轻量级杂凑方法。属于密码学杂凑函数领域。
背景技术
随着信息技术、计算机技术以及微电子技术的发展,嵌入式系统的应用需求日益增长,在通信、网络、工业控制、自动化、交通、医疗和消费电子等领域的需求尤为凸现。其应用领域主要包括:工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境工程与自然、水文资料实时监测、地震监测网、实时气象信息网和机器人等。与传统的台式机和高性能计算机相比,嵌入式系统在运算能力、内存、能量等方面有着严格的资源限制。
嵌入式系统日益增长的应用需求及使用环境的开放多元化使其安全性受到严重威胁,杂凑(函数)方法,作为一种完整性验证算法被广泛应用于嵌入式系统安全检测技术中。杂凑函数是一种单向密码体制,可以将任意长度的输入经变换后得到固定长度的输出,其输出值即杂凑值,也称为摘要。杂凑函数具有单向性、抗碰撞性及运算速度快等优势。传统的杂凑函数如MD5、SHA-1和SHA-2,其硬件实现通常需要6000~8000GE(GateEquivalents为等效门数,表示独立于制造技术的数字电路复杂性的度量单元),以一个典型的嵌入式系统RFID(Radio Frequency Identification,射频识别)标签为例,该系统有1000~10000GE,其中可用于实现安全组件的只有200~2000GE,显然,传统的杂凑函数设计侧重于提供高度的安全性,没有考虑在资源受限设备上应用的情况。因此,在保证系统安全的前提下,设计出电路面积更小、能耗更低的轻量级杂凑函数对于资源受限的嵌入式系统具有重要的实际意义。
近些年也出现了一种采用海绵结构为整体设计轻量级杂凑函数的新趋势。与传统的散列函数结构相比,海绵结构对于长消息攻击和随机预言机区分攻击有着非常好的可证明安全性,同时在低功耗设备的硬件实现上也能证明,基于海绵结构的杂凑算法能节约大量的内存开销。另外,在以海绵结构为整体结构的基础上,内部置换结构通常采用现有的轻量级流密码或分组密码算法,由于分组密码出现较早,设计技术成熟,且具有典型的安全结构,因此成为轻量级杂凑函数内部置换结构的首选,如轻量级杂凑函数族SPONGENT内部就采用了类PRESENT结构(PRESENT是在2007年度加密硬件与嵌入式系统大会上提出的一种超轻量级分组密码,因其超高的软硬件实现效率已成为国际标准化组织29192-2标准指定的加密算法),使其硬件开销较低,且按输出长度共有5种类型,13个版本可较好的适应不同应用环境及接口需求,可以说SPONGENT是目前轻量级杂凑函数中最有竞争力的一支。然而,统计饱和攻击已被证明是一种对缩减轮数的PRESENT很有效的分析方法,该攻击方法利用分组密码中线性扩散路径的弱点,通过跟踪每轮固定比特位的扩散路径,分析出明文经迭代后的非均匀分布。基于海绵结构的杂凑算法的安全性主要取决于内部置换结构的安全性,由于SPONGENT内部置换结构采用了类PRESENT结构,因此,统计饱和攻击对SPONGENT有很大威胁。
综上所述,现有的杂凑算法存在着如下一些问题:
1)传统的杂凑函数设计侧重于提供高度的安全性,没有考虑在资源受限设备中的应用情况。因此,在保证系统安全的前提下,设计出电路面积更小、能耗更低的轻量级杂凑函数对于资源受限的嵌入式系统具有重要的实际意义。
2)以海绵结构为整体的轻量级杂凑函数虽然具有硬件开销低的优势,但采用分组密码尤其是类PRESENT结构做为内部置换结构由于线性扩散层结构简单,因此,易受统计饱和攻击的威胁。
发明内容
1.发明目的
本发明的目的在于解决当前以分组密码尤其是类PRESENT结构为内部置换结构的轻量级杂凑函数中线性扩散层结构单一,易受统计饱和方法攻击的问题,设计了一种基于仿射变换字节替换盒的轻量级杂凑方法,该方法通过对S盒的仿射变换增加了线性层的混淆性,在一定程度上弥补了类PRESENT结构线性层过于简单的不足,具有较好的抗统计饱和攻击能力,且硬件开销小。
2.技术方案
实现本发明的技术方案如下,一种基于仿射变换字节替换盒的轻量级杂凑方法,其特征在于包括以下处理步骤:
步骤1,消息初始化阶段:
1)将输入消息M末尾先填充一个‘1’,随后补充一定数量的‘0’,使该输入消息的长度为分组长度r的整数倍;
2)填充后的消息M’按分组长度r分成l组{m0,m1,......,ml-1};
3)取长度为b比特的按初始迭代状态STATE0的高2b/3位生成内部置换中S盒仿射变换结构的控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3},初始迭代状态STATE0由用户自定义;
4)按控制逻辑集选择内部迭代状态从高位开始对应的S盒的仿射变换结构,如控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3}的ab-1ab-2控制内部迭代状态ab-1ab-2ab-3对应的S盒的仿射变换结构。
步骤2,消息吸收阶段:
初始迭代状态STATE0(长度为b比特)与第一组分组消息m0按位异或更新为STATE0 (0),并通过内部置换结构进行迭代,更新后的内部迭代状态STATE1与下一组分组消息m1进行按位异或和内部置换迭代,重复此步骤,直至最后一组分组消息ml-1处理完成,相应地,此时的内部迭代状态更新为STATEl;
步骤3,摘要输出阶段:
最后一组分组消息ml-1进行内部置换后,输出内部迭代状态STATEl的高r’比特,之后的STATEl再次进行内部置换并更新为STATEl+1,每次输出更新后的迭代状态的高r’比特,直至输出长度达到规定杂凑值的输出长度n为止。
所述步骤2中的内部置换由轮数为R的迭代循环构成,具体包括(其中R=b/2):
1)内部迭代状态STATEi(0≤i≤l+3,且当i=0时,内部迭代状态为初始状态STATE0,由用户自定义)与第i组分组消息mi按异或后更新为STATEi (0),内部迭代状态STATEi (0)与第i个内部置换的第一轮轮常数RC0 (i)按位异或,异或后内部迭代状态更新为STATEi (1)。其中,轮常数RCr (i)(0≤r≤R-1,R为轮数)由一个s比特的线性反馈移位寄存器及其特定位拼接产生,且将寄存器状态定义为xs-1||xs-2||...||x0,每一位寄存器的状态每轮按公式(2)进行更新(s比特的线性反馈移位寄存器初始状态为全零,其中t为中间状态):
轮常数RCr (i)状态c3||c2||c1||c0按公式(3)对移位寄存器的相应位进行计算:
2)内部迭代状态STATEi (1)以3比特为一组进行分组{g(b/3)-1,......,g0},将每组送入S盒进行替换,其中,S盒按如下规则进行替换:输入000输出000,输入001输出001,输入010输出011,输入100输出111,输入101输出100,输入110输出101,输入111输出010;S盒的仿射变换结构有4种,其输入输出关系为:(a)输入y2y1y0输出y2y1y0;(b)输入y2y1y0输出y0y2y1;(c)输入y2y1y0输出y1y0y2;(d)输入y2y1y0输出y0y1y2,这4种结构的排列位置按所述步骤1的子步骤3)、4)进行配置,取STATE的高2b/3位按2比特一组分成b/3组{ab-1ab-2,ab- 3ab-4,......,ab/3+1ab/3},每组2比特数据为选择S盒仿射变换结构的控制逻辑,对应关系分别为:00即选择第(a)种结构;01即选择第(b)种结构;10即选择第(c)种结构;11即选择第(d)种结构。按控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3}从内部迭代状态的高位依次选择对应S盒的仿射变换结构,仿射变换结构确定后连接在对应S盒之后,在步骤1消息初始化阶段完成仿射变换结构的配置,以后该结构的位置不变。将迭代状态STATEi (1)的b比特经过仿射变换S盒全部替换后的内部迭代状态更新为STATEi (1ats)。
3)内部迭代状态STATEi (1ats)送入b比特线性层进行扩散,扩散后的内部迭代状态更新为STATEi (1atsp),其中,b比特线性层按公式(4)进行扩散。
4)上述子步骤1)、2)、3)为内部置换R轮迭代循环中的一轮操作,接下来,内部迭代状态STATEi (1atsp)与下一轮轮常数RC1 (i)进行按位异或,内部迭代状态更新为STATEi (2),重复子步骤1)、2)、3),如此循环,直至达到要求轮数R为止,R轮迭代结束后内部迭代状态更新为STATEi+1,此时处理完一组分组消息mi。
本发明的基于仿射变换字节替换盒的轻量级杂凑方法,其技术方案的基本结构是海绵结构,该结构是一种单向压缩函数,分为初始化阶段、消息吸收阶段和摘要输出阶段,通过内部置换结构将任意长度的输入变为固定长度的输出,且当内部置换结构无明显漏洞的情况下,基于海绵结构的杂凑函数具有特定的安全边界,可根据输出长度n、分组长度r及内部置换中不与消息异或长度c计算得出,本方法提供了三个版本的参数组合,以ATSHash-n/c/r的形式表示为ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32以适应不同环境的应用需求,输出长度分别为80比特、128比特和160比特,可提供72比特、112比特和128比特的抗第一原象安全性,41比特、64比特、80比特的抗第二原像安全性,及40比特、64比特、80比特的抗碰撞性。
本发明的基于仿射变换字节替换盒的轻量级杂凑方法,其新技术是在海绵结构的内部置换结构中采用3比特S盒及其仿射变换结构生成了4种仿射变换S盒,在一定程度上增强了线性层的混淆性,提高了内部置换结构抗统计饱和攻击的能力,且S盒采用具有良好差分特性的3比特S盒较SPONGENT的4比特S盒具有更低的硬件开销,仿射变换后的S盒也能继承原3比特S盒良好的差分性。其中,S盒的仿射变换结构存在4种形式,由初始迭代状态STATE的高2b/3(b为内部迭代状态的长度)比特位组成的控制逻辑进行选择,因此,存在4b/3种可能的组合形式,相当于加入了2b/3比特的秘钥。
3.优点及功效
1)该方法外部采用海绵结构,具有可计算的安全边界,且提供了三个版本的参数组合ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32以适应不同环境的应用需求,可提供从40比特的抗碰撞性至128比特的第一原象安全性;
2)内部置换结构的仿射变换S盒增加了线性层的混淆性,在一定程度上弥补了类PRESENT结构线性层过于简单的不足,增强了内部置换结构抗统计饱和攻击的能力,从而提高了轻量级杂凑方法整体的安全性;
3)内部置换结构的非线性层采用具有良好差分特性的3比特S盒,较同类型轻量级杂凑函数族的4比特S盒具有更低的硬件开销。
附图说明
图1是本发明的基于仿射变换字节替换盒的轻量级杂凑方法的外部海绵结构示意图。
图2是本发明的基于仿射变换字节替换盒的轻量级杂凑方法的内部置换结构示意图。
图3是本发明的基于仿射变换字节替换盒的轻量级杂凑方法ATSHash-80/82/8的线性层结构示意图。
具体实施方式
参见图1,是实施本发明的基于仿射变换字节替换盒的轻量级杂凑方法的基本逻辑结构,图中输入消息记作M,初始迭代状态记作STATE0,消息初始化后的分组消息记作{m0,m1,......,ml-1},输出摘要阶段每次输出的消息记作{h0,h1,h2,h3},本方法的三个版本输出次数皆为4次。其中,摘要长度为n,内部迭代状态长度为b,内部置换中不与消息异或长度为c,分组长度为r(b=r+c),每次输出的消息长度为r’(4r’=n)。本发明提供三个版本的轻量级杂凑参数组合,摘要长度n分别为80比特、128比特和160比特,内部迭代状态长度b分别为90比特、128比特、160比特,分组长度r分别为8比特、16比特和32比特,每次消息输出长度r’分别为20比特、32比特、40比特。
按照图1所示,本发明主要分为初始化、消息吸收及摘要输出三个阶段,具体实施步骤如下:
步骤1,初始化阶段:
1)将输入消息M末尾先填充一个‘1’,随后补充一定数量的‘0’,使该输入消息的长度为分组长度r的整数倍,ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32三个版本的分组长度分别为8比特、16比特、32比特;
2)填充后的消息M’按分组长度r分成l组{m0,m1,......,ml-1};
3)取长度为b比特的按初始迭代状态STATE的高2b/3位生成3比特线性层结构的控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3},ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32三个版本的内部置换长度b分别为90比特、144比特、192比特,对应的控制逻辑集分别为{a89a88,a87a86,......,a31a30}、{a143a142,a141a140,......,a49a48}、{a191a190,a189a188,......,a65a64};
4)按控制逻辑集选择内部迭代状态从高位开始对应的S盒的仿射变换结构,如ATSHash-80/82/8的控制逻辑集{a89a88,a87a86,......,a31a30},其中a89a88控制内部迭代状态a89a88a87的S盒仿射变换结构,a87a86控制a86a85a84的S盒仿射变换结构。
步骤2,消息吸收阶段:
1)初始迭代状态STATE0(长度为b比特,由用户给出)与第一组分组消息m0按位异或
并更新为STATE0 (0);
2)通过内部置换结构进行迭代;
3)迭代更新后的内部迭代状态与下一组分组消息进行按位异或和上述迭代过程;
4)重复2)3),直至最后一组分组消息ml-1处理完成,相应地,此时的内部迭代状态更
新为STATEl。
步骤3,摘要输出阶段:
1)最后一块分组消息ml-1进行内部置换后,输出内部迭代状态STATEl的高r’比特位,ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32三个版本的单次输出长度r’分别为20比特、32比特、40比特;
2)内部迭代状态再次进行内部置换并更新,输出更新后内部迭代状态的高r’比特位;
3)重复2)直至输出长度达到规定杂凑值的摘要长度n为止,ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32三个版本的输出长度n分别为80比特、128比特、160比特。
步骤1的3)中,S盒的仿射变换结构的选择,具体包括:
仿射变换结构有4种类型,其输入输出关系为:(a)输入y2y1y0输出y2y1y0;(b)输入y2y1y0输出y0y2y1;(c)输入y2y1y0输出y1y0y2;(d)输入y2y1y0输出y0y1y2。仿射变换这4种结构的排列位置由控制逻辑集决定,ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32的控制逻辑集分别为{a89a88,a87a86,......,a31a30}、{a143a142,a141a140,......,a49a48}、{a191a190,a189a188,......,a65a64},与仿射变换结构的对应关系分别为:00即选择第(a)种结构;01即选择第(b)种结构;10即选择第(c)种结构;11即选择第(d)种结构。按控制逻辑依次选择内部迭代状态从高位开始的S盒仿射变换结构,且每轮仿射变换结构位置不变,其配置在步骤1的初始化阶段完成。
参见图2,是实施本发明的基于仿射变换字节替换盒的轻量级杂凑方法的内部置换结构示意图,其中,RC0 (i)代表第i个内部置换的第一轮轮常数,RCR-1 (i)代表第i个内部置换的第R轮轮常数(R=b/2);图3是实施本发明的基于仿射变换字节替换盒的轻量级杂凑方法ATSHash-80/82/8的线性层结构示意图,其中,S代表S盒,AT(Affine Transformation,仿射变换)代表仿射变换结构,所述步骤2中的内部置换由轮数为R的迭代循环构成,具体包括:
1)内部迭代状态STATEi(0≤i≤l+3,且当i=0时,内部迭代状态为初始状态STATE0,由用户自定义)与第i组分组消息mi按异或后更新为STATEi (0),内部迭代状态STATEi (0)与第i个内部置换的第一轮轮常数RC0 (i)按位异或,异或后内部迭代状态更新为STATEi (1)。其中,轮常数RCr (i)(0≤r≤R-1,R为轮数)由一个s比特的线性反馈移位寄存器产生,且将寄存器状态定义为xs-1||xs-2||...||x0,每一位寄存器的状态每轮按公式(2)进行更新(s比特的线性反馈移位寄存器初始状态为全零,t为中间状态),轮常数RCr (i)状态c3||c2||c1||c0按公式(3)对移位寄存器的相应位进行计算;
2)内部迭代状态STATEi (1)以3比特一组从高位开始进行分组{g(b/3)-1......g0},ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32的分组分别为{g29,...,g0}、{g47,...,g0}、{g63,...,g0},将每个3比特分组g送入由控制逻辑集选择的仿射变换S盒进行替换。其中,S盒按如下规则进行替换:输入000输出000,输入001输出001,输入010输出011,输入100输出111,输入101输出100,输入110输出101,输入111输出010,S盒的仿射变换结构按所述步骤1的子步骤3)、4)中配置完成连接在对应S盒之后,将迭代状态STATEi (1)的b比特位全部替换后的内部迭代状态更新为STATEi (1ats);
3)将内部迭代状态STATEi (1ats)送入b比特线性扩散层进行扩散,扩散后的内部迭代状态更新为STATEi (1atsp)。其中,b比特线性层按公式(4)进行扩散。
4)上述步骤1)、2)、3)为内部置换R轮迭代循环中的一轮操作,接下来,内部迭代状态STATEi (1atsp)与下一轮轮常数RC1 (i)进行按位异或,内部迭代状态更新为STATEi (2),重复步骤1)、2)、3),如此循环,直至达到要求轮数R为止,R轮迭代结束后内部迭代状态更新为STATEi+1,此时处理完一组分组消息mi。
Claims (3)
1.一种基于仿射变换字节替换盒的轻量级杂凑方法,其特征在于:该方法包括以下处理步骤:
步骤1,消息初始化阶段:
1)将输入消息M末尾先填充一个‘1’,随后补充一定数量的‘0’,使该输入消息的长度为分组长度r的整数倍;
2)填充后的消息M’按分组长度r分成l组{m0,m1,......,ml-1};
3)取长度为b比特的按初始迭代状态STATE0的高2b/3位生成内部置换中S盒仿射变换结构的控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3},初始迭代状态STATE0由用户自定义;
4)按控制逻辑集选择内部迭代状态从高位开始对应的S盒的仿射变换结构,如控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3}的ab-1ab-2控制内部迭代状态ab-1ab-2ab-3对应的S盒的仿射变换结构;
步骤2,消息吸收阶段:
初始迭代状态STATE0与第一组分组消息m0按位异或更新为STATE0 (0),并通过内部置换结构进行迭代,更新后的内部迭代状态STATE1与下一组分组消息m1进行按位异或和内部置换迭代,重复此步骤,直至最后一组分组消息ml-1处理完成,相应地,此时的内部迭代状态更新为STATEl;
步骤3,摘要输出阶段:
最后一组分组消息ml-1进行内部置换后,输出内部迭代状态STATEl的高r’比特,之后的STATEl再次进行内部置换并更新为STATEl+1,每次输出更新后的迭代状态的高r’比特,直至输出长度达到规定杂凑值的输出长度n为止。
2.根据权利要求1所述的一种基于仿射变换字节替换盒的轻量级杂凑方法,其特征在于:所述步骤2中的内部置换由轮数为R的迭代循环构成,其中R=b/2,具体包括:
1)内部迭代状态STATEi,0≤i≤l+3,且当i=0时,内部迭代状态为初始状态STATE0,与第i组分组消息mi按异或后更新为STATEi (0),内部迭代状态STATEi (0)与第i个内部置换的第一轮轮常数RC0 (i)按位异或,异或后内部迭代状态更新为STATEi (1);其中,轮常数RCr (i)由一个s比特的线性反馈移位寄存器及其特定位拼接产生,0≤r≤R-1,R为轮数;且将寄存器状态定义为xs-1||xs-2||...||x0,每一位寄存器的状态每轮按公式(2)进行更新:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
<mo>&CirclePlus;</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>-</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>&CirclePlus;</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>-</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mi>o</mi>
<mi>r</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>1</mn>
<mo>&le;</mo>
<mi>j</mi>
<mo>&le;</mo>
<mi>s</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,s比特的线性反馈移位寄存器初始状态为全零,其中t为中间状态;
轮常数RCr (i)状态c3||c2||c1||c0按公式(3)对移位寄存器的相应位进行计算:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mn>3</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>0</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>2</mn>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>3</mn>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mn>3</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<mover>
<msub>
<mi>x</mi>
<mn>0</mn>
</msub>
<mo>&OverBar;</mo>
</mover>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mn>3</mn>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>2</mn>
</mrow>
</msub>
<mo>|</mo>
<mo>|</mo>
<mover>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>3</mn>
</mrow>
</msub>
<mo>&OverBar;</mo>
</mover>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>s</mi>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>RC</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mo>=</mo>
<msub>
<mi>c</mi>
<mn>3</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mn>2</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mn>1</mn>
</msub>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>c</mi>
<mn>0</mn>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mi>o</mi>
<mi>r</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mn>0</mn>
<mo>&le;</mo>
<mi>r</mi>
<mo>&le;</mo>
<mi>R</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
2)内部迭代状态STATEi (1)以3比特为一组进行分组{g(b/3)-1,......,g0},将每组送入S盒进行替换,其中,S盒按如下规则进行替换:输入000输出000,输入001输出001,输入010输出011,输入100输出111,输入101输出100,输入110输出101,输入111输出010;S盒的仿射变换结构有4种,其输入输出关系为:(a)输入y2y1y0输出y2y1y0;(b)输入y2y1y0输出y0y2y1;(c)输入y2y1y0输出y1y0y2;(d)输入y2y1y0输出y0y1y2,这4种结构的排列位置按步骤1的子步骤3)、4)进行配置,取STATE的高2b/3位按2比特一组分成b/3组{ab-1ab-2,ab-3ab-4,......,ab/3+ 1ab/3},每组2比特数据为选择S盒仿射变换结构的控制逻辑,对应关系分别为:00即选择第(a)种结构;01即选择第(b)种结构;10即选择第(c)种结构;11即选择第(d)种结构;按控制逻辑集{ab-1ab-2,ab-3ab-4,......,ab/3+1ab/3}从内部迭代状态的高位依次选择对应S盒的仿射变换结构,仿射变换结构确定后连接在对应S盒之后,在步骤1消息初始化阶段完成仿射变换结构的配置,以后该结构的位置不变;将迭代状态STATEi (1)的b比特经过仿射变换S盒全部替换后的内部迭代状态更新为STATEi (1ats);
3)内部迭代状态STATEi (1ats)送入b比特线性层进行扩散,扩散后的内部迭代状态更新为STATEi (1atsp),其中,b比特线性层按公式(4)进行扩散;
4)上述子步骤1)、2)、3)为内部置换R轮迭代循环中的一轮操作,接下来,内部迭代状态STATEi (1atsp)与下一轮轮常数RC1 (i)进行按位异或,内部迭代状态更新为STATEi (2),重复子步骤1)、2)、3),如此循环,直至达到要求轮数R为止,R轮迭代结束后内部迭代状态更新为STATEi+1,此时处理完一组分组消息mi。
3.根据权利要求1所述的一种基于仿射变换字节替换盒的轻量级杂凑方法,其特征在于:所述方法提供了三个版本的参数组合,以ATSHash-n/c/r的形式表示为ATSHash-80/82/8、ATSHash-128/128/16、ATSHash-160/160/32以适应不同环境的应用需求,输出长度分别为80比特、128比特和160比特,可提供72比特、112比特和128比特的抗第一原象安全性,41比特、64比特、80比特的抗第二原像安全性,及40比特、64比特、80比特的抗碰撞性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127396.XA CN107124264B (zh) | 2017-03-06 | 2017-03-06 | 一种基于仿射变换字节替换盒的轻量级杂凑方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127396.XA CN107124264B (zh) | 2017-03-06 | 2017-03-06 | 一种基于仿射变换字节替换盒的轻量级杂凑方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107124264A true CN107124264A (zh) | 2017-09-01 |
CN107124264B CN107124264B (zh) | 2020-05-05 |
Family
ID=59717963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710127396.XA Active CN107124264B (zh) | 2017-03-06 | 2017-03-06 | 一种基于仿射变换字节替换盒的轻量级杂凑方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107124264B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107769911A (zh) * | 2017-11-30 | 2018-03-06 | 西安理工大学 | 一种基于Sponge结构的轻量级哈希函数构造方法 |
CN108449171A (zh) * | 2018-02-09 | 2018-08-24 | 中国科学院软件研究所 | 一种轻量级杂凑密码摘要生成方法 |
CN110690958A (zh) * | 2019-10-18 | 2020-01-14 | 中国人民解放军战略支援部队信息工程大学 | 基于海绵结构的轻量级密码杂凑算法 |
CN117155546A (zh) * | 2023-10-27 | 2023-12-01 | 苏州元脑智能科技有限公司 | 分组密码类立方攻击的搜索方法、装置、电子设备及介质 |
CN117353923A (zh) * | 2023-12-06 | 2024-01-05 | 北京邮电大学 | 轻量级哈希加密算法的演练方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
US20150215114A1 (en) * | 2014-01-29 | 2015-07-30 | Mohammad A. Alahmad | Method for generating a secure cryptographic hash function |
CN106383691A (zh) * | 2016-09-18 | 2017-02-08 | 北京智芯微电子科技有限公司 | 一种随机数产生方法及随机数产生器 |
-
2017
- 2017-03-06 CN CN201710127396.XA patent/CN107124264B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
US20150215114A1 (en) * | 2014-01-29 | 2015-07-30 | Mohammad A. Alahmad | Method for generating a secure cryptographic hash function |
CN106383691A (zh) * | 2016-09-18 | 2017-02-08 | 北京智芯微电子科技有限公司 | 一种随机数产生方法及随机数产生器 |
Non-Patent Citations (2)
Title |
---|
XIANG WANG ; PEI DU ; QUANNENG SHEN ; BIN XU ; LIN LI ; WEIKE WA: ""An Improved S-Box of Lightweight Hash Function SPOGENT"", 《IEEE》 * |
王毅: ""轻量级分组密码的设计与分析"", 《万方数据》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107769911A (zh) * | 2017-11-30 | 2018-03-06 | 西安理工大学 | 一种基于Sponge结构的轻量级哈希函数构造方法 |
CN107769911B (zh) * | 2017-11-30 | 2020-07-28 | 西安理工大学 | 一种基于Sponge结构的轻量级哈希函数构造方法 |
CN108449171A (zh) * | 2018-02-09 | 2018-08-24 | 中国科学院软件研究所 | 一种轻量级杂凑密码摘要生成方法 |
CN110690958A (zh) * | 2019-10-18 | 2020-01-14 | 中国人民解放军战略支援部队信息工程大学 | 基于海绵结构的轻量级密码杂凑算法 |
CN110690958B (zh) * | 2019-10-18 | 2022-11-22 | 中国人民解放军战略支援部队信息工程大学 | 基于海绵结构的轻量级密码杂凑方法 |
CN117155546A (zh) * | 2023-10-27 | 2023-12-01 | 苏州元脑智能科技有限公司 | 分组密码类立方攻击的搜索方法、装置、电子设备及介质 |
CN117155546B (zh) * | 2023-10-27 | 2024-02-09 | 苏州元脑智能科技有限公司 | 分组密码类立方攻击的搜索方法、装置、电子设备及介质 |
CN117353923A (zh) * | 2023-12-06 | 2024-01-05 | 北京邮电大学 | 轻量级哈希加密算法的演练方法及相关设备 |
CN117353923B (zh) * | 2023-12-06 | 2024-02-02 | 北京邮电大学 | 轻量级哈希加密算法的演练方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107124264B (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107124264A (zh) | 一种基于仿射变换字节替换盒的轻量级杂凑方法 | |
Comon-Lundh et al. | Computational soundness of observational equivalence | |
Fletcher et al. | Bucket ORAM: single online roundtrip, constant bandwidth oblivious RAM | |
Agrawal et al. | Explicit non-malleable codes against bit-wise tampering and permutations | |
CN102263636B (zh) | 一种融合神经网络与混沌映射的流密码密钥控制方法 | |
TW201918926A (zh) | 用於自位元混合器建構安全雜湊函數之方法 | |
CN105184115B (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
CN109768854A (zh) | 一种轻量级分组密码算法Wheel的实现方法 | |
CN107769910A (zh) | 一种基于Latch PUF的抗边信道攻击DES防护方法及电路 | |
CN103490877A (zh) | 基于cuda的aria对称分组密码算法并行化方法 | |
Coretti et al. | Rate-optimizing compilers for continuously non-malleable codes | |
CN105022937A (zh) | 用于将白箱实现紧附到周围程序的接口兼容方式 | |
Huang et al. | IVLBC: An involutive lightweight block cipher for Internet of Things | |
Zhao et al. | Improved related-Tweakey rectangle attacks on reduced-round Deoxys-BC-384 and Deoxys-I-256-128 | |
Yang et al. | DULBC: A dynamic ultra-lightweight block cipher with high-throughput | |
CN104301089A (zh) | 用于对任意变量的两个布尔函数进行仿射等价的判定方法 | |
Meurer et al. | An Implementation of the AES cipher using HLS | |
Song et al. | LELBC: A low energy lightweight block cipher for smart agriculture | |
Mousa et al. | Query Processing Performance on Encrypted Databases by Using the REA Algorithm. | |
CN110086633A (zh) | 一种区块链技术中密文防篡改方法 | |
Moataz et al. | Recursive trees for practical ORAM | |
Lustro et al. | Performance analysis of enhanced SPECK algorithm | |
Shoukat et al. | Randomized substitution method for effectively secure block ciphers in IOT environment | |
CN105024808A (zh) | 无需改变密钥的安全性补丁 | |
CN108449169A (zh) | 一种用于无线传感器网路的混沌分组加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |