CN111431697A - 一种新型轻量级分组密码corl的实现方法 - Google Patents

一种新型轻量级分组密码corl的实现方法 Download PDF

Info

Publication number
CN111431697A
CN111431697A CN202010247023.8A CN202010247023A CN111431697A CN 111431697 A CN111431697 A CN 111431697A CN 202010247023 A CN202010247023 A CN 202010247023A CN 111431697 A CN111431697 A CN 111431697A
Authority
CN
China
Prior art keywords
round
transformation
bit
bits
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.)
Granted
Application number
CN202010247023.8A
Other languages
English (en)
Other versions
CN111431697B (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.)
Hengyang Normal University
Original Assignee
Hengyang Normal University
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 Hengyang Normal University filed Critical Hengyang Normal University
Priority to CN202010247023.8A priority Critical patent/CN111431697B/zh
Publication of CN111431697A publication Critical patent/CN111431697A/zh
Application granted granted Critical
Publication of CN111431697B publication Critical patent/CN111431697B/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本算法公开了一种新型轻量级分组密码CORL的实现方法,该方法通过设计新型广义Feistel网络结构,该结构算法优化了传统Feistel网络结构的一轮迭代运算只改变一半数据分组数据的不足,做到一轮迭代改变四分之三分组数据。算***函数包含一个F函数,F函数的变换过程依次为行移位、轮密钥加、S盒替换、行移位、列混淆。算法结构便于软硬件实现,算法解密基本复用加密模块,只需添加一些控制信号就可以进行解密,操作简单,实现解密不需消耗较多资源。相对目前的分组密码,占用资源小,加密性能高,能抗已知攻击。

Description

一种新型轻量级分组密码CORL的实现方法
技术领域
本发明设计一种新型轻量级分组密码CORL的实现方法。
背景技术
分组密码算法是用相同的密钥进行加密和解密的算法,本质上,分组密码算法是一种带密钥的有限迭代置换变换,将固定长度的明文经过有限迭代置换变换,转换为相同长度的密文。分组密码算法具有速度快,已于标准化和便于软硬件实现等特点,一直是资源约束下的加密方案。分组密码作为信息安全中的核心密码,在物联网应用安全领域有着广泛的应用。
近年来,随着物联网技术的快速发展,无限传感器(WSN)和无线射频(RFID)应用越来越广泛,这些设备具有硬件制造、维护成本低,网络稳健性、自组织性强,适用性广泛的特点,已成为物联网产业的关键组成部分。WSN和RFOD基于无线网络传输信息,攻击者更容易获取、干扰甚至破坏信息传输。在这些微型计算设备中,软硬件实现所需资源有着严格的限制,传统分组密码算法实现规模相对较大,不适合应用在这些资源极端受限的应用环境中,因此密码设计者们提出轻量级分组密码来保证物联网信息的安全。
从2007年开始,国际学术界就陆陆续续发表了一些有关轻量级分组密码算法论文,轻量级分组密码迅速成为了国际学术界研究的一个前沿热点问题。经过近年来的研究,目前已有一些轻量级分组密码算法,典型的代表如:PRESENT、MIBS、Twine、Piccolo、LED、LBlock、KLEIN等。
目前,轻量级分组密码算法存在的问题为如下方面:(1)轻量级分组密码算法主要采用两种结构:一种是SP网络结构,该结构对称性相对较差,加解密不相似,实现时消耗的资源较多,加解密的时间也不相同。另一种就是Feistel网络结构,该结构加解密相似,实现时消耗的硬件资源较少,适合在计算能力有限的环境中使用;但该结构密码算法扩散速度慢,一轮迭代运算中只有一半的分组进入轮函数,从而只能改变一半分组数据。(2)有些轻量级分组密码算法解密过程较为复杂,从而在实现算法解密时,不能完全复用加密过程模块,需要额外消耗资源。(3)一些轻量级分组密码算法加密占用资源仍然过大,加密性能较低,不便于在资源极端受限设备中实现;并且还有一些分组密码算法抗攻击能力较弱,特别时抵抗常见的差分、线性以及代数攻击。
发明内容
本发明提供了一种新型轻量级的高效分组密码CORL的实现方法,其目的在于,克服现有技术轻量级分组密码算法存在如下问题:Feistel网络结构算法,扩散能力较弱;算法解密过程较为复杂,实现解密需要额外占用大量资源;轻量级分组密码仍然占用资源过多、加密性能低且容易遭受攻击。
为了实现上述技术目的,本发明的技术方案是,
一种新型轻量级CORL分组密码加密实现方法,包括以下步骤:将64位待加密数据X/待加密数据从低位到高位按16位一组依次分为4组,记作:X0X1X2X3,预设80位的初始密钥,每一轮迭代运算从初始密钥中选取两段16位的密钥作为轮密钥并分别记作RK0、RK1
将待加密数据进行NR轮迭代运算操作,输出密文,其中当前的迭代轮次以n表示,且n的初始值为0,NR的取值为22;
加密迭代运算包括以下步骤:
步骤1)首先,将X0进行F函数变换得到X″0,同时X3也进行F函数变换得到X″3;接着,将X″0与X1和X2进行异或运算得到X′1和X′2,X″3与X0异或运算得到X′0;其中,X0所进行的F函数,所使用的轮密钥为RK0
X3所进行的F函数,所使用的轮密钥为RK1
判断n是否等于NR,若不等于,则n+1,进入步骤2),否则进入步骤3);
步骤2)将X′0X′1X′2X3进行轮置换T变换,获得轮置换T变换结果并记作XT
将XT,从高位开始按16位一组依次分为4组,记作:
Figure BDA0002434225810000021
Figure BDA0002434225810000022
Figure BDA0002434225810000023
依次赋给X0、X1、X2、X3,返回步骤1);
步骤3)将
Figure BDA0002434225810000024
依次赋给Y0、Y1、Y2、Y3,以Y0Y1Y2Y3作为密文输出。
所述的一种新型轻量级CORL分组密码加密实现方法,选取两段16位的密钥作为轮密钥的步骤为:将预设的80位初始密钥记作K={k0、k1……k78、k79},首先将K中的{k64、k65……k78、k79}数据段通过S盒置换进行变化,然后将中的所有数据段向左循环移位9位,最后取{k48、k49……k62、k63}为RK0,{k64、k65……k78、k79}为RK1
所述的一种新型轻量级CORL分组密码加密实现方法,所述加密迭代运算的步骤1)中,F函数变换过程为行移位变换→轮密钥加变换→S盒替换变换→再次行移位变换→列混淆变换;
其中所述行移位为,将每16位数据表示为4×4的矩阵,其中第一行不移动,第二行循环右移1位,第三行循环右移2位,第四行循环右移3位;
所述轮密钥加变换是将每16位数据与轮密钥进行异或运算;
所述列混淆替换为:将每16位数据以4位数据划分为一个单位,形成一个4×1的矩阵,再与矩阵M在有限域24中进行矩阵乘运算,其中矩阵M为:
Figure BDA0002434225810000031
所述的一种新型轻量级CORL分组密码加密实现方法,所述加密迭代运算的步骤2)中,轮置换T变换如下:
将待进行轮置换T变换的64位待加密数据从低位到高位依次划分为4个字,每个字为16位:T0、T1、T2、T3,以T2、T3、T0、T1作为轮置换T变化运算的64位输出数据。
所述的一种新型轻量级CORL分组密码加密实现方法,F函数所使用的S盒为:
S=(6,5,C,A,1,E,7,9,B,0,3,D,8,F,4,2);
S盒为4位映射到4位:有限域
Figure BDA0002434225810000032
每组16位待置换数据依次按低位到高位排列成4×4的矩阵,按列分别通过S盒置换。
一种新型轻量级CORL分组密码解密实现方法,包括以下步骤:
将根据权利要求1-5任一所述的方法得到的64位密文数据Y作为待解密数据,并从低位到高位按16位一组依次分为4组,记作:Y0Y1Y2Y3;取如权利要求1-5任一所述的方法中的初始密钥,每一轮迭代运算从初始密钥中选取两段16位的密钥作为轮密钥并分别记作RK0、RK1
将待解密数据进行NR轮迭代运算操作,输出明文,其中当前的迭代轮次以n表示,且n的初始值为0,NR的取值为22,
解密迭代运算如下:
步骤1)首先将Y3进行F函数变换得到Y″3,令Y″3与Y0异或得到Y′0,将Y′0通过F函数变化得到Y″0,接着令Y″0与Y1和Y2异或得到Y′1和Y′2
其中,Y0所进行的F函数,所使用的轮密钥为RK0
Y3所进行的F函数,所使用的轮密钥为RK1
判断n是否等于NR,若不等于,则,令n=n+1,进入步骤2)若等于,则进入步骤3);
步骤2)将Y′0Y′1Y′2Y3进行轮置换T变换,获得轮置换T变换结果记作YT
将运行结果YT,从高位开始按16位一组依次分为4组,记作:
Figure BDA0002434225810000041
Figure BDA0002434225810000042
Figure BDA0002434225810000043
依次赋给Y0、Y1、Y2、Y3,返回步骤1);
步骤3)将
Figure BDA0002434225810000044
依次赋给Y0、Y1、Y2、Y3,以Y0Y1Y2Y3作为明文输出。
所述的一种新型轻量级CORL分组密码解密实现方法,选取两段16位的密钥作为轮密钥的步骤为:将预设的80位初始密钥记作K={k0、k1……k78、k79},首先将K中的{k64、k65……k78、k79}数据段通过S盒置换进行变化,然后将中的所有数据段向左循环移位9位,最后取{k48、k49……k62、k63}为RK0,{k64、k65……k78、k79}为RK1
所述的一种新型轻量级CORL分组密码解密实现方法,所述解密迭代运算的步骤1)中,所述F函数变换过程为:行移位变换→轮密钥加变换→S盒替换变换→行移位变换→列混淆变换;
其中所述行移位为,将每16位数据表示为4×4的矩阵,其中第一行不移动,第二行循环右移1位,第三行循环右移2位,第四行循环右移3位;
所述轮密钥加变换是将每16位数据与轮密钥进行异或运算;
所述列混淆替换为:将每16位数据以4位数据划分为一个单位,形成一个4×1的矩阵,再与矩阵M在有限域24中进行矩阵乘运算,其中矩阵M为:
Figure BDA0002434225810000045
所述的一种新型轻量级CORL分组密码解密实现方法,所述解密迭代运算的步骤2)中,轮置换T变换如下:
将待进行轮置换T变换的64位待加密数据从低位到高位依次划分为4个字,每个字为16位:T0、T1、T2、T3,以T2、T3、T0、T1作为轮置换T变化运算的64位输出数据。
所述的一种新型轻量级CORL分组密码解密实现方法,F函数所使用的S盒为:
S=(6,5,C,A,1,E,7,9,B,0,3,D,8,F,4,2);
S盒为4位映射到4位:有限域
Figure BDA0002434225810000046
每组16位待置换数据依次按低位到高位排列成4×4的矩阵,按列分别通过S盒置换。
本发明的技术效果在于,提供了一种新型轻量级分组密码CORL的实现方法,设计了一种新型广义Feistel网络结构,该结构算法优化了传统Feistel网络结构算法,一轮迭代运算只改变一半数据的不足,从而做到了在不必加入过度复杂的变化,就能每轮改变四分之三的数据。该新型Feistel网络结构的算法有很好的扩散效果,有效的打破了SPN结构的轻量级算法扩散强,但实现时消耗资源较多,传统Feistel网络结构的轻量级算法实现资源较少,但算法扩散效果较差的两大瓶颈问题。算法加解密复用率较高,在解密时只需添加一些控制信号便可以进行解密,操作简便,实现解密不需消耗过多资源。并且密码算法模块具有相似对称组件,实现时可以相互复用。轮函数变换中F函数,变换过程为行移位变换→轮密钥加变换→S盒替换变换→行移位变换→列混淆变换;其中轮密钥加的轮密钥采用简单的有限域加、异或、移位运算构成,减少了资源提升了性能,且在软件上的实现效率得到了显著的提升;S盒与M矩阵在安全性与性能都较为优良,S盒按列来进行置换变换,移位对进行变换,M矩阵对行进列混淆,使得F函数具有低资源、高性能、高安全性的优点。算***置换T变换,使算法数据进行置换有较好效果,并且实现只需硬件连线,不需消耗资源。
综上所述,本发明所述的新型轻量级分组密码CORL实现方法在安全性验证中,体现了很好的抵抗攻击能能力,相对现有技术而言,特别有效的抵抗差分和线性攻击、代数攻击。
附图说明
图1为本发明所述一种新型轻量级分组密码CORL的实现方法加密结构图;
图2为本发明所述一种新型轻量级分组密码CORL的实现方法解密结构图;
图3为本发明所述实现方法的轮函数变换结构图;
图4为本发明所述实现方法F函数变化的结构图;
图5为本算法所述实现方法的S盒置换变化结构图;
图6为本算法所述实现方法的轮置换T变换结构图。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明。
CORL分组密码实现方式,设计密码算法的分组长度为64位,密钥长度位80位,算***迭代轮数NR为22轮运算。
CORL分组密码算法加密结构如图1所示,CORL分组密码算法解密结构如图2所示;
算***函数运算主要包含F函数变换(F-Function)与轮置换T变换(RoundTransposing);但最后一轮函数运算不进行轮置换T变换,见图3所示。
F函数变换过程为行移位变换(Rowshift)→轮密钥加变换(AddRoundKey)→S盒替换变换(SubCell)→行移位变换(Rowshift)→列混淆变换(MixColumns);
将64位明文(Plaintext)/密文(Ciphertext)数据从高位开始按16位一组依次分为4组,加密明文数据记作:X0、X1、X2、X3,解密密文数据记作Y0、Y1、Y2、Y3,当64位密钥(Key)数据从高位开始按16位一组依次分为4组,记密钥为:K0、K1、K2、K3
CORL分组密码算法伪代码描述:
算法1:CORL密码加密过程
输入:Plaintext,Key;
输出Ciphertext;
Figure BDA0002434225810000061
算法2:CORL密码解密过程
输入:Ciphertext,Key;
输出Plaintext;
Figure BDA0002434225810000062
Figure BDA0002434225810000071
F函数变换(F_Function)
F函数变换由轮密钥加、行移位变换、S盒置换变换、列混淆变换,具体操作过程为:行移位变换→轮密钥加变换→S盒置换变换→行移位变换→列混淆变换,具体操作过程如图4所示。
1)轮密钥加变换(AddRoundKey)
每轮的轮密钥加运算为,进入F函数通过行移位后的16为加/解密数据与16的轮密钥行异或运算。其中每一轮运算轮密钥的RK0与RK1,且算法加/解密过程使用同一密钥。
算***密钥具体生成过程如下:初始密钥K={k0、k1……k78、k79},由用户提出保存在寄存器中,第n轮的密钥RK0和RK1,分别为寄存器中的值K的{k48、k49……k62、k63},{k64、k65……k78、k79};具体操作步骤如下:1)K值的{k64、k65……k78、k79}数据段通过S盒置换变换;2)K向左循环移位9位;3)取{k48、k49……k62、k63}→RK0,{k64、k65……k78、k79}→RK1
2)行移位置换变换(Rowshift)
行移位变换为:将16位待变换数据排列成一个4×4的矩阵,其中第一行不进行移位变换,第二行向右循环移动1位,第三行向右循环移动2位,第四行向右循环移位3位,得出变换后的矩阵。
3)列混淆变换(MixColumns)
列混淆矩阵变换是将16位的待变换数据组成排列成4×1的矩阵,然后与矩阵在域GF(24)上进行算术性替换。其中所使用的矩阵引用了AES中所使用的矩阵:
Figure BDA0002434225810000081
4)S盒替换变换(SubCell)
S盒替换变换是CORL算法中的非线性组件,算法中所使用的S盒引用于rectangle算法的S盒如表1所示;将16位的待变换数据排列成一个矩阵,根据列将数据分为a0,a1,a2,a3,替换得到为b0,b1,b2,b3,如公式(1)所示,具体S盒替换变换过程如图5所示;
有限域S:
Figure BDA0002434225810000082
ai→bi=S1(ai) 公式(1)
表1 CORL算法S盒表元素
X 0 1 2 3 4 5 6 7 8 9 A B C D E F
S[x] 6 5 C A 1 E 7 9 B 0 3 D 8 F 4 2
轮置换T变换(Round Transposing)
轮置换T变换为4个数据分支的位置交替的变换,具体操作为:将待变换的64位数据分为4个分支,每个分支占有数据16位;将分支3换到分支1,分支4换到分支2,分支1换到分支3,分支2换到分支4,完成轮置换T变换。轮置换T变化的具体变换过程如图6所示。
算法测试数据,CORL算法的测试数据如表2所示:
表2
Plaintext Key Ciphertext
0000-0000-0000-0000 0000-0000-0000-0000-0000 054A-F12E-67FC-E99B
0000-0000-0000-0000 FFFF-FFFF-FFFF-FFFF-FFFF D238-E31D-C193-C5BC
FFFF-FFFF-FFFF-FFFF FFFF-FFFF-FFFF-FFFF-FFFF B8F2-521C-DD2F-52CC
FFFF-FFFF-FFFF-FFFF 0000-0000-0000-0000-0000 131B-1FBC8324-2174
13FC-450D-7AEF-3689 2903-75AC-DF0C-AE86-CCF5 7CAA-06B2-BC59-6BA6
本发明所述的CORL密码算法在ASIC硬件实现,综合工艺库SMIC 0.18μm。CORL算法所占用的面积资源为1486GE,表3为一些典型轻量级分组密码ASIC硬件实现,通过表3中的数据对比表明,CORL相对目前的轻量级密码,占用面积相对更小,且本算法每一轮能改变更多的数据,使得加密所需要的轮数更少,吞吐量更大,加密相同数量级的数据所需要的时间更少。
表3
算法 轮数 结构 分组长度(bits) 密钥长度(bits) 资源面积(GE)
PRESNET-80 31 SPN 64 80 1570
Twine-80 36 GFNS 64 80 1799
MISB 32 Feistel 64 80 1530
PICCOLO-80 25 Feistel 64 80 1496
LILLIPUT 30 GFNS 64 80 1545
CORL 22 GFNS 64 80 1486
以上结合具体实施例对本发明进行了详细的说明,这些并非构成对发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可以作出许多变形和改进,这些也应属于本发明的保护范围。

Claims (10)

1.一种新型轻量级CORL分组密码加密实现方法,其特征在于,包括以下步骤:将64位待加密数据X/待加密数据从低位到高位按16位一组依次分为4组,记作:X0 X1 X2 X3,预设80位的初始密钥,每一轮迭代运算从初始密钥中选取两段16位的密钥作为轮密钥并分别记作RK0、RK1
将待加密数据进行NR轮迭代运算操作,输出密文,其中当前的迭代轮次以n表示,且n的初始值为0,NR的取值为22;
加密迭代运算包括以下步骤:
步骤1)首先,将X0进行F函数变换得到X″0,同时X3也进行F函数变换得到X″3;接着,将X″0与X1和X2进行异或运算得到X′1和X′2,X″3与X0异或运算得到X′0;其中,X0所进行的F函数,所使用的轮密钥为RK0
X3所进行的F函数,所使用的轮密钥为RK1
判断n是否等于NR,若不等于,则n+1,进入步骤2),否则进入步骤3);
步骤2)将X′0 X′1 X′2 X3进行轮置换T变换,获得轮置换T变换结果并记作XT
将XT,从高位开始按16位一组依次分为4组,记作:
Figure FDA0002434225800000011
Figure FDA0002434225800000012
Figure FDA0002434225800000013
依次赋给X0、X1、X2、X3,返回步骤1);
步骤3)将
Figure FDA0002434225800000014
依次赋给Y0、Y1、Y2、Y3,以Y0 Y1 Y2 Y3作为密文输出。
2.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,选取两段16位的密钥作为轮密钥的步骤为:将预设的80位初始密钥记作K={k0、k1......k78、k79},首先将K中的{k64、k65......k78、k79}数据段通过S盒置换进行变化,然后将中的所有数据段向左循环移位9位,最后取{k48、k49......k62、k63}为RKo,{k64、k65......k78、k79}为RK1
3.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,所述加密迭代运算的步骤1)中,F函数变换过程为行移位变换→轮密钥加变换→S盒替换变换→再次行移位变换→列混淆变换;
其中所述行移位为,将每16位数据表示为4×4的矩阵,其中第一行不移动,第二行循环右移1位,第三行循环右移2位,第四行循环右移3位;
所述轮密钥加变换是将每16位数据与轮密钥进行异或运算;
所述列混淆替换为:将每16位数据以4位数据划分为一个单位,形成一个4×1的矩阵,再与矩阵M在有限域24中进行矩阵乘运算,其中矩阵M为:
Figure FDA0002434225800000021
4.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,所述加密迭代运算的步骤2)中,轮置换T变换如下:
将待进行轮置换T变换的64位待加密数据从低位到高位依次划分为4个字,每个字为16位:T0、T1、T2、T3,以T2、T3、T0、T1作为轮置换T变化运算的64位输出数据。
5.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,F函数所使用的S盒为:
S=(6,5,C,A,1,E,7,9,B,0,3,D,8,F,4,2):
S盒为4位映射到4位:有限域
Figure FDA0002434225800000022
每组16位待置换数据依次按低位到高位排列成4×4的矩阵,按列分别通过S盒置换。
6.一种新型轻量级CORL分组密码解密实现方法,其特征在于,包括以下步骤:
将根据权利要求1-5任一所述的方法得到的64位密文数据Y作为待解密数据,并从低位到高位按16位一组依次分为4组,记作:Y0 Y1 Y2 Y3;取如权利要求1-5任一所述的方法中的初始密钥,每一轮迭代运算从初始密钥中选取两段16位的密钥作为轮密钥并分别记作RK0、RK1
将待解密数据进行NR轮迭代运算操作,输出明文,其中当前的迭代轮次以n表示,且n的初始值为0,NR的取值为22,
解密迭代运算如下:
步骤1)首先将Y3进行F函数变换得到Y″3,令Y″3与Y0异或得到Y′0,将Y′0通过F函数变化得到Y″0,接着令Y″0与Y1和Y2异或得到Y′1和Y′2
其中,Y0所进行的F函数,所使用的轮密钥为RK0
Y3所进行的F函数,所使用的轮密钥为RK1
判断n是否等于NR,若不等于,则,令n=n+1,进入步骤2)若等于,则进入步骤3);
步骤2)将Y′0 Y′1 Y′2 Y3进行轮置换T变换,获得轮置换T变换结果记作YT
将运行结果YT,从高位开始按16位一组依次分为4组,记作:
Figure FDA0002434225800000023
Figure FDA0002434225800000024
Figure FDA0002434225800000025
依次赋给Y0、Y1、Y2、Y3,返回步骤1);
步骤3)将
Figure FDA0002434225800000031
依次赋给Y0、Y1、Y2、Y3,以Y0 Y1 Y2 Y3作为明文输出。
7.根据权利要求6所述的一种新型轻量级CORL分组密码解密实现方法,其特征在于,选取两段16位的密钥作为轮密钥的步骤为:将预设的80位初始密钥记作K={k0、k1......k78、k79},首先将K中的{k64、k65......k78、k79}数据段通过S盒置换进行变化,然后将中的所有数据段向左循环移位9位,最后取{k48、k49......k62、k63}为RK0,{k64、k65......k78、k79}为RK1
8.根据权利要求6所述的一种新型轻量级CORL分组密码解密实现方法,其特征在于,所述解密迭代运算的步骤1)中,所述F函数变换过程为:行移位变换→轮密钥加变换→S盒替换变换→行移位变换→列混淆变换;
其中所述行移位为,将每16位数据表示为4×4的矩阵,其中第一行不移动,第二行循环右移1位,第三行循环右移2位,第四行循环右移3位;
所述轮密钥加变换是将每16位数据与轮密钥进行异或运算;
所述列混淆替换为:将每16位数据以4位数据划分为一个单位,形成一个4×1的矩阵,再与矩阵M在有限域24中进行矩阵乘运算,其中矩阵M为:
Figure FDA0002434225800000032
9.根据权利要求1所述的一种新型轻量级CORL分组密码解密实现方法,其特征在于,所述解密迭代运算的步骤2)中,轮置换T变换如下:
将待进行轮置换T变换的64位待加密数据从低位到高位依次划分为4个字,每个字为16位:T0、T1、T2、T3,以T2、T3、T0、T1作为轮置换T变化运算的64位输出数据。
10.根据权利要求6所述的一种新型轻量级CORL分组密码解密实现方法,其特征在于,F函数所使用的S盒为:
S=(6,5,C,A,1,E,7,9,B,0,3,D,8,F,4,2);
S盒为4位映射到4位:有限域
Figure FDA0002434225800000033
每组16位待置换数据依次按低位到高位排列成4×4的矩阵,按列分别通过S盒置换。
CN202010247023.8A 2020-03-31 2020-03-31 一种新型轻量级分组密码corl的实现方法 Active CN111431697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010247023.8A CN111431697B (zh) 2020-03-31 2020-03-31 一种新型轻量级分组密码corl的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010247023.8A CN111431697B (zh) 2020-03-31 2020-03-31 一种新型轻量级分组密码corl的实现方法

Publications (2)

Publication Number Publication Date
CN111431697A true CN111431697A (zh) 2020-07-17
CN111431697B CN111431697B (zh) 2022-06-21

Family

ID=71550259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010247023.8A Active CN111431697B (zh) 2020-03-31 2020-03-31 一种新型轻量级分组密码corl的实现方法

Country Status (1)

Country Link
CN (1) CN111431697B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202547A (zh) * 2020-11-11 2021-01-08 衡阳师范学院 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
CN112398639A (zh) * 2020-11-04 2021-02-23 山东大学 一种Fountain轻量级加密算法的实现装置、方法及应用
CN113078997A (zh) * 2021-03-24 2021-07-06 华北电力大学 一种基于轻量级密码算法的终端保护方法
CN113343276A (zh) * 2021-07-01 2021-09-03 衡阳师范学院 基于广义二维猫映射的轻量级分组密码算法gcm实现方法
CN113645615A (zh) * 2021-08-12 2021-11-12 衡阳师范学院 轻量级分组密码加密及解密方法
CN113691364A (zh) * 2021-08-31 2021-11-23 衡阳师范学院 一种基于位片技术的动态s盒分组密码的加密及解密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101986A1 (en) * 2000-08-03 2002-08-01 Roelse Petrus Lambertus Adrianus Linear transformation for symmetric-key ciphers
CN104333446A (zh) * 2014-11-10 2015-02-04 衡阳师范学院 一种新型超轻量级qtl分组密码实现方法
CN110784307A (zh) * 2019-11-05 2020-02-11 衡阳师范学院 轻量级密码算法scenery实现方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101986A1 (en) * 2000-08-03 2002-08-01 Roelse Petrus Lambertus Adrianus Linear transformation for symmetric-key ciphers
CN104333446A (zh) * 2014-11-10 2015-02-04 衡阳师范学院 一种新型超轻量级qtl分组密码实现方法
CN110784307A (zh) * 2019-11-05 2020-02-11 衡阳师范学院 轻量级密码算法scenery实现方法、装置及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398639A (zh) * 2020-11-04 2021-02-23 山东大学 一种Fountain轻量级加密算法的实现装置、方法及应用
CN112398639B (zh) * 2020-11-04 2022-02-22 山东大学 一种Fountain轻量级加密算法的实现装置、方法及应用
CN112202547A (zh) * 2020-11-11 2021-01-08 衡阳师范学院 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
CN112202547B (zh) * 2020-11-11 2022-04-12 衡阳师范学院 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
CN113078997A (zh) * 2021-03-24 2021-07-06 华北电力大学 一种基于轻量级密码算法的终端保护方法
CN113343276A (zh) * 2021-07-01 2021-09-03 衡阳师范学院 基于广义二维猫映射的轻量级分组密码算法gcm实现方法
CN113343276B (zh) * 2021-07-01 2022-06-14 衡阳师范学院 基于广义二维猫映射的轻量级分组密码算法gcm的加密方法
CN113645615A (zh) * 2021-08-12 2021-11-12 衡阳师范学院 轻量级分组密码加密及解密方法
CN113645615B (zh) * 2021-08-12 2023-12-22 衡阳师范学院 轻量级分组密码加密及解密方法
CN113691364A (zh) * 2021-08-31 2021-11-23 衡阳师范学院 一种基于位片技术的动态s盒分组密码的加密及解密方法
CN113691364B (zh) * 2021-08-31 2024-02-09 衡阳师范学院 一种基于位片技术的动态s盒分组密码的加密及解密方法

Also Published As

Publication number Publication date
CN111431697B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
CN111431697B (zh) 一种新型轻量级分组密码corl的实现方法
CN107707343B (zh) 加解密一致的sp网络结构轻量级分组密码实现方法
JP3499810B2 (ja) 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
US6769063B1 (en) Data converter and recording medium on which program for executing data conversion is recorded
CN104333446B (zh) 一种新型超轻量级qtl分组密码实现方法
CN109768854B (zh) 一种轻量级分组密码算法的实现方法
Moldovyan et al. A cipher based on data-dependent permutations
JPH11509940A (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
US7499542B2 (en) Device and method for encrypting and decrypting a block of data
CN111245598B (zh) 一种轻量级aerogel分组密码的实现方法
CN110784307A (zh) 轻量级密码算法scenery实现方法、装置及存储介质
CN102713994B (zh) 加密装置
CN116980194A (zh) 一种基于云边端协同的安全高效数据传输方法及其***
CN116318669A (zh) 一种基于窄带物联网的轻量级加密方法
CN113691364B (zh) 一种基于位片技术的动态s盒分组密码的加密及解密方法
CN110247754B (zh) 一种分组密码fbc的实现方法及装置
Cheng et al. Revised cryptanalysis for SMS4
CN107886463A (zh) 一种基于Chen***和细胞自动机的数字图像加密方法
CN111262685B (zh) 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质
Dai et al. VH: a lightweight block cipher based on dual pseudo-random transformation
Kumar Full-round differential attack on DoT block cipher
Pramod et al. An advanced AES algorithm using swap and 400 bit data block with flexible S-Box in Cloud Computing
Kiran Kumar et al. Implementation and analysis of cryptographic ciphers in FPGA
CN112134691B (zh) 一种部件可重复的nlcs分组密码实现方法、装置及介质
Ji et al. Square attack on reduced-round Zodiac cipher

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