CN111756521B - 基于Feistel-SP结构的密码S盒设计方法 - Google Patents

基于Feistel-SP结构的密码S盒设计方法 Download PDF

Info

Publication number
CN111756521B
CN111756521B CN202010592794.0A CN202010592794A CN111756521B CN 111756521 B CN111756521 B CN 111756521B CN 202010592794 A CN202010592794 A CN 202010592794A CN 111756521 B CN111756521 B CN 111756521B
Authority
CN
China
Prior art keywords
box
bit
round
feistel
boxes
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.)
Active
Application number
CN202010592794.0A
Other languages
English (en)
Other versions
CN111756521A (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.)
Guilin University of Electronic Technology
China Industrial Control Systems Cyber Emergency Response Team
Original Assignee
Guilin University of Electronic Technology
China Industrial Control Systems Cyber Emergency Response Team
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 Guilin University of Electronic Technology, China Industrial Control Systems Cyber Emergency Response Team filed Critical Guilin University of Electronic Technology
Priority to CN202010592794.0A priority Critical patent/CN111756521B/zh
Publication of CN111756521A publication Critical patent/CN111756521A/zh
Application granted granted Critical
Publication of CN111756521B publication Critical patent/CN111756521B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了基于Feistel‑SP结构的密码S盒设计方法,步骤包括:选择4比特最优密码S盒样本;设计8比特S盒构造方案;对构造的8比特S盒进行自动搜索;测试所搜索出来的密码S盒。基于所选择的4比特密码S盒的密码性质,可以知道新构造的8比特S盒的密码性质,有利于分析8比特S盒的密码性质,从而搜索出具有良好密码学性质的8比特S盒。经典密码算法AES的8比特S盒实现成本需要115个等效门,而最优4比特S盒的实现成本不到40个等效门,4比特S盒占用的内存和需要的等效门数远低于8比特S盒,实现几个小的4比特S盒比实现一个大的8比特S盒所需要的资源更少。因此,本发明设计的8比特S盒的硬件实现成本相对更低。

Description

基于Feistel-SP结构的密码S盒设计方法
技术领域
本发明涉及分组密码算法密码S盒设计,具体是一种基于Feistel-SP结构的密码S盒设计方法。
背景技术
密码技术是信息安全的基石。现代密码技术分为对称密码技术和公钥密码技术。分组密码算法是对称密码的一个重要部分,在实际信息安全系统中有着广泛的应用。
随着物联网的发展,一些轻量级分组密码算法被提出,为资源受限的环境提供安全保护。如何设计高安全强度且具有低软硬件实现成本的轻量级密码是研究的一个热点。
密码S盒是分组密码的关键性部件,也是唯一的非线性部件,为密码算法提供混淆作用,决定着密码算法的安全性,也决定了基于密码算法的安全系统的安全。因此,在密码设计领域,研究具有良好密码学性质的密码S盒具有十分重要的意义。衡量密码S盒安全强度的指标包括但不限于:平衡性、非线性度、差分均匀度、相关免疫度以及代数免疫度等。由于密码S盒的“良好性质”常常相互制约,因此必须考虑多个密码学指标,才有可能设计出高安全强度的密码算法。为此,密码设计者需要使用全局搜索找出全部的密码S盒,然后再进行性能上对比从而找到最优密码S盒,但该方式需要极大的运算量和运行时间,当前的计算机无法满足该条件。
目前,密码S盒的设计方法主要有随机生成、测试和选择、利用密码算法结构构造、人为构造以及数学函数生成等。这些方法各有各自的优势和不足。针对轻量级密码算法,一些所设计的4比特密码S盒具有优良的密码学性质,且资源成本低,这满足资源受限环境的安全和资源需求。为提高算法的安全性,可以搜索设计大型的密码S盒,如8比特S盒。但相对于设计4比特密码S盒,搜索8比特的密码S盒,设计过程的时间长,且对资源要求高。在资源受限环境里,针对轻量级S盒,利用密码算法结构以4比特S盒构造8比特S盒,是一个有效的方法。采用这种方式,对于软件实现方面,S盒使用LUT进行软件实现,较小的S盒占用内存更小;对于硬件实现,其等效门数更低;对于比特切片软件实现,其指令数较低。因此,从4比特S盒构造8比特S盒可以降低实现成本,并且由4比特最优S盒构造的8比特S盒可以达到一些算法的安全性需求,具有较好的实用性和可行性。
发明内容
本发明的目的是提供一种基于Feistel-SP结构的密码S盒设计方法,解决资源受限环境下的密码S盒设计问题,使得设计的密码S盒具有良好的密码学性质,及较低的软、硬件实现成本。
实现本发明目的的技术方案是:
一种基于Feistel-SP结构的密码S盒设计方法,包括以下步骤:
(一)选择4比特最优密码S盒样本;
(二)设计基于Feistel-SP结构的8比特S盒构造方案;
(三)对构造的8比特S盒进行自动搜索;
(四)测试所搜索出来的密码S盒,筛选出密码学性质良好且透明阶较低的8比特S盒。
为保证新构造出来的密码S盒符合所需要求,步骤(一)选择16类4比特黄金S盒代表元,作为本方法的数据集样本。一方面,这类4比特S盒的密码学性质最优,并且对于代数攻击是最优的;另一方面,所选择的一些4比特S盒具有较好的硬件实现,如Present、LBlock等;第三,采用计算智能算法设计并选取在软件上具有较好的抵抗能力,也具有较好的硬件实现代价并具有较低透明阶的4比特最优S盒;因此,将具有上述性质的4比特最优S盒作为本方法的数据集样本。
基于SPN良好的扩散性和Feistel结构硬件实现的高效性,选择利用Feistel-SP结构构造具有较低差分均匀度、较高非线性度、较低透明阶且易于硬件实现的S盒。
本发明方法,步骤(二)所述的设计基于Feistel-SP结构的8比特S盒构造方案,是基于所选择的16类4比特黄金S盒,整体采用Feistel结构,其轮函数中使用SP结构,构造8比特S盒;轮函数由一个S盒和一个P置换组成,S盒用于混淆,P置换进行扩散;为方便描述,将本构造方案称为FS8型方案,具体过程如下:
(2.1)迭代轮数
在设计过程中,不仅选择的轮函数十分重要,选取迭代的次数同样重要。考虑其安全性,设计8比特S盒的密码算法结构迭代的轮数越多越好,已有研究证明了3轮的Feistel结构构造S盒是安全的,因此至少迭代3轮。由于S盒的硬件实现代价与其输入和输出大小成正比,考虑其硬件实现成本,迭代的轮数越少越好,在此,设置最高迭代轮数为r轮,r≥3;
(2.2)FS8型方案中的4比特S盒使用方法
FS8型方案中共使用两个不同的4比特最优S盒,分别称为S1、S2,这两个S盒分别选自于所选择的16类4比特黄金S盒样本中;
在迭代过程中,S1和S2在不同轮中循环使用,每一轮S盒的选取与轮数i有关,设第i轮选择的S盒为SBox(i),1≤i≤r,则具体的选取规则如下:
Figure BDA0002556352310000031
(2.3)迭代过程中的P置换
P置换采用的是4比特P置换,实现线性变换;如果随机生成4比特P置换,其生成的数目为4!个,在此,对每一个置换进行测试,以找寻到一个扩散效果好的比特置换,并设置其置换变化;
令P置换
Figure BDA0002556352310000032
置换过程为:
(p0,p1,p2,p3)→(p1,p3,p0,p2) (2)
通过P置换可影响S盒每一比特的输出,为整体结构提供扩散的作用,由于P置换不涉及等效门电路,可以节省硬件实现;
(2.4)定义轮函数
设输入比特
Figure BDA0002556352310000033
x0、y0为最高位,x3、y3为最低位;i表示迭代的轮数,xi、yi分别表示迭代i轮的左、右输出比特;fi表示第i轮的轮函数,其中1≤i≤r;置换函数
Figure BDA0002556352310000034
S盒
Figure BDA0002556352310000035
Figure BDA0002556352310000036
域上第i轮的轮函数fi表示为:
Figure BDA0002556352310000037
(2.5)FS8型方案的输出函数
给定输入比特(x,y),基于公式(3)定义的轮函数,则第i轮的左、右输出函数(xi,yi)分别如下:
Figure BDA0002556352310000038
对于FS8型方案,共迭代r轮,则其具体代数表达形式为FS8r(x,y)=(xr,yr)。
本发明方法,步骤(三)所述的对构造的8比特S盒进行自动搜索,具体过程如下:
(3.1)开始;
(3.2)初始化变量,设置最大轮数为r,r≥3,当前轮数i=1;
设两个下标变量j=0和k=0;设置向量t和e分别为空;
设置S盒矩阵FS为空;
设置一个8比特S盒集合U8初始为空;
(3.3)将所有4比特最优S盒样本放置到S盒集合SBox中;
(3.4)从SBox中按照全遍历方式选择两个S盒,分别定义为S1,S2;
(3.5)初始化输入变量(x,y),
Figure BDA0002556352310000041
对于(x,y)在
Figure BDA0002556352310000042
域上按字典顺序分别开始遍历取第一个值;
(3.6)开始第i轮的迭代,先根据公式(1)选择S盒S1或者S2,基于输入变量(x,y),根据公式(3)进行轮函数操作,形成输出(t,e);
(3.7)若i<r,令i++,x=t,y=e,转(3.6);否则,转(3.8);
(3.8)将输出(t,e)合并存入FS8型方案的S盒矩阵FS[j,k];
(3.9)若输入变量y在
Figure BDA0002556352310000043
域中没有遍历取完所有值,则令y在
Figure BDA0002556352310000044
域中按字典顺序遍历取下一个值,并令k++,i=1,转(3.6);若遍历取完所有值,转(3.10);
(3.10)若输入变量x在
Figure BDA0002556352310000045
域中没有遍历取完所有值,则令x在
Figure BDA0002556352310000046
域中按字典顺序遍历取下一个值,并令y在
Figure BDA0002556352310000047
域上按字典顺序开始遍历取第一个值,令j++,k=0,转(3.6);若遍历取完所有值,则结束遍历,转(3.11);
(3.11)得到一个新的8比特S盒FS8r(x,y),将其加入到集合U8中,并将S盒矩阵FS置空;
(3.12)若SBox全遍历没有结束,则以全遍历方式选择下一组的两个S盒,分别定义为S1和S2,令i=1,j=0,k=0,设置t和e分别为空,转(3.5);若SBox全遍历结束,则结束整个自动化搜索过程,转(3.13);
(3.13)输出包含了所有新搜索到的8比特S盒的集合U8;
(3.14)结束搜索。
本发明方法,步骤(四)所述的对新搜索的所有8比特S盒进行测试及筛选,具体如下:
利用密码算法随机测试平台,针对所搜索出来的所有8比特密码S盒,分别测试其代数次数、差分均匀度、非线性度、透明阶等安全性指标,从中找寻密码性质良好且透明阶较低的8比特S盒。
本发明的有益效果是:
(1)本发明基于Feistel-SP结构具有成熟的安全性理论,都有抵抗差分密码分析和线性密码分析的研究成果,利用这些结果及所选择的4比特密码S盒的密码性质,可以知道新构造的8比特S盒的密码性质,这有利于分析8比特S盒的密码性质,从而搜索出具有良好密码学性质的8比特S盒。
(2)本发明通过找寻具有更高安全强度的高比特S盒,可以更好地满足应用环境的安全需求。S盒的规模越大,其随机性越好,S盒的密码强度越大;其次,使用小盒导致最大差分转移概率和最大线性逼近增加,这需要迭代更多的轮数才可保证其安全性,因此本发明方法能找寻出密码学性质较好的8比特S盒。
(3)本发明基于Feistel-SP结构,采用小盒构造大盒的方式,基于4比特S盒构造8比特S盒,构造的S盒有相对较低的硬件实现代价。经典密码算法AES的8比特S盒实现成本需要115个等效门,而最优4比特S盒的实现成本不到40个等效门,4比特S盒占用的内存和需要的等效门数远低于8比特S盒,实现几个小的4比特S盒比实现一个大的8比特S盒所需要的资源更少。因此,基于Feistel-SP结构设计的8比特S盒的硬件实现成本相对更低。
附图说明
图1为实施例基于Feistel-SP结构的8比特S盒构造图;
图2为实施例基于Feistel-SP结构的8比特S盒自动搜索流程图。
具体实施方式
下面结合附图对本发明内容作进一步的说明,但不是对本发明的限定。
一种基于Feistel-SP结构的密码S盒设计方法,包括如下步骤:
(一)选择16类4比特黄金S盒代表元,作为本方法的数据集样本;
(二)设计基于Feistel-SP结构的8比特S盒构造方案;
(三)对构造的8比特S盒进行自动搜索;
(四)测试所搜索出来的密码S盒,筛选出密码学性质良好且透明阶较低的8比特S盒。
步骤(2)所述的设计基于Feistel-SP结构的8比特S盒构造方案,是基于所选择的16类4比特黄金S盒,整体采用Feistel结构,其轮函数中使用SP结构,构造8比特S盒;轮函数由一个S盒和一个P置换组成,S盒用于混淆,P置换进行扩散;将本构造方案称为FS8型方案,为方便描述,将本构造方案称为FS8型方案,如图1所示,具体过程如下:
(2.1)迭代轮数
在设计过程中,不仅选择的轮函数十分重要,选取迭代的次数同样重要。考虑其安全性,设计8比特S盒的密码算法结构迭代的轮数越多越好,已有研究证明了3轮的Feistel结构构造S盒是安全的,因此至少迭代3轮。由于S盒的硬件实现代价与其输入和输出大小成正比,考虑其硬件实现成本,迭代的轮数越少越好,在此,设置最高迭代轮数为r轮,r≥3;
(2.2)FS8型方案中的4比特S盒使用方法
FS8型方案中共使用两个不同的4比特最优S盒,分别称为S1、S2,这两个S盒分别选自于所选择的16类4比特黄金S盒样本中;
在迭代过程中,S1和S2在不同轮中循环使用,每一轮S盒的选取与轮数i有关,设第i轮选择的S盒为SBox(i),1≤i≤r,则具体的选取规则如下:
Figure BDA0002556352310000061
(2.3)迭代过程中的P置换
P置换采用的是4比特P置换,实现线性变换;如果随机生成4比特P置换,其生成的数目为4!个,在此,对每一个置换进行测试,以找寻到一个扩散效果好的比特置换,并设置其置换变化;
令P置换
Figure BDA0002556352310000062
置换过程为:
(p0,p1,p2,p3)→(p1,p3,p0,p2) (2)
通过P置换可影响S盒每一比特的输出,为整体结构提供扩散的作用,由于P置换不涉及等效门电路,可以节省硬件实现;
(2.4)定义轮函数
设输入比特
Figure BDA0002556352310000063
x0、y0为最高位,x3、y3为最低位;i表示迭代的轮数,xi、yi分别表示迭代i轮的左、右输出比特;fi表示第i轮的轮函数,其中1≤i≤r;置换函数
Figure BDA0002556352310000064
S盒
Figure BDA0002556352310000065
Figure BDA0002556352310000066
域上第i轮的轮函数fi表示为:
Figure BDA0002556352310000067
(2.5)FS8型方案的输出函数
给定输入比特(x,y),基于公式(3)定义的轮函数,则第i轮的左、右输出函数(xi,yi)分别如下:
Figure BDA0002556352310000068
对于FS8型方案,共迭代r轮,则其具体代数表达形式为FS8r(x,y)=(xr,yr)。
参照图2,步骤(三)所述的对构造的8比特S盒进行自动搜索,具体过程如下:
(3.1)开始;
(3.2)初始化变量,设置最大轮数为r,r≥3,当前轮数i=1;
设两个下标变量j=0和k=0;设置向量t和e分别为空;
设置S盒矩阵FS为空;
设置一个8比特S盒集合U8初始为空;
(3.3)将所有4比特最优S盒样本放置到S盒集合SBox中;
(3.4)从SBox中按照全遍历方式选择两个S盒,分别定义为S1,S2;
(3.5)初始化输入变量(x,y),
Figure BDA0002556352310000071
对于(x,y)在
Figure BDA0002556352310000072
域上按字典顺序分别开始遍历取第一个值;
(3.6)开始第i轮的迭代,先根据公式(1)选择S盒S1或者S2,基于输入变量(x,y),根据公式(3)进行轮函数操作,形成输出(t,e);
(3.7)若i<r,令i++,x=t,y=e,转(3.6);否则,转(3.8);
(3.8)将输出(t,e)合并存入FS8型方案的S盒矩阵FS[j,k];
(3.9)若输入变量y在
Figure BDA0002556352310000073
域中没有遍历取完所有值,则令y在
Figure BDA0002556352310000074
域中按字典顺序遍历取下一个值,并令k++,i=1,转(3.6);若遍历取完所有值,转(3.10);
(3.10)若输入变量x在
Figure BDA0002556352310000075
域中没有遍历取完所有值,则令x在
Figure BDA0002556352310000076
域中按字典顺序遍历取下一个值,并令y在
Figure BDA0002556352310000077
域上按字典顺序开始遍历取第一个值,令j++,k=0,转(3.6);若遍历取完所有值,则结束遍历,转(3.11);
(3.11)得到一个新的8比特S盒FS8r(x,y),将其加入到集合U8中,并将S盒矩阵FS置空;
(3.12)若SBox全遍历没有结束,则以全遍历方式选择下一组的两个S盒,分别定义为S1和S2,令i=1,j=0,k=0,设置t和e分别为空,转(3.5);
若SBox全遍历结束,则结束整个自动化搜索过程,转(3.13);
(3.13)输出包含了所有新搜索到的8比特S盒的集合U8;
(3.14)结束搜索。
通过上述方法可构造出具有较好的密码学性质且硬件代价相对较低的8比特密码S盒,满足资源受限环境应用的需求。

Claims (1)

1.基于Feistel-SP结构的密码S盒设计方法,其特征在于,包括如下步骤:
(1)选择16类4比特黄金S盒代表元,作为本方法的数据集样本;
(2)设计基于Feistel-SP结构的8比特S盒构造方案;
(3)对构造的8比特S盒进行自动搜索;
(4)测试所搜索出来的密码S盒,筛选出密码学性质良好且透明阶低的8比特S盒;
步骤(2)所述的设计基于Feistel-SP结构的8比特S盒构造方案,是基于所选择的16类4比特黄金S盒,整体采用Feistel结构,其轮函数中使用SP结构,构造8比特S盒;轮函数由一个S盒和一个P置换组成,S盒用于混淆,P置换进行扩散;将本构造方案称为FS8型方案,具体过程如下:
(2.1)迭代轮数
由于S盒的硬件实现代价与其输入和输出大小成正比,迭代3轮的Feistel结构构造S盒是安全的;在此,设置最高迭代轮数为r轮,r≥3;
(2.2)FS8型方案中的4比特S盒使用方法
FS8型方案中共使用两个不同的4比特最优S盒,分别称为S1、S2,这两个S盒分别选自于所选择的16类4比特黄金S盒样本中;
在迭代过程中,S1和S2在不同轮中循环使用,每一轮S盒的选取与轮数i有关,设第i轮选择的S盒为SBox(i),1≤i≤r,则具体的选取规则如下:
Figure FDA0003594334430000011
(2.3)迭代过程中的P置换
P置换采用的是4比特P置换,实现线性变换;如果随机生成4比特P置换,其生成的数目为4!个,在此,对每一个置换进行测试,以找寻到一个扩散效果好的比特置换,并设置其置换变化;
令P置换
Figure FDA0003594334430000012
置换过程为:
(p0,p1,p2,p3)→(p1,p3,p0,p2) (2)
通过P置换可影响S盒每一比特的输出,为整体结构提供扩散的作用;
(2.4)定义轮函数
设输入比特
Figure FDA0003594334430000013
x0、y0为最高位,x3、y3为最低位;i表示迭代的轮数,xi、yi分别表示迭代i轮的左、右输出比特;fi表示第i轮的轮函数,其中1≤i≤r;置换函数
Figure FDA0003594334430000021
S盒
Figure FDA0003594334430000022
Figure FDA0003594334430000023
域上第i轮的轮函数fi表示为:
Figure FDA0003594334430000024
(2.5)FS8型方案的输出函数
给定输入比特(x,y),基于公式(3)定义的轮函数,则第i轮的左、右输出函数(xi,yi)分别如下:
Figure FDA0003594334430000025
对于FS8型方案,共迭代r轮,则其具体代数表达形式为FS8r(x,y)=(xr,yr);
步骤(3)所述的对构造的8比特S盒进行自动搜索,具体过程如下:
(3.1)开始;
(3.2)初始化变量,设置最大轮数为r,r≥3,当前轮数i=1;
设两个下标变量j=0和k=0;设置向量t和e分别为空;
设置S盒矩阵FS为空;
设置一个8比特S盒集合U8初始为空;
(3.3)将所有4比特最优S盒样本放置到S盒集合SBox中;
(3.4)从SBox中按照全遍历方式选择两个S盒,分别定义为S1,S2;
(3.5)初始化输入变量(x,y),
Figure FDA0003594334430000026
对于(x,y)在
Figure FDA0003594334430000027
域上按字典顺序分别开始遍历取第一个值;
(3.6)开始第i轮的迭代,先根据公式(1)选择S盒S1或者S2,基于输入变量(x,y),根据公式(3)进行轮函数操作,形成输出(t,e);
(3.7)若i<r,令i++,x=t,y=e,转(3.6);否则,转(3.8);
(3.8)将输出(t,e)合并存入FS8型方案的S盒矩阵FS[j,k];
(3.9)若输入变量y在
Figure FDA0003594334430000028
域中没有遍历取完所有值,则令y在
Figure FDA0003594334430000029
域中按字典顺序遍历取下一个值,并令k++,i=1,转(3.6);若遍历取完所有值,转(3.10);
(3.10)若输入变量x在
Figure FDA00035943344300000210
域中没有遍历取完所有值,则令x在
Figure FDA00035943344300000211
域中按字典顺序遍历取下一个值,并令y在
Figure FDA0003594334430000031
域上按字典顺序开始遍历取第一个值,令j++,k=0,转(3.6);若遍历取完所有值,则结束遍历,转(3.11);
(3.11)得到一个新的8比特S盒FS8r(x,y),将其加入到集合U8中,并将S盒矩阵FS置空;
(3.12)若SBox全遍历没有结束,则以全遍历方式选择下一组的两个S盒,分别定义为S1和S2,令i=1,j=0,k=0,设置t和e分别为空,转(3.5);
若SBox全遍历结束,则结束整个自动化搜索过程,转(3.13);
(3.13)输出包含了所有新搜索到的8比特S盒的集合U8;
(3.14)结束搜索。
CN202010592794.0A 2020-06-25 2020-06-25 基于Feistel-SP结构的密码S盒设计方法 Active CN111756521B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010592794.0A CN111756521B (zh) 2020-06-25 2020-06-25 基于Feistel-SP结构的密码S盒设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010592794.0A CN111756521B (zh) 2020-06-25 2020-06-25 基于Feistel-SP结构的密码S盒设计方法

Publications (2)

Publication Number Publication Date
CN111756521A CN111756521A (zh) 2020-10-09
CN111756521B true CN111756521B (zh) 2022-05-27

Family

ID=72677305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010592794.0A Active CN111756521B (zh) 2020-06-25 2020-06-25 基于Feistel-SP结构的密码S盒设计方法

Country Status (1)

Country Link
CN (1) CN111756521B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162755B (zh) * 2021-02-03 2022-12-20 北京信息科学技术研究院 一种轻量级8比特s盒的构造方法及其电路
CN113794549B (zh) * 2021-09-15 2023-07-28 桂林电子科技大学 一种4比特密码s盒自动化门限掩码方法
CN113783684B (zh) * 2021-09-15 2023-07-18 桂林电子科技大学 一种基于NFSR和Feistel结构的16比特S盒构造方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043016B2 (en) * 2000-07-04 2006-05-09 Koninklijke Philips Electronics N.V. Substitution-box for symmetric-key ciphers
CN103051442A (zh) * 2012-10-16 2013-04-17 中国科学院软件研究所 采用Feistel-PG结构的密码装置及加密方法
CN103427986A (zh) * 2013-08-22 2013-12-04 中国科学院信息工程研究所 获取分组密码活跃s盒个数下界的方法
CN104333446A (zh) * 2014-11-10 2015-02-04 衡阳师范学院 一种新型超轻量级qtl分组密码实现方法
CN105591734A (zh) * 2015-04-24 2016-05-18 桂林电子科技大学 一种基于查表的白盒密码非线性编码保护方法
EP3154216A1 (en) * 2015-10-08 2017-04-12 The Boeing Company Data dependent authentication keys for differential power analysis resistant authentication
CN107707343A (zh) * 2017-11-08 2018-02-16 贵州大学 加解密一致的sp网络结构轻量级lbt分组密码实现方法
CN109905231A (zh) * 2019-02-26 2019-06-18 清华大学 一种新型的密码专用的4×4的s盒构造方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043016B2 (en) * 2000-07-04 2006-05-09 Koninklijke Philips Electronics N.V. Substitution-box for symmetric-key ciphers
CN103051442A (zh) * 2012-10-16 2013-04-17 中国科学院软件研究所 采用Feistel-PG结构的密码装置及加密方法
CN103427986A (zh) * 2013-08-22 2013-12-04 中国科学院信息工程研究所 获取分组密码活跃s盒个数下界的方法
CN104333446A (zh) * 2014-11-10 2015-02-04 衡阳师范学院 一种新型超轻量级qtl分组密码实现方法
CN105591734A (zh) * 2015-04-24 2016-05-18 桂林电子科技大学 一种基于查表的白盒密码非线性编码保护方法
EP3154216A1 (en) * 2015-10-08 2017-04-12 The Boeing Company Data dependent authentication keys for differential power analysis resistant authentication
CN107707343A (zh) * 2017-11-08 2018-02-16 贵州大学 加解密一致的sp网络结构轻量级lbt分组密码实现方法
CN109905231A (zh) * 2019-02-26 2019-06-18 清华大学 一种新型的密码专用的4×4的s盒构造方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
A Dependence-First Clustering Based Partitioning Algorithm for Coarse-Grained Reconfigurable Cipher Logic Array;Min Liu ect.;《2018 IEEE 3rd Advanced Information Technology, Electronic and Automation Control Conference(IAEAC 2018)》;20181217;全文 *
Feistel-SP结构迭代差分的自动化搜索;李艳俊等;《计算机工程与科学》;20150315(第03期);全文 *
Feistel结构差分活动S盒的搜索算法;明亚运,祝世雄,曹云飞;《通信技术》;20141010;全文 *
GRANULE和MANTRA算法的不可能差分区分器分析;武小年、李迎新、韦永壮、孙亚平;《通信学报》;20200107;全文 *
Lightweight and Side-channel Secure 4 × 4 S-Boxes from Cellular Automata Rules;Ashrujit Ghoshal ect.;《IACR Transactions on Symmetric Cryptology》;20181231;全文 *
一类轻量级最优S盒的构造方法;李昂等;《山东大学学报(理学版)》;20180307(第07期);全文 *

Also Published As

Publication number Publication date
CN111756521A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN111756521B (zh) 基于Feistel-SP结构的密码S盒设计方法
Sun et al. MILP‐aided bit‐based division property for primitives with non‐bit‐permutation linear layers
CN109951444B (zh) 一种加密匿名网络流量识别方法
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
Yang et al. Cube cryptanalysis of round-reduced ACORN
CN113836447B (zh) 一种云平台下的安全轨迹相似性查询方法及系统
CN116484415A (zh) 基于全同态加密的隐私决策树推理方法
CN110299988B (zh) 轻量级分组密码算法抗攻击能力的检测方法及检测装置
Navale et al. A multi-analysis on privacy preservation of association rules using hybridized approach
Delaune et al. Efficient methods to search for best differential characteristics on SKINNY
Dalai et al. Some conditional cube testers for grain-128a of reduced rounds
Ren et al. Cryptanalysis of reduced-round speck
CN113783684B (zh) 一种基于NFSR和Feistel结构的16比特S盒构造方法
Delaune et al. SKINNY with scalpel-comparing tools for differential analysis
CN115714641A (zh) 检测saturnin密码算法抵御不可能差分故障攻击的方法
Blondeau et al. Differential Cryptanalysis of PUFFIN and PUFFIN2
Zhang et al. Impossible differential cryptanalysis and a security evaluation framework for AND-RX ciphers
Mao et al. Improved division property for ciphers with complex linear layers
Ye et al. A new cube attack on MORUS by using division property
CN117560152B (zh) 基于sat求解器搜索s盒的nct电路最优实现方法
Sun et al. Key-Recovery Attacks on CRAFT and WARP
Gong et al. Combining MILP modeling with algebraic bias evaluation for linear mask search: improved fast correlation attacks on SNOW
Jiao et al. Guess‐and‐determine attacks on PANAMA‐like stream ciphers
Lee et al. Privacy Preserving Decision Tree Training and Prediction via Fully Homomorphic Encryption with No Decryption
Dwivedi et al. Differential Cryptanalysis in ARX Ciphers with specific applications to LEA

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