CN107257279B - 一种明文数据加密方法及设备 - Google Patents

一种明文数据加密方法及设备 Download PDF

Info

Publication number
CN107257279B
CN107257279B CN201710514725.6A CN201710514725A CN107257279B CN 107257279 B CN107257279 B CN 107257279B CN 201710514725 A CN201710514725 A CN 201710514725A CN 107257279 B CN107257279 B CN 107257279B
Authority
CN
China
Prior art keywords
transformation
key
round
layer
result
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
CN201710514725.6A
Other languages
English (en)
Other versions
CN107257279A (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.)
Guangdong Hao Yun Long Sheng Network Inc
Original Assignee
Guangdong Hao Yun Long Sheng Network Inc
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 Guangdong Hao Yun Long Sheng Network Inc filed Critical Guangdong Hao Yun Long Sheng Network Inc
Priority to CN201710514725.6A priority Critical patent/CN107257279B/zh
Publication of CN107257279A publication Critical patent/CN107257279A/zh
Application granted granted Critical
Publication of CN107257279B publication Critical patent/CN107257279B/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
    • 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

Abstract

本发明提供了一种明文数据加密方法及设备,该方法应用于包括有处理器的设备,包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure DDA0001336391710000011
对运算结果X0进行r‑1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure DDA0001336391710000012
1≤i≤r‑1,r表示轮数;将运算结果X(r‑1)通过第r轮变换,获得密文数据C,其中
Figure DDA0001336391710000013
本发明对ARIA密码算法进行了改进,具有良好的抵抗滑动攻击性能,提升了信息的安全性。

Description

一种明文数据加密方法及设备
技术领域
本发明涉及信息安全技术,尤指一种明文数据加密方法及设备。
背景技术
随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切。特别地,随着Internet的广泛应用,以及个人通信、多媒体通信、办公自动化、电子邮件、电子自动转账支付系统和自动零售业务网的建立和实现,信息的安全保护问题就显得更加重要,解决这一问题的有效手段之一是使用现代密码技术。
美国数据加密标准(DES,Data Encryption Standard)的颁布实施标志着现代密码学的诞生,从此揭开了商用密码研究的序幕。此后实用密码的研究基本上在沿着两个方向进行,即以公钥加密算法RSA为代表的公开密钥密码和以DES为代表的秘密密钥分组密码。其中,分组密码具有速度快,易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证及密钥管理的核心密码算法,它在计算机通信和信息系统安全领域有着广泛的应用。美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。韩国分组密码标准(ARIA算法)是目前广泛应用的分组加密算法之一,但其与AES算法相似的设计结构使得很多攻击AES算法的方法对ARIA产生威胁,如何优化ARIA算法,提升信息安全性是目前需要解决的问题之一。
发明内容
针对上述技术问题,本发明提供了一种明文数据加密方法及设备,对ARIA算法进行了改进,能够抵抗滑动攻击,提升信息安全性。
为了达到本发明目的,本发明提供了一种明文数据加密方法,应用于包括有处理器的设备,该方法包括:
将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure GDA0002139066110000021
其中白化密钥k0为预先配置的主密钥K的最左边128比特;
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure GDA0002139066110000022
1≤i≤r-1,r表示轮数;
将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
Figure GDA0002139066110000027
进一步地,混淆层SL包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中
Figure GDA0002139066110000023
第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。
进一步地,所述扩散层DL变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
Figure GDA0002139066110000024
(x0,x1,...,x15)→(y0,y1,...,y15)
Figure GDA0002139066110000025
进一步地,所述密钥加RKA变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
Figure GDA0002139066110000026
进一步地,该方法还包括:对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
主密钥K表示为:
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
Figure GDA0002139066110000032
2)S变换(γ):即第j行前四个字节进行Sj变换;
Figure GDA0002139066110000033
3)前四列异或以下矩阵(π):
Figure GDA0002139066110000034
4)输出取最左边128比特作为轮密钥ki
进一步地,该方法还包括:
对所述密文数据C进行解密操作,所述解密操作为加密操作的逆操作,所述解密操作过程包括:
步骤一:将密文数据C与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与白化密钥k0的前128比特按位异或,从而得到明文数据P。
为了达到本发明目的,本发明还提供了一种设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述明文数据加密方法的步骤。
进一步地,所述处理器包括图形处理器GPU;
所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure GDA0002139066110000041
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
Figure GDA0002139066110000043
进一步地,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
输出主密钥K的最左边128比特作为白化密钥k0。其中主密钥K表示为:
Figure GDA0002139066110000044
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
2)S变换(γ):即第j行前四个字节进行Sj变换;
Figure GDA0002139066110000052
3)前四列异或以下矩阵(π):
Figure GDA0002139066110000053
4)输出
Figure GDA0002139066110000054
取最左边128比特作为轮密钥ki
为了达到本发明目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述明文数据加密方法的步骤。
本发明技术方案提供了一种明文数据加密方法及设备,该方法应用于包括有处理器的设备,包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure GDA0002139066110000056
1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
Figure GDA0002139066110000057
本发明对ARIA密码算法进行了改进,具有良好的抵抗滑动攻击性能,提升了信息的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的明文数据加密方法流程示意图;
图2为本发明实施例一提供的明文数据加解密方法流程示意图;
图3为本实施例二提供的加解密设备架构示意图;
图4为本发明实施例二提供的加解密方法流程示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
根据本发明的一个实施例,提供了一种明文数据加密方法。图1为本发明实施例提供的明文数据加密方法流程示意图,如图1所示,该明文数据加密方法,应用于包括有处理器的设备,包括:
步骤101,将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure GDA0002139066110000061
其中白化密钥k0为预先配置的主密钥K的最左边128比特;
步骤102,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层(SL)变换、扩散层(DL)变换和密钥加变换(RKA),其中
Figure GDA0002139066110000062
1≤i≤r-1,r表示轮数;
步骤103,将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
运算符
Figure GDA0002139066110000064
是表示两个函数的复合运算。
白化密钥k0、轮密钥Ki以及Kr都可以通过对预先配置的主密钥K的编排而获得,主密钥K、轮密钥Ki以及Kr可以为256比特。主密钥K可以表示如下:
Figure GDA0002139066110000071
进一步地,混淆层(SL)包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中
Figure GDA0002139066110000072
第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。
进一步地,所述扩散层(DL)变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
Figure GDA0002139066110000073
(x0,x1,...,x15)→(y0,y1,...,y15)
Figure GDA0002139066110000074
进一步地,密钥加变换(RKA)是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
进一步地,经如下步骤获得所述轮密钥ki
主密钥K表示为:(均为字节)
Figure GDA0002139066110000081
输出K的最左边128比特作为白化密钥k0
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
Figure GDA0002139066110000082
2)S变换(γ):即第j行前四个字节进行Sj变换;
Figure GDA0002139066110000083
3)前四列异或以下矩阵(π):
Figure GDA0002139066110000084
4)输出
Figure GDA0002139066110000085
(即取最左边128比特):即取第3)步结果的前四列作为轮密钥Ki
进一步地,该方法还包括:对所述密文数据C进行解密操作,解密过程包括:
步骤一:将密文数据C与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与主密钥K0的前128比特按位异或,从而得到明文数据P。
而本发明技术方案提供的新算法不仅结合了原ARIA算法的优势,并且在混淆层和秘钥编排上做了创新,具有良好的抗滑动攻击的能力。滑动攻击是指使用相同的轮函数,或几轮轮函数形成一个周期等弱点,寻找满足一定条件的明密对,从中可以获得密钥的部分信息。原有ARIA算法容易受到滑动攻击,本发明新算法与ARIA算法的不同点在于:
第一,秘钥长度上新算法采用256bit,区别与ARIA算法的秘钥长度。
第二,混淆层进行了变换。新算法的第一类替代变换SL采用S1、S2
Figure GDA0002139066110000091
Figure GDA0002139066110000092
的顺序,而ARIA算法是采用S1、S2
Figure GDA0002139066110000093
的顺序排列,其中新算法中的S2和ARIA算法中的S1都是采用AES算法中的S盒,而新算法中的S1和ARIA算法中的S2采用的是两种不同的S盒。
第三,秘钥编排上也不相同,新算法经过循环移位(θ)和S变换(χ)、异或运算后只取前128bit作为轮秘钥,而ARIA算法是需要2个128bit的初始KL和KR,由种子秘钥MK生成,规则如下:
KL||KR=MK||0...0
经过两轮的Feistel变换后生成4个128bit的秘钥字W0,W1,W2,W3,通过对它们进行移位和异或运算后来获取所需轮秘钥。
实施例一
本发明实施例一提供了一种明文数据加解密方法,本实施例一中明文数据分组长度为128比特,轮密钥Ki长度为256比特,对应的轮数r为32轮。
图2为本发明实施例一提供的明文数据加解密方法流程示意图,如图2所示,一种明文数据加解密方法,应用于包括有处理器的设备,对明文数据进行加解密处理的方法步骤包括:
流程如图2所示,加密流程:
对明文数据进行初始白化过程,即将白化密钥k0与明文数据P按字节做异或运算:
Figure GDA0002139066110000101
对X0进行如下r-1轮迭代变换,每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure GDA0002139066110000102
1≤i≤r-1,;
将r-1轮的输出结果Xr-1通过r轮变换,获得密文数据C,其中
Figure GDA0002139066110000103
r表示轮数,本实施例中r为32,RKA表示密钥加变换,X0表示第一个中间态。
上述加密处理流程的整体结构为SP(subspace pursuit)结构,每一轮由以下3个操作构成。
1、混淆层SL
混淆层变换为非线性变换,本算法采用两类混淆层,即第一类混淆层和第二类混淆层,可参照图2和图3,两类替代变换共采用4个S盒:S1、S2、S3和S4,其中,
Figure GDA0002139066110000104
混淆层第一类变换在奇数轮中使用,混淆层第二类变换在偶数轮中使用。
S1:
Figure GDA0002139066110000105
Figure GDA0002139066110000111
S2:
Figure GDA0002139066110000112
S3:
Figure GDA0002139066110000113
Figure GDA0002139066110000121
S4:
Figure GDA0002139066110000122
2、扩散层DL:
扩散层变换为线性变换,它将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
Figure GDA0002139066110000131
(x0,x1,...,x15)→(y0,y1,...,y15)
3、密钥加变换RKA
密钥加变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
进一步地,该方法还包括,在对明文数据进行初始白化过程之前,对轮密钥进行编排,其中密钥编排的具体过程如下:
密钥扩展算法步骤如下:
步骤一:输出K的最左边128比特作为轮子密钥(白化密钥)k0
主密钥K可以表示为:(均为字节)
Figure GDA0002139066110000134
步骤二:对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
Figure GDA0002139066110000141
2)S变换(γ):即第j行前四个字节进行Sj变换;
Figure GDA0002139066110000142
3)前四列异或以下矩阵(π):
Figure GDA0002139066110000143
4)输出
Figure GDA0002139066110000144
(即取最左边128比特):即取第3)步结果的前四列作为轮密钥Ki
进一步地,该方法还包括:对密文数据C进行解密,流程如图2所示,解密流程如下:
解密过程包括:
步骤一:将密文与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与白化密钥k0的前128比特按位异或,从而得到明文数据输出。
其中,解密过程仍为32轮,每一轮的操作是加密操作的逆操作,其中采用的是S盒的逆运算查表,做逆变换时,密钥是从k32开始,而线性层也就是扩散层的逆就是线性层本身。
根据本发明的另一实施例,提供了一种设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的明文数据加密方法的步骤。
进一步地,所述处理器包括图形处理器GPU;
所述处理器包括图形处理器GPU;
所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure GDA0002139066110000151
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure GDA0002139066110000152
1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
Figure GDA0002139066110000153
其中,明文数据P分组长度可以为128比特,轮密钥Ki长度可以为256比特,r可以为32。
进一步地,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
输出主密钥K的最左边128比特作为白化密钥k0。其中主密钥K表示为:
Figure GDA0002139066110000154
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
Figure GDA0002139066110000161
2)S变换(γ):即第j行前四个字节进行Sj变换;
Figure GDA0002139066110000162
3)前四列异或以下矩阵(π):
Figure GDA0002139066110000163
4)输出
Figure GDA0002139066110000164
取最左边128比特作为轮密钥ki
实施例二
本实施例二提供了一种明文数据加解密设备,图3为本实施例二提供的加解密设备架构示意图,图4为本发明实施例二提供的加解密方法流程示意图,如图3和图4所示,
本发明实施例提供了一种明文数据加解密设备,包括:中央处理器CPU和图形处理器GPU,其中GPU进行负责明文数据的加解密计算,CPU负责秘钥扩展算法,即密钥编排,存储器主要涉及到明文、密文、轮秘钥、S盒的存储。共享存储区可以被多个线程共享访问。
在上述加解密设备中进行加解密操作的流程如图4所示,轮秘钥的产生在CPU中,处理结果传递到GPU相对应存储区域中后调用线程进行混淆、扩展等处理进行加解密。
加密过程包括:
步骤一:在计算开始前,将明文、密文、轮秘钥、S盒存储到GPU的全局存储区,在GPU中开辟32个线程,每个线程实现一个轮函数。
步骤二:线程并行将分组密码算法的128比特明文与轮密钥Ki从全局存储区复制到共享存储区,将轮秘钥的前128比特按位异或操作;
步骤三:对上一步运算结果再经过混淆层的非线性变换,其中混淆层第一类变换在奇数轮中使用,混淆层第二类变换在偶数轮中使用;
步骤四:将步骤三非线性变换的结果再做扩散层线性变换;
步骤五:将步骤四的线性变换结果与轮密钥Ki按位异或(i=1,2...,31);
步骤六:将步骤五的异或结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第31轮;
步骤七:到第32轮时,将第31轮输出结果做第二类混淆层非线性变换,从而得到密文输出。
解密过程包括:
步骤一:将密文与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与主密钥k0的前128比特按位异或,从而得到明文输出。
本发明提供的分组密码加解密算法,其设计基于完善的数学理论,结合了ARIA密码算法的优点,设计安全合理,从而具有良好的抵抗滑动攻击性能,提升了信息的安全性。
根据本发明的又一实施例,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述明文数据加密方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种明文数据加密方法,应用于包括有处理器的设备,其特征在于,该方法包括:
将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure FDA0002216954180000011
其中白化密钥k0为预先配置的主密钥K的最左边128比特;
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure FDA0002216954180000012
1≤i≤r-1,r表示轮数,ki为第i轮轮密钥;
将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
Figure FDA0002216954180000013
kr为第r轮轮密钥;
其中,混淆层SL包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中
Figure FDA0002216954180000014
第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用;
对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
主密钥K表示为:
Figure FDA0002216954180000015
对于i=1,2,……32,循环执行以下变换:
1)循环移位θ:即第j行循环左移j字节,(j=1,2,3,4);
Figure FDA0002216954180000016
2)S变换γ:即第j行前四个字节进行Sj变换;
Figure FDA0002216954180000021
3)前四列异或以下矩阵π:
Figure FDA0002216954180000022
4)输出
Figure FDA0002216954180000023
取最左边128比特作为轮密钥ki
2.如权利要求1所述的方法,其特征在于,所述扩散层DL变换为线性变换,是将16字节状态(x0,x1,…,x15)映射为(y0,y1,…,y15),具体定义如下:
Figure FDA0002216954180000024
(x0,x1,...,x15)→(y0,y1,...,y15)
Figure FDA0002216954180000025
3.如权利要求1所述的方法,其特征在于,所述密钥加RKA变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
Figure FDA0002216954180000026
4.如权利要求1所述的方法,其特征在于,该方法还包括:
对所述密文数据C进行解密操作,所述解密操作为加密操作的逆操作,所述解密操作过程包括:
步骤一:将密文数据C与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或,其中,i=31,30...,1;
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与白化密钥k0的前128比特按位异或,从而得到明文数据P。
5.一种明文数据加密设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的方法的步骤。
6.如权利要求5所述的设备,其特征在于,所述处理器包括图形处理器GPU;
所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,
Figure FDA0002216954180000031
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中
Figure FDA0002216954180000032
1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
Figure FDA0002216954180000033
7.如权利要求5所述的设备,其特征在于,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
输出主密钥K的最左边128比特作为白化密钥k0,其中主密钥K表示为:
Figure FDA0002216954180000041
对于i=1,2,……32,循环执行以下变换:
1)循环移位θ:即第j行循环左移j字节,(j=1,2,3,4);
2)S变换γ:即第j行前四个字节进行Sj变换;
Figure FDA0002216954180000043
3)前四列异或以下矩阵π:
4)输出
Figure FDA0002216954180000045
取最左边128比特作为轮密钥ki
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法的步骤。
CN201710514725.6A 2017-06-29 2017-06-29 一种明文数据加密方法及设备 Active CN107257279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710514725.6A CN107257279B (zh) 2017-06-29 2017-06-29 一种明文数据加密方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710514725.6A CN107257279B (zh) 2017-06-29 2017-06-29 一种明文数据加密方法及设备

Publications (2)

Publication Number Publication Date
CN107257279A CN107257279A (zh) 2017-10-17
CN107257279B true CN107257279B (zh) 2020-02-11

Family

ID=60023466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710514725.6A Active CN107257279B (zh) 2017-06-29 2017-06-29 一种明文数据加密方法及设备

Country Status (1)

Country Link
CN (1) CN107257279B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967414B (zh) * 2017-11-03 2023-07-28 深圳市航顺芯片技术研发有限公司 微控制芯片指令加密方法、解密方法及加/解密系统
CN109995506B (zh) * 2019-04-09 2022-09-02 司法鉴定科学研究院 Skinny算法优化实现方法、系统、终端、存储介质
CN111241575B (zh) * 2019-12-27 2021-07-30 北京深思数盾科技股份有限公司 用于数据保护设备的测试方法和装置以及存储介质
CN111147230A (zh) * 2019-12-31 2020-05-12 东方红卫星移动通信有限公司 一种基于低轨卫星物联网轻量级星间的信息加密传输方法
CN114019854B (zh) * 2021-10-27 2024-03-29 国网山东省电力公司宁阳县供电公司 一种电力变压器智能控制监测系统
CN114019855B (zh) * 2021-10-27 2024-03-29 国网山东省电力公司宁阳县供电公司 一种线路安全智能辅助监测系统
CN117390642B (zh) * 2023-10-17 2024-03-01 苏州元脑智能科技有限公司 一种数据加解密方法、装置、设备和计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法

Also Published As

Publication number Publication date
CN107257279A (zh) 2017-10-17

Similar Documents

Publication Publication Date Title
CN107257279B (zh) 一种明文数据加密方法及设备
DK1686722T3 (en) Block encryption device and block encryption method comprising rotation key programming
EP2197144A1 (en) Methods and devices for a chained encryption mode
US8504845B2 (en) Protecting states of a cryptographic process using group automorphisms
Aboytes-González et al. Design of a strong S-box based on a matrix approach
KR19990084419A (ko) 블록 데이터 암호화 장치
US8675866B2 (en) Multiplicative splits to protect cipher keys
US20170346622A1 (en) System And Method For Secure Communications And Data Storage Using Multidimensional Encryption
US20080192924A1 (en) Data encryption without padding
WO2012132621A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
Chaitra et al. A survey on various lightweight cryptographic algorithms on FPGA
Akhavan et al. Hash function based on piecewise nonlinear chaotic map
Alemami et al. Advanced approach for encryption using advanced encryption standard with chaotic map
Achkoun et al. SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes
Kapoor et al. Analysis of symmetric and asymmetric key algorithms
Yap et al. Cryptanalysis of a high-definition image encryption based on AES modification
Buell Modern symmetric ciphers—Des and Aes
Taher et al. Best S-box amongst differently sized S-boxes based on the avalanche effect in‎ the advance encryption standard algorithm
CN115022000B (zh) 铁路信号系统的通信方法、装置及电子设备
Ahmed et al. Cryptography and State-of-the-art Techniques
KR20190049875A (ko) 테이블 기반 구현에서의 차수 2 이상의 dca 공격에 대응하는 방법
Prayitno et al. Avoiding Lookup Table in AES Algorithm
Bhavani et al. Security enhancement using modified AES and Diffie–Hellman key exchange
Shylashree et al. FPGA implementations of advanced encryption standard: A survey
Cioschi et al. White-box cryptography: a time-security trade-off for the SPNbox family

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

Effective date of registration: 20191226

Address after: 510000 2 / F, No. 6,8, Jianzhong Road, Tianhe District, Guangzhou City, Guangdong Province

Applicant after: Guangdong Hao Yun Long Sheng Network Inc

Address before: 518000 Guangdong Province, Shenzhen high tech Zone of Nanshan District City, No. 9018 North Central Avenue's innovation building A, 6-8 layer, 10-11 layer, B layer, C District 6-10 District 6 floor

Applicant before: Nubian Technologies Ltd.

GR01 Patent grant
GR01 Patent grant