【技术实现步骤摘要】
本专利技术涉及一种用来执行由FIPS(联邦信息处理标准)197定义的AES(高级加密标准)时理的AES加密/解密电路。
技术介绍
随着光纤网络的最近改进,每个人都能容易地在互联网上使用高速通信。这也便于诸如高质量视频发行之类的海量数据通信。然而,有对网络的威胁,包括窃听、改变及欺骗。为了保护网络通信免受这些威胁,对于加密的需要已经增长。尽管加密对于可靠通信是基本的,但是不期望传输速率的任何降低。这种趋势在处理大量数据的视频发行领域特别明显。为了以高速可靠地传输大量数据,高速加密是必要的。海量加密通信一般使用对称块密码。最广泛使用的对称块密码是由FIPS(联邦信息处理标准)197定义的AES。为了对付高速加密通信,AES需要使用专用硬件加速器加速。图60A和60B表示AES加密和解密算法。在图60A和60B中的AddRoundKey、SubBytes、ShiftRows、MixColumns、InvSubBytes、InvShiftRows及InvMixColumns是相同名称的处理,这些处理在FIPS197中定义为子块变换。NR是按照密钥长度确定的轮回次数,在AES-128中是10、在AES-192中是12、或在AES-256中是14。如图60A和60B所示,AES算法在AddRoundKey之后重复由标准NR次数定义的轮回函数。轮回函数包括用于加密的四个处理-SubBytes、ShiftRows、MixColumns及AddRoundKey;和用于解密的四个处理-InvShiftRows、InvSubBytes、AddRoundKey及-->InvMi ...
【技术保护点】
一种AES加密/解密电路,包括: 第一AddRoundKey变换模块; 第二AddRoundKey变换模块; ShiftRows变换模块; SubBytes变换模块; MixColumns变换模块;及 数 据保持单元, 其中在加密周期中,所述第一AddRoundKey变换模块和所述第二AddRoundKey变换模块使用不同的轮回密钥被执行。
【技术特征摘要】
JP 2007-10-10 2007-264967;JP 2008-9-11 2008-2330941.一种AES加密/解密电路,包括:第一AddRoundKey变换模块;第二AddRoundKey变换模块;ShiftRows变换模块;SubBytes变换模块;MixColumns变换模块;及数据保持单元,其中在加密周期中,所述第一AddRoundKey变换模块和所述第二AddRoundKey变换模块使用不同的轮回密钥被执行。2.根据权利要求1所述的电路,还包括:密钥扩展单元,它从密码密钥产生轮回密钥,并且把轮回密钥供给到所述AddRoundKey变换模块;和控制单元,它从加密开始计数时钟周期,并且产生控制信号以执行加密。3.根据权利要求1所述的电路,其中在加密的第一时钟周期,把通过对明文数据执行AddRoundKey变换、SubBytes变换、ShiftRows变换及MixColumns变换得到的结果输出到所述数据保持单元,从第二时钟周期至第(NR-1)时钟周期,其中NR是轮回数,把通过对来自所述数据保持单元的输出数据执行AddRoundKey变换、SubBytes变换、ShiftRows变换及MixColumns变换得到的结果输出到所述数据保持单元,及在第NR时钟周期,把通过对来自所述数据保持单元的输出数据执行第一AddRoundKey变换、SubBytes变换、ShiftRows变换及第二AddRoundKey变换得到的结果输出到所述数据保持单元。4.根据权利要求1所述的电路,其中在加密的第一时钟周期,把通过对明文数据执行第一AddRoundKey变换、SubBytes变换、ShiftRows变换、MixColumns变换及第二AddRoundKey变换得到的结果输出到所述数据保持单元,从第二时钟周期至第(NR-1)时钟周期,其中NR是轮回数,把通过对来自所述数据保持单元的输出数据执行SubBytes变换、ShiftRows变换、MixColumns变换及AddRoundKey变换得到的结果输出到所述数据保持单元,及在第NR时钟周期,把通过对来自所述数据保持单元的输出数据执行SubBytes变换、ShiftRows变换及AddRoundKey变换得到的结果输出到所述数据保持单元。5.根据权利要求1所述的电路,其中在加密的第一时钟周期,把通过对明文数据执行AddRoundKey变换、SubBytes变换及ShiftRows变换得到的结果输出到所述数据保持单元,从第二时钟周期至第(NR(轮回数)-1)时钟周期,把通过对来自所述数据保持单元的输出数据执行MixColumns变换、AddRoundKey变换、SubBytes变换及ShiftRows变换得到的结果输出到所述数据保持单元,及在第NR时钟周期,把通过对来自所述数据保持单元的输出数据执行MixColumns变换、第一AddRoundKey变换、SubBytes变换、ShiftRows变换及第二AddRoundKey变换得到的结果输出到所述数据保持单元。6.一种AES加密/解密电路,包括:第一AddRoundKey变换模块;第二AddRoundKey变换模块;InvShiftRows变换模块;InvSubBytes变换模块;InvMixColumns变换模块;及数据保持单元,其中在解密周期,所述第一AddRoundKey变换模块和所述第二AddRoundKey变换模块使用不同的轮回密钥被执行。7.根据权利要求6所述的电路,其中在解密的第一时钟周期,把通过对密文数据执行第一AddRoundKey变换、InvShiftRows变换、InvSubBytes变换及第二AddRoundKey变换得到的结果输出到所述数据保持单元,从第二时钟周期至第(NR-1)时钟周期,其中NR是轮回数,把通过对来自所述数据保持单元的输出数据执行InvMixColumns变换、InvShiftRows变换、InvSubBytes变换及AddRoundKey变换得到的结果输出到所述数据保持单元,及在第NR时钟周期,把通过对来自所述数据保持单元的输出数据执行InvMixColumns变换、InvShiftRows变换、InvSubBytes变换及AddRoundKey变换得到的结果输出到所述数据保持单元。8.根据权利要求6所述的电路,其中在解密的第一时钟周期,把通过对密文数据执行AddRoundKey变换、InvSubBytes变换...
【专利技术属性】
技术研发人员:堀田博久,熊取谷昭彦,
申请(专利权)人:佳能株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。