用于加密和/或解密数据的处理器和使用这样的处理器加密和/或解密数据的方法

文档序号:7606554阅读:109来源:国知局
专利名称:用于加密和/或解密数据的处理器和使用这样的处理器加密和/或解密数据的方法
技术领域
本发明涉及一种用于加密和/或解密数据的处理器和一种使用这样的处理器加密和/或解密数据的方法,该处理器具有在权利要求1和11的前序部分中提到的特征。
Rijndael算法,其已经被美国国家标准与技术研究所(NIST)选择作为高级加密标准(AES),该算法由两个主要部分组成计算用于各个加密舍入(rounding)操作的密钥的密钥调度部分和实际的加密与解密部分。到目前为止存在两个类型的AES协处理器。或者在加密/解密之前计算(预先计算)全部舍入密钥,由此,需要大容量存储区以存储该舍入密钥,或者在每个加密舍入操作之前计算该舍入密钥,而这样做的结果已经知道在执行该操作时计算舍入密钥,由此在密钥产生时容易被攻击。因为递归算法被用于密钥产生,为此在这种情况下也需要相对大容量的存储区。
本发明的目的是提供一种用于加密和/或解密数据的处理器和一种使用这样的处理器加密和/或解密数据的方法,其特征在于它比先前已知的技术具有更低的存储器需求以及阻止对舍入密钥产生攻击的更大安全性。具体地,本发明的目的是提供一种AES协处理器和一种具有所述性能的AES计算方法。
根据本发明该目的通过具有权利要求1中提到的特征的处理器和具有权利要求11提到的特征的加密和/或解密数据方法来实现。根据本发明的处理器,其特征在于一个控制装置经由至少一个通信设备被连接到至少一个加密/解密设备,该控制装置经由至少一个另外的通信设备被连接到至少一个舍入密钥产生设备,该控制装置具有至少一个外部密钥输入端,该至少一个加密/解密设备具有至少一个外部数据输入端和至少一个外部数据输出端,并且该至少一个加密/解密设备和该至少一个舍入密钥产生设备被互相去耦合。因此既没有在至少一个加密/解密设备和至少一个舍入密钥产生设备之间的直接数据通路,也没有至少一个舍入密钥产生设备到外界的直接连接。因此仅仅通过顺序控制或该至少一个加密/解密设备才可以访问该至少一个舍入密钥产生设备。从而实现了与必要的小存储区相结合、阻止对舍入密钥产生的攻击而增加的安全性,小的存储区仅仅用于容纳递归密钥计算暂时需要的数据。
在本发明一个优选的实施例中,提供至少一个通信设备,该通信设备包括至少一个请求线路,至少一个释放线路和至少一个数据线路,和/或至少一个另外的通信设备,该通信设备包括至少一个另外的请求线路,至少一个另外的释放线路和至少一个另外的数据线路。由此方便地实现特别有利的性能,结果是根据本发明的该处理器适合于按照简单的方式实现许多控制算法。
此外,在本发明一个优选的实施例中,提供至少一个请求线路,至少一个释放线路和至少一个数据线路和/或至少一个另外的请求线路,至少一个另外的释放线路和至少一个至少部分地使用相同物理线路的另外的数据线路。用这种方法,有利地实现了所需安装空间的最小化以及由此增加的节约。
此外,在本发明的一个优选的实施例中,提供一种控制装置,该控制装置包括至少一个存储设备,其中通过该至少一个舍入密钥产生设备产生的至少一个舍入密钥可以被暂时存储。因此必要的存储区是小的并且仅仅依赖于递归深度。用这种方法,所需要的安装空间被最小化,结果增加了节约。
此外,在本发明的一个优选实施例中,提供至少一个旋转指针用于访问至少一个存储设备。因此已经被读取的存储区能按照一种简单的方式释放,以用于用新的舍入密钥写入,这是因为根据该指针仅仅对已经被读取的区域进行写入,并且仅仅对已经写入有效关键字的区域进行读取。结果是,所需要的存储区可以保持较小。
此外,在本发明的一个优选实施例中提供至少一个握手协议,用于控制装置与至少一个加密/解密设备和/或与至少一个舍入密钥产生设备进行通信。由此获得加密/解密设备和/或舍入密钥产生设备的临时无效状态(inactivity),结果使密钥产生时更难受到攻击。
此外,在本发明的一个优选实施例中,提供了控制装置的操作模式,至少一个加密/解密设备的操作模式和至少一个舍入密钥产生设备的操作模式彼此之间异步。从而,使密钥产生时更难受到攻击。
在本发明的一个优选实施例中,提供了在至少一个无效状态期间,至少一个空的计算和/或至少一个先前的舍入密钥计算的至少一部分可以通过至少一个舍入密钥产生设备执行。这对阻止对密钥产生的攻击给出了额外的保护。
另外,在本发明的一个优选实施例中,在计算和使用至少一个舍入密钥之间的时间是可变的。由此有利地使得对于舍入密钥计算的攻击更加困难。
优选的是,根据本发明的用于加密和/或解密数据的处理器被具体化为AES协处理器并且使用这样的协处理器。
使用根据本发明处理器的加密和/或解密数据的方法,其特征在于a)将至少一个初始密钥读取到控制装置中,b)将外部数据读取到至少一个加密/解密设备中,c)从该控制装置的至少一个存储设备中读取计算至少一个舍入密钥所需要的至少一个数据字,并且将该至少一个数据字转移到至少一个舍入密钥产生设备,d)根据至少一个数据字通过至少一个舍入密钥产生设备递归地计算至少一个舍入密钥,将该至少一个舍入密钥转移到控制装置并且保存在至少一个存储设备中,e)该至少一个舍入密钥被转移到至少一个加密/解密设备中,f)通过至少一个加密/解密设备使用至少一个舍入密钥来加密或解密该外部数据,并且使该被加密或解密的数据在至少一个外部数据输出端是有效的,并且g)每当必须加密或解密一组外部数据时重复步骤b)到f)。
因此既没有在至少一个加密/解密设备和至少一个舍入密钥产生设备之间的直接数据通路,也没有至少一个舍入密钥产生设备到外界的直接连接。因此仅仅通过顺序控制或至少一个加密/解密设备就可以实现对该至少一个舍入密钥产生设备的访问。从而实现了与必要的小存储区相结合、阻止对舍入密钥产生的攻击而增加的安全性,该小的存储区仅仅用于容纳递归密钥计算暂时需要的数据。
在根据本发明的方法的范围内,优选地提供了通过至少一个握手协议,实现控制装置与至少一个加密/解密设备和/或与至少一个舍入密钥产生设备的通信。由此获得加密/解密设备和/或舍入密钥产生设备的临时无效状态,结果使得对于密钥产生的攻击更加困难。
此外,在根据本发明的方法的范围内,优选地提供了控制装置与至少一个加密/解密设备以及与至少一个舍入密钥产生设备的异步通信。从而,使得对于密钥产生的攻击更加困难。
此外,在根据本发明的方法的范围内,优选地提供了通过至少一个旋转指针实现对至少一个存储设备的访问。因此已经被读取的存储区能按照一种简单的方式被释放,以用于用新的舍入密钥写入,这是因为根据该指针仅仅对已经被读取的区域进行写入,并且仅仅对已经写入有效关键字的区域进行读取。结果,需要的存储区可以被保持比较小。
此外,在根据本发明的方法的范围内,优选地提供了在至少一个无效状态期间,至少一个空的计算和/或至少一个先前的舍入密钥计算的至少一部分可以通过至少一个舍入密钥产生设备执行。这对阻止对密钥产生的攻击给出了额外的保护。
另外,在根据本发明的方法的范围内,优选地在计算和使用至少一个舍入密钥之间的时间是可变的。由此有利地使得对于舍入密钥计算的攻击更加困难。
最后,根据本发明的加密和/或解密的方法可以优选地被具体化为使用根据本发明的处理器进行AES计算的方法,该处理器被具体化为AES协处理器并且使用这样的处理器。
在从属权利要求中提到的其它特征中给出了本发明更进一步的优选限定。
参考附图
示出的实施例的例子,将进一步描述本发明,然而本发明并不限于此。
该图示出了AES协处理器。
该图示出了根据本发明的AES协处理器10的一个实施例的方框图。该AES协处理器10包括控制装置12,加密/解密设备14和舍入密钥产生设备18,其中控制装置12经由通信设备16连接到加密/解密设备14并且经由一个另外的通信设备20连接到舍入密钥产生设备18。该通信设备16和该另外的通信设备20每个都具有一个请求线路和一个释放线路以及还具有用于发射舍入密钥的一个数据线路,该舍入密钥产生设备18经由一个附加的用于发射中间结果的数据线路连接到控制装置12,该中间结果用于递归计算该舍入密钥。该控制装置12包括存储设备28,用于暂时容纳初始密钥(该初始密钥经由外部密钥输入端22引入控制装置),舍入密钥以及递归的中间结果。没有舍入密钥可以被保存在加密/解密设备14或舍入密钥产生设备18中。该分组-加密/解密设备14,控制装置12和舍入密钥产生设备18(它们彼此之间相对异步地操作)通过握手协议通信,在加密/解密设备14和舍入密钥产生设备18之间没有直接的数据连接。在AES计算开始的时候,全部三个分组并行启动。在加密/解密设备14中经由外部数据输入端24读取外部数据,并且经由外部密钥输入端22将初始密钥读取到控制装置12中。该加密/解密设备14和舍入密钥产生设备18都发射请求到控制装置12,表明需要输入数据,并且等待直到满足这些请求。就第一加密/解密舍入操作而论,舍入密钥产生设备18具有优先级,也就是该递归算法需要的数据字从存储设备28中读取。该优先级可以被换成更进一步的舍入操作。一旦关键字已经被计算,将这些数据字写到存储设备28的请求被送到控制装置12。舍入密钥产生设备18等待,直到已经满足这些请求。然后实际的舍入密钥被送到加密/解密设备14,并且外部数据在加密/解密设备14内被加密或解密,并且使得该外部数据在外部数据输出端26有效。为了保持所需要的存储区较小并且节省硅面积,用旋转指针执行该方法,旋转指针释放那些已经被读取的区域,以便其它的舍入密钥可以被写入其中。凭借根据本发明的设备,实现了与先前已知的技术相比更低的存储器需求及更大的安全性来阻止对舍入密钥产生的攻击。
权利要求
1.用于加密和/或解密数据的处理器,其中控制装置(12)经由至少一个通信设备(16)连接到至少一个加密/解密设备(14),该控制装置(12)经由至少一个另外的通信设备(20)连接到至少一个舍入密钥产生设备(18),该控制装置(12)具有至少一个外部密钥输入端(22),该至少一个加密/解密设备(14)具有至少一个外部数据输入端(24)和至少一个外部数据输出端(26),并且该至少一个加密/解密设备(14)和该至少一个舍入密钥产生设备(18)被互相去耦合。
2.如权利要求1所述的处理器,其特征在于至少一个通信设备(16),包括至少一个请求线路,至少一个释放线路和至少一个数据线路和/或至少一个另外的通信设备(20)包括至少一个另外的请求线路,至少一个另外的释放线路和至少一个另外的数据线路。
3.如前面任何一个权利要求所述的处理器,其特征在于至少一个请求线路,至少一个释放线路和至少一个数据线路和/或至少一个另外的请求线路,至少一个另外的释放线路和至少一个另外的数据线路至少部分地使用相同的物理线路。
4.如前面任何一个权利要求所述的处理器,其特征在于控制装置(12)包括至少一个存储设备(28),其中通过至少一个舍入密钥产生设备(18)产生的至少一个舍入密钥可以被暂时存储。
5.如权利要求4所述的处理器,其特征在于提供至少一个旋转指针用于对至少一个存储设备(28)进行访问。
6.如前面任何一个权利要求所述的处理器,其特征在于提供至少一个握手协议用于控制装置(12)与至少一个加密/解密设备(14)和/或与至少一个舍入密钥产生设备(18)进行通信。
7.如前面任何一个权利要求所述的处理器,其特征在于控制装置(12)的操作模式,至少一个加密/解密设备(14)的操作模式和至少一个舍入密钥产生设备(18)的操作模式彼此之间异步。
8.如前面任何一个权利要求所述的处理器,其特征在于在至少一个无效状态期间,至少一个空的计算和/或至少一个先前的舍入密钥计算的至少一部分可以通过至少一个舍入密钥产生设备(18)执行。
9.如前面任何一个权利要求所述的处理器,其特征在于在计算和使用至少一个舍入密钥之间的时间是可变的。
10.如前面任何一个权利要求所述的处理器,其特征在于所述处理器被具体化为AES协处理器。
11.一种使用权利要求1到9的至少一个中所述的处理器来加密和/或解密数据的方法,其中a)将至少一个初始密钥读取到控制装置,b)将外部数据读取到至少一个加密/解密设备,c)从该控制装置的至少一个存储设备中读取计算至少一个舍入密钥所需要的至少一个数据字,并且将该至少一个数据字转移到至少一个舍入密钥产生设备,d)根据至少一个数据字通过至少一个舍入密钥产生设备递归地计算至少一个舍入密钥,将该至少一个舍入密钥转移到控制装置并且保存在至少一个存储设备中,e)该至少一个舍入密钥被转移到至少一个加密/解密设备中,f)通过至少一个加密/解密设备使用至少一个舍入密钥来加密或解密该外部数据,并且使该被加密或解密的数据在至少一个外部数据输出端是有效的,并且g)每当需要加密或解密一组外部数据时重复步骤b)到f)。
12.如权利要求11所述的方法,其特征在于控制装置与至少一个加密/解密设备和/或至少一个舍入密钥产生设备的通信通过至少一个握手协议来实现。
13.一种如权利要求11和12中的任何一个所述的方法,其特征在于控制装置与至少一个加密/解密设备和至少一个舍入密钥产生设备的通信异步实现。
14.一种如权利要求11到13中的任何一个所述的方法,其特征在于通过至少一个旋转指针对至少一个存储设备进行访问。
15.一种如权利要求11到14中的任何一个所述的方法,其特征在于在至少一个无效状态期间,至少一个空的计算和/或至少一个先前的舍入密钥计算的至少一部分通过至少一个舍入密钥产生设备执行。
16.一种如权利要求11到15中的任何一个所述的方法,其特征在于在计算和使用至少一个舍入密钥之间的时间是可变的。
17.一种如权利要求10到16中的任何一个所述的方法,其特征在于该方法被具体化为一种使用如权利要求10所述的AES协处理器的AES计算方法。
全文摘要
本发明目的在于提供一种用于加密和/或解密数据的处理器和一种使用这样的处理器来加密和/或解密数据的方法,特征在于与先前已知的技术相比具有更低的存储器需求并且更安全地阻止对舍入密钥产生的攻击,并且优选的被分别具体化为AES协处理器和AES计算方法,本发明提供一种控制装置(12),经由至少一个通信设备(16)连接到至少一个加密/解密设备(14),该控制装置(12)经由至少一个另外的通信设备(20)被连接到至少一个舍入密钥产生设备(18),该控制装置(12)具有至少一个外部密钥输入端(22),该至少一个加密/解密设备(14)具有至少一个外部数据输入端(24)和至少一个外部数据输出端(26),并且该至少一个加密/解密设备(14)和该至少一个舍入密钥产生设备(18)被互相去耦合。根据本发明的方法将至少一个初始密钥读取到控制装置中,将外部数据读取到至少一个加密/解密设备中,从该控制装置的至少一个存储设备中读取计算至少一个舍入密钥所需要的至少一个数据字,并且将该至少一个数据字转移到至少一个舍入密钥产生设备,根据至少一个数据字通过至少一个舍入密钥产生设备递归地计算至少一个舍入密钥,将该至少一个舍入密钥转移到控制装置并且保存在至少一个存储设备中,该至少一个舍入密钥被转移到至少一个加密/解密设备中,通过至少一个加密/解密设备使用至少一个舍入密钥来加密或解密该外部数据,并且使该加密或解密的数据在至少一个外部数据输出端是有效的,并且每当必需加密或解密一组外部数据时,重复这些步骤。
文档编号H04L9/06GK1806409SQ200480016206
公开日2006年7月19日 申请日期2004年6月7日 优先权日2003年6月12日
发明者T·罗特舍弗, M·瓦格纳 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1