CN114826560B - 一种轻量级分组密码cref实现方法及系统 - Google Patents

一种轻量级分组密码cref实现方法及系统 Download PDF

Info

Publication number
CN114826560B
CN114826560B CN202210489183.2A CN202210489183A CN114826560B CN 114826560 B CN114826560 B CN 114826560B CN 202210489183 A CN202210489183 A CN 202210489183A CN 114826560 B CN114826560 B CN 114826560B
Authority
CN
China
Prior art keywords
round
data
key
encryption
rounds
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
CN202210489183.2A
Other languages
English (en)
Other versions
CN114826560A (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 Hengjiu Space Decoration Design Engineering Co ltd
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 CN202210489183.2A priority Critical patent/CN114826560B/zh
Publication of CN114826560A publication Critical patent/CN114826560A/zh
Application granted granted Critical
Publication of CN114826560B publication Critical patent/CN114826560B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明公开了一种轻量级分组密码CREF实现方法及系统,包括:获取待加/解密数据及初始密钥,并进行N轮密钥扩展得到N个轮密钥;再利用轮密钥对待加/解密数据执行N次轮运算得到密文/明文;且每一轮的轮运算的轮运算架构,由分组密码GFCS中的异或运算、移位运算搭建,并将一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,因此每次轮运算有一半的加/解密数据相当于进行了两轮更新,有效减少了迭代次数。此外,本发明的密钥扩展算法中应用中国剩余定理来更新密钥,提升了密钥的安全性,使得密码算法在保证轻量特性的同时,还提高了算法的安全性。

Description

一种轻量级分组密码CREF实现方法及系统
技术领域
本发明属于密码技术领域,尤其涉及Feistel扩展结构的一种轻量级分组密码CREF实现方法及系统。
背景技术
随着信息社会的迅速发展,针对分组密码的大量新场景和新需求不断出现,这极大的促进了分组密码学的发展。而5G时代的到来,以及智能技术逐渐走入人们的视野,这些都要求大量挖掘数据的价值,从而为人类社会提供更好的服务。而无处不在的通讯设备和资源受限环境下的数据传输和计算,都对当今网络环境中人们的数据和隐私安全构成了威胁,这也反映出在轻量级计算下的设备中保障数据安全的重要性。因此,轻量级分组密码算法的设计受到了越来越多的关注。
轻量级分组密码算法的设计,一方面需要保证算法实现时具有轻量化的运算,以及便于软硬件实现的特点。另一方面也需要考虑,组件轻量化后密码的安全性是否足够,面对已有的安全性分析是否有足够的抵抗力。因此,如何设计出实现效率高且足够安全的轻量级分组密码算法仍然是接下来很长一段时间需要研究的热点问题。
针对上述问题,现已研究出诸多轻量级的分组密码算法,尤其是中国专利CN112202547A公开的一种轻量级分组密码GFCS实现方法,其克服了传统Feistel结构中一轮运算中有一半数据不变的缺陷,使得一轮运算后所有数据都进行了更新,极大的提升了算法的安全性,于此同时,还提高了算法效率,降低算法的资源占用面积。然而,为了进一步提升轻量级分组密码算法的性能,在保证安全性的基础上提升效率、简化算法依旧是本领域长期的研究热点。
发明内容
本发明的目的是提供一种轻量级分组密码CREF实现方法及系统,该CREF算法(Chinese Remainder Theorem及Extended Feistel结构)在每一轮轮运算中,有一半的加/解密数据相当于进行了两轮更新,在保证算法安全性的基础上,有效提高了算法加解密效率,减少了迭代的轮数。
一方面,本发明提供的一种轻量级分组密码CREF实现方法,包括以下步骤:
步骤1:获取长度为L明文或密文以及获取长度为L的初始密钥;其中,所述明文和所述密文分别作为待加密数据、待解密数据,L为被4整除的正整数;
步骤2:若是加密运算,利用基于所述初始密钥生成的轮密钥对所述待加密数据执行N次轮运算得到密文;若是解密运算,利用基于所述初始密钥生成的轮密钥对所述待解密数据执行N次轮运算得到明文;
其中,对所述初始密钥进行N轮密钥扩展轮运算得到N个所述轮密钥;每一轮的轮运算采用的轮运算架构,是由分组密码GFCS中的异或运算、移位运算搭建,并将每一轮的轮运算中一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,以替换所述分组密码GFCS的轮运算中的F函数模块。
本发明技术方案提供的轻量级分组密码CREF算法,其相较于现有的分组密码GFCS,其也采用了类似的轮运算架构,即加密运算中,先进行N-1轮异或运算和移位运算,再进行一轮异或运算;解密运算中,先进行一次异或运算,再进行N-1轮异或运算和移位运算。区别于现有的分组密码GFCS,本发明的技术方案在每一轮的轮运算中有一半的加/解密数据相当于进行了两轮轮运算,另一半的加/解密数据进行了一轮轮运算,从而有效地提高了加密的效率,减少了迭代的轮数。
进一步可选地,将明文P划分为4个子块,即
Figure BDA0003630916190000031
第r轮的明文为
Figure BDA0003630916190000032
加密运算的前N-1轮的轮运算中第r+1轮的轮运算表示为:
Figure BDA0003630916190000033
Figure BDA0003630916190000034
Figure BDA0003630916190000035
Figure BDA0003630916190000036
加密运算的第N轮的轮运算表示为:
Figure BDA0003630916190000037
Figure BDA0003630916190000038
Figure BDA0003630916190000039
Figure BDA00036309161900000310
式中,
Figure BDA00036309161900000311
表示将加密数据分成4个子块后对应的数据块i的第r轮的轮运算结果,i∈{0,1,2,3};
Figure BDA00036309161900000312
表示将第r+1的轮密钥Kr+1分成4个子块后对应的数据块i;f1表示基于循环左移位运算的函数,f2表示基于循环左移位运算以及与运算的函数。
从上述轮运算的公式可知,每一轮的轮运算中均有一半的加/解密数据用了另一半加/解数据的最新轮运算结果,从而使得该一半加/解数据在一次轮运算中实现了两轮轮运算的效果。而本发明的技术方案设定1/2的数据按照上述方式更新是经过研究与探讨得到的最佳方式。其中,若有3/4的数据如此更新,那么只能是
Figure BDA00036309161900000313
中有
Figure BDA00036309161900000314
或者
Figure BDA00036309161900000315
中有
Figure BDA00036309161900000316
参与运算,这样就会和
Figure BDA00036309161900000317
Figure BDA00036309161900000318
的运算重复,反而无法实现本发明技术方案提升加解密效率的目标。
进一步可选地,将密文C划分为4个子块,即
Figure BDA0003630916190000041
解密运算的第1轮的轮运算表示为:
Figure BDA0003630916190000042
Figure BDA0003630916190000043
Figure BDA0003630916190000044
Figure BDA0003630916190000045
解密运算的后N-1轮的轮运算中对应第r+1轮的轮运算表示为:
Figure BDA0003630916190000046
Figure BDA0003630916190000047
Figure BDA0003630916190000048
Figure BDA0003630916190000049
式中,
Figure BDA00036309161900000410
表示将解密数据分成4个子块后对应的数据块i在第r轮的轮运算结果,i∈{0,1,2,3};
Figure BDA00036309161900000411
表示将第r的轮密钥Kr分成4个子块后对应的数据块i;f1表示基于循环左移位运算的函数,f2表示基于循环左移位运算以及与运算的函数。
综上可知,若为加密算法的前N-1轮,则将扩展密钥和待加密数据分别进行与运算、循环左移位运算、异或运算及移位运算,最后一轮加密运算只将最后一轮的扩展密钥与待加密数据进行与运算、循环左移位运算及异或运算;若为解密算法的第1轮,则将最后一轮扩展密钥与待解密数据进行与运算、循环左移位运算及异或运算,解密算法的第2轮至第N轮则将对应的扩展密钥与待解密数据进行与运算、循环左移位运算、异或运算及移位运算。
进一步可选地,函数f1表示加密数据或解密数据的子块循环左移M1位,函数f2表示加密数据或解密数据的子块先分别循环左移M2位、M3位后,再将左移后的数据进行与运算。
其中,针对函数f2,设置两次循环左移时为了能够产生不同的数据进行与运算,从而提升算法的安全性。此外,函数f1和函数f2是以循环移位/与运算构建的,从而使得本发明技术方案的轮运算相较于现有分组密码GFCS需要4个函数参与轮运算而言,轮函数的运算更为简单,可以节约硬件资源,提升运算效率。
进一步可选地,对所述初始密钥进行N轮密钥扩展轮运算得到N个轮密钥的过程中,第r轮的轮密钥的生成过程为:
(a)将第r-1轮的轮密钥与轮数r进行异或运算得到数据Sr,即
Figure BDA0003630916190000056
Figure BDA0003630916190000057
为异或运算的符号;
(b)将第(a)步得到的Sr分成4个子块,即
Figure BDA0003630916190000051
并应用中国剩余定理解求解如下一元同余方程组得到解p:
Figure BDA0003630916190000052
(c)计算解p模L/8得到
Figure BDA0003630916190000053
再生成新的中间值
Figure BDA0003630916190000054
其中,
Figure BDA0003630916190000055
(d)对第(c)步得到的Tr做循环左移位与异或运算得到Ar,即
Figure BDA0003630916190000058
Figure BDA0003630916190000059
<<<为循环左移位运算符号;
(e)对第(d)步得到的Ar做循环左移位得到第r轮的轮密钥Kr=(Ar<<<J3);
其中,J1、J2、J3均为正整数。
本发明的技术方案首次将中国剩余定理应用于轻量级分组密码算法的轮密钥生成过程,有效提高了密钥的安全性,从而提升了分组密码算法的安全性。其中,在现有密钥应用领域,中国剩余定理集中应用于其他密码领域,如密钥协商中的密钥分发方案中,为一个团队中共享一个秘密时,如何进行密钥分配来保证团队的私密性。是在团队中每个人有一组私钥的同时,发起临时会话时,需要得到一个统一的整数参与临时会话。而本发明的技术方案中,中国剩余定理主要用于生成新的轮密钥,属于密钥的更新。即本发明的技术方案将原有的子密钥,通过中国剩余定理做了更新,使得应用中国剩余定理后,每轮更新原有密钥的四分之一。
此外,在密钥协商时,随着团队人数的增加,应用中国剩余定理求解同余方程组的规模也会变大,但是本发明提供的CREF分组密码算法中求解规模是固定不变的,每轮只需求解4个同余方程。因此可见,本发明的技术方案创造性地将中国剩余定理引入轻量级分组密码算法的密钥更新过程,提高了密钥的安全性的同时,未增加求解规模,保证了运算效率。
进一步可选地,长度为L的取值为64或128或256。
第二方面,本发明提供一种基于所述轻量级分组密码CREF实现方法的系统,其包括:
数据加载模块:用于获取长度为L明文或密文以及获取长度为L的初始密钥;其中,将所述明文和密文分别作为待加密数据、待解密数据,L为被4整除的正整数;
轮密钥生成模块:用于对所述初始密钥进行N轮密钥扩展轮运算得到N个轮密钥;
加解密模块:用于加密运算时,利用基于所述初始密钥生成的轮密钥对所述待加密数据执行N次轮运算得到密文;以及用于解密运算时,利用基于所述初始密钥生成的轮密钥对所述待解密数据执行N次轮运算得到明文;
其中,每一轮轮运算采用的轮运算架构,是由分组密码GFCS中的异或运算、移位运算搭建的,并将一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,以替换所述分组密码GFCS的轮运算中的F函数模块。
第三方面,本发明提供一种电子终端,其包括:
一个或多个处理器;
存储了一个或多个计算机程序的存储器;
其中,所述处理器调用所述计算机程序以执行:上述一种轻量级分组密码CREF实现方法的步骤。
第四方面,本发明提供一种可读存储介质,其存储了计算机程序,所述计算机程序被处理器调用以执行:上述一种轻量级分组密码CREF实现方法的步骤。
有益效果
1.本发明提供的所述轻量级分组密码CREF实现方法,在每一轮的轮运算中,有一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,从而使得该一半数据在一次轮运算中实现了两轮轮运算的效果,有效地提高了加密的效率,减少了迭代的轮数。
2.本发明进一步的优化方案中,创造性地将中国剩余定理引入轻量级分组密码算法的密钥更新过程,提高了密钥的安全性的同时,也未增加求解规模,保证了运算效率。
附图说明
图1为本发明实施例提供的所述分组密码CREF实现方法的流程图;
图2为本发明密钥扩展算法的流程图;
图3为本发明加密算法的结构图;
图4为本发明解密算法的结构图。
具体实施方式
本发明提供的基于Feistel扩展结构的一种轻量级分组密码CREF实现方法的目的在于保证分组密码安全性的同时,进一步提升算法的加解密效率,降低迭代次数。下文以明文P的4个数据块
Figure BDA0003630916190000081
的移位顺序是以0→1→2→3→0的顺序依次进行移位为例进行说明,应当理解,其仅仅为举例说明,其他可行的实施例中,密文C或明文P的4个数据块
Figure BDA0003630916190000082
的划分以及移位顺序均可以根据实际需求进行调整,在不脱离本发明技术构思下的技术方案均视为落入本发明的保护范畴内。下面将结合实施例对本发明做进一步的说明。
参照图1,本实施例提供的一种轻量级分组密码CREF实现方法,包括以下步骤:
S1,将128比特明文/密文以及128比特的初始密钥加载至寄存器。本实施例以长度为128比特为例进行举例说明。应当理解,其他可行的实施例中,64、256比特的明文或密文也均适用于本发明的技术方案。
S2,利用密钥扩展算法对初始密钥进行N轮扩展得到N个轮密钥,其中N为迭代轮数。
如图2所示,本实施例中,将初始密钥记为K0,第r轮的轮密钥记为Kr,则第r轮的轮密钥的生成为:
(a)将第r-1轮轮密钥异或
Figure BDA0003630916190000084
上轮数r,即
Figure BDA0003630916190000085
(b)将第(a)步得到的Sr分成4个32比特的子块,即
Figure BDA0003630916190000083
并应用中国剩余定理求解如下一元同余方程组得到解p;
Figure BDA0003630916190000091
(c)将上述一元同余方程组的解p模16,得到
Figure BDA0003630916190000092
再进一步生成新的中间值
Figure BDA0003630916190000093
若明文或密文的长度为64,则存在p模8;若明文或密文的长度为256,则存在p模64。
(d)对第(c)步得到的Tr做循环左移位(<<<)与异或
Figure BDA0003630916190000098
运算:即
Figure BDA0003630916190000099
Figure BDA00036309161900000910
(e)对第(d)步得到的Ar做循环左移位(<<<)运算,得到第r轮的密钥Kr=(Ar<<<15)。
需要说明的是,本实施例设置的循环左移多少位是基于实验/试验效果以及需求设置的,其他可行的实施例中,可以根据运算效率等其他需求进行适应性调整。
S3:利用轮密钥,对明文/密文与密钥做N轮迭代加密/解密运算。需要说明的是,本实施例中先生成轮密钥,再进行轮运算。其他可行的实施例中,对此实现过程的先后顺序并无特定要求,譬如,每一轮的轮密钥可以在当前一轮的轮运算实施之前再另行生成。即可以根据运行效率选择最佳方式。
若为加密运算,其实现方法为:
如图3所示,将输入明文P分成4个长度为32比特的子块,即
Figure BDA0003630916190000094
Figure BDA0003630916190000095
则第r轮的明文为
Figure BDA0003630916190000096
重复执行下列操作N-1次:
Figure BDA0003630916190000097
Figure BDA0003630916190000101
Figure BDA0003630916190000102
Figure BDA00036309161900001012
其中,r+1(0≤r≤N-2)为当前轮数。然后执行下列操作1次:
Figure BDA0003630916190000103
Figure BDA0003630916190000104
Figure BDA0003630916190000105
Figure BDA0003630916190000106
最后输出密文
Figure BDA0003630916190000107
其中
Figure BDA00036309161900001013
为异或运算,<<<为循环左移位运算,&为与运算。应当理解,本实施例设置的循环左移位数是经过验证后得出的满足要求的最佳取值,本发明并不局限于此。
如图4所示,若为解密运算,其实现方法为:
将输入密文C分成4个长度为32比特的子块,即
Figure BDA0003630916190000108
执行下列操作1次:
Figure BDA0003630916190000109
Figure BDA00036309161900001010
Figure BDA00036309161900001011
Figure BDA0003630916190000111
然后重复执行下列操作N-1次:
Figure BDA0003630916190000112
Figure BDA0003630916190000113
Figure BDA0003630916190000114
Figure BDA0003630916190000115
其中,r+1(2≤r≤N-1)为当前轮数,
Figure BDA0003630916190000117
为异或运算,<<<为循环左移位运算,&为与运算。最后输出明文
Figure BDA0003630916190000116
在一些可行的方案中,本实施例提供一种基于所述轻量级分组密码CREF实现方法的系统,其包括:
数据加载模块:用于获取长度为L明文或密文以及获取长度为L的初始密钥;其中,将所述明文和密文作为待加密数据、待解密数据,L为被4整除的正整数;
轮密钥生成模块:用于对所述初始密钥进行N轮密钥扩展轮运算得到N个轮密钥;
加解密模块:用于加密运算时,利用基于所述初始密钥生成的轮密钥对所述待加密数据执行N次轮运算得到密文;以及用于解密运算时,利用基于所述初始密钥生成的轮密钥对所述待解密数据执行N次轮运算得到明文。
其中,每一轮轮运算的轮运算架构,是由分组密码GFCS中的异或运算、移位运算搭建的,并将一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,以替换所述分组密码GFCS的轮运算中的F函数模块。
具体各个模块的实现过程请参照上述方法的内容,在此不再赘述。应该理解到,上述功能模块的划分仅仅是一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。同时,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在一些可行的方案中,本实施例提供一种电子终端,其包括:一个或多个处理器;以及存储了一个或多个计算机程序的存储器。所述处理器调用所述计算机程序以执行一种轻量级分组密码CREF实现方法的步骤。
其中,存储器可能包含高速RAM存储器,也可能还包括非易失性除颤器,例如至少一个磁盘存储器。
如果存储器、处理器独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构总线,外部设备互联总线或扩展工业标准体系结构总线等。所述总线可以分为地址总线、数据总线、控制总线等。
可选的,在具体实现上,如果存储器、处理器集成在一块芯片上,则存储器、处理器可以通过内部接口完成相互之间的通信。
各个步骤的具体实现过程请参照前述方法的阐述。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
在一些可行的方案中,本发明还提供一种可读存储介质,存储了计算机程序,所述计算机程序被处理器调用以执行一种轻量级分组密码CREF实现方法的步骤。
各个步骤的具体实现过程请参照前述方法的阐述。
所述可读存储介质为计算机可读存储介质,其可以是前述任一实施例所述的控制器的内部存储单元,例如控制器的硬盘或内存。所述可读存储介质也可以是所述控制器的外部存储设备,例如所述控制器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述可读存储介质还可以既包括所述控制器的内部存储单元也包括外部存储设备。所述可读存储介质用于存储所述计算机程序以及所述控制器所需的其他程序和数据。所述可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
实验验证:
CREF-128算法迭代12轮的测试数据如表1所示:
表1 CREF算法测试数据
Figure BDA0003630916190000141
从表1中简单明文和密钥可以对应复杂密文信息可以看出,本发明技术方案提供的分组密码CREF算法是安全可行的。需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。

Claims (8)

1.一种轻量级分组密码CREF实现方法,其特征在于:包括以下步骤:
步骤1:获取长度为L明文或密文以及获取长度为L的初始密钥;其中,所述明文和所述密文分别作为待加密数据、待解密数据,L为被4整除的正整数;
步骤2:若是加密运算,利用基于所述初始密钥生成的轮密钥对所述待加密数据执行N次轮运算得到密文;若是解密运算,利用基于所述初始密钥生成的轮密钥对所述待解密数据执行N次轮运算得到明文;
其中,对所述初始密钥进行N轮密钥扩展轮运算得到N个所述轮密钥;每一轮的轮运算采用的轮运算架构,是由分组密码GFCS中的异或运算、移位运算搭建,并将每一轮的轮运算中一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,以替换所述分组密码GFCS的轮运算中的F函数模块;
其中,第r轮的轮密钥的生成过程为:
(a)将第r-1轮的轮密钥与轮数r进行异或运算得到数据Sr,即
Figure FDA0004155903320000011
Figure FDA0004155903320000012
为异或运算的符号;
(b)将第(a)步得到的Sr分成4个子块,即
Figure FDA0004155903320000013
并应用中国剩余定理解求解如下一元同余方程组得到解p;
Figure FDA0004155903320000014
(c)计算解p模L/8得到
Figure FDA0004155903320000015
再生成新的中间值
Figure FDA0004155903320000016
其中,
Figure FDA0004155903320000017
(d)对第(c)步得到的Tr做循环左移位与异或运算得到Ar,即
Figure FDA0004155903320000018
Figure FDA0004155903320000019
<<<为循环左移位运算符号;
(e)对第(d)步得到的Ar做循环左移位得到第r轮的轮密钥Kr=(Ar<<<J3);
其中,J1、J2、J3均为正整数。
2.根据权利要求1所述的轻量级分组密码CREF实现方法,其特征在于:将明文P划分为4个子块,即
Figure FDA0004155903320000021
第r轮的明文为
Figure FDA0004155903320000022
加密运算的前N-1轮的轮运算中第r+1轮的轮运算表示为:
Figure FDA0004155903320000023
Figure FDA0004155903320000024
Figure FDA0004155903320000025
Figure FDA0004155903320000026
加密运算的第N轮的轮运算表示为:
Figure FDA0004155903320000027
Figure FDA0004155903320000028
Figure FDA0004155903320000029
Figure FDA00041559033200000210
式中,
Figure FDA00041559033200000215
表示将加密数据分成4个子块后对应的数据块i的第r轮的轮运算结果,i∈{0,1,2,3};
Figure FDA00041559033200000211
表示将第r+1的轮密钥Kr+1分成4个子块后对应的数据块i;f1表示基于循环左移位运算的函数,f2表示基于循环左移位运算以及与运算的函数。
3.根据权利要求1所述的轻量级分组密码CREF实现方法,其特征在于:将密文C划分为4个子块,即
Figure FDA00041559033200000212
解密运算的第1轮的轮运算表示为:
Figure FDA00041559033200000213
Figure FDA00041559033200000214
Figure FDA0004155903320000031
Figure FDA0004155903320000032
解密运算的后N-1轮的轮运算中对应第r+1轮的轮运算表示为:
Figure FDA0004155903320000033
Figure FDA0004155903320000034
Figure FDA0004155903320000035
Figure FDA0004155903320000036
式中,Yi r表示将解密数据分成4个子块后对应的数据块i在第r轮的轮运算结果,i∈{0,1,2,3};
Figure FDA0004155903320000037
表示将第r的轮密钥Kr分成4个子块后对应的数据块i;f1表示基于循环左移位运算的函数,f2表示基于循环左移位运算以及与运算的函数。
4.根据权利要求2或3所述的轻量级分组密码CREF实现方法,其特征在于:函数f1表示加密数据或解密数据的子块循环左移M1位,函数f2表示加密数据或解密数据的子块先分别循环左移M2位、M3位后,再将左移后的数据进行与运算。
5.根据权利要求1所述的轻量级分组密码CREF实现方法,其特征在于:长度为L的取值为64或128或256。
6.一种基于权利要求1-5任一项所述轻量级分组密码CREF实现方法的系统,其特征在于:包括:
数据加载模块:用于获取长度为L明文或密文以及获取长度为L的初始密钥;其中,将所述明文和密文分别作为待加密数据、待解密数据,L为被4整除的正整数;
轮密钥生成模块:用于对所述初始密钥进行N轮密钥扩展轮运算得到N个轮密钥;
加解密模块:用于加密运算时,利用基于所述初始密钥生成的轮密钥对所述待加密数据执行N次轮运算得到密文;以及用于解密运算时,利用基于所述初始密钥生成的轮密钥对所述待解密数据执行N次轮运算得到明文;
其中,每一轮轮运算采用的轮运算架构,是由分组密码GFCS中的异或运算、移位运算搭建的,并将每一轮的轮运算中一半加/解密数据的当前一轮的轮运算结果通过异或运算加入到另一半加/解密数据的当前一轮的轮运算中,以替换所述分组密码GFCS的轮运算中的F函数模块。
7.一种电子终端,其特征在于:包括:
一个或多个处理器;
存储了一个或多个计算机程序的存储器;
其中,所述处理器调用所述计算机程序以执行:权利要求1-5任一项所述轻量级分组密码CREF实现方法的步骤。
8.一种可读存储介质,其特征在于:存储了计算机程序,所述计算机程序被处理器调用以执行:权利要求1-5任一项所述轻量级分组密码CREF实现方法的步骤。
CN202210489183.2A 2022-05-07 2022-05-07 一种轻量级分组密码cref实现方法及系统 Active CN114826560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210489183.2A CN114826560B (zh) 2022-05-07 2022-05-07 一种轻量级分组密码cref实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210489183.2A CN114826560B (zh) 2022-05-07 2022-05-07 一种轻量级分组密码cref实现方法及系统

Publications (2)

Publication Number Publication Date
CN114826560A CN114826560A (zh) 2022-07-29
CN114826560B true CN114826560B (zh) 2023-05-05

Family

ID=82511497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210489183.2A Active CN114826560B (zh) 2022-05-07 2022-05-07 一种轻量级分组密码cref实现方法及系统

Country Status (1)

Country Link
CN (1) CN114826560B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987489B (zh) * 2022-12-28 2023-10-20 北京电子科技学院 一种轻量级的加密解密方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768617A (zh) * 2018-06-06 2018-11-06 贵州大学 一种基于传统分组密码的保持格式加密方法
WO2019177712A1 (en) * 2018-03-15 2019-09-19 Atakama LLC Passwordless security system for data-at-rest
CN113645615A (zh) * 2021-08-12 2021-11-12 衡阳师范学院 轻量级分组密码加密及解密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019177712A1 (en) * 2018-03-15 2019-09-19 Atakama LLC Passwordless security system for data-at-rest
CN111868728A (zh) * 2018-03-15 2020-10-30 阿塔卡玛有限责任公司 用于静止数据的免密码保全系统
CN108768617A (zh) * 2018-06-06 2018-11-06 贵州大学 一种基于传统分组密码的保持格式加密方法
CN113645615A (zh) * 2021-08-12 2021-11-12 衡阳师范学院 轻量级分组密码加密及解密方法

Also Published As

Publication number Publication date
CN114826560A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
Seyedzade et al. A novel image encryption algorithm based on hash function
US7653196B2 (en) Apparatus and method for performing RC4 ciphering
CN112202547B (zh) 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
US10326596B2 (en) Techniques for secure authentication
CN112199696A (zh) 基于白盒分组密码的加解密方法
CN114826560B (zh) 一种轻量级分组密码cref实现方法及系统
Oukili et al. Hardware implementation of AES algorithm with logic S-box
Arrag et al. Design and Implementation A different Architectures of mixcolumn in FPGA
CN111368317B (zh) 一种计算机数据加密系统及方法
JP2004054128A (ja) 暗号化装置
JP2006510067A (ja) ラインドールのサブバイトファンクションの小さなハードウェア実現
CN112507357B (zh) 一种基于密钥生成器的多级接口设计方法
Nabeel et al. IoT light weight (LWT) crypto functions
JP2004078053A (ja) 暗号化装置
Parikibandla et al. Low area field‐programmable gate array implementation of PRESENT image encryption with key rotation and substitution
Khalil et al. Round S-Boxes Development for Present-80 Lightweight Block Cipher Encryption Algorithm
Abbas et al. Dictionary Attack on TRUECRYPT with RIVYERA S3-5000
Polani et al. Low power and area efficient AES implementation using ROM based key expansion and rotational shift
Kristianti et al. Implementation optimization of the DES algorithm on FPGA to support smartcard processors
Sayed et al. Split-n-Swap: A New Modification of the Twofish Block Cipher Algorithm
JP2006502437A (ja) 暗号化回路装置及び方法
Tun et al. Message Security using One Time Pad and AES Hybrid Cryptography
Rahimunnisa et al. Architectural optimization of AES transformations and key expansion
CN116455558A (zh) 一种高扩散轻量级分组密码hdlbc的实现方法及系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231205

Address after: 421000 Northwest storefront on the second floor of Linghu Township Sports Center, Zhuhui District, Hengyang City, Hunan Province

Patentee after: Hengyang Hengjiu Space Decoration Design Engineering Co.,Ltd.

Address before: 421002 No. 16 Henghua Road, Zhuhui District, Hengyang City, Hunan Province

Patentee before: Hengyang Normal University