CN106850221B - 信息加密、解密方法及装置 - Google Patents

信息加密、解密方法及装置 Download PDF

Info

Publication number
CN106850221B
CN106850221B CN201710235962.9A CN201710235962A CN106850221B CN 106850221 B CN106850221 B CN 106850221B CN 201710235962 A CN201710235962 A CN 201710235962A CN 106850221 B CN106850221 B CN 106850221B
Authority
CN
China
Prior art keywords
encryption
key
column
obtains
information
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
CN201710235962.9A
Other languages
English (en)
Other versions
CN106850221A (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.)
Sichuan Gust Technology Co Ltd
Original Assignee
Sichuan Gust 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 Sichuan Gust Technology Co Ltd filed Critical Sichuan Gust Technology Co Ltd
Priority to CN201710235962.9A priority Critical patent/CN106850221B/zh
Publication of CN106850221A publication Critical patent/CN106850221A/zh
Application granted granted Critical
Publication of CN106850221B publication Critical patent/CN106850221B/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

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

Abstract

本发明实施例提供的一种信息加密、解密方法及装置,属于信息安全技术领域。所述信息加密方法包括获取待加密信息;基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。通过查表的方式,简化AES算法的流程,提高AES算法的速度。

Description

信息加密、解密方法及装置
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种信息加密、解密方法及装置。
背景技术
现有AES算法中解密过程的列变换倍乘阶数较高时,会很耗时;AES的加密和解密过程是不对称的,解密速度远远低于加密速度,存在数据传输不平衡性;总体上会使数据备份过程耗时且效率低下。
发明内容
有鉴于此,本发明实施例的目的在于提供一种信息加密、解密方法及装置,以改善上述问题。
第一方面,本发明实施例提供了一种信息加密方法,所述方法包括:获取待加密信息;基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。
第二方面,本发明实施例提供了一种信息加密装置,所述装置包括待加密信息获取单元,用于获取待加密信息;加密迭代单元,用于基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;一轮加密单元,用于对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;密文获得单元,用于根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。
第三方面,本发明实施例提供了一种信息解密方法,所述方法包括:获取待解密信息;基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥;对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥;对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文。
第四方面,本发明实施例提供了一种信息解密装置,所述装置包括:待解密信息获取单元,用于获取待解密信息;解密迭代单元,用于基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥;一轮解密单元,用于根据对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥;明文获得单元,用于对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文。
本发明实施例提供的一种信息加密、解密方法及装置,通过获取待加密信息;基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。通过查表的方式,简化AES算法的流程,提高AES算法的速度。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种可应用于本申请实施例中的电子设备的结构框图;
图2为本发明第一实施例提供的信息加密方法的流程图;
图3为本发明第一实施例提供的信息加密方法的PEAX加密认证模式过程描述示意图;
图4为本发明第二实施例提供的信息加密装置的结构框图;
图5为本发明第三实施例提供的信息解密方法的流程图;
图6为本发明第四实施例提供的信息解密装置的流程图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,图1示出了一种可应用于本申请实施例中的电子设备100的结构框图。该电子设备100可以作为用户终端,也可以是计算机或服务器,所述用户终端可以为手机或平板电脑。如图1所示,电子设备100可以包括存储器110、存储控制器111、处理器112和信息加密、解密的装置。
存储器110、存储控制器111、处理器112各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。信息加密、解密装置分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器110中的软件功能模块,例如所述信息加密、解密装置包括的软件功能模块或计算机程序。
存储器110可以存储各种软件程序以及模块,如本申请实施例提供的信息加密、解密方法及装置对应的程序指令/模块。处理器112通过运行存储在存储器110中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的信息加密、解密方法及装置。存储器110可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器112可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
第一实施例
请参阅图2,本发明实施例提供了一种信息加密方法,所述方法包括:
步骤S200:获取待加密信息;
步骤S210:基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;
具体地,利用随机种子算法,获取随机种子;
利用所述随机种子对所述待加密信息进行初始化,获得初始密钥;
基于预设的加密等级,对所述初始密钥依次进行字节替换操作、行移位操作、查找预设的列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥。
所述查找预设的列混淆变换表操作,包括:
基于AES算法,计算出列混淆变换中所有列向量乘积对的数值结果;
对应每个所述列向量,建立列向量乘积对与对应的数值结果的列混淆变换表;
在列混淆变换操作时,查找所述列向量乘积对与对应的数值结果的列混淆变换表,获得所述列混淆变换操作的数值结果。
步骤S220:对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;
具体地,对所述第一加密密钥进行字节替换操作、行移位操作、轮密钥变换操作一轮计算,获得第二加密密钥。
在本实施例中,基于以下AES算法的数学基础,群-可交换群-环-可交换环-整环-域,满足的条件越苛刻,A1到A5为5个加法运算规则,M1到M7为7个乘法运算规则。
A1:加法的封闭性:如果a和b属于S,则a+b也属于S。
A2:加法结合律:对S中的任意元素a、b、c,a+(b+c)=(a+b)+c。
A3:加法单位元:R中存在一个元素0,使得对于S中的任意元素a,有a+0=0+a=a。
A4:加法逆元:对于S中的任意元素a,S中一定存在一个元素-a,使得a+(-a)=(-a)+a=0。
A5:加法交换律:对于S中的任意元素a和b,有a+b=b+a。
M1:乘法的封闭性:如果a和b属于S,ab也属于S。
M2:乘法结合律:对于S中的任意元素a、b、c,有a(bc)=(ab)c。
M3:分配律:对于S中的任意元素a、b、c,有a(b+c)=ab+ac和(a+b)c=ac+bc。
M4:乘法交换律:对于S中的任意元素a和b,ab=ba。
M5:乘法单位元:对于S中的任意元素a,在S中存在一个元素1,使得a1=1a=a。
M6:无零因子:对于S中的元素a、b,若ab=0,则必有a=0或b=0。
M7:乘法逆元:如果a属于S,且a不为0,则S中存在一个元素a-1,使得aa-1=a-1a=1。
基于以上A1-A5,M1-M7,群要满足A1-A4;可交换群要满足A1-A5;环要满足A1-A5以及M1-M3;可交换环要满足A1-A5以及M1-M3;整环要满足A1-A5以及M1-M6;域要满足A1-A5以及M1-M7。域要满足5个加法条件和7个乘法条件。
有限域:有限域在许多密码编码学算法中扮演着重要的角色,有限域的元素个数必须是一个素数的幂pn,n为正整数。元素个数为pn的有限域一般记为GF(pn)。
乘法逆元:对于有限域GF(pn),对任意的w∈GF(pn),w≠0,存在z∈GF(pn)使得w×z≡1mod p,则z为w在该有限域上的乘法逆元。
如果定义了合适的运算,那么每一个这样的集合S都是一个有限域。定义由如下几条组成:该运算遵循基本代数规则中的普通多项式运算规则;系数运算以p为模,即遵循有限域上Zp的运算规则;如果乘法运算结果是次数大于n-1的多项式,那么必须将其除以某个次数为n的既约多项式m(x)并取余式。
AES密码中的运算多数是按byte为单位进行的,用直接表示有限域GF(28)(下同)中的元素,还有一些是按4字节的方式定义的。由b7b6b5…b0构成的字节b可以看成系数在GF(28)中的多项式:
b7x7+b6x6+…+b0x0
GF(28)中的加法定义为多项式的二元加法,系数为模2加。域加法就是简单的按byte为单位的bit异或。GF(28)中的乘法定义为模一个8次既约多项式的乘法。对于AES算法,这个既约多项式为:
m(x)=x8+x4+x3+x+1
在AES乘法中,其实现技巧基于下面的等式:
x8mod m(x)=[m(x)-x8]=x4+x3+x+1 (1)
因此,GF(28)上的任意多项式f(x)=b7x7+b6x6+…+b0x0乘以x,可得:
x×f(x)=(b7x8+b6x7+…+b0x1)mod m(x)
如果b7=0,那么结果就是一个次数小于8的多项式,不需要进一步计算,如果b7≠0,则b7=1,可以通过等式(1)进行除m(x)取余运算。
x×f(x)=(b6x7+…+b0x1)+(x4+x3+x+1)
这表明乘以x(如00000010)的运算可以通过左移一位后按位异或00011011来实现,即:
乘以一个高于一次的多项式可以通过重复使用公式(2)来实现。这样一来,GF(28)上的乘法就可以用多个中间结果相加的方法实现。
AES是一种迭代分组密码,采用的是代替/置换网络(SPN)。将明文分组长度固定为128位,而且仅支持128位、196位或256位的密钥长度。在AES中128位密钥版本有10个左右的加密循环,256比特密钥版本则有14个左右加密循环。
目前AES加密算法主要由4个变换构成:字节代换(SubByte)、行位移变换(ShiftRow)、列混淆变换(MixColumn)以及轮密钥加(AddRoundKey)变换。AES是基于分组的加解密算法。即每次要加密,解密的数据块大小必须是16字节。算法中大量使用移位操作。而移位操作属于费时指令,不能与其他指令配对形成流水线,这大大影响了算法的执行效率。轮加密采用循环变换,而循环和变量操作数可能会造成指令流水线的阻断和指令预取的作废。在本发明实施例提供的信息加密的方法采用优化目前的AES算法,其优化主要集中的轮函数优化、字节变换优化和解密密钥生成优化。中心思想是将轮函数中的四个操作合并起来采用查表的方式实现。
假设A是轮变换的输入状态,E是轮变换的输出状态,K为密钥数组。用aij、eij、kij分别表示A、E、K中第i行第j列的元素,用aj、ej、kj分别表示A、E、K中第j列的元素。则有公式(3):
公式(3)中,S[a0,j]S[a1,j-1]S[a2,j-2]S[a3,j-3]分别对应a0,j、a1,j-1、a2,j-2、a3,j-3的S盒的变换值。因此可以定义真值表T0、T1、T2、T3,都是8比特输入,32比特输出的函数,如下:
从而,轮函数可以表示为:
其中j=0…Nb-1,Nb为待加密信息的列数。
公式(4)为预设的列混淆变换表。这样,每一轮的每一列只需四次查表操作和四次异或操作即可完成,大大提高了运算速度。字节变换优化可以通过指针类型的转换来实现,以避免大量的移位操作。在标准的AES加密流程的基础上优化了算法中存在的大量移位操作。因为移位操作属于费时指令,不能与其他指令配对形成流水线。因此优化减少这些位移操作指令可以一定程度提高执行效率。提升了数据备份速度和效率。本发明实施例提供的一种信息加密方法不仅完整地实现了AES算法的核心功能,而且加密速度比原来提高了大约1.33到1.75倍。
步骤S230:根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。
在本实施例中,如图3所示,PEAX(Parallel-EAX,Encryption withAuthentication for Transfer)模式的认证过程简洁描述如下:
以0为初始值,应用POMAC模式对Nonce进行认证,认证的结果是N′作为RCTRk加密模块的初始向量(IV);以1为初始值,应用POMAC模式对头信息(Header)进行认证,认证的结果为H′;以N′为初始值,应用RCTR模式对消息(Message)进行加密,加密后的密文为C;以2为初始值,应用POMAC模式对密文C进行认证,认证的结果为C′;产生完整的认证标识Tag;T←Tag的低τ位产生最终的认证标识T,最终的密文为C||T。PEAX加密认证模式效率更高、更节省系统资源。
在步骤S200之后,所述方法还包括:
根据电码本模式、密码分组链接模式、计算器模式、密码反馈模式或输出反馈模式中的一种模式对所述待加密信息进行分块,获得多个待加密分块信息;
相应地,所述基于所述待加密信息以及查找预设的列混淆变换表,进行AES加密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥,包括:
基于多个待加密分块信息以及查找预设的列混淆变换表,进行AES加密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥。
此外,在本实施例中,针对是否需要加密的系统服务文件过程如下:文件写入:如果文件不需要加密则直接写入,对需要加密的文件按照指定的加密方式写入到指定的位置;文件读取:如果读取的文件没有进行加密则直接进行读取文件内容,若读取文件为已加密的文件,需要按照对应的解密方式进行解密后再进行文件内容读取;文件删除:若文件没有进行加密则直接删除文件,若要删除的文件为已加密的文件,需要进行身份认证成功后才能删除文件。
本发明实施例提供的一种信息加密方法,所述方法包括获取待加密信息;基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。通过查表的方式,简化AES算法的流程,提高AES算法的加密速度。
第二实施例
请参阅图4,本发明实施例提供了一种信息加密装置300,所述装置300包括:
待加密信息获取单元310,用于获取待加密信息。
分块单元320,用于根据电码本模式、密码分组链接模式、计算器模式、密码反馈模式或输出反馈模式中的一种模式对所述待加密信息进行分块,获得多个待加密分块信息。
加密迭代单元320,用于基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥。
所述基于所述待加密信息以及查找预设的列混淆变换表,进行AES加密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥,包括:
基于多个待加密分块信息以及查找预设的列混淆变换表,进行AES加密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥。
作为一种实施方式,所述加密迭代单元330可以包括随机种子获得子单元331、初始密钥获得子单元332及迭代计算子单元333。
随机种子获得子单元331,用于利用随机种子算法,获取随机种子。
初始密钥获得子单元332,用于利用所述随机种子对所述待加密信息进行初始化,获得初始密钥;
迭代计算子单元333,用于基于预设的加密等级,对所述初始密钥依次进行字节替换操作、行移位操作、查找预设的列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥。
一轮加密单元340,用于对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥。
一轮加密单元340可以包括一轮加密子单元341。
一轮加密子单元341,用于对所述第一加密密钥进行字节替换操作、行移位操作、轮密钥变换操作一轮计算,获得第二加密密钥。
密文获得单元350,用于根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文。
以上各单元可以是由软件代码实现,此时,上述的各单元可存储存储器110内。以上各单元同样可以由硬件例如集成电路芯片实现。
本发明实施例提供的信息加密装置300,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第三实施例
请参阅图5,本发明实施例提供了一种信息解密方法,所述方法包括:
步骤S400:获取待解密信息;
步骤S410:基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥;
基于步骤S410,具体地,利用随机种子算法,获取随机种子;
利用所述随机种子对所述待解密信息进行初始化,获得初始密钥;
对所述初始密钥依次进行字节反向替换操作、行回位操作、查找预设的逆列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥。
查找预设的逆列混淆变换表操作,包括:
根据预先获得的加密过程中的加密变换矩阵和解密变换矩阵,计算出所述加密变换矩阵转换至所述解密变换矩阵的关系矩阵,再建立所述加密变换矩阵与所述关系矩阵相对应的逆列混淆变换表;
对应关系矩阵预设异或逻辑,在进行逆列混淆变换时,根据加密变换矩阵查找所述逆列混淆变换表,得到该加密变换矩阵对应的关系矩阵,再通过该加密变换矩阵对应的关系矩阵的异或逻辑,获得所述逆列混淆变换的结果矩阵。
步骤S420:对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥;
步骤S430:对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文。
需要说明的是,本实施例是第一实施例提供的信息加密方法的逆过程。
信息加密过程中S盒的构造:
首先按字节值的升序逐行初始化S盒(相当于每个值都代表了坐标);
其次,把S盒的每个字节映射为它在有限域GF(28)中的逆;
再把S盒中的每个字节的8个构成位记为(b7,b6,b5,b4,b3,b2,b1,b0)。对S
盒的每个字节的每个位作如下变换:
其中,ci是指值为{63}的字节c的第i位。
AES标准用矩阵形式描述了这个变换:
逆S盒的构造:按字节值的升序逐行初始化S盒;利用式(5)的逆变换,该逆变换如下:
di是指值为{05}的字节d的第i位。也可以用矩阵形式描述:
再求其在GF(28)内的乘法逆。
可逆证明:
令字节代替变换和逆字节代替变换中的矩阵分别为X和Y,常量c和d的向量表示分别为C和D。对于某个8位的向量B,公式(6)变成了需证明如下:
以上,证明成立。解密密钥生成优化可以通过S盒和T的逆表来生成解密密钥,提高算法速度。
本发明实施例提供了一种信息解密方法,所述方法包括:获取待解密信息;基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥;对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥;对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文。通过查表的方式,简化AES算法的流程,提高AES算法的解密速度。
第四实施例
请参阅图6,本发明实施例提供了一种信息解密装置500,所述装置500包括:
待解密信息获取单元510,用于获取待解密信息。
解密迭代单元520,用于基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥。
作为一种实施方式,所述解密迭代单元520可以包括解密种子获得子单元521、解密初始密钥获得子单元522及解密迭代计算子单元523。
解密种子获得子单元521,用于利用随机种子算法,获取随机种子。
解密初始密钥获得子单元522,用于利用所述随机种子对所述获取到的待解密信息进行初始化,获得初始密钥。
解密迭代计算子单元523,用于对所述初始密钥依次进行字节反向替换操作、行回位操作、查找预设的逆列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥。
查找预设的逆列混淆变换表操作,包括根据预先获得的加密过程中的加密变换矩阵和解密变换矩阵,计算出所述加密变换矩阵转换至所述解密变换矩阵的关系矩阵,再建立所述加密变换矩阵与所述关系矩阵相对应的逆列混淆变换表;
对应关系矩阵预设异或逻辑,在进行逆列混淆变换时,根据加密变换矩阵查找所述逆列混淆变换表,得到该加密变换矩阵对应的关系矩阵,再通过该加密变换矩阵对应的关系矩阵的异或逻辑,获得所述逆列混淆变换的结果矩阵。
一轮解密单元530,用于根据对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥。
明文获得单元540,用于对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文。
以上各单元可以是由软件代码实现,此时,上述的各单元可存储存储器110内。以上各单元同样可以由硬件例如集成电路芯片实现。
本发明实施例提供的信息解密装置500,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (6)

1.一种信息加密方法,其特征在于,所述方法包括:
获取待加密信息;
基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;
对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;
根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文;
其中,所述基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥,包括:
利用随机种子算法,获取随机种子;
利用所述随机种子对所述待加密信息进行初始化,获得初始密钥;
基于预设的加密等级,对所述初始密钥依次进行字节替换操作、行移位操作、查找预设的列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;
所述查找预设的列混淆变换表操作,包括:
基于AES算法,计算出列混淆变换中所有列向量乘积对的数值结果;
对应每个所述列向量,建立列向量乘积对与对应的数值结果的列混淆变换表;
在列混淆变换操作时,查找所述列向量乘积对与对应的数值结果的列混淆变换表,获得所述列混淆变换操作的数值结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥,包括:
对所述第一加密密钥进行字节替换操作、行移位操作、轮密钥变换操作一轮计算,获得第二加密密钥。
3.根据权利要求1所述的方法,其特征在于,在所述获取待加密信息之后,所述方法还包括:
根据电码本模式、密码分组链接模式、计算器模式、密码反馈模式或输出反馈模式中的一种模式对所述待加密信息进行分块,获得多个待加密分块信息;
相应地,所述基于所述待加密信息以及查找预设的列混淆变换表,进行AES加密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥,包括:
基于多个待加密分块信息以及查找预设的列混淆变换表,进行AES加密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥。
4.一种信息加密装置,其特征在于,所述装置包括:
待加密信息获取单元,用于获取待加密信息;
加密迭代单元,用于基于所述待加密信息,进行查找预设的列混淆变换表以及AES加密算法循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;
一轮加密单元,用于对所述第一加密密钥进行AES算法中的一轮加密,获得第二加密密钥;
密文获得单元,用于根据所述AES加密算法中PEAX认证模式,对所述第二加密密钥和所述待加密信息进行加密认证,获得所述待加密信息对应的密文;
所述加密迭代单元包括随机种子获得子单元、初始密钥获得子单元及迭代计算子单元;
所述随机种子获得子单元,用于利用随机种子算法,获取随机种子;
所述初始密钥获得子单元,用于利用所述随机种子对所述待加密信息进行初始化,获得初始密钥;
所述迭代计算子单元,用于基于预设的加密等级,对所述初始密钥依次进行字节替换操作、行移位操作、查找预设的列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设循环迭代数的倒数第二轮的第一加密密钥;
所述迭代计算子单元包括:
第一计算子单元,用于基于AES算法,计算出列混淆变换中所有列向量乘积对的数值结果;
建立子单元,用于对应每个所述列向量,建立列向量乘积对与对应的数值结果的列混淆变换表;
查找子单元,用于在列混淆变换操作时,查找所述列向量乘积对与对应的数值结果的列混淆变换表,获得所述列混淆变换操作的数值结果。
5.一种信息解密方法,其特征在于,所述方法包括:
获取待解密信息;
基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥;
对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥;
对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文;
其中,所述基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥,包括:
利用随机种子算法,获取随机种子;
利用所述随机种子对所述待解密信息进行初始化,获得初始密钥;
对所述初始密钥依次进行字节反向替换操作、行回位操作、查找预设的逆列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥;
所述查找预设的逆列混淆变换表操作,包括:
根据预先获得的加密过程中的加密变换矩阵和解密变换矩阵,计算出所述加密变换矩阵转换至所述解密变换矩阵的关系矩阵,再建立所述加密变换矩阵与所述关系矩阵相对应的逆列混淆变换表;
对应关系矩阵预设异或逻辑,在进行逆列混淆变换时,根据加密变换矩阵查找所述逆列混淆变换表,得到该加密变换矩阵对应的关系矩阵,再通过该加密变换矩阵对应的关系矩阵的异或逻辑,获得所述逆列混淆变换的结果矩阵。
6.一种信息解密装置,其特征在于,所述装置包括:
待解密信息获取单元,用于获取待解密信息;
解密迭代单元,用于基于所述待解密信息,进行查找预设的列混淆变换表以及AES解密算法循环迭代计算,获得满足预设迭代数的倒数第二轮的第一解密密钥;
一轮解密单元,用于根据对所述第一解密密钥进行AES算法中一轮解密,获得第二解密密钥;
明文获得单元,用于对所述第二解密密钥和所述待解密信息进行解密变换,获得所述待解密信息对应的明文;
所述解密迭代单元包括解密种子获得子单元、解密初始密钥获得子单元及解密迭代计算子单元;
所述解密种子获得子单元,用于利用随机种子算法,获取随机种子;
所述解密初始密钥获得子单元,用于利用所述随机种子对所述待解密信息进行初始化,获得初始密钥;
所述解密迭代计算子单元,用于对所述初始密钥依次进行字节反向替换操作、行回位操作、查找预设的逆列混淆变换表操作和轮密钥变换操作循环迭代计算,获得满足预设迭代数的倒数第二轮的第一加密密钥;
所述解密迭代计算子单元包括:
第二计算子单元,用于根据预先获得的加密过程中的加密变换矩阵和解密变换矩阵,计算出所述加密变换矩阵转换至所述解密变换矩阵的关系矩阵,再建立所述加密变换矩阵与所述关系矩阵相对应的逆列混淆变换表;
获得子单元,用于对应关系矩阵预设异或逻辑,在进行逆列混淆变换时,根据加密变换矩阵查找所述逆列混淆变换表,得到该加密变换矩阵对应的关系矩阵,再通过该加密变换矩阵对应的关系矩阵的异或逻辑,获得所述逆列混淆变换的结果矩阵。
CN201710235962.9A 2017-04-10 2017-04-10 信息加密、解密方法及装置 Active CN106850221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710235962.9A CN106850221B (zh) 2017-04-10 2017-04-10 信息加密、解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710235962.9A CN106850221B (zh) 2017-04-10 2017-04-10 信息加密、解密方法及装置

Publications (2)

Publication Number Publication Date
CN106850221A CN106850221A (zh) 2017-06-13
CN106850221B true CN106850221B (zh) 2019-11-08

Family

ID=59148274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710235962.9A Active CN106850221B (zh) 2017-04-10 2017-04-10 信息加密、解密方法及装置

Country Status (1)

Country Link
CN (1) CN106850221B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277048B (zh) * 2017-07-26 2020-04-24 浙江吉利汽车研究院有限公司 一种用于通信认证的加密解密方法
CN107453866A (zh) * 2017-08-03 2017-12-08 致象尔微电子科技(上海)有限公司 一种对数据进行加密的方法
CN107579813A (zh) * 2017-09-12 2018-01-12 四川阵风科技有限公司 信息加密、解密方法及装置
CN107437990A (zh) * 2017-09-14 2017-12-05 山东浪潮通软信息科技有限公司 加密方法、解密方法、加密装置和解密装置
CN107682146B (zh) * 2017-09-26 2019-09-03 无锡市同舟电子实业有限公司 一种单片机通信方法
CN108494546B (zh) * 2018-02-13 2021-10-15 北京梆梆安全科技有限公司 一种白盒加密方法、装置及存储介质
CN109617681A (zh) * 2018-12-06 2019-04-12 成都卫士通信息产业股份有限公司 加解密方法及装置、电子设备、计算机可读存储介质
CN111314050B (zh) * 2018-12-11 2023-06-30 北京思源理想控股集团有限公司 一种加解密方法及装置
CN111314051B (zh) * 2018-12-11 2023-09-12 北京思源理想控股集团有限公司 一种加解密方法和装置
CN111314079B (zh) * 2018-12-11 2023-09-12 北京思源理想控股集团有限公司 一种加解密方法、装置
CN109861809B (zh) * 2019-02-20 2022-03-18 中国电子科技集团公司第三十研究所 一种实用化的分组随机加解密方法
CN109861810B (zh) * 2019-03-19 2022-04-15 天津中德应用技术大学 一种基于混沌块加密算法的数据加密方法及解密方法
CN110224984A (zh) * 2019-05-07 2019-09-10 平安科技(深圳)有限公司 一种基于区块链技术的多方授权方法及装置
CN112019323B (zh) * 2019-05-30 2024-05-03 深圳拓邦股份有限公司 数据加密、解密方法及装置、存储介质及电子设备
CN112054896B (zh) * 2020-08-12 2023-10-03 深圳市欢太科技有限公司 白盒加密方法、装置、终端及存储介质
CN113992445B (zh) * 2021-12-28 2022-04-19 广东曜芯科技有限公司 认证装置和方法
CN118014163B (zh) * 2024-04-08 2024-06-11 云南瀚哲科技有限公司 一种生产障碍耕地治理优化调控方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5017136B2 (ja) * 2008-02-08 2012-09-05 京セラドキュメントソリューションズ株式会社 ハードディスクドライブ用の暗号化復号化装置、及びハードディスクドライブ装置
CN202257543U (zh) * 2011-05-26 2012-05-30 山东大学 针对aes对称加密算法的指令优化处理器
CN104410616B (zh) * 2014-11-20 2018-01-05 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统
CN106452761B (zh) * 2016-11-18 2019-09-06 浙江神州量子网络科技有限公司 一种多方量子秘密共享系统的纠错方法

Also Published As

Publication number Publication date
CN106850221A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106850221B (zh) 信息加密、解密方法及装置
CN107579813A (zh) 信息加密、解密方法及装置
CN106953722B (zh) 一种全同态加密的密文查询方法和系统
CN1993922B (zh) 流密码组合系统和方法
CN102546181B (zh) 基于密钥池的云存储加解密方法
CN105610793B (zh) 一种外包数据加密存储与密文查询系统及其应用方法
CN106571905B (zh) 一种数值型数据同态保序加密方法
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
CN109361644A (zh) 一种支持快速搜索和解密的模糊属性基加密方法
JP2008513811A (ja) 計算変換の方法及びシステム
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN104967693A (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN107257279A (zh) 一种明文数据加密方法及设备
CN105376057A (zh) 一种云外包解大规模线性方程组的方法
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
Shantha et al. SAT_Jo: An enhanced lightweight block cipher for the internet of things
CN116663038A (zh) 数据加密的方法、装置及电子设备
Jammula et al. Hybrid lightweight cryptography with attribute-based encryption standard for secure and scalable IoT system
Mendonca Data security in cloud using AES
CN114124359A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
JP2013157652A (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
Yin et al. Designing key-dependent chaotic S-box with larger key space
KR101133988B1 (ko) 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템
CN108494556A (zh) 一种高效的rsa算法加密元数据文件的方法
Chang A flexible hierarchical access control mechanism enforcing extension policies

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