具有高级加密标准核的集成电路及验证该标准核的外包的利记博彩app

文档序号:7975260阅读:112来源:国知局
专利名称:具有高级加密标准核的集成电路及验证该标准核的外包的利记博彩app
技术领域
本发明涉及一种集成电路。更具体地,本发明涉及一种具有高级加密标准(AES)知识产权(IP)核的集成电路,以及一种用于验证AES IP核性能的自测试外包(wrapper)。
背景技术
由于近来技术的发展,专用集成电路(ASIC)已经从系统级芯片(SoC)领域发展到包含多个内核和总线以及至少100,000个逻辑门的超系统级芯片(SSoC)领域。这通过可再用的知识产权(IP)核而成为可能。
这些IP核的实例是在硬件中实施Rindael算法的高级加密标准(AES)IP核,这种Rindael算法是由美国国家标准与技术研究所(NIST)于2001年11月26日所采用的。Rindael算法或AES算法使用对称密码块来加密或解密信息。
这里,加密指的是将预定数据转换为难以对该数据进行分析的加密文本。解密指的是将加密文本转换为初始数据、即纯文本。此时,使用加密算法来执行加密和解密,该加密算法为用于在计算机上保护电子数据的联邦信息处理标准(FIPS)所通过的算法。AES算法可使用128、192或256位长的密钥来加密或解密128位数据。
同时,ASIC厂商将这种AES IP核集成到电路中,从而制造SoC。然后,厂商检查核的性能,以测试SoC的性能。可通过外包来测试每个核。这里,外包指的是在每个核的周围形成的多个存储器(storage)。通过外包将数据输入至每个核中以测试性能,并通过外包输出来自每个核的输出数据。
图1是为了处理128位长数据而使用128位密钥的传统AES IP核的框图。如上所述,AES IP核可使用128、192或256位长的密钥来加密。Rijndal算法被设计用于128或更多位的数据,以及通过重复使用加密块而用于具有128或更多位长度的密钥,而FIPS受限为使得AES IP核可使用128、192或256位长的密钥来对128位数据进行加密。
参照图1,AES IP核10包括编码器200和解码器300。编码器200接收128位纯文本,并将接收的纯文本加密为128位加密文本。解码器300从编码器200接收加密文本,并将加密文本解码为128位纯文本。换句话说,图1中所示的AES IP核10具有使用相同密钥的对称结构,并使用128位长的密钥来加密和解密128位数据。
编码器200和解码器300可以彼此分离在不同区域上,如图1所示,但是它们一般被合并在一个IP核中。
图2和图3示出图1中所示的编码器和解码器的详细结构。
首先,参照作为编码器框图的图2,为了执行加密,编码器200包括控制器201、密钥扩展模块210、初始排列(permutation)模块220、循环(round)排列模块230和最终排列模块240。循环排列模块230在内部形成用于循环的环路。例如,在128位长的密钥的情况下,循环排列模块230重复十次128位长的密钥。如图所示,循环排列模块230使用经密钥扩展模块210输入的密钥来加密和输出经初始排列模块220输入的数据。
接下来,参照作为解码器框图的图3,为了执行解密,解码器300包括控制器301、密钥扩展模块310、密钥转换缓冲器(inverting buffer)315、初始排列模块320、循环排列模块330和最终排列模块340。密钥转换缓冲器315首先存储所有循环的密钥,并以相反顺序输出对于每个解密循环所存储的密钥。这里,与图2的循环排列模块类似,循环排列模块330在内部形成用于循环的环路。例如,在128位长的密钥的情况下,循环排列模块330重复十次128位长的密钥。
然而,包括AES IP核的传统IP核具有多个输入/输出(I/O)接口,从而它们由于管脚数量的限制而具有AES IP核的性能验证的限制。为此,需要一种能够在解决管脚数量的物理限制的同时验证AES IP核的方法。

发明内容
因此,本发明旨在提供一种集成电路,其能够包括用于测试高级加密标准(AES)知识产权(IP)核的外包,以执行自测试。
另外,本发明的目的在于提供一种用于自测试AES IP核的外包。
根据本发明的第一实施例,提供一种具有高级加密标准(AES)核的集成电路,该集成电路包括编码器,使用具有预定长度的第一密钥来对输入的纯文本加密;解码器,使用具有预定长度的第二密钥来对从所述编码器输入的加密文本解密;和比较器,将从所述编码器输入的纯文本与从所述解码器输出的纯文本进行比较,并输出比较结果。
优选地,所述集成电路具有三个1位输入信号和两个1位输出信号。所述三个输入信号包括时钟信号、重置信号和运行信号。所述两个输出信号包括第一信号,表示AES核的运行状态;和第二信号,表示在数据加密和解密期间产生的错误状态。
根据本发明的第二实施例,提供一种验证高级加密标准(AES)核的外包,其中AES核具有编码器,接收第一纯文本以创建加密文本;和解码器,将从所述编码器输入的加密文本解密为第二纯文本。该外包包括比较器,将所述编码器的纯文本与由所述解码器解密的纯文本进行比较,并输出比较结果;和AES产生器,产生输入至所述编码器和解码器的密钥,并提供输入至所述编码器和比较器的纯文本。
优选地,AES核包括三个输入信号,即时钟信号、重置信号和运行信号;以及两个输出信号,即第一信号和第二信号,所述第一信号表示AES核的运行状态,所述第二信号表示在数据加密和解密期间产生的错误状态。


图1是传统高级加密标准(AES)知识产权(IP)核的框图;图2是图1中所示的编码器的详细框图;图3是图1中所示的解码器的详细框图;及图4是根据本发明实施例的AES IP核的框图。
具体实施例方式
以下,将参照附图描述根据本发明典型实施例的具有高级加密标准(AES)核和验证AES核的外包的集成电路。
图4是根据本发明实施例的AES知识产权(IP)核的框图。如图4所示,除了图1所示的编码器200和解码器300之外,AES IP核400还包括AES产生器410和比较器420。
如图4所示,编码器200的输出端直接连接至解码器300的输入端。编码器200和解码器300都使用具有相同长度的密钥。优选地,密钥具有128位、192位和256位中的任一长度。
此时,在AES IP核400中仅使用一种密钥,并且所使用的密钥具有不变的值。在一实施例中,通过基于Verilog语言的参数声明对密钥分配128’hABCD_ABCD_ABCD_ABCD_ABCD_ABCD_ABCD_ABCD。
当AES IP核400被重置时,将密钥值加载到计数器405中。计数器405从0(空)至最大值(即,128)重复计数,并用于将128位纯文本输入至编码器200中。
编码器200加密从计数器输入的128位纯文本,并创建与纯文本具有相同大小的加密文本。解码器300将加密文本解密为与加密文本具有相同大小的纯文本。
AES产生器410向编码器200和解码器300提供具有相同长度的密钥,并向编码器200和随后将描述的比较器420提供具有相同大小的纯文本。优选地,AES IP核400具有三个1位输入信号和两个1位输出信号;所述三个输入信号包括时钟信号、重置信号和运行信号。
此时,在同时将时钟信号和开始信号施加于AES产生器410从而启动AES产生器410的运行的情况下,AES产生器410向编码器200和解码器300提供密钥,并向编码器200和比较器420提供纯文本。
另外,在AES产生器410由于错误而停止运行之后施加重置信号的情况下,AES产生器410通过提供密钥和纯文本而重新开始运行。
同时,在AES IP核400正常加密和解密数据的情况下,AES产生器410产生通知AES IP核400处于激活状态的第一信号,并向外部提供该第一信号。
比较器420接收从计数器输入至编码器200的纯文本,并将接收的纯文本与从解码器300输出的纯文本进行比较。作为比较的结果,当确定出现错误时,比较器420向外部输出通知该结果的第二信号。在这种情况下,AES IP核400停止运行,并执行重置操作,从而再次执行其运行。
在如上所述的实施例中,包括AES产生器410和比较器420的外包形成在包括编码器200和解码器300的IP核周围。因此,能够验证AES IP核400是否执行正常运行。
由上可以看出,根据本发明,与AES IP核一起形成有能够验证AES IP核性能的测试外包,从而可以在克服管脚数量限制的同时对AES IP核的性能进行测试。
另外,根据本发明,可以容易地制造包括AES IP核的ASIC芯片。
尽管参照本发明典型实施例已经示出并描述了本发明,但是所属领域技术人员可以理解的是,在不脱离由所附权利要求所限定的本发明的精神和范围的情况下,可以对其在形式和细节上进行各种改变。
权利要求
1.一种具有高级加密标准AES核的集成电路,该集成电路包括编码器,使用具有预定长度的第一密钥来对输入的纯文本加密;解码器,使用具有预定长度的第二密钥来对从所述编码器输入的加密文本解密;和比较器,将从所述编码器输入的纯文本与从所述解码器输出的纯文本进行比较,并输出比较结果。
2.根据权利要求1所述的集成电路,其中还包括AES产生器,产生输入至所述编码器和解码器的密钥,并提供输入至所述编码器和比较器的纯文本。
3.根据权利要求2所述的集成电路,其中每个密钥具有128位、192位和256位中的任一长度。
4.根据权利要求2所述的集成电路,其中所述AES产生器还包括计数器,将所述纯文本输入至所述编码器和比较器。
5.根据权利要求4所述的集成电路,其中所述计数器从0至根据每个纯文本的数据大小所确定的值重复计数。
6.根据权利要求2所述的集成电路,其中所述集成电路具有三个1位输入信号和两个1位输出信号。
7.根据权利要求6所述的集成电路,其中所述三个输入信号包括时钟信号、重置信号和运行信号。
8.根据权利要求7所述的集成电路,其中当同时将所述时钟信号和开始信号施加于所述AES产生器从而启动AES产生器的运行时,所述AES产生器向所述编码器和解码器提供所述密钥,并向所述编码器和比较器提供所述纯文本。
9.根据权利要求7所述的集成电路,其中当在所述AES产生器由于错误而停止运行之后施加所述重置信号时,所述AES产生器通过提供所述密钥和纯文本而重新开始运行。
10.根据权利要求6所述的集成电路,其中所述两个输出信号包括第一信号,表示AES核的运行状态;和第二信号,表示在数据加密和解密期间产生的错误状态。
11.根据权利要求10所述的集成电路,其中在AES核正常执行数据加密和解密时,所述AES产生器产生通知AES核处于激活状态的第一信号,并向外部提供所述第一信号。
12.根据权利要求10所述的集成电路,其中所述比较器接收从所述计数器输入至所述编码器的纯文本,将接收的纯文本与从所述解码器输出的纯文本进行比较,并且在比较结果确定出现错误时,向外部输出通知该比较结果的第二信号。
13.根据权利要求2所述的集成电路,其中输入至所述编码器和比较器的纯文本包括128位数据。
14.根据权利要求2所述的集成电路,其中输入至所述编码器和比较器的密钥具有相同的长度。
15.根据权利要求2所述的集成电路,其中AES核仅使用一个密钥,并且所使用的密钥具有不变的值。
16.一种验证高级加密标准AES核的外包,所述AES核具有编码器,接收第一纯文本以创建加密文本;和解码器,将从所述编码器输入的加密文本解密为第二纯文本,该外包包括比较器,将所述编码器的纯文本与由所述解码器解密的纯文本进行比较,并输出比较结果;和AES产生器,产生输入至所述编码器和解码器的密钥,并提供输入至所述编码器和比较器的纯文本。
17.根据权利要求16所述的外包,其中每个密钥具有128位、192位和256位中的任一长度。
18.根据权利要求16所述的外包,其中所述AES产生器还包括计数器,将所述纯文本输入至所述编码器和比较器。
19.根据权利要求18所述的外包,其中所述计数器从0至根据每个纯文本的数据大小所确定的值重复计数。
20.根据权利要求16所述的外包,其中AES核包括三个输入信号,即时钟信号、重置信号和运行信号;以及两个输出信号,即第一信号和第二信号,所述第一信号表示AES核的运行状态,所述第二信号表示在数据加密和解密期间产生的错误状态。
全文摘要
本发明公开一种具有高级加密标准(AES)核的集成电路。该集成电路包括编码器,使用具有预定长度的第一密钥来加密输入的纯文本;解码器,使用具有预定长度的第二密钥来解密从所述编码器输入的加密文本;和比较器,将从所述编码器输入的纯文本与从所述解码器输出的纯文本进行比较,并输出比较结果。
文档编号H04L9/06GK1996830SQ20061017010
公开日2007年7月11日 申请日期2006年12月22日 优先权日2005年12月28日
发明者尼廷·萨尔古南 申请人:东部电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1