CN1445681A - 高安全等级对称密钥算法的加密、解密方法及加密器 - Google Patents

高安全等级对称密钥算法的加密、解密方法及加密器 Download PDF

Info

Publication number
CN1445681A
CN1445681A CN 03113387 CN03113387A CN1445681A CN 1445681 A CN1445681 A CN 1445681A CN 03113387 CN03113387 CN 03113387 CN 03113387 A CN03113387 A CN 03113387A CN 1445681 A CN1445681 A CN 1445681A
Authority
CN
China
Prior art keywords
key
row
encryption
conversion
sub
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
CN 03113387
Other languages
English (en)
Other versions
CN1258148C (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.)
Nanjing Post & Telecommunication College
Original Assignee
Nanjing Post & Telecommunication College
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 Nanjing Post & Telecommunication College filed Critical Nanjing Post & Telecommunication College
Priority to CN 03113387 priority Critical patent/CN1258148C/zh
Publication of CN1445681A publication Critical patent/CN1445681A/zh
Application granted granted Critical
Publication of CN1258148C publication Critical patent/CN1258148C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

高安全等级的对称密钥算法的加密、解密方法及加密器是一种对称密钥DSP加密器,加密方法是由N轮加密轮相串联组合而成,每个加密轮的加密顺序是行移位变换、S盒替代__列混合变换、子密钥模2加变换,每个加密轮的最后输出即子密钥模2加变换接下一加密轮的输入即行移位变换,解密方法为:由N轮解密轮相串联组合而成,每个解密轮的解密顺序是子密钥模2加变换、逆列混合变换、逆S盒替代变换、逆行移位变换,每个解密轮的最后输出即逆行移位变换接下一解密轮的输入即子密钥模2加变换,加密器由DSP模块、FLASH模块、McBSP0扩展口所组成,该方法可以将加密速度提高2.16倍,解密速度提高2倍。

Description

高安全等级对称密钥算法的加密、解密方法及加密器
一、技术领域:
本发明是一种对称密钥DSP加密器,属于信息加密保护的技术领域。
二、技术背景
由于计算机计算能力不断的提高以及基于Internet的分布式计算的发展,对密钥长度只有56bit的DES算法构成了巨大的威胁,因此,1997年4月15日美国国家标准技术研究所(NIST)发起征集高级加密标准(AES)算法的活动,并于2000年10月2日公布Rijndael作为美国新一代的数据加密标准,旨在保护政府及其他组织的敏感、非机密信息的传输。
Rijndael算法是一种数据块长度为128bits,密钥长度可变的迭代分组密码,密钥块长度可分别为128、192或256bits。由于Rijndael算法源自Square算法,其结构具有很强灵活性,易于扩展。
但是,Rijndael算法也存在字节模乘运算速度慢,密钥长度还比较短(最长也只有256bits),不能满足高安全等级的场合,另外原算法存在加解密速度不等的缺点。
采用Rijndael算法作为核心的基于DSP的专用加密器,市面上还没出现。将Rijndael算法进行扩展并做成一种能在DSP器件上快速运行的加密器在国内外也是一种空白。
三.发明内容1.技术问题
本发明的目的是提供一种可以将加密速度提高2倍以上、结构简单、成本低、易操作的一种高安全等级对称密钥算法的加密、解密方法及加密器2.技术方案
本发明的高安全等级对称密钥算法的加密、解密方法,由N轮加密轮相串联组合成,每个加密轮的加密顺序是行移位变换、S盒替代列混合变换、子密钥模2加变换,每个加密轮的最后输出即子密钥模2加变换接下一加密轮的输入即行移位变换,明文和种子密钥进行数据/密钥相加,数据/密钥相加的结果送第0轮的行移位变换,同时种子密钥经密钥扩散7产生的加密轮子密钥Wi分别送每个加密轮的最后一个变换即子密钥模2加变换;最后一轮的加密轮的加密顺序是S盒替代变换、行移位变换、子密钥模2加变换,最后一轮加密轮的子密钥模2加变换输出密文。
行移位变换的变换方法为:行移位变换对状态的每一行的字节单独进行循环移位操作,满足下列关系:第0行和第4行不移位;第1行和第5行移1个字节;第2行和第6行如果Nb=4或Nb=6,移2个字节,否则移3个字节;第3行和第7行如果Nb=4或Nb=6,移3个字节,否则移4个字节。
S盒替代列混合变换的变换方法为:预先对S盒的每个字节分别和02,03,04,05模m(x)乘,构成4张一维扩展的S盒置换表,(MUL02,MUL03,MUL04,MUL05),对扩展算法的加密轮的变换顺序进行重新排列,把S盒替代和行移位顺序对调,将S盒替代变换合并到列混合变换。变换的时候先根据列混合变换的系数从各张扩展S盒置换表中找到状态每一列字节变换后的数值,然后把这些数值进行异或运算,等到状态某一字节整个变换后的新数值;以此类推,可以得到状态其他字节变换后的新数值。子密钥模2加变换的变换方法为:子密钥模2加变换就是将由密钥扩散而得到的轮子密钥模2加到状态中的每一字节。
加密的轮次数Nr由Nk和Nb共同确定,也就是Nr的数值等于Nk和Nb中的大的数值再加上6,因而得到Nr为10,12或14。
密钥扩散由两个过程组成:
1)密钥扩散:种子密钥扩散成扩散密钥;
2)轮子密钥的选取:每轮使用的子密钥从扩散密钥中选取。
与原算法的不同之处在于:
每次选取的字是64bits即8字节
轮常数由8字节的常数构成,这8字节的前面7个字节为0,第一轮的最后一个字节为01,其余各轮的最后一个字节由前面一轮的轮常数的最后一个字节左移1位构成。
解密方法为:由N轮解密轮相串联组合而成,每个解密轮的解密顺序是子密钥模2加变换、逆列混合变换、逆S盒替代变换、逆行移位变换,每个解密轮的最后输出即逆行移位变换接下一解密轮的输入即子密钥模2加变换,密文和种子密钥经过数据/密钥相加,数据/密钥相加的结果送第0轮的子密钥模2加变换,同时种子密钥经密钥扩散产生的解密轮子密钥Wi分别送每个解密轮的第一个变换即子密钥模2加变换;最后一轮的解密轮的解密顺序是子密钥模2加变换、逆S盒替代变换、逆行移位变换,最后一轮解密轮的逆行移位变换输出明文。
逆列混合变换变换方法为:不改变每一轮的4个变换的顺序,只是对逆列混合变换进行修改,预先编制4张从0到255分别和02,03,04,05模m(x)乘的一维因子表(LUT02,LUT03,LUT04,LUT05),变换的时候,先根据列混合逆变换的系数从各张乘数因子表中找到状态每一列字节模乘后的数值,然后把这些数值进行异或运算,等到状态某一字节逆变换后的新数值,以此类推,可以得到状态其他字节变换后的新数值。
高安全等级的对称密钥算法的加密器,由DSP模块、FLASH模块、McBSP0扩展口所组成,DSP模块的“D15-D0”与FLASH模块的“D15-D0”端相接,DSP模块的“A15-A0”与FLASH模块的“A15-A0”端相接,DSP模块的“MSTRB、R/W”通过与门接FLASH模块的“WE”端,DSP模块的“MSTRB、R/W”通过非门和与或非门接FLASH模块的“OE”端,DSP模块的“BCLKR0、BFSR0、BDR0、BCLKX0、BFSX0、BDX0、INT0、INT1、IACK”接McBSP0扩展口。3.技术效果
本发明对一种扩展的Rijndael算法的加密过程和解密过程分别提出快速实现方案,并将快速实现方案应用在一种普通的TMS320VC5402的硬件平台构成的一种高安全等级的对称密钥算法加密器,通过对加密器的实测说明使用我们的提出的快速实现方法,可以将加密速度提高2.16倍,解密速度提高2倍。如果结合DSPs技术,可以使该加密器的加密速度提高5.80倍,解密速度提高5.50倍。同时加解密近似相等。
四.附图说明
图1是本发明加密方法的流程示意图。其中有:行移位变换1、S盒替代列混合变换2、子密钥模2加变换3,明文4、种子密钥5、数据/密钥相加6、密钥扩散7。
图2是本发明解密方法的流程示意图。其中有:逆列混合变换9、逆S盒替代变换10、逆行移位变换11,密文12。
图3是本发明加密器的结构示意图。其中有:DSP模块13、FLASH模块14、McBSP0扩展口15。
图4时本发明加密器的实现电路图。
五.具体实施方式
本发明的高安全等级对称密钥算法的加密、解密方法,由N轮加密轮相串联组合而成,每个加密轮的加密顺序是行移位变换、S盒替代_列混合变换、子密钥模2加变换,每个加密轮的最后输出即子密钥模2加变换接下一加密轮的输入即行移位变换,明文和种子密钥进行数据/密钥相加,数据/密钥相加的结果送第0轮的行移位变换,同时种子密钥经密钥扩散7产生的加密轮子密钥Wi分别送每个加密轮的最后一个变换即子密钥模2加变换;最后一轮的加密轮的加密顺序是S盒替代变换、行移位变换、子密钥模2加变换,最后一轮加密轮的子密钥模2加变换输出密文。
行移位变换的变换方法为:行移位变换对状态的每一行的字节单独进行循环移位操作,满足下列关系:第0行和第4行不移位;第1行和第5行移1个字节;第2行和第6行如果Nb=4或Nb=6,移2个字节,否则移3个字节;第3行和第7行如果Nb=4或Nb=6,移3个字节,否则移4个字节。
S盒替代列混合变换的变换方法为:预先对S盒的每个字节分别和02,03,04,05模m(x)乘,构成4张一维扩展S盒替代_列混合变换表(MUL02,MUL03,MUL04,MUL05),对扩展算法的加密轮的变换顺序进行重新排列,把S盒替代列混合变换和行移位顺序对调,将S盒替代_列混合变换合并到列混合变换。变换的时候先根据列混合变换的系数从各张扩展S盒置换表中找到状态每一列字节变换后的数值,然后把这些数值进行异或运算,等到状态某一字节整个变换后的新数值;以此类推,可以得到状态其他字节变换后的新数值。
子密钥模2加变换的变换方法为:子密钥模2加变换就是将由密钥扩散而得到的轮子密钥模2加到状态中的每一字节。
加密的轮次数Nr由Nk和Nb共同确定,也就是Nr的数值等于Nk和Nb中的大的数值再加上6,因而得到Nr为10,12或14。
密钥扩散由两个过程组成:
3)密钥扩散:种子密钥扩散成扩散密钥;
4)轮子密钥的选取:每轮使用的子密钥从扩散密钥中选取。
与原算法的不同之处在于:
每次选取的字是64bits即8字节
轮常数由8字节的常数构成,这8字节的前面7个字节为0,第一轮的最后一个字节为01,其余各轮的最后一个字节由前面一轮的轮常数的最后一个字节左移1位构成。
本发明根据Rijndael的特点,设计一种数据和密钥长度均可为256/384/512比特的扩展的Rijndael算法,使加解密速度基本相等。在此基础上,分别对该扩展算法的加密和解密过程提出快速实现方案,解决包括原算法和扩展算法的字节模乘运算速度慢的缺点。将该算法移植到普通DSP硬件平台上(该平台以TMS320VC5402为核心,包括外围的基本的数据输入输出通道),并结合DSPs存储器的特点,采用代码段的定位方法,以及使用相应的支持软件提供的代码优化器,对扩展的Rijndael算法综合优化,加解密速度得到了很大的提高。快速实现方案:
在扩展的Rijndael算法的列混合变换(MixColumn)中,需要进行64·Nb(Nb为数据块长度除以64)次字节模乘运算,程序的运算量是192·Nb次查表运算和64·Nb次GF(28)上的加法运算,运算量比较大。如果我们将这192·Nb次模乘运算化成64·Nb次查表运算,将大大减少运算开销。本专利针对扩展的Rijndael算法每轮加解密的特点,分别提出快速实现方案。加密过程的快速实现方案:
由于行移位变换是一种线性变换,它并不改变每一输入状态的元素的数值,只是对其中的第1、2、3、5、6、7行元素进行重新排列,因此可以把扩展算法的加密轮的变换顺序进行重新排列,把S盒替代和行移位顺序对调,根据(1)式和(2)式,可将S盒替代变换合并到列混合变换。
s′(x)=a(x)s(x)mod(x8+1)                                  (1)
其中
a(x)={03}x7+{05}x6+{03}x5+{02}x4+{02}x3+{04}x2+{02}x+{02}   (2)根据(2)式,可得如下式子:
MUL02[·]=S[·]·02 mod m(x)                               (3)
MUL03[·]=S[·]·03 mod m(x)                               (4)
MUL04[·]=S[·]·04 mod m(x)                               (5)
 MUL05[·]=S[·]·05 mod m(x)                                (6)由(3)、(4)、(5)和(6)式可以分别编制4张一维扩展的S盒置换表,它们的元素分别是S盒的元素mod m(x)乘02、mod m(x)乘03、mod m(x)乘04和mod m(x)乘05。解密过程的快速实现方案:
解密方法为:由N轮解密轮相串联组合而成,每个解密轮的解密顺序是子密钥模2加变换、逆列混合变换、逆S盒替代变换、逆行移位变换,每个解密轮的最后输出即逆行移位变换接下一解密轮的输入即子密钥模2加变换,密文和种子密钥经过数据/密钥相加,数据/密钥相加的结果送第0轮的子密钥模2加变换,同时种子密钥经密钥扩散产生的解密轮子密钥Wi分别送每个解密轮的第一个变换即子密钥模2加变换;最后一轮的解密轮的解密顺序是子密钥模2加变换、逆S盒替代变换、逆行移位变换,最后一轮解密轮的逆行移位变换输出明文。
逆列混合变换变换方法为:不改变每一轮的4个变换的顺序,只是对逆列混合变换进行修改,预先编制4张从0到255分别和02,03,04,05模m(x)乘的一维因子表(LUT02,LUT03,LUT04,LUT05),变换的时候,先根据列混合逆变换的系数从各张乘数因子表中找到状态每一列字节模乘后的数值,然后把这些数值进行异或运算,等到状态某一字节逆变换后的新数值,以此类推,可以得到状态其他字节变换后的新数值。
不改变每一轮的4个变换的顺序,只是对逆列混合变换进行修改,但不改变其基本的思想。某一状态s’=(s’i,j,i=0,1...7,j=0,1,...Nb-1)经过逆列混合变换后变换为s=(si,j,i=0,1...7,j=0,1,...Nb-1),那么它们两者的关系如(7)式和(8)式所示。
s(x)=a-1(x)s′(x)mod(x8+1)                                    (7)
其中
a-1(x)={03}x7+{04}x6+{03}x5+{03}x4+{02}x3+{05}x2+{02}x+{03}  (8)根据(8)式,可得如下式子:
LUT02[i]=i·02 mod m(x)                                     (9)
LUT03[i]=i·03 mod m(x)                                     (10)
LUT04[i]=i·04 mod m(x)                                     (11)
LUT05[i]=i·05 mod m(x)                                     (12)
(9)~(12)式中i=0,1,2...255
因此,LUT02、LUT03、LUT04、LUT05实质上就是一张普通的mod m(x)乘因子表,这4张一维表用于列混合逆变换。在TMS320VC5402上加解密算法的实现以及代码的优化:
TMS320VC5402中有两种片内存储器:双寻址存储器(DARAM)和单寻址存储器。双寻址存储器的特点是允许CPU在单个周期内对其访问两次。单寻址存储器有两种形式:(1)单寻址读/写存储器(SARAM),(2)单寻址只读存储器(ROM或DROM),CPU可以在单个周期内对每个存储单元访问一次。这两种存储器均可映射到程序空间和数据空间。另外,TMS320VC5402可以外挂片外存储器,但CPU对片外存储单元访问一次,至少要两个周期。与片外存储器相比,片内存储器具有不需要插入等待状态、成本和功耗低等优点。
与之相配套,TI公司提供了相应的代码开发集成环境——Code ComposerStudio(CCS),它将代码生成工具和调试工具集成在一起,可以提供处理器信息和监视程序性能。CCS能在一个控制窗口内使用所有的工具。
CCS自带有代码优化器Optimizer,它能够对包含在CCS Project里面的所有源代码进行4个不同层次的优化:寄存器(Register)级优化、局部变量(Local)级优化、全局变量(Global)级优化、文件(FILE)级优化,这4个层次的优化范围和程度是逐步扩展和深化的。
结合我们提出的方案1、方案2、程序段映射方式和CCS自带有程序优化器,我们在TMS320VC5402硬件平台上用ANSI C语言实现了扩展的Rijndael加解密算法,并且对算法的进行不同层次的优化,使得加密器的运算速度的到了大幅度的提高。扩展的Rijndael算法:
本扩展算法能实现的数据块长度和种子密钥长度均为256/384/512bits。加密的中间结果,即状态(State)是一个8行、Nb列的矩阵,其中Nb为数据块长度除以64。加秘密钥是一个8行、Nk列的矩阵,其中Nk为密钥长度除以64。
加密的轮数(Nr)由(13)式确定。
Nr=max{Nk,Nb}+6                                               (13)
由于Nk,Nb∈{4,6,8},所以Nr∈{10,12,14}加密过程由以下几个部分组成:1.一个初始轮的密钥模2加。2.Nr-1轮:依次进行S盒替代变换(SubBytes)、行移位变换(ShiftRows)、列混合变换(MixColumns)和子密钥模2加(Key Addition)。3.一个结束轮:依次进行S盒替代变换、行移位变换和子密钥模2加,不包括列混合变换。加密轮和原算法一样,由4个变换组成:S盒替代变换、行移位变换、列混合变换和子密钥模2加。S盒替代变换:
与原算法一样,S和替代变换是一个非线性的字节替代变换。该变换使用一个和原算法一样的S盒(由256个元素组成的一维表),根据中间结果的每一字节的数值检索S盒中对应的替代值。S盒的构建:S盒是一种可逆的置换表,由两个子变换组成:1.有限域GF(28)上的乘法逆,元素{00}的映射为本身。2.有限域GF(2)上的仿射,如(14)式所示。
b′i=bib(i+4)mod8b(i+5)mod8b(i+6)mod8b(i+7)mod8ci                (14)其中,0≤i<8,bi是变换字节的第i bit,{c7c6c5c4c3c2c1c0}={63h}={01100011b}。行移位变换:
行移位变换对状态的每一行的字节单独进行循环移位操作,每一行移位的字节数满足如下关系:
s′r,c=sr,(c+shift(r,Nb))mod Nb,0<r<8,0≤c<Nb                            (15)
移位值shift(r,Nb)是由状态中该字节的行号和状态的列数(Nb)所决定的,它们满足下列关系:第0行和第4行不移位,其它各行右移的值满足下表所示。
r=1  r=2  r=3  r=5  r=6  r=7
 Nb=4 1  2  3  1  2  3
 Nb=6 1  2  3  1  2  3
 Nb=8 1  3  4  1  3  4
列混合变换:
这一部分和原算法差别比较大。列混合变换对状态进行列与列的操作。状态的每一列被看作一个8项多项式s(x),多项式的系数在GF(28)上,并且和一个固定多项式a(x)模x8+1乘,即,列混合变换满足下列关系:
s′(x)=a(x)s(x)mod(x8+1)                                          (16)
其中,s(x)、s’(x)分别为对应状态的列变换的输入和输出,
a(x)={03}x7+{05}x6+{03}x5+{02}x4+{02}x3+{04}x2+{02}x+{02}    (17)
在逆变换中,满足下式的变换关系。
s(x)=a-1(x)s′(x)mod(x8+1)                                       (18)
其中
a-1(x)={03}x7+{04}x6+{03}x5+{03}x4+{02}x3+{05}x2+{02}x+{03}  (19)
由(17)式和(19)式可以看出,a(x)和a-1(x)的系数均不为0,同时都分布在1~5之间,上界为5。相对于原算法(其列混合变换的系数的上界为3,而逆变换的上界为14),扩展算法的系数分布非常的集中,具有的扩散能力和抗各种攻击能力更强。从我们对算法开销的测试,可以看出,加解密速度近似相等;其主要原因就是因为系数分布在相同的并且非常集中的区间上。子密钥模2加变换:
与原算法一样,子密钥模2加变换就是将由密钥扩散而得到的轮子密钥模2加到状态中的每一字节。其变换关系满足下式。[s’0,c,s’1,c,s’2,c,s’3,c,s’4,c,s’5,c,s’6,c,s’7,c]=[s0,c,s1,c,s2,c,s3,c,s4,c,s5,c,s6,c,s7,c]xor[Wround*Nb+c]                                        (20)其中,0≤c<Nb,0≤round<Nr,[wi]为密钥扩散形成的轮子密钥。密钥扩散:与原算法一样,密钥扩散由两个过程组成:1.密钥扩散:种子密钥扩散成扩散密钥;2.轮子密钥的选取:每轮使用的子密钥从扩散密钥中选取。与原算法的不同之处在于:每次选取的字是64bits(8字节)而不是32bits(4字节);轮常数的由(21)式定义。Rcon[i]=(RC[i],{00},{00},{00},{00},{00},{00},{00})        (21)RC[i]的值由下面两式确定:RC[1]=’01’                                                     (22)RC[i]=x·(RC[i-1])=x(i-1)                                       (23)
高安全等级的对称密钥算法的加密器,由DSP模块、FLASH模块、McBSP0扩展口所组成,DSP模块的“D15-D0”与FLASH模块的“D15-D0”端相接,DSP模块的“A15-A0”与FLASH模块的“A15-A0”端相接,DSP模块的“MSTRB、R/W”通过与门接FLASH模块的“WE”端,DSP模块的“MSTRB、R/W”通过非门和与或非门接FLASH模块的“OE”端,DSP模块的“BCLKR0、BFSR0、BDR0、BCLKX0、BFSX0、BDX0、INT0、INT1、IACK”接McBSP0扩展口。其中数字信号处理芯片U1的型号为TMS320VC5402,存闪U2的型号为M29W4007,电源芯片U3、U4的型号为TPS7325;TPS7333,与非门U5的型号为SN74LVC00,非门U6的型号为SN74LVC04。

Claims (9)

1.一种高安全等级对称密钥算法的加密方法,其特征在于加密方法为:由N轮加密轮相串联组合而成,每个加密轮的加密顺序是行移位变换(1)、S盒替代列混合变换(2)、子密钥模2加变换(3),每个加密轮的最后输出即子密钥模2加变换(3)接下一加密轮的输入即行移位变换(1),明文(4)和种子密钥(5)进行数据/密钥相加,数据/密钥相加(6)的结果送第0轮的行移位变换(1),同时种子密钥(5)经密钥扩散(7)产生的加密轮子密钥Wi分别送每个加密轮的最后一个变换即子密钥模2加变换(3);最后一轮的加密轮的加密顺序是S盒替代变换(8)、行移位变换(1)、子密钥模2加变换(3),最后一轮加密轮的子密钥模2加变换(3)输出密文。
2.根据权利要求1所述的高安全等级对称密钥算法的加密方法,其特征在于行移位变换(1)的变换方法为:行移位变换对状态的每一行的字节单独进行循环移位操作,满足下列关系:第0行和第4行不移位;第1行和第5行移1个字节;第2行和第6行如果Nb=4或Nb=6,移2个字节,否则移3个字节;第3行和第7行如果Nb=4或Nb=6,移3个字节,否则移4个字节。
3.根据权利要求1所述的高安全等级对称密钥算法的加密方法,其特征在于S盒替代列混合变换(2)的变换方法为:预先对S盒的每个字节分别和02,03,04,05模m(x)乘,构成4张一维扩展的S盒置换表,(MUL02,MUL03,MUL04,MUL05),对扩展算法的加密轮的变换顺序进行重新排列,把S盒替代和行移位顺序对调,将S盒替代变换合并到列混合变换。变换的时候先根据列混合变换的系数从各张扩展S盒置换表中找到状态每一列字节变换后的数值,然后把这些数值进行异或运算,得到状态某一字节整个变换后的新数值;以此类推,可以得到状态其他字节变换后的新数值。
4.根据权利要求1所述的高安全等级对称密钥算法的加密方法,其特征在于子密钥模2加变换(3)的变换方法为:子密钥模2加变换就是将由密钥扩散而得到的轮子密钥模2加到状态中的每一字节。
5.根据权利要求1所述的高安全等级对称密钥算法的加密方法,其特征在于加密的轮次数Nr由Nk和Nb共同确定,也就是Nr的数值等于Nk和Nb中的大的数值再加上6,因而得到Nr为10,12或14。
6.根据权利要求1所述的高安全等级对称密钥算法的加密方法,其特征在于密钥扩散(7)由两个过程组成:
1)密钥扩散:种子密钥扩散成扩散密钥;
2)轮子密钥的选取:每轮使用的子密钥从扩散密钥中选取。
每次选取的字是64bits即8字节
轮常数由8字节的常数构成,这8字节的前面7个字节为0,第一轮的最后一个字节为  01,其余各轮的最后一个字节由前面一轮的轮常数的最后一个字节循环左移1位构成。
7.一种高安全等级对称密钥算法的解密方法,其特征在于解密方法为:由N轮解密轮相串联组合而成,每个解密轮的解密顺序是子密钥模2加变换(3)、逆列混合变换(9)、逆S盒替代变换(10)、逆行移位变换(11),每个解密轮的最后输出即逆行移位变换(11)接下一解密轮的输入即子密钥模2加变换(3),密文(12)和种子密钥(5)经过数据/密钥相加(6),数据/密钥相加(6)的结果送第0轮的子密钥模2加变换(3),同时种子密钥(5)经密钥扩散(7)产生的解密轮子密钥Wi分别送每个解密轮的第一个变换即子密钥模2加变换(3);最后一轮的解密轮的解密顺序是子密钥模2加变换(3)、逆S盒替代变换(10)、逆行移位变换(11),最后一轮解密轮的逆行移位变换(11)输出明文。
8.根据权利要求7所述的高安全等级对称密钥算法的解密方法,其特征在于逆列混合变换(9)变换方法为:不改变每一轮的4个变换的顺序,只是对逆列混合变换进行修改,预先编制4张从0到255分别和02,03,04,05模m(x)乘的一维因子表(LUT02,LUT03,LUT04,LUT05),变换的时候,先根据列混合逆变换的系数从各张乘数因子表中找到状态每一列字节模乘后的数值,然后把这些数值进行异或运算,等到状态某一字节逆变换后的新数值,以此类推,可以得到状态其他字节变换后的新数值。
9.一种高安全等级对称密钥算法的加密器,其特征在于加密器由DSP模块(13)、FLASH模块(14)、McBSP0扩展口(15)所组成,DSP模块(13)的“D15-D0”与FLASH模块(14)的“D15-D0”端相接,DSP模块(13)的“A15-A0”与FLASH模块(14)的“A15-A0”端相接,DSP模块(13)的“MSTRB、R/W”通过与门接FLASH模块(14)的“WE”端,DSP模块(13)的“MSTRB、R/W”通过非门和与或非门接FLASH模块(14)的“OE”端,DSP模块(13)的“BCLKR0、BFSR0、BDR0、BCLKX0、BFSX0、BDX0、INT0、INT1、IACK”接McBSP0扩展口(15)。
CN 03113387 2003-05-01 2003-05-01 高安全等级对称密钥算法的加密、解密方法及加密器 Expired - Fee Related CN1258148C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03113387 CN1258148C (zh) 2003-05-01 2003-05-01 高安全等级对称密钥算法的加密、解密方法及加密器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03113387 CN1258148C (zh) 2003-05-01 2003-05-01 高安全等级对称密钥算法的加密、解密方法及加密器

Publications (2)

Publication Number Publication Date
CN1445681A true CN1445681A (zh) 2003-10-01
CN1258148C CN1258148C (zh) 2006-05-31

Family

ID=27814708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03113387 Expired - Fee Related CN1258148C (zh) 2003-05-01 2003-05-01 高安全等级对称密钥算法的加密、解密方法及加密器

Country Status (1)

Country Link
CN (1) CN1258148C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023937A (zh) * 2010-11-19 2011-04-20 苏州国芯科技有限公司 一种用于usb储存设备的数据流加密方法
CN102404123A (zh) * 2012-01-04 2012-04-04 王勇 一种基于算法变换思想的加密方法
CN102624520A (zh) * 2012-05-02 2012-08-01 西安电子科技大学 基于aes的192比特位密钥扩展系统及方法
CN102664730A (zh) * 2012-05-02 2012-09-12 西安电子科技大学 基于高级加密标准aes的128比特位密钥扩展方法
CN101536398B (zh) * 2006-11-17 2012-11-07 耶德托公司 用于白盒实现的加密方法
CN102857334A (zh) * 2012-07-10 2013-01-02 记忆科技(深圳)有限公司 一种实现aes加解密的方法及装置
CN103500294A (zh) * 2013-09-23 2014-01-08 北京荣之联科技股份有限公司 一种文件加解密方法和装置
CN105939190A (zh) * 2016-06-23 2016-09-14 天津中安华典数据安全科技有限公司 基于fpga的离线生成密钥的aes数据加密方法
CN106656500A (zh) * 2015-10-29 2017-05-10 三星Sds株式会社 加密装置及方法
CN107924610A (zh) * 2015-06-24 2018-04-17 大众汽车有限公司 用于提高在远程触发时的安全性的方法和设备,机动车
CN113472835A (zh) * 2020-08-17 2021-10-01 青岛海信电子产业控股股份有限公司 数据读取、上传方法及设备
CN116186742A (zh) * 2023-04-24 2023-05-30 东方空间技术(山东)有限公司 一种箭载数据加密存储的方法、装置及设备

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101536398B (zh) * 2006-11-17 2012-11-07 耶德托公司 用于白盒实现的加密方法
CN102023937A (zh) * 2010-11-19 2011-04-20 苏州国芯科技有限公司 一种用于usb储存设备的数据流加密方法
CN102404123A (zh) * 2012-01-04 2012-04-04 王勇 一种基于算法变换思想的加密方法
CN102664730B (zh) * 2012-05-02 2014-11-12 西安电子科技大学 基于高级加密标准aes的128比特位密钥扩展方法
CN102664730A (zh) * 2012-05-02 2012-09-12 西安电子科技大学 基于高级加密标准aes的128比特位密钥扩展方法
CN102624520B (zh) * 2012-05-02 2014-10-29 西安电子科技大学 基于aes的192比特位密钥扩展系统及方法
CN102624520A (zh) * 2012-05-02 2012-08-01 西安电子科技大学 基于aes的192比特位密钥扩展系统及方法
CN102857334B (zh) * 2012-07-10 2015-07-08 记忆科技(深圳)有限公司 一种实现aes加解密的方法及装置
CN102857334A (zh) * 2012-07-10 2013-01-02 记忆科技(深圳)有限公司 一种实现aes加解密的方法及装置
CN103500294B (zh) * 2013-09-23 2016-03-23 北京荣之联科技股份有限公司 一种文件加解密方法和装置
CN103500294A (zh) * 2013-09-23 2014-01-08 北京荣之联科技股份有限公司 一种文件加解密方法和装置
CN107924610A (zh) * 2015-06-24 2018-04-17 大众汽车有限公司 用于提高在远程触发时的安全性的方法和设备,机动车
US10803680B2 (en) 2015-06-24 2020-10-13 Volkswagen Aktiengesellschaft Method and apparatus for increasing safety for remote triggering, and motor vehicle
CN106656500A (zh) * 2015-10-29 2017-05-10 三星Sds株式会社 加密装置及方法
CN105939190A (zh) * 2016-06-23 2016-09-14 天津中安华典数据安全科技有限公司 基于fpga的离线生成密钥的aes数据加密方法
CN113472835A (zh) * 2020-08-17 2021-10-01 青岛海信电子产业控股股份有限公司 数据读取、上传方法及设备
CN116186742A (zh) * 2023-04-24 2023-05-30 东方空间技术(山东)有限公司 一种箭载数据加密存储的方法、装置及设备

Also Published As

Publication number Publication date
CN1258148C (zh) 2006-05-31

Similar Documents

Publication Publication Date Title
Zhang et al. A plaintext-related image encryption algorithm based on chaos
US8094816B2 (en) System and method for stream/block cipher with internal random states
USRE44594E1 (en) Method and circuit for data encryption/decryption
US9031228B2 (en) Systems and methods for implementing block cipher algorithms on attacker-controlled systems
Akin et al. Efficient hardware implementations of high throughput SHA-3 candidates keccak, luffa and blue midnight wish for single-and multi-message hashing
CN1527531A (zh) 一种数据加密标准或三重数据加密标准的实现方法
CN1445681A (zh) 高安全等级对称密钥算法的加密、解密方法及加密器
CN1648967A (zh) 加密装置、加密方法及其存储介质
CN1672352A (zh) 基于先进加密标准(aes)的硬件密码机
JPH07199808A (ja) 暗号化方法及びシステム
CN101034978A (zh) 用于密码过程的表分裂
CN101951314A (zh) 对称密码加密中s-盒的设计方法
CN1064498C (zh) 一种数据码的加密装置、解密装置和保密系统
CN1770680A (zh) 输出-密文混和反馈混沌流密码加密解密方法
CN1677921A (zh) 通过可编程器件实现数据加密的方法
CN1281023C (zh) 离散数据分块加密方法
CN111478766B (zh) 一种分组密码meg实现方法、装置及存储介质
CN111314054B (zh) 一种轻量级eceg分组密码实现方法、系统及存储介质
CN112134691A (zh) 一种部件可重复的nlcs分组密码实现方法、装置及介质
Gueron et al. Hardware implementation of AES using area-optimal polynomials for composite-field representation GF (2^ 4)^ 2 of GF (2^ 8)
CN103873229A (zh) KLEIN加密AVR环境下抗timing和cache边信道攻击的快速保护方法
CN106921486A (zh) 数据加密的方法和装置
CN103684748B (zh) 对称式加解密方法、对称式加解密系统
RU2503135C1 (ru) Способ криптографического преобразования информации и устройство для его реализации
US7076059B1 (en) Method and apparatus to implement the data encryption standard algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee