CN104753662A - 基于aes算法的加密密钥流产生方法 - Google Patents

基于aes算法的加密密钥流产生方法 Download PDF

Info

Publication number
CN104753662A
CN104753662A CN201310737971.XA CN201310737971A CN104753662A CN 104753662 A CN104753662 A CN 104753662A CN 201310737971 A CN201310737971 A CN 201310737971A CN 104753662 A CN104753662 A CN 104753662A
Authority
CN
China
Prior art keywords
calculated
byte matrix
matrix
byte
encryption 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
CN201310737971.XA
Other languages
English (en)
Other versions
CN104753662B (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.)
Keen (Chongqing) Microelectronics Technology Co., Ltd.
Original Assignee
Chongqing Cyit Communication Technologies 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 Chongqing Cyit Communication Technologies Co Ltd filed Critical Chongqing Cyit Communication Technologies Co Ltd
Priority to CN201310737971.XA priority Critical patent/CN104753662B/zh
Publication of CN104753662A publication Critical patent/CN104753662A/zh
Application granted granted Critical
Publication of CN104753662B publication Critical patent/CN104753662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明提供了一种基于AES算法的加密密钥流产生方法,包括:获取与待计算的字节矩阵的各元素对应的新元素的表达式;对各新元素的表达式分别进行计算,以得到第一字节矩阵;以及对第一字节矩阵进行密钥二元加计算。以达到降低AES算法复杂度,提升处理效率的效果。

Description

基于AES算法的加密密钥流产生方法
技术领域
本发明涉及通信领域,尤其涉及一种基于AES算法的加密密钥流产生方法。
背景技术
AES(Advanced Encryption Standard,高级加密标准)是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。目前,AES已然成为对称密钥加密中最流行的算法之一。
在LTE(Long Term Evolution,长期演进)系统中,无线接口层2中的PDCP(Packet Data Convergence Protocol,分组数据汇聚协议)层用于对用户平面和控制平面中的数据及信令进行加密,及对信令进行完整性保护。PDCP所采用的加解密及完整性保护/验证算法包括:AES,Snow3G及Zuc。其中,AES算法作为加解密算法被称为128-EEA2;作为完整性保护/验证算法被称为128-EIA2。
PDCP层采用的AES加密算法的基本流程为:通过对网络参数和加密密钥(Key)计算,算出一个加密密钥流(Keystream),再将该加密密钥流与明文的比特流进行异或,从而得到加密后的密文。
PDCP层使用AES算法作为完整性保护/验证算法的基本流程为:对一串不定长的信令进行AES相关计算,其中的计算步骤和加密算法相同,区别仅在于在最后阶段需要采用不同的计算方法,生成一个32位的MAC_I,用于完整性验证。
AES加密过程是在一个原始的4×4的字节矩阵上运作,原始的4×4的字节矩阵的各元素根据网络参数获取。作为一种基于迭代的加密算法,在生成加密密钥流的过程中需要很多轮的重复和变换,而每轮又包括下面4个阶段:
矩阵乘法转换(SubBytes)-通过一个非线性的替换函数,用查找表的方式把4×4的字节矩阵中的每个字节替换成查找表对应的字节;
矩阵行位移(ShiftRows)-将矩阵中的每一行进行循环式移位,即将矩阵中每一行的各个字节循环向左方位移;
列混合(MixColumns)-做矩阵中每一列的矩阵乘法,即与一个固定的4×4矩阵相乘;及
密钥二元加(AddRoundKey)-将矩阵中的每一个字节都与该轮的回合密钥(round key)做异或运算。
整个计算过程中,矩阵乘法转换阶段和列混合阶段都需要用到二元点乘和移位,且都需要调用大量查找表进行查表计算,尤其是在列混合计算中,128比特长度的区块中每个字节(8个比特)都要经过移位、异或及重新排列,才能计算出最后的加密密钥流。在实现上比较耗时,在芯片设计中需要例化更多的资源,并且在控制逻辑上调度也显得比较复杂。
发明内容
为了解决上述问题,本发明提供了一种基于AES算法的加密密钥流产生方法,从而简化算法,节约计算时间。
本发明的额外方面和优点将部分地在下面的描述中阐述,并且部分地将从描述中变得显然,或者可以通过本发明的实践而习得。
本发明提供了一种基于AES算法的加密密钥流产生方法,包括:获取与待计算的字节矩阵的各元素对应的新元素的表达式;对各新元素的表达式分别进行计算,以得到第一字节矩阵;以及对第一字节矩阵进行密钥二元加计算。
本发明实施例提供的基于AES算法的加密密钥流产生方法,直接对固定系数矩阵中的各元素与待计算的字节矩阵中对应的元素进行点乘获得各点乘积,通过一个步骤即可同时实现行位移和列混合运算,在硬件实现上面,不用单独进行行位移,也无需对行位移后的矩阵元素进行缓存,有效的提高了处理效率,同时减少了硬件成本。
在本发明的优选方案中,通过预先设置扩展查找表的方式,将所述矩阵乘法转换步骤用查表方式替代,无需进行所述点乘计算,进一步提高了处理效率。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1为本发明的基于AES算法的加密密钥流产生方法的示意图。
图2为本发明实施例的基于AES算法的加密密钥流产生方法的流程图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中,为了清晰,夸大了区域和层的厚度。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明的各方面。
需要说明的是,本发明是基于AES算法的加密密钥流产生方法,在AES算法中,根据美国国家标准与技术研究所在2001年11月26日发布的AES算法标准(NIST:“Advanced Encryption Standard(AES)(FIPSPUB197)”)的规定,在AES算法计算过程中:
1)点乘运算
如果点乘是0x02·乘数,判断乘数的最高位是否为1,如果为1,则将该乘数左移1位后与0x1b进行异或得到点乘积,否则,直接将该乘数左移1位得到点乘积;
如果点乘是0x01·乘数,则点乘积为乘数;
如果是用其他系数点乘乘数,将该其他系数数分解为0x02和0x01的组合,分别与乘数进行上述点乘后再进行异或得到点乘积,如:
2)加法运算
使用异或运算取代加法运算。
图1为本发明的基于AES算法的加密密钥流产生方法的示意图。如图1所示,本发明的基于AES算法的加密密钥流产生方法的基本流程为:将AES算法中计算加密密钥流每一轮计算中的矩阵行位移步骤和列混合步骤合并,并先于矩阵乘法转换步骤进行,得到与待计算的字节矩阵的各元素对应的新元素的表达式,并在矩阵乘法转换步骤中使用扩展查找表替代原始查找表进行元素查找,以完成优化的矩阵乘法转换步骤,该扩展查找表是基于对原始查找表进行扩展而生成,最后再进行密钥二元加步骤,完成加密密钥流一轮的计算。
本发明实施例提供的基于AES算法的加密密钥流产生方法,直接对固定系数矩阵中的各元素与待计算的字节矩阵中对应的元素进行点乘,获得各点乘积,通过一个步骤即可同时实现行位移和列混合运算,在硬件实现上面,不用单独进行行位移,也无需对行位移后的矩阵元素进行缓存,有效的提高了处理效率,同时减少了硬件成本。
在本发明的优选方案中,通过预先设置扩展查找表的方式,将所述矩阵乘法转换步骤用查表方式替代,无需进行所述点乘计算,进一步提高了处理效率。
图2为本发明实施例的基于AES算法的加密密钥流产生方法的流程图。如图2所示,该方法包括:
步骤S200,在进行加密密钥流计算之前,基于原始查找表生成扩展查找表。
在现有的计算密钥流的第一步矩阵乘法转换的计算中,AES算法协议会给出一个矩阵乘法转换的查找表,即原始查找表,如下表所示:
表1
按照从左到右,从上到下的顺序,将其排列为一个映射表,即当x=0且y=0时,对应0x63;当x=0且y=1时,对应0x7c;依次直到x=0xf且y=0xf时,对应0x16。整个表占有256个元素。
首先,判断第一个元素(8个比特)0x63的最高位(左边第一位)是否为1,如果为1,则左移一位,再与0x1b进行异或;如果最高位为0,则仅左移一位。显然,0x63(01100011)的最高位为0,则直接左移一位,得到0xc6(11000110),这就是扩展查找表中第一个元素的一次扩展元素;
然后将该一次扩展元素0xc6与第一个元素0x63进行异或,得到0xa5(10100101),这就是扩展查找表中第一元素的二次扩展元素;
由此,二次扩展元素、一次扩展元素及基础元素共同构成扩展查找表中的第一个元素0xa5c663。
按照同样的方法,对原始查找表中的第二个元素进行扩展计算,可得到扩展查找表中的第二个元素0x84f87c。
依次对原始查找表中的256个元素分别进行上述扩展计算,在此不再赘述。为了更好的示例说明本发明实施例,列出该扩展查找表中的前十个元素,分别为:
在加密密钥流生成的一轮计算中,分别执行下列步骤:
步骤S201,获取与待计算的字节矩阵的各元素对应的新元素的表达式,以同步完成矩阵行位移和列混合步骤。
需要说明的是,本发明中所提到的矩阵相乘操作与现有技术中的矩阵相乘操作不同,其具体的计算方法详见下述说明。
下面说明矩阵行位移及列混合同步进行的具体操作:
待计算的字节矩阵为:
S 0,0 S 0,1 S 0,2 S 0,3 S 1,0 S 1,1 S 1,2 S 1,3 S 2,0 S 2,1 S 2,2 S 2,3 S 3,0 S 3,1 S 3,2 S 3,3
经过矩阵行位移及与固定的字节矩阵相乘后得到的字节矩阵为:
S ′ 0,0 S ′ 0,1 S ′ 0,2 S ′ 0,3 S ′ 1,0 S ′ 1,1 S ′ 1,2 S ′ 1,3 S ′ 2,0 S ′ 2,1 S ′ 2,2 S ′ 2,3 S ′ 3 , 0 S ′ 3,1 S ′ 3,2 S ′ 3,3
以其中一列 S ′ 0 , c S ′ 1 , c S ′ 2 , c S ′ 3 , c 的计算为例,其中c表示该列可以为该矩阵中的任一列,矩阵行位移及列混合同步计算如公式(1)所示:
S ′ 0 , c S ′ 1 , c S ′ 2 , c S ′ 3 , c = 0 x 02 0 x 03 0 x 01 0 x 01 0 x 01 0 x 02 0 x 03 0 x 01 0 x 01 0 x 01 0 x 02 0 x 03 0 x 03 0 x 01 0 x 01 0 x 02 S 0 , c S 1 , ( c + 1 ) mod 3 S 2 , ( c + 2 ) mod 3 S 3 , ( c + 3 ) mod 3
公式(1)中所取的模数为待计算的字节矩阵的总列数减1,以该4×4字节矩阵为例,故模数为3。
中间矩阵元素包括0x01,0x02及0x03这三种,其具体计算受限于有限域GF(28)。
根据本发明一实施例,当该中间矩阵元素大于0x03时,仍可对其进行进一步分解,以0x0d为例,0x0d=0x08+0x04+0x01,将其中的加法运算替换为异或运算后,其可以进一步分解为公式(2):
S x , y · { 0 x 0 d } = S x , y · { 0 x 08 ⊕ 0 x 04 ⊕ 0 x 01 } = S x , y · { 0 x 08 } ⊕ S x , y · { 0 x 04 } ⊕ S x , y · { 0 x 01 } = S x , y · { 0 x 02 } · { 0 x 02 } · { 0 x 02 } ⊕ S x , y · { 0 x 02 } · { 0 x 02 } ⊕ S x , y · { 0 x 01 }
其中Sx,y代表待计算的字节矩阵中的任一元素。
将上述待计算的字节矩阵中的每个元素进行如公式(1)中的计算,以其中一个元素为例,计算后得到的对应的新元素的表达式如公式(3)所示:
S ′ 0 , c = ( { 0 x 02 } · S 0 , c ) ⊕ ( { 0 x 03 } · S 1 , ( c + 1 ) mod 3 ) ⊕ ( { 0 x 01 } · S 2 , ( c + 2 ) mod 3 ) ⊕ ( { 0 x 01 } · S 3 , ( c + 3 ) mod 3 )
可扩展地,当待计算的字节矩阵为I×J,且与该待计算的字节矩阵相乘的I×J字节矩阵元素为xi,j时,对应的新元素的表达式为公式(4):
S ′ i , j = ( x i , 0 · S 0 , j ) ⊕ ( x i , 1 · S 1 , ( j + 1 ) mod ( J - 1 ) ) ⊕ ( x i , 2 · S 2 , ( j + 2 ) mod ( J - 1 ) ) ⊕ . . . ⊕ ( x i , ( J - 1 ) · S ( I - 1 ) , [ j + ( I - 1 ) ] mod ( J - 1 ) )
其中,i表示所述新元素的行号,j表示所述新元素的列号,I表示所述待计算的字节矩阵的总行数,J表示所述待计算的字节矩阵的总列数,xi,j表示不同的点乘系数,如上所述,xi,j包括0x01、0x02、0x03、及大于0x03的任一元素。
步骤S202,对步骤S201中生成的各新元素的表达式进行计算,以得到优化的矩阵乘法转换的结果。
需要说明的是,在下述的具体实施方式中,公式(3)中的实际乘数指S0,c,S1,c,S2,c及S3,c在原始查找表中的对应元素。以S0,c为例,说明如何查找其在原始查找表中的对应元素。如果S0,c等于0x53,即01010011,则其高位4个比特,如0101,表示扩展查找表中的x坐标值,而低位4个比特,如0011,则表示扩展查找表中y坐标值,即x=5,y=3。
根据本发明的优选实施例,通过查找扩展查找表进行计算。
具体地,以公式(3)中的元素为例,如果点乘的系数为0x02,则查询出原矩阵元素对应位置元素的一次扩展元素,用该一次扩展元素替代原矩阵元素与其系数的点乘乘积,如{0x02}·S0,c;如果点乘的系数为0x03,则查询出原矩阵元素对应位置元素的二次扩展元素,用该二次扩展元素替代原矩阵元素与其系数的点乘乘积,如{0x03}·S1,(c+1)mod3;如果点乘系数为0x01,则直接查询原矩阵元素对应位置元素的基础元素,并用该基础元素替代原矩阵元素与其系数的点乘乘积,如{0x01}·S2,(c+2)mod3或者{0x01}·S3,(c+3)mod3
以S0,c为例,说明上述原矩阵元素的对应位置元素。如果S0,c为0x53,即01010011,则其高位4个比特,如0101,表示扩展查找表中的x坐标值,而低位4个比特,如0011,则表示扩展查找表中y坐标值,即x=5,y=3。
对各新元素进行查表计算后,得到最终的字节矩阵:
S ′ 0,0 S ′ 0,1 S ′ 0,2 S ′ 0,3 S ′ 1,0 S ′ 1,1 S ′ 1,2 S ′ 1,3 S ′ 2,0 S ′ 2,1 S ′ 2,2 S ′ 2,3 S ′ 3 , 0 S ′ 3,1 S ′ 3,2 S ′ 3,3
根据本发明的一个实施例,以步骤S202中公式(2)中的Sx,y·{0x02}·{0x02}为例,说明当中间矩阵元素大于0x03时的查表方法:先查询Sx,y在扩展查找表中对应位置的元素的一次扩展元素,替代Sx,y·{0x02},再对该一次扩展元素进行点乘{0x02}的操作,即移位操作,具体为:判断该一次扩展元素的最高位(左边第一位)是否为1,如果为1,则左移一位,再与0x1b进行异或;如果该一次扩展元素的最高位为0,则仅左移一位。
此外,也可以将扩展表中的一次扩展元素再次执行点乘{0x02}的操作,即移位操作,以得到三次扩展元素,使用一次扩展元素替代Sx,y·{0x02}后,再次查询对应的该三次扩展元素,以替代Sx,y·{0x02}·{0x02}。
上述操作通过预先设置扩展查找表的方式,将所述矩阵乘法转换步骤用查表方式替代,无需进行所述点乘计算,进一步提高了处理效率。
根据本发明的一个实施例,对上述各新元素的表达式进行计算的方法还可以不通过查找扩展查找表而进行。
具体地,如果点乘的系数为0x02,则在原始查找表中,查询出原矩阵元素对应位置的元素,对该对应位置的元素进行点乘0x02操作,即移位操作,具体地:判断该对应位置的元素的最高位(左边第一位)是否为1,如果为1,则左移一位,再与0x1b进行异或;如果该对应位置的元素的最高位为0,则仅左移一位,将移位操作后的结果替代原矩阵元素与其系数的点乘乘积,如{0x02}·S0,c
如果点乘的系数为0x03,则在原始查找表中,查询出原矩阵元素对应位置的元素,对该对应位置的元素进行点乘0x02操作,即移位操作,具体地:判断该对应位置的元素的最高位(左边第一位)是否为1,如果为1,则左移一位,再与0x1b进行异或;如果该对应位置的元素的最高位为0,则仅左移一位,将移位操作后的结果再与该对应位置的元素进行异或,将该异或后的结果替代原矩阵元素与其系数的点乘乘积,如{0x03}·S1,(c+1)mod3
如果点乘系数为0x01,则在原始查找表中,直接查询原矩阵元素对应位置的元素,并用该对应位置的元素替代原矩阵元素与其系数的点乘乘积,如{0x01}·S2,(c+2)mod3或者{0x01}·S3,(c+3)mod3
步骤S203,将经过上述运算后得到的字节矩阵再进行密钥二元加计算。
在完成密钥二元加步骤后,即完成了加密密钥流的一轮计算。于之后,可根据需要重复下一轮的计算过程。
在实际验证过程中,经过软件流程和芯片流程两个通路的大随机数据量对比,输入输出结果完全一致。
本发明实施例提供的基于AES算法的加密密钥流产生方法,直接对固定系数矩阵中的各元素与待计算的字节矩阵中对应的元素进行点乘获得各点乘积,通过一个步骤即可同时实现行位移和列混合运算,在硬件实现上面,不用单独进行行位移,也无需对行位移后的矩阵元素进行缓存,有效的提高了处理效率,同时减少了硬件成本。
在本发明的优选方案中,通过预先设置扩展查找表的方式,将所述矩阵乘法转换步骤用查表方式替代,无需进行所述点乘计算,进一步提高了处理效率。
以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。

Claims (10)

1.一种基于AES算法的加密密钥流产生方法,其特征在于,包括:
获取与待计算的字节矩阵的各元素对应的新元素的表达式;
对所述各新元素的表达式分别进行计算,以得到第一字节矩阵;以及
对所述第一字节矩阵进行密钥二元加计算。
2.根据权利要求1的基于AES算法的加密密钥流产生方法,其中所述与待计算的字节矩阵的各元素对应的新元素的表达式为:
S ′ i , j = ( x i , 0 · S 0 , j ) ⊕ ( x i , 1 · S 1 , ( j + 1 ) mod ( J - 1 ) ) ⊕ ( x i , 2 · S 2 , ( j + 2 ) mod ( J - 1 ) ) ⊕ . . . ⊕ ( x i , ( J - 1 ) · S ( I - 1 ) , [ j + ( I - 1 ) ] mod ( J - 1 ) )
其中,i表示所述新元素的行号,j表示所述新元素的列号,I表示所述待计算的字节矩阵的总行数,J表示所述待计算的字节矩阵的总列数,xi,j为与所述待计算的字节矩阵相乘的字节矩阵中的元素,表示不同的点乘系数,所述点乘系数包括:第一预设系数,第二预设系数,及第三预设系数。
3.根据权利要求2的基于AES算法的加密密钥流产生方法,其中第一预设系数为0x01,第二预设系数为0x02,及第三预设系数为0x03。
4.根据权利要求2的基于AES算法的加密密钥流产生方法,其中对所述各新元素的表达式分别进行计算包括:通过查找扩展查找表进行计算。
5.根据权利要求4的基于AES算法的加密密钥流产生方法,其中在所述获取与待计算的字节矩阵的各元素对应的新元素的表达式之前,还包括:基于原始查找表生成所述扩展查找表。
6.根据权利要求5的基于AES算法的加密密钥流产生方法,其中所述基于原始查找表生成所述扩展查找表包括:依次对所述原始查找表中的每一个元素进行如下处理,以得到所述扩展查找表中的对应元素:
以所述原始查找表中的元素作为基础元素,判断所述基础元素的最高位是否为1,如果为1,则左移一位,再与一预设元素进行异或,得到所述扩展查找表中的对应元素的一次扩展元素;否则,仅左移一位,得到所述扩展查找表中的对应元素的一次扩展元素;
将所述一次扩展元素与所述原始查找表中的元素进行异或,得到所述扩展查找表中的对应元素的二次扩展元素;以及
拼接所述二次扩展元素、一次扩展元素及基础元素,得到所述扩展查找表中的对应元素。
7.根据权利要求6的基于AES算法的加密密钥流产生方法,其中所述通过查找扩展查找表进行计算包括:查找所述扩展查找表,对所述各新元素依次进行如下计算,以得到对应的所述第一字节矩阵:
如果构成所述新元素的待计算的字节矩阵元素的点乘系数为所述第一预设系数,则在所述扩展查找表中,查询出与所述待计算的字节矩阵元素对应位置的元素的基础元素,用所述基础元素替代所述待计算的字节矩阵元素与所述点乘系数的乘积;
如果构成所述新元素的待计算的字节矩阵元素的点乘系数为所述第二预设系数,则在所述扩展查找表中,查询出与所述待计算的字节矩阵元素对应位置的元素的一次扩展元素,用所述一次扩展元素替代所述待计算的字节矩阵元素与所述点乘系数的乘积;
如果构成所述新元素的待计算的字节矩阵元素的点乘系数为所述第三预设系数,则在所述扩展查找表中,查询出与所述待计算的字节矩阵元素对应位置的元素的二次扩展元素,用所述二次扩展元素替代所述待计算的字节矩阵元素与所述点乘系数的乘积;以及
将替代后的各元素进行异或,得到对应的所述第一字节矩阵中的相应元素。
8.根据权利要求7的基于AES算法的加密密钥流产生方法,其中在所述扩展查找表中,与所述待计算的字节矩阵元素对应位置的元素的x、y坐标值分别为:所述待计算的字节矩阵元素的高位4个比特的值,及所述待计算的字节矩阵元素的低位4个比特的值。
9.根据权利要求2的基于AES算法的加密密钥流产生方法,其中对所述各新元素的表达式分别进行计算包括:
如果构成所述新元素的待计算的字节矩阵元素的点乘系数为所述第一预设系数,则在原始查找表中,查询出与所述待计算的字节矩阵元素对应位置的元素,用所述对应位置的元素替代所述待计算的字节矩阵元素与所述点乘系数的乘积;
如果构成所述新元素的待计算的字节矩阵元素的点乘系数为所述第二预设系数,则在原始查找表中,查询出与所述待计算的字节矩阵元素对应位置的元素,对所述对应位置的元素进行移位操作,得到移位操作后的元素,用所述移位操作后的元素替代所述待计算的字节矩阵元素与所述点乘系数的乘积;
如果构成所述新元素的待计算的字节矩阵元素的点乘系数为所述第三预设系数,则在原始查找表中,查询出与所述待计算的字节矩阵元素对应位置的元素,对所述对应位置的元素进行移位操作,得到移位操作后的元素,再将所述移位操作后的元素与所述对应位置的元素进行异或,得到异或后的元素,用所述异或后的元素替代所述待计算的字节矩阵元素与所述点乘系数的乘积;以及
将替代后的各元素进行异或,得到对应的所述第一字节矩阵中的相应元素。
10.根据权利要求9的基于AES算法的加密密钥流产生方法,其中所述移位操作包括:判断待移位操作的元素的最高位是否为1,如果为1,则左移一位,再与一预设元素进行异或;否则,仅左移一位。
CN201310737971.XA 2013-12-27 2013-12-27 基于aes算法的加密密钥流产生方法 Active CN104753662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310737971.XA CN104753662B (zh) 2013-12-27 2013-12-27 基于aes算法的加密密钥流产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310737971.XA CN104753662B (zh) 2013-12-27 2013-12-27 基于aes算法的加密密钥流产生方法

Publications (2)

Publication Number Publication Date
CN104753662A true CN104753662A (zh) 2015-07-01
CN104753662B CN104753662B (zh) 2019-09-20

Family

ID=53592825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310737971.XA Active CN104753662B (zh) 2013-12-27 2013-12-27 基于aes算法的加密密钥流产生方法

Country Status (1)

Country Link
CN (1) CN104753662B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939190A (zh) * 2016-06-23 2016-09-14 天津中安华典数据安全科技有限公司 基于fpga的离线生成密钥的aes数据加密方法
CN106506142A (zh) * 2016-11-22 2017-03-15 北京航空航天大学 一种低复杂度的aes一体化加解密器实现方法
CN113872752A (zh) * 2021-09-07 2021-12-31 哲库科技(北京)有限公司 安全引擎模组、安全引擎装置和通信设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826959A (zh) * 2010-05-14 2010-09-08 中国科学院软件研究所 一种面向字节的密钥流生成方法及加密方法
CN102035641A (zh) * 2009-09-24 2011-04-27 中兴通讯股份有限公司 一种实现aes加解密的装置和方法
CN102185692A (zh) * 2011-04-25 2011-09-14 北京航空航天大学 基于aes加密算法的多模式可重构加密方法
CN102223228A (zh) * 2011-05-11 2011-10-19 北京航空航天大学 基于fpga的aes加密芯片设计方法及嵌入式加密系统
US8170204B2 (en) * 2004-09-07 2012-05-01 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security
CN102664729A (zh) * 2012-04-28 2012-09-12 中山大学 一种基于fpga的aes加解密网络通讯装置及其实现方法
CN103209071A (zh) * 2012-12-05 2013-07-17 无锡华大国奇科技有限公司 Aes加密装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170204B2 (en) * 2004-09-07 2012-05-01 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security
CN102035641A (zh) * 2009-09-24 2011-04-27 中兴通讯股份有限公司 一种实现aes加解密的装置和方法
CN101826959A (zh) * 2010-05-14 2010-09-08 中国科学院软件研究所 一种面向字节的密钥流生成方法及加密方法
CN102185692A (zh) * 2011-04-25 2011-09-14 北京航空航天大学 基于aes加密算法的多模式可重构加密方法
CN102223228A (zh) * 2011-05-11 2011-10-19 北京航空航天大学 基于fpga的aes加密芯片设计方法及嵌入式加密系统
CN102664729A (zh) * 2012-04-28 2012-09-12 中山大学 一种基于fpga的aes加解密网络通讯装置及其实现方法
CN103209071A (zh) * 2012-12-05 2013-07-17 无锡华大国奇科技有限公司 Aes加密装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939190A (zh) * 2016-06-23 2016-09-14 天津中安华典数据安全科技有限公司 基于fpga的离线生成密钥的aes数据加密方法
CN106506142A (zh) * 2016-11-22 2017-03-15 北京航空航天大学 一种低复杂度的aes一体化加解密器实现方法
CN113872752A (zh) * 2021-09-07 2021-12-31 哲库科技(北京)有限公司 安全引擎模组、安全引擎装置和通信设备
CN113872752B (zh) * 2021-09-07 2023-10-13 哲库科技(北京)有限公司 安全引擎模组、安全引擎装置和通信设备

Also Published As

Publication number Publication date
CN104753662B (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN106788974B (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
US9143325B2 (en) Masking with shared random bits
Chen et al. High performance data encryption with AES implementation on FPGA
Sahoo et al. An optimized S-box for advanced encryption standard (AES) design
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
CN103684749B (zh) 一种基于面积与性能平衡优化的klein加密实现方法
CN101848081A (zh) 一种s盒构造方法及s盒
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
CN101826959B (zh) 一种面向字节的密钥流生成方法及加密方法
Arrag et al. Design and Implementation A different Architectures of mixcolumn in FPGA
CN104753662A (zh) 基于aes算法的加密密钥流产生方法
CN104320420A (zh) 一种基于aes算法的scada文件加密方法
CN109039583B (zh) 复用轮变换电路、aes加密电路及加密方法
Kaur et al. FPGA implementation of efficient hardware for the advanced encryption standard
Gangadari et al. FPGA implementation of compact S-box for AES algorithm using composite field arithmetic
CN103731257B (zh) 一种Piccolo加密算法硬件实现方法
CN109033847B (zh) Aes加密运算单元、aes加密电路及其加密方法
CN109033893B (zh) 基于合成矩阵的aes加密单元、aes加密电路及其加密方法
CN105577362B (zh) 一种应用于aes算法的字节替换方法及系统
Rais et al. A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box
Sireesha et al. A novel approach of area optimized and pipelined FPGA implementation of AES encryption and decryption
CN108989018B (zh) 一种aes加密单元、aes加密电路及加密方法
Nadaf et al. Hardware implementation of modified AES with key dependent dynamic S-box
Abebe Lightweight and Efficient Architecture for AES Algorithm based on FPGA
Praphul et al. FPGA Implementation of Hybrid Cryptosystem

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20170420

Address after: Nanping Street 400060 Chongqing Nan'an District Nancheng Road No. 199 left attached to the floor 403

Applicant after: Keen (Chongqing) Microelectronics Technology Co., Ltd.

Address before: 400065 Chongqing Nan'an District huangjuezhen pass Fort Park No. 1

Applicant before: Chongqing City Communication & Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant