CN105337732B - 一种可处理大分组数据的加密方法 - Google Patents

一种可处理大分组数据的加密方法 Download PDF

Info

Publication number
CN105337732B
CN105337732B CN201510717445.6A CN201510717445A CN105337732B CN 105337732 B CN105337732 B CN 105337732B CN 201510717445 A CN201510717445 A CN 201510717445A CN 105337732 B CN105337732 B CN 105337732B
Authority
CN
China
Prior art keywords
bit
encryption
wheel
input
cryptographic calculation
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
CN201510717445.6A
Other languages
English (en)
Other versions
CN105337732A (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.)
State Grid Corp of China SGCC
State Grid Hebei Electric Power Co Ltd
Global Energy Interconnection Research Institute
Original Assignee
State Grid Corp of China SGCC
State Grid Hebei Electric Power Co Ltd
Global Energy Interconnection Research Institute
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 State Grid Corp of China SGCC, State Grid Hebei Electric Power Co Ltd, Global Energy Interconnection Research Institute filed Critical State Grid Corp of China SGCC
Priority to CN201510717445.6A priority Critical patent/CN105337732B/zh
Publication of CN105337732A publication Critical patent/CN105337732A/zh
Application granted granted Critical
Publication of CN105337732B publication Critical patent/CN105337732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种可处理大分组数据的加密方法,包括(1)选择大分组长度参数t,则明文长度为128t比特,密钥长度为128t/2比特;(2)将明文解析为2l个128比特的状态小组(x1,x2...xl,xl+1...x2l),将密钥解析为l个128比特的密钥小组其中,2l=t;(3)对所述明文的状态小组进行n轮循环加密,其中第i轮加密的输入为第i‑1轮加密的输出,第1轮加密的输入为所述明文的状态小组,2≤i≤n,n为正整数;本发明提供的一种可处理大分组数据的加密方法,能够通过改进伪随机值引入方式与轮函数本身,实现了以更低的轮数达成更高轮数的安全度的目标。

Description

一种可处理大分组数据的加密方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种可处理大分组数据的加密方法。
背景技术
社会的信息化是当今时代的热点问题,与之相伴的是信息产业的蓬勃发展。在这样的背景下,一方面,信息资产逐渐成为了企业的核心资产之一,另一方面,企业所需保有的信息量在逐年攀升。保障众多重要信息的机密性,涉及企业的核心利益,是意义重大的问题;而处理大量信息所需的时间、机器等开销,使得企业成本增加,因此在提供充分安全保障的同时,尽量缩减加密开销,是艰巨的挑战。
解决上述问题的关键是对称密钥加密算法;而应用最广泛的对称密钥加密算法则是分组密码,这得益于其出色的实现效率与研究透彻的安全性。分组密码算法在为用户数据提供机密性之余,还被广泛用于构造其它密码学函数如密码学杂凑函数、消息认证码等,因此是信息安全领域最重要的密码学组件之一。为满足上述安全需求,须设计效率高、安全性好的分组密码。此处安全性的含义,随需求不同而有所差异:如仅单纯保障数据的机密性,则分组密码算法只需在单一未知密钥下,表现得类似伪随机置换,即可满足需要;但若要使用分组密码构造其它算法,或要通过加密模式等具备可证明安全的结构扩展分组密码的定义域,则需要分组密码表现得类似理想的随机密码,要求其不仅在单一密钥下表现类似随机置换,还需在多个密钥下表现得类似相互独立的一族随机置换。这对分组密码的设计也是新的挑战,超出了通常理解的保密性的范畴。
分组密码通常具备相对较小的、固定的定义域——该定义域的规模称为分组长度。为加密大量数据,可考虑的选项包括使用加密模式、选择分组长度较大的特殊密码等。然而据研究,现有加密模式提供的安全强度相对较低,在攻击者能够影响部分参数的情形下,很可能不安全。而分组长度较大的、特别设计的分组密码,其分组长度通常仍然是少数固定的值,应用的灵活性仍相对较低。为弥补灵活性的缺陷,一些新提出的设计——如美国国家安全局于2013年中发布的新型SIMON与SPECK分组密码系列——包含了多个分组长度不同的算法,使得灵活性大幅增加;然而其分组长度最大仅为128比特,仍未实现在极大范围内可调的目标。这些都表明,为满足大量数据快速加密的需求,设计特别的、基于分组密码的大数据加密算法,是十分迫切的。
目前,常用的分组密码方案包括:DES、AES、SMS4、PRESENT等,在安全度方面,DES的差分/线性分析可在理论上破解,在相关密钥下不安全,实际情形下也已被穷举破解。AES对单密钥情形下的差分/线性分析有可证明的安全界,但在相关/选择密钥下安全性弱。SMS4相当于71.87%比例的轮数一倍利用线性分析理论攻破;PRESENT在单密钥情形下,约相当于83.87%比例的轮数已被利用线性分析理论攻破,但在已知密钥情形下安全性弱。上述方案中DES、SMS4与PRESENT的安全性均由后续的实际分析结论支持,实际分析时发现无法攻破完整的密码方案/无法给出实用、高效的攻击,即认为该方案实际运用时是比较安全的。然而通常的密码分析并不能全面保障方案的安全性,例如AES在设计时,特别注意了抵御差分与线性攻击,能够给出安全界的理论证明;然后后续研究发现,AES的密钥编排扩散速度相对较慢,在相关/选择密钥条件下的安全性较弱,AES-192与AES-256都已被相关密钥差分攻击理论上完全攻破,10轮AES-128则有相对复杂的已知密钥区分器,其作用虽然尚不明确,但其令人怀疑其作为理想密码运用的合理性。
为满足大量数据高效率、高安全度加密的需求,一方面要选择合适的、基于分组密码的结构(主要是域扩展方法),另一方面则要设计安全度极高的分组密码。自2004年起广泛展开的不可分辨性(indifferentiability)的研究,使得构造“理论安全”的加密结构与分组密码成为可能。某些密码学结构如基于Feistel的域扩展结构已被证明在满足某些条件时,与假想的(分组长度较大的)理想密码模型不可分别;用于构造分组密码的Even-Mansour结构也被证明与假想的理想密码模型不可分别,这些证明足以完全保证其针对所有不利用底层结构(如置换)实现细节的攻击的抵抗能力。利用这样的思想,用真正可靠的方式构造出底层结构,进而构造出分组密码,便可以进而给出高效率、高安全的大分组数据加密机制。
发明内容
针对现有技术的不足,本发明提供的一种可处理大分组数据的加密方法,能够通过改进伪随机值引入方式与轮函数本身,实现了以更低的轮数达成更高轮数的安全度的目标。
本发明的目的是采用下述技术方案实现的:
一种可处理大分组数据的加密方法,其改进之处在于,包括:
(1)选择大分组长度参数t,则明文长度为128t比特,密钥长度为128t/2比特;
(2)将明文解析为2l个128比特的状态小组(x1,x2...xl,xl+1...x2l),将密钥解析为l个128比特的密钥小组
Figure BDA0000833205580000021
其中,2l=t;
(3)对所述明文的状态小组进行n轮循环加密,其中第i轮加密的输入为第i-1轮加密的输出,第1轮加密的输入为所述明文的状态小组,2≤i≤n,n为正整数。
优选的,所述步骤(3)中循环加密包括:
(3-1)将第i轮加密输入的状态小组的低位数据
Figure BDA0000833205580000031
作为第i轮加密输出的状态小组的高位数据
(3-2)采用加密运算对第i轮加密输入的状态小组的高位数据
Figure BDA0000833205580000033
进行处理,并将处理后的状态小组的高位数据作为第i轮加密输出的状态小组的低位数据
Figure BDA0000833205580000034
进一步的,所述步骤(3-2)包括:
(3-2-1)进行l次第一加密运算,将第l次第一加密运算的输出与其自身相连作为中间密钥,第j-1次第一加密运算的步骤包括:
分别将所述密钥小组
Figure BDA0000833205580000035
中第j个元素
Figure BDA0000833205580000036
与所述第i轮加密输入的状态小组的低位数据
Figure BDA0000833205580000037
中第2l+1-j个元素
Figure BDA0000833205580000038
相连作为第j-1次第一加密运算的密钥,即
Figure BDA0000833205580000039
采用分组加密算法处理第j-1次第一加密运算的密钥和j-1次第一加密运算的输入获取所述第j-1次第一加密运算的分组加密算法处理结果,其中,第j-1次第一加密运算的输入为第j-2次第一加密运算的分组加密算法处理结果与第j-2次第一加密运算的输入的异或值,第1次第一加密运算的输入为128比特随机数,2≤j≤l;
(3-2-2)进行l次第二加密运算,其中第w次第二加密运算的步骤包括:
采用分组加密算法处理中间密钥和第w次第二加密运算的输入获取第w次第二加密运算的分组加密算法处理结果,其中,所述中间密钥为第l次第一加密运算的输出与其自身相连值,所述第w次第二加密运算的输入为128比特加密常量值w;
将所述第i轮加密输入的状态小组的高位数据
Figure BDA00008332055800000310
中第l+1-w个元素xl+1-w与所述第w次第二加密运算的处理结果的异或值作为第i轮加密输出的状态小组的低位数据中第2l+1-w个元素。
进一步的,所述分组加密算法包括:
将所述分组加密算法输入的256比特密钥数据分割为高位128比特数据k1和低位128比特数据k2,对128比特输入数据进行4步运算处理,获取分组加密算法处理结果,公式为:
Figure BDA00008332055800000311
式(1)中,m为4步运算的128比特输入数据,等于128比特明文输入数据与k1的异或值,S1、S2、S3和S4均为步函数,令a=1,2,3,4,步函数Sa的公式为:
Figure BDA0000833205580000043
式(2)中,
Figure BDA0000833205580000044
为模2128加上k2的加法运算,xa为步函数的128比特输入数据,其值为:
Ps1、Ps2、Ps3和Ps4均为128比特置换函数,令t=1,2,3,4,128比特置换函数Pst的公式为:
Pst(yt)=Roundst,10(Roundst,9(Roundst,8(...Roundst,1(yt)))) (4)
式(4)中,yt为128比特置换函数的128比特输入数据,其值为:
Figure BDA0000833205580000042
令r=1,2...10,Roundst,r(yt)的公式为:
式(6)中,yt1为128比特输入数据yt的64比特高位数据,yt2为128比特输入数据yt的64比特低位数据,RCst,r为下标为st的128比特置换Pst在第r轮的64比特轮常量,F为轮函数,公式为:
式(7)中,z为轮函数的64比特输入数据
Figure BDA0000833205580000047
S1(z)为将64比特输入数据左移1位,S8(z)为将64比特输入数据左移8位,S19(z)为将64比特输入数据左移19位,S2(z)为将64比特输入数据左移2位。
优选的,所述n轮循环加密中n等于6。
与最接近的现有技术相比,本发明具有的有益效果:
(1)本发明提供的一种可处理大分组数据的加密方法能够满足未来电力系统应用环境对大分组数据加密的需求;
(2)本发明提供的一种可处理大分组数据的加密方法符合未来电力系统应用环境对数据加密算法效率的高要求,能够满足海量数据加密的需要;均基于已证明的安全紧界属一定程度上的最优设计,且分组密码基于结构简单、效率较高的ARX运算,其Feistel结构的轮函数在使用Intel处理器SSE指令实现时,只需6个CPU周期即可完成;
(3)本发明提供的一种可处理大分组数据的加密方法具备较高的灵活性与可扩展性,能够通过提供不同强度的安全性-效率折中,满足不同情形、不同等级的需求;
(4)本发明提供的一种可处理大分组数据的加密方法,具备理论上可证明的安全性;
(5)本发明提供的一种可处理大分组数据的加密方法的安全性同时得到若干实际分析结论的支持。
附图说明
图1是本发明提供的一种可处理大分组数据的加密方法流程图;
图2是本发明提供的一种可处理大分组数据的加密方法实际应用场景图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供了一种可处理大分组数据的加密方法,如图1所示,包括:
(1)选择大分组长度参数t,则明文长度为128t比特,密钥长度为128t/2比特;
(2)将明文解析为2l个128比特的状态小组(x1,x2...xl,xl+1...x2l),将密钥解析为l个128比特的密钥小组
Figure BDA0000833205580000051
其中,2l=t;
(3)对所述明文的状态小组进行n轮循环加密,其中第i轮加密的输入为第i-1轮加密的输出,第1轮加密的输入为所述明文的状态小组,2≤i≤n,n为正整数。
其中,所述n轮循环加密中n等于6。
所述步骤(3)中循环加密包括:
(3-1)将第i轮加密输入的状态小组的低位数据
Figure BDA0000833205580000052
作为第i轮加密输出的状态小组的高位数据
Figure BDA0000833205580000053
(3-2)采用加密运算对第i轮加密输入的状态小组的高位数据
Figure BDA0000833205580000061
进行处理,并将处理后的状态小组的高位数据作为第i轮加密输出的状态小组的低位数据
Figure BDA0000833205580000062
所述步骤(3-2)包括:
(3-2-1)进行l次第一加密运算,将第l次第一加密运算的输出与其自身相连作为中间密钥,第j-1次第一加密运算的步骤包括:
分别将所述密钥小组
Figure BDA0000833205580000063
中第j个元素
Figure BDA0000833205580000064
与所述第i轮加密输入的状态小组的低位数据
Figure BDA0000833205580000065
中第2l+1-j个元素
Figure BDA0000833205580000066
相连作为第j-1次第一加密运算的密钥,即
Figure BDA0000833205580000067
采用分组加密算法处理第j-1次第一加密运算的密钥和j-1次第一加密运算的输入获取所述第j-1次第一加密运算的分组加密算法处理结果,其中,第j-1次第一加密运算的输入为第j-2次第一加密运算的分组加密算法处理结果与第j-2次第一加密运算的输入的异或值,第1次第一加密运算的输入为128比特随机数,2≤j≤l;
(3-2-2)进行l次第二加密运算,其中第w次第二加密运算的步骤包括:
采用分组加密算法处理中间密钥和第w次第二加密运算的输入获取第w次第二加密运算的分组加密算法处理结果,其中,所述中间密钥为第l次第一加密运算的输出与其自身相连值,所述第w次第二加密运算的输入为128比特加密常量值w;
将所述第i轮加密输入的状态小组的高位数据
Figure BDA0000833205580000068
中第l+1-w个元素xl+1-w与所述第w次第二加密运算的处理结果的异或值作为第i轮加密输出的状态小组的低位数据中第2l+1-w个元素。
其中,第一加密运算和第二加密运算的分组加密算法采用的计算公式相同,仅输入量不同;
所述分组加密算法包括:
将所述分组加密算法输入的256比特密钥数据分割为高位128比特数据k1和低位128比特数据k2,对128比特输入数据进行4步运算处理,获取分组加密算法处理结果,公式为:
Figure BDA0000833205580000069
式(1)中,m为4步运算的128比特输入数据,等于128比特明文输入数据与k1的异或值,S1、S2、S3和S4均为步函数,令a=1,2,3,4,步函数Sa的公式为:
Figure BDA0000833205580000074
式(2)中,
Figure BDA0000833205580000075
为模2128加上k2的加法运算,xa为步函数的128比特输入数据,其值为:
Figure BDA0000833205580000071
Ps1、Ps2、Ps3和Ps4均为128比特置换函数,令t=1,2,3,4,128比特置换函数Pst的公式为:
Pst(yt)=Roundst,10(Roundst,9(Roundst,8(...Roundst,1(yt)))) (4)
式(4)中,yt为128比特置换函数的128比特输入数据,其值为:
Figure BDA0000833205580000072
令r=1,2...10,Roundst,r(yt)的公式为:
Figure BDA0000833205580000076
式(6)中,yt1为128比特输入数据yt的64比特高位数据,yt2为128比特输入数据yt的64比特低位数据,RCst,r为下标为st的128比特置换Pst在第r轮的64比特轮常量;
F为轮函数,公式为:
Figure BDA0000833205580000077
式(7)中,z为轮函数的64比特输入数据S1(z)为将64比特输入数据左移1位,S8(z)为将64比特输入数据左移8位,S19(z)为将64比特输入数据左移19位,S2(z)为将64比特输入数据左移2位。
例如:采用6轮Feistel结构进行分组加密,其中,第i轮加密过程如图2所示,包括:
(1)选择大分组长度参数4,则明文长度为128*4比特,密钥长度为128*2比特;
(2)将明文解析为4个128比特的状态小组(x1,x2x3,x4),将密钥解析为2个128比特的密钥小组
Figure BDA0000833205580000073
(3)对所述明文的状态小组进行6轮循环加密,其中第i轮加密的输入为第i-1轮加密的输出,第1轮加密的输入为所述明文的状态小组(x1,x2x3,x4)。
所述步骤(3)中循环加密包括:
(3-1)将第i轮加密输入的状态小组的低位数据作为第i轮加密输出的状态小组的高位数据
Figure BDA0000833205580000082
(3-2)采用加密运算对第i轮加密输入的状态小组的高位数据进行处理,并将处理后的状态小组的高位数据作为第i轮加密输出的状态小组的低位数据
Figure BDA0000833205580000084
所述步骤(3-2)包括:
(3-2-1)进行2次第一加密运算,包括:
分别将所述密钥小组
Figure BDA0000833205580000085
中第1、2个元素与所述第i轮加密输入的状态小组的低位数据
Figure BDA0000833205580000086
中第4、3个元素相连作为第j-1次第一加密运算的密钥,即
Figure BDA0000833205580000087
采用分组加密算法处理第j-1次第一加密运算的密钥和j-1次第一加密运算的输入获取所述第j-1次第一加密运算的分组加密算法处理结果,其中,第j-1次第一加密运算的输入为第j-2次第一加密运算的分组加密算法处理结果与第j-2次第一加密运算的输入的异或值,第1次第一加密运算的输入为128比特随机数;
(3-2-2)进行2次第二加密运算,包括:
采用分组加密算法处理中间密钥和第1、2次第二加密运算的输入获取第2次第二加密运算的分组加密算法处理结果,其中,所述中间密钥为第2次第一加密运算的输出与其自身相连值,所述第1、2次第二加密运算的输入为128比特加密常量值1和2;
分别将所述第i轮加密输入的状态小组的高位数据
Figure BDA0000833205580000088
中第2、1个元素与所述第1、2次第二加密运算的处理结果的异或值作为第i轮加密输出的状态小组的低位数据中第1、2个元素,即
其中,第一加密运算和第二加密运算的分组加密算法采用的计算公式相同,仅输入量不同;
采用本发明提供的一种可处理大分组数据的加密方法进行测试,测试向量如表1,软件性能测评数据如表2;
表1 一种可处理大分组数据的加密方法测试的测试向量
明文 密钥 密文
0x00 00 00 00 00 00 00 00 0x00 00 00 00 00 00 00 00 0x66 2B D1 D8 19 0F 9D 64
0x01 23 45 67 89 AB CD EF 0x01 23 45 67 89 AB CD EF 0xA4 DD CE DD D5 70 07 C5
0x00 00 00 00 00 00 00 00 0x01 23 45 67 89 AB CD EF 0xDA 2E 3A B9 72 62 DB BA
0x01 23 45 67 89 AB CD EF 0x00 00 00 00 00 00 00 00 0x2D B6 8B EA 59 70 0B 7D
表2 一种可处理大分组数据的加密方法测试的软件性能测评数据
平均数据处理速率(CPU时钟周期/字节)
加密 90
解密 100
利用RC4流密码算法生成的密钥流的前10240比特,a=1时所用的40个轮常量包括:0xdae33e7468d47db9,0x292695778c649511,0x4e63c3028cfdc904,0x8d4e48178da48dfc,0x3ce54b7cef261284,0xdd1edd4305a40d74,0xe50d88c65a74f685,0x5021d596ddf36bd5,0xc673ad834e21e71f,0xbc16d9b32ac5efd5,0xade874672315a45,0x82e2e1f04faac88e,0x30a5d9088fa6c5e1,0xfc7b8a589bf3a4ec,0xb9d8f2d16ab58c3e,0x5122258f4defb2d7,0xeda0865739c2b96,0x24898063b4b15484,0xb632783a8f429d51,0x8dbc662f064cda80,0x977a7aa544a9e7db,0xa5b43391d093c124,0xa52f50a634239f82,0x8c00143ece471b54,0x69241f1325513bbf,0x2b44eda0dcec8928,0xbbd96166def1dd52,0xa681f3194a75a9,0x99b35c40bf96387a,0x8b2b691e25b98809,0x99a295a48d40e435,0xb635752955529fed,0xb860607c5e7ebc1d,0xa56c0dba9e7ca623,0xf4e8d9b9efbc712,0x766e7d4898a415df,0x68869cdb2fc94aec,0xe3d03a090e17d503,0xd9dab0046245b661,0xc8cfff2aa74a0acd
a=2时所用的40个轮常量包括:0xfe8d7d1dc08fe6e,0xaa7e68e8a99ebaf4,0xbafdc5cff4ce5649,0x200ec87e35803920,0x17fbf1b4b14143a5,0xfe7e874b3df34bfd,0xbea5b97a3453fce9,0x4f21bcfe071719fa,0xe1167e3d48eb30c8,0x4ad3cf1b8df0e37c,0xed54b64b3264fef7,0x2b96ab67b472eda7,0x5edfa15a1f07cce4,0xa9b24bad8e9e12c5,0x9d67f65ee4784024,0xfe577f9bd3f1a396,0xda28061381856961,0xd552727baf8655c9,0x734b8e25b293df54,0x5f12137f094e0ecd,0xf9d47948bdedb27f,0x578d62b56b69041d,0x4734043833ce0b0d,0x9ced6005fbf6185a,0xd9541e76e9dfff0e,0x204ea293d1777cf,0x45007d170fccbf1a,0x429a5f4ae1bd51d0,0x728c7089289c3c15,0x816c25735938f31b,0x838751347ecea613,0x8ded485712b762d2,0xd6f32157bbf293f2,0xb291d6c3cb299862,0xde424ab35772eb45,0x9eb37e6c71176b7c,0xfa7bab2851575c04,0xb266f8a4991026b8,0x46ef775ada6fb4df,0x36b116ad00be3172
a=3时所用的40个轮常量包括:0xbb40027a00d5f3cf,0x5ef163f7b2c99f50,0x9ce825089872da1c,0x6d144eb845037a7c,0xcf6721c45226eaa8,0xd4ff59918cc7adb9,0x57e34103d9ead8c9,0x304d66fa92029739,0xb7162d5183537636,0xaf6b7172f4e2dea8,0xf578286b91ee865d,0x9c34e57f761844c7,0xcba1fcefcb6e9dbf,0x6f7ab60a6de7f146,0x5e7bcca28f7df3bf,0xcefaca2a020525b1,0xf41fad6f5b514f81,0x149550f604bedbfd,0x463dd9480de76180,0x3df59f72f23e079b,0x88a02e63af006a13,0x128cd613006e4c98,0x9c356af404198c40,0x817e676ff7a06957,0x13120ffd08c515c8,0xc40ef596ed0ba3bd,0xbb930f90a7e9216b,0xfa4640f2d8db1ada,0x70d396d5e6a532c5,0x29acda2a67cdc4aa,0xb7c862e0ff614107,0x80a343984d5a0c7a,0x897fdc54824e78c3,0xd803d76f09a9089c,0x10f5201d3c89118f,0x43487acc1a757737,0x880e9d9c84f3b861,0xaa36958139bb710d,0x99143e0453fdf987,0x31a23bf8f422dca9
a=4时所用的40个轮常量包括:0xef0a3b59641eeafe,0x3d72fb23a0022293,0xe2231b19ed200590,0xe24e040d38b96e1f,0x35b0f0d09eaa1644,0x1919e3691992e7e2,0xd3f01b6c41ff4991,0xf2d59e14ab855622,0x692f30b35bd574a6,0x7746b7a0385000bd,0xc3ddfea816b6c8d9,0xa1e9ecfb851ccf99,0x8ae4b602c598e32,0xfc85c5839036a05,0x7cd2070dee945fb6,0xbf78025a79deec40,0x3279f9571719735d,0x81a4f7377f3e7d49,0x55a303a8884bb08b,0xef2bb8f7554bbb7f,0xffa5e0ab2e96c658,0x77a2b1626fc2306d,0xf44b1b4d910c6d73,0xb05963c7560454fd,0x94145e883ef2cb21,0xe4a5060c95659689,0x12e373f0554c95d9,0x4d39468340460f37,0xafe3a013a4a0abae,0x7cb2ddcef0b635a3,0x8c4e5048f5dcff91,0xfff8ea258f3e712c,0x57db1e3284e498bb,0x387c42c33d6e5c9d,0xef4750d65cffdd5e,0x3ab2b3ec71ca048,0x393394678a251ea5,0x8c354f460fdcad74,0x193bd47e5673c852,0xdfff569359ce8d3a
经分析,本发明使用的40轮Feistel结构的置换,目前可以通过差分区分器区分的轮数约为35轮,而概率大于2-128的差分对即使存在,也很难求出;另一方面,偏差大于2-128的线性逼近至多于35轮上成立,至少在10轮以上实现输入比特的完全扩散,基于不可能差分与零相关等的区分器能运作的轮数均小于差分区分器。因此依现有技术,无法/很难构造40轮SEM128单轮结构的区分器,即,所构造的置换族{Ri}与真随机置换在现有技术条件下是不可区分的,本发明提供的方法采用4轮,一方面保证在相当长时间内对现实的理论分析的抵抗能力,另一方面减少不必要的安全余量,以增加效率。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (2)

1.一种可处理大分组数据的加密方法,其特征在于,包括:
(1)选择大分组长度参数t,则明文长度为128t比特,密钥长度为128t/2比特;
(2)将明文解析为2l个128比特的状态小组(x1,x2...xl,xl+1...x2l),将密钥解析为l个128比特的密钥小组
Figure FDA0002057629170000011
其中,2l=t;
(3)对所述明文的状态小组进行n轮循环加密,其中第i轮加密的输入为第i-1轮加密的输出,第1轮加密的输入为所述明文的状态小组,2≤i≤n,n为正整数;
所述步骤(3)中循环加密包括:
(3-1)将第i轮加密输入的状态小组的低位数据
Figure FDA0002057629170000012
作为第i轮加密输出的状态小组的高位数据
Figure FDA0002057629170000013
(3-2)采用加密运算对第i轮加密输入的状态小组的高位数据
Figure FDA0002057629170000014
进行处理,并将处理后的状态小组的高位数据作为第i轮加密输出的状态小组的低位数据
所述步骤(3-2)包括:
(3-2-1)进行l次第一加密运算,将第l次第一加密运算的输出与其自身相连作为中间密钥,第j-1次第一加密运算的步骤包括:
分别将所述密钥小组
Figure FDA0002057629170000016
中第j个元素
Figure FDA0002057629170000017
与所述第i轮加密输入的状态小组的低位数据中第2l+1-j个元素
Figure FDA0002057629170000019
相连作为第j-1次第一加密运算的密钥,即
Figure FDA00020576291700000110
采用分组加密算法处理第j-1次第一加密运算的密钥和j-1次第一加密运算的输入获取所述第j-1次第一加密运算的分组加密算法处理结果,其中,第j-1次第一加密运算的输入为第j-2次第一加密运算的分组加密算法处理结果与第j-2次第一加密运算的输入的异或值,第1次第一加密运算的输入为128比特随机数,2≤j≤l;
(3-2-2)进行l次第二加密运算,其中第w次第二加密运算的步骤包括:
采用分组加密算法处理中间密钥和第w次第二加密运算的输入获取第w次第二加密运算的分组加密算法处理结果,其中,所述中间密钥为第l次第一加密运算的输出与其自身相连值,所述第w次第二加密运算的输入为128比特加密常量值w;
将所述第i轮加密输入的状态小组的高位数据
Figure FDA00020576291700000111
中第l+1-w个元素xl+1-w与所述第w次第二加密运算的处理结果的异或值作为第i轮加密输出的状态小组的低位数据中第2l+1-w个元素;
所述分组加密算法包括:
将所述分组加密算法输入的256比特密钥数据分割为高位128比特数据k1和低位128比特数据k2,对128比特输入数据进行4步运算处理,获取分组加密算法处理结果
Figure FDA0002057629170000021
公式为:
Figure FDA0002057629170000022
式(1)中,m为4步运算的128比特输入数据,等于128比特明文输入数据与k1的异或值,S1、S2、S3和S4均为步函数,令a=1,2,3,4,步函数Sa的公式为:
Figure FDA0002057629170000028
式(2)中,为模2128加上k2的加法运算,xa为步函数的128比特输入数据,其值为:
Figure FDA0002057629170000023
Ps1、Ps2、Ps3和Ps4均为128比特置换函数,令t=1,2,3,4,128比特置换函数Pst的公式为:
Pst(yt)=Roundst,10(Roundst,9(Roundst,8(...Roundst,1(yt)))) (4)
式(4)中,yt为128比特置换函数的128比特输入数据,其值为:
Figure FDA0002057629170000024
令r=1,2...10,Roundst,r(yt)的公式为:
Figure FDA0002057629170000025
式(6)中,yt1为128比特输入数据yt的64比特高位数据,yt2为128比特输入数据yt的64比特低位数据,RCst,r为下标为st的128比特置换Pst在第r轮的64比特轮常量,F为轮函数,公式为:
式(7)中,z为轮函数的64比特输入数据
Figure FDA0002057629170000031
S1(z)为将64比特输入数据左移1位,S8(z)为将64比特输入数据左移8位,S19(z)为将64比特输入数据左移19位,S2(z)为将64比特输入数据左移2位。
2.如权利要求1所述的方法,其特征在于,所述n轮循环加密中n等于6。
CN201510717445.6A 2015-10-29 2015-10-29 一种可处理大分组数据的加密方法 Active CN105337732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510717445.6A CN105337732B (zh) 2015-10-29 2015-10-29 一种可处理大分组数据的加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510717445.6A CN105337732B (zh) 2015-10-29 2015-10-29 一种可处理大分组数据的加密方法

Publications (2)

Publication Number Publication Date
CN105337732A CN105337732A (zh) 2016-02-17
CN105337732B true CN105337732B (zh) 2019-10-15

Family

ID=55288053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510717445.6A Active CN105337732B (zh) 2015-10-29 2015-10-29 一种可处理大分组数据的加密方法

Country Status (1)

Country Link
CN (1) CN105337732B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660328A (zh) * 2018-12-26 2019-04-19 中金金融认证中心有限公司 对称块加密方法、装置、设备及介质
CN112003689A (zh) * 2020-08-31 2020-11-27 北京三未信安科技发展有限公司 一种ssl数据包的快速处理方法、系统和电子设备
CN111769943B (zh) * 2020-09-01 2021-01-01 北京连山科技股份有限公司 一种基于粒子化的数据安全保护方法
CN115664635A (zh) * 2022-10-19 2023-01-31 山东新一代信息产业技术研究院有限公司 一种超长密钥的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
CN101013938B (zh) * 2007-01-12 2010-04-07 广州市诚毅科技软件开发有限公司 一种分组密码加密方法
CN103595539B (zh) * 2013-11-26 2016-08-24 南开大学 保留格式的数值型个人识别信息的加密方法

Also Published As

Publication number Publication date
CN105337732A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105681025B (zh) 一种国家密码标准算法sm4的安全白盒实现方法和装置
CN105337732B (zh) 一种可处理大分组数据的加密方法
Andrushkevych et al. A prospective lightweight block cipher for green IT engineering
Zhu et al. Breaking and improving an image encryption scheme based on total shuffling scheme
CN104065474B (zh) 一种轻量级Surge分组密码实现方法
CN108964872A (zh) 一种基于aes的加密方法及装置
CN108429613A (zh) 一种基于en-present算法的电网信息加密方法
CN103795527A (zh) 防止基于功耗分析攻击aes算法的软件掩码防护方案
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
Firdaus et al. Monitoring system with two central facilities protocol
Razaq et al. A novel technique for the construction of safe substitution boxes based on cyclic and symmetric groups
Alyas et al. Enhancement the ChaCha20 Encryption Algorithm Based on Chaotic Maps
Sreehari et al. A review on fpga implementation of lightweight cryptography for wireless sensor network
Rajput et al. VLSI implementation of lightweight cryptography technique for FPGA-IOT application
Pandey et al. Particle swarm optimization in cryptanalysis of DES
Gupta et al. Ensuring data security in databases using format preserving encryption
Lustro et al. Performance analysis of enhanced SPECK algorithm
CN114745105B (zh) 一种融合量子漫步和改进aes的图像加密方法
Umair Comparison of Symmetric Block Encryption Algorithms
Villanueva et al. An enhanced RC5 (ERC5) algorithm based on simple random number key expansion technique
Sachdeva et al. Implementation of AES-128 using multiple cipher keys
Ukwuoma et al. Quantum attack-resistant security system for cloud computing using lattice cryptography
Toapanta et al. An immutable algorithm approach to improve the information security of a process for a public organization of Ecuador
CN103905186B (zh) 一种加密方法
Zhang Cryptanalysis of an image encryption algorithm based on chaotic modulation of Arnold dual scrambling and DNA computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 102209 Beijing City, Changping District science and Technology Park in the future smart grid research institute hospital

Applicant after: GLOBAL ENERGY INTERCONNECTION RESEARCH INSTITUTE

Applicant after: State Grid Hebei Electric Power Company

Applicant after: State Grid Corporation of China

Address before: 102211 Beijing city Changping District Xiaotangshan town big East Village Road No. 270 (future technology city)

Applicant before: State Grid Smart Grid Institute

Applicant before: State Grid Hebei Electric Power Company

Applicant before: State Grid Corporation of China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant