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

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

Info

Publication number
CN107257279A
CN107257279A CN201710514725.6A CN201710514725A CN107257279A CN 107257279 A CN107257279 A CN 107257279A CN 201710514725 A CN201710514725 A CN 201710514725A CN 107257279 A CN107257279 A CN 107257279A
Authority
CN
China
Prior art keywords
mtd
msub
mrow
mtr
key
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
CN201710514725.6A
Other languages
English (en)
Other versions
CN107257279B (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
Nubia Technology Co Ltd
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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Prostheses (AREA)
  • Hall/Mr Elements (AREA)
  • Dicing (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种明文数据加密方法及设备
技术领域
本发明涉及信息安全技术,尤指一种明文数据加密方法及设备。
背景技术
随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切。特别地,随着Internet的广泛应用,以及个人通信、多媒体通信、办公自动化、电子邮件、电子自动转账支付系统和自动零售业务网的建立和实现,信息的安全保护问题就显得更加重要,解决这一问题的有效手段之一是使用现代密码技术。
美国数据加密标准(DES,Data Encryption Standard)的颁布实施标志着现代密码学的诞生,从此揭开了商用密码研究的序幕。此后实用密码的研究基本上在沿着两个方向进行,即以公钥加密算法RSA为代表的公开密钥密码和以DES为代表的秘密密钥分组密码。其中,分组密码具有速度快,易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证及密钥管理的核心密码算法,它在计算机通信和信息系统安全领域有着广泛的应用。美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。韩国分组密码标准(ARIA算法)是目前广泛应用的分组加密算法之一,但其与AES算法相似的设计结构使得很多攻击AES算法的方法对ARIA产生威胁,如何优化ARIA算法,提升信息安全性是目前需要解决的问题之一。
发明内容
针对上述技术问题,本发明提供了一种明文数据加密方法及设备,对ARIA算法进行了改进,能够抵抗滑动攻击,提升信息安全性。
为了达到本发明目的,本发明提供了一种明文数据加密方法,应用于包括有处理器的设备,该方法包括:
将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,其中白化密钥K0为预先配置的主密钥K的最左边128比特;
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;
将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
进一步地,混淆层SL包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中S4=S1 -1;第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。
进一步地,所述扩散层DL变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
(x0,x1,...,x15)→(y0,y1,...,y15)
进一步地,所述密钥加RKA变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
进一步地,该方法还包括:对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
主密钥K表示为:
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
2)S变换(γ):即第j行前四个字节进行Sj变换;
3)前四列异或以下矩阵(π):
4)输出Ki=πογοθ(K),取最左边128比特作为轮密钥ki
进一步地,该方法还包括:
对所述密文数据C进行解密操作,所述解密操作为加密操作的逆操作,所述解密操作过程包括:
步骤一:将密文数据C与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与白化密钥K0的前128比特按位异或,从而得到明文数据P。
为了达到本发明目的,本发明还提供了一种设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述明文数据加密方法的步骤。
进一步地,所述处理器包括图形处理器GPU;
所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
进一步地,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
输出主密钥K的最左边128比特作为白化密钥K0。其中主密钥K表示为:
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
2)S变换(γ):即第j行前四个字节进行Sj变换;
3)前四列异或以下矩阵(π):
4)输出Ki=πογοθ(K),取最左边128比特作为轮密钥ki
为了达到本发明目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述明文数据加密方法的步骤。
本发明技术方案提供了一种明文数据加密方法及设备,该方法应用于包括有处理器的设备,包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中本发明对ARIA密码算法进行了改进,具有良好的抵抗滑动攻击性能,提升了信息的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的明文数据加密方法流程示意图;
图2为本发明实施例一提供的明文数据加解密方法流程示意图;
图3为本实施例二提供的加解密设备架构示意图;
图4为本发明实施例二提供的加解密方法流程示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
根据本发明的一个实施例,提供了一种明文数据加密方法。图1为本发明实施例提供的明文数据加密方法流程示意图,如图1所示,该明文数据加密方法,应用于包括有处理器的设备,包括:
步骤101,将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,其中白化密钥K0为预先配置的主密钥K的最左边128比特;
步骤102,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层(SL)变换、扩散层(DL)变换和密钥加变换(RKA),其中1≤i≤r-1,r表示轮数;
步骤103,将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
运算符ο是表示两个函数的复合运算。
白化密钥K0、轮密钥Ki以及Kr都可以通过对预先配置的主密钥K的编排而获得,主密钥K、轮密钥Ki以及Kr可以为256比特。主密钥K可以表示如下:
进一步地,混淆层(SL)包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中S4=S1 -1。第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。
进一步地,所述扩散层(DL)变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
(x0,x1,...,x15)→(y0,y1,...,y15)
进一步地,密钥加变换(RKA)是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
进一步地,经如下步骤获得所述轮密钥ki
主密钥K表示为:(均为字节)
输出K的最左边128比特作为白化密钥K0
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
2)S变换(γ):即第j行前四个字节进行Sj变换;
3)前四列异或以下矩阵(π):
4)输出Ki=πογοθ(K)(即取最左边128比特):即取第3)步结果的前四列作为轮密钥Ki
进一步地,该方法还包括:对所述密文数据C进行解密操作,解密过程包括:
步骤一:将密文数据C与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与主密钥K0的前128比特按位异或,从而得到明文数据P。
而本发明技术方案提供的新算法不仅结合了原ARIA算法的优势,并且在混淆层和秘钥编排上做了创新,具有良好的抗滑动攻击的能力。滑动攻击是指使用相同的轮函数,或几轮轮函数形成一个周期等弱点,寻找满足一定条件的明密对,从中可以获得密钥的部分信息。原有ARIA算法容易受到滑动攻击,本发明新算法与ARIA算法的不同点在于:
第一,秘钥长度上新算法采用256bit,区别与ARIA算法的秘钥长度。
第二,混淆层进行了变换。新算法的第一类替代变换SL采用S1、S2 的顺序,而ARIA算法是采用S1、S2的顺序排列,其中新算法中的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按字节做异或运算:
对X0进行如下r-1轮迭代变换,每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,;
将r-1轮的输出结果Xr-1通过r轮变换,获得密文数据C,其中
r表示轮数,本实施例中r为32,RKA表示密钥加变换,X0表示第一个中间态。
上述加密处理流程的整体结构为SP(subspace pursuit)结构,每一轮由以下3个操作构成。
1、混淆层SL
混淆层变换为非线性变换,本算法采用两类混淆层,即第一类混淆层和第二类混淆层,可参照图2和图3,两类替代变换共采用4个S盒:S1、S2、S3和S4,其中,S4=S1 -1。混淆层第一类变换在奇数轮中使用,混淆层第二类变换在偶数轮中使用。
S1:
S2:
S3:
S4:
2、扩散层DL:
扩散层变换为线性变换,它将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
(x0,x1,...,x15)→(y0,y1,...,y15)
3、密钥加变换RKA
密钥加变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
进一步地,该方法还包括,在对明文数据进行初始白化过程之前,对轮密钥进行编排,其中密钥编排的具体过程如下:
密钥扩展算法步骤如下:
步骤一:输出K的最左边128比特作为轮子密钥(白化密钥)K0
主密钥K可以表示为:(均为字节)
步骤二:对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
2)S变换(γ):即第j行前四个字节进行Sj变换;
3)前四列异或以下矩阵(π):
4)输出Ki=πογοθ(K)(即取最左边128比特):即取第3)步结果的前四列作为轮密钥Ki
进一步地,该方法还包括:对密文数据C进行解密,流程如图2所示,解密流程如下:
解密过程包括:
步骤一:将密文与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与白化密钥K0的前128比特按位异或,从而得到明文数据输出。
其中,解密过程仍为32轮,每一轮的操作是加密操作的逆操作,其中采用的是S盒的逆运算查表,做逆变换时,密钥是从k32开始,而线性层也就是扩散层的逆就是线性层本身。
根据本发明的另一实施例,提供了一种设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的明文数据加密方法的步骤。
进一步地,所述处理器包括图形处理器GPU;
所述处理器包括图形处理器GPU;
所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
其中,明文数据P分组长度可以为128比特,轮密钥Ki长度可以为256比特,r可以为32。
进一步地,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
输出主密钥K的最左边128比特作为白化密钥K0。其中主密钥K表示为:
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
2)S变换(γ):即第j行前四个字节进行Sj变换;
3)前四列异或以下矩阵(π):
4)输出Ki=πογοθ(K),取最左边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 (10)

1.一种明文数据加密方法,应用于包括有处理器的设备,其特征在于,该方法包括:
将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,其中白化密钥K0为预先配置的主密钥K的最左边128比特;
对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;
将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
2.如权利要求1所述的方法,其特征在于,混淆层SL包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中S4=S1 -1;第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。
3.如权利要求1所述的方法,其特征在于,所述扩散层DL变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:
DL:
(x0,x1,...,x15)→(y0,y1,...,y15)
<mrow> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>y</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>1</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>2</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>3</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>4</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>5</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>6</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>7</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>8</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>9</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>10</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>11</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>12</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>13</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>14</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>15</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> <mtr> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>1</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> <mtd> <mi>0</mi> </mtd> </mtr> </mtable> </mfenced> <mo>&amp;CenterDot;</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>1</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>2</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>3</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>4</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>5</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>6</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>7</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>8</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>9</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mrow> <mi>1</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>11</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>12</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>13</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>14</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>15</mi> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
4.如权利要求1所述的方法,其特征在于,所述密钥加RKA变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:
5.如权利要求1所述的方法,其特征在于,该方法还包括:对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
主密钥K表示为:
<mrow> <mi>K</mi> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>4</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>8</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>16</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>24</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>28</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>5</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>9</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>13</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>17</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>25</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>29</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>6</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>10</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>14</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>18</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>26</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>30</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>7</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>15</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>19</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>23</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>27</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>31</mn> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
<mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mn>4</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>8</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>16</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>24</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>28</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>9</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>13</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>17</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>25</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>29</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>5</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>14</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>18</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>26</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>30</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>6</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>10</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>19</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>23</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>27</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>31</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>7</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>15</mn> </msub> </mtd> </mtr> </mtable> </mfenced>
2)S变换(γ):即第j行前四个字节进行Sj变换;
<mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>8</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>12</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>16</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>24</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>28</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>9</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>13</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>17</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>21</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>25</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>29</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>5</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>14</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>18</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>22</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>26</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>30</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>6</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>10</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>19</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>23</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>27</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>31</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>7</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>15</mn> </msub> </mtd> </mtr> </mtable> </mfenced>
3)前四列异或以下矩阵(π):
<mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mi>i</mi> </mtd> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mi>i</mi> </mtd> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mi>i</mi> </mtd> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mi>i</mi> </mtd> </mtr> </mtable> </mfenced>
4)输出取最左边128比特作为轮密钥ki
6.如权利要求1所述的方法,其特征在于,该方法还包括:
对所述密文数据C进行解密操作,所述解密操作为加密操作的逆操作,所述解密操作过程包括:
步骤一:将密文数据C与轮密钥K32按位异或操作;
步骤二:将步骤一异或结果进行第一类混淆层非线性变换;
步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);
步骤四:将步骤三的异或结果进行扩散层线性变化;
步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;
步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;
步骤七:将步骤六的结果与白化密钥K0的前128比特按位异或,从而得到明文数据P。
7.一种设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的方法的步骤。
8.如权利要求7所述的设备,其特征在于,所述处理器包括图形处理器GPU;
所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中
9.如权利要求7所述的设备,其特征在于,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:
输出主密钥K的最左边128比特作为白化密钥K0,其中主密钥K表示为:
<mrow> <mi>K</mi> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>4</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>8</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>16</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>24</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>28</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>5</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>9</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>13</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>17</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>25</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>29</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>6</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>10</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>14</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>18</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>26</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>30</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>7</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>15</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>19</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>23</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>27</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>31</mn> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
对于i=1,2,……32,循环执行以下变换:
1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);
<mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mn>4</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>8</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>16</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>24</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>28</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>9</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>13</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>17</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>25</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>29</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>5</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>14</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>18</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>26</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>30</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>6</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>10</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>19</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>23</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>27</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>31</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>7</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>15</mn> </msub> </mtd> </mtr> </mtable> </mfenced>
2)S变换(γ):即第j行前四个字节进行Sj变换;
<mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>8</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>12</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>16</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>24</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>28</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>9</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>13</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>17</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>21</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>25</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>29</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>5</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>14</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>18</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>22</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>26</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>30</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>6</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>10</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>19</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>23</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>27</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>S</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>31</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>a</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>7</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mn>15</mn> </msub> </mtd> </mtr> </mtable> </mfenced>
3)前四列异或以下矩阵(π):
<mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mi>i</mi> </mtd> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mi>i</mi> </mtd> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mi>i</mi> </mtd> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>4</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>3</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </mtd> <mtd> <mi>i</mi> </mtd> </mtr> </mtable> </mfenced>
4)输出取最左边128比特作为轮密钥ki
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法的步骤。
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 true CN107257279A (zh) 2017-10-17
CN107257279B 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)

Cited By (7)

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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030081785A1 (en) * 2001-08-13 2003-05-01 Dan Boneh Systems and methods for identity-based encryption and related cryptographic techniques
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030081785A1 (en) * 2001-08-13 2003-05-01 Dan Boneh Systems and methods for identity-based encryption and related cryptographic techniques
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法

Cited By (12)

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

Also Published As

Publication number Publication date
CN107257279B (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN107257279A (zh) 一种明文数据加密方法及设备
CN106850221B (zh) 信息加密、解密方法及装置
CN1993922B (zh) 流密码组合系统和方法
CN110278072A (zh) 一种16轮sm4-128/128白盒密码实现方法
CN107317666A (zh) 一种支持浮点运算的并行全同态加解密方法
CN107579813A (zh) 信息加密、解密方法及装置
CN102185692A (zh) 基于aes加密算法的多模式可重构加密方法
CN108429613A (zh) 一种基于en-present算法的电网信息加密方法
CN109768854A (zh) 一种轻量级分组密码算法Wheel的实现方法
Javeed et al. Design of an S-box using Rabinovich-Fabrikant system of differential equations perceiving third order nonlinearity
Cao et al. Related-key differential cryptanalysis of the reduced-round block cipher GIFT
CN109861810A (zh) 一种基于混沌块加密算法的数据加密方法及解密方法
CN108833095A (zh) 区块链中的行为验证方法、节点、系统及电子设备
CN108494546A (zh) 一种白盒加密方法、装置及存储介质
CN106059752A (zh) 一种基于扩张密文的白盒密码加解密方法
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
CN103414552B (zh) 一种利用二叉树遍历方式进行加密、解密方法及装置
CN109861809A (zh) 一种实用化的分组随机加解密方法
Alemami et al. Advanced approach for encryption using advanced encryption standard with chaotic map
CN101826959B (zh) 一种面向字节的密钥流生成方法及加密方法
JunLi et al. Email encryption system based on hybrid AES and ECC
CN106982116A (zh) 一种基于可逆逻辑电路的aes的本地文件加密方法
CN106603224A (zh) 基于白盒加密的安全运行方法及系统
CN107896149A (zh) 基于三个群运算的128位对称加密方法
CN107437990A (zh) 加密方法、解密方法、加密装置和解密装置

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