计算分组密码的设备和方法技术

技术编号:20929535 阅读:16 留言:0更新日期:2019-04-20 12:37
一些实施例涉及一种被布置成在输入消息(110)上计算分组密码的加密设备(100)。所述设备通过将跟随有一个或多个额外分组密码轮的多个分组密码轮顺序地应用到输入消息通过计算并且重新计算多个中间分组密码结果中的第一中间分组密码结果(151)来计算多个中间分组密码结果。多个求平均函数被应用到所述多个中间分组密码结果,其结果被相加,在此之后,应用所述一个或多个额外分组密码轮的逆。

Devices and methods for computing block ciphers

Some embodiments relate to an encryption device (100) arranged to compute block ciphers on an input message (110). The device calculates multiple intermediate block cipher results by sequentially applying multiple block cipher rounds following one or more additional block cipher rounds to input messages by calculating and recalculating the first intermediate block cipher result (151) of multiple intermediate block cipher results. A plurality of averaging functions are applied to the results of the plurality of intermediate block ciphers, and the results are added, after which the inverse of the one or more additional block cipher wheels is applied.

【技术实现步骤摘要】
【国外来华专利技术】计算分组密码的设备和方法
本专利技术涉及一种被布置成计算分组密码(blockcipher)的加密设备、一种被布置成计算分组的加密方法以及一种计算机可读介质。
技术介绍
在由S.Chow等人的论文“AWhite-BoxDESImplementationforDRMApplications”中提出了数据加密标准(DES)的白盒实施方案(在下文中被称为‘Chow’并且通过引用并入本文)。白盒实施方案是被设计为抵御白盒背景下的攻击的密码实施方案。在白盒背景下,攻击者对软件实施和执行具有完全可见性。然而,即便如此,所述白盒实施方案旨在防止从程序中提取秘密密钥。Chow形成了完全由表查找操作构成的DES的实施方案。通过若干中间方法,正常密码被转换为这种形式的实施方案,使得表网络能够被用于计算DES。通过将表编码在表网络中,系统对于分析和攻击的抵抗力增加。尽管使用表网络的白盒实施难以进行分析,但是分组密码的基于表的实施方案可能仍然易受一些攻击。专利技术人认识到:即使密钥可能不直接地从观察白盒实施中的变量而导出,对变量的访问也可能被用于执行先前仅从物理攻击的领域中已知的攻击。例如,在由Biham等人的论文“DifferentialFaultAnalysisofSecretKeyCryptosystems”中,通过改变使DES计算产生不正确结果的电源电压而在智能卡中引入瞬态故障。通过分析起因于瞬态故障的错误,获得了关于秘密密钥的信息。专利技术人认识到:这样的物理故障攻击可以适于攻击白盒实施。即使从对于攻击者可见的变量的分析获得秘密信息是不可能的,攻击者也可能能够通过修改编码的变量以试图模仿物理攻击来导出秘密信息。对变量的故意修改充当瞬态故障。实际上,结果表明,抵御特定于白盒模型的其他攻击(例如,存储器刮擦、碰撞攻击)的白盒实施可能仍然易受故障攻击。针对差分故障攻击在现有技术中引入的措施证明在白盒模型中无效;例如,在美国专利US8386791B2中,‘Securedataprocessingmethodbasedparticularlyonacryptographicalgorithm’,通过引用并入本文。分组密码DES被应用于输入数据两次。然后,比较两个计算的结果。如果其是不相等的,则已经检测到故障。在白盒模型中,容易规避该对策。例如,可以禁用第二执行或者比较,或者可以将相同故障引入DES的两个副本中。存在对于当在白盒模型中被攻击时能够被更好地保护的新DFA对策的需求。
技术实现思路
提出了一种计算分组密码的设备。分组密码结果被计算多次,并且所述结果被组合。通过在所述组合的步骤之前和之后插入额外分组密码轮(round),确保了故障在所述分组密码结果中扩散。该构造减少了在所述程序中任何地方引入故障之后能够从所观察到的最后输出中导出的信息。在所述分组密码的秘钥相关轮中由攻击者引入的故障在所述分组密码结果中直接地显得更少。因此,攻击者具有更少机会从其中导出信息,因此,使DFA攻击复杂。可以防止故障攻击的备选方式是使用联合编码的变量来联合地计算重新计算以及初始计算,例如,其中,被用在所述初始计算中的变量与被用在所述重新计算中的变量被联合地编码。这导致在表驱动的实施方案中的大的表或者在多项式实施方案中的许多多项式系数。但是这样的联合编码在实施例中不是必要的。因此,较小的实施方案变得可能,例如,利用较小的表。根据本专利技术的实施例的另一优点是更高效的扩散,因为在本专利技术中,在所述故障之后的任何分组密码轮通过所述分组密码结果添加到所述故障的扩散。有助于所述扩散不仅仅是所述额外分组密码轮,并且还有在所述故障之后的任何轮,包括所述分组密码的任何常规轮。因此,需要更少的额外轮。所述分组密码设备是电子设备。例如,其可以是移动电子设备,例如,移动电话。所述设备可以是机顶盒、智能卡、计算机等。在本文中所描述的计算分组密码的所述设备和方法可以应用在各种各样的实际应用中。这样的实际应用包括:数字权限管理、金融应用、计算机安全等。根据本专利技术的方法可以在计算机上被实施为计算机实施的方法,或者在专用硬件中实施,或者以这两者的组合来实施。针对根据本专利技术的方法的可执行代码可以被存储在计算机程序产品上。计算机程序产品的范例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,所述计算机程序产品包括被存储在计算机可读介质上的非瞬态程序代码,当所述程序产品在计算机上被运行时,所述非瞬态程序代码用于执行根据本专利技术的方法。在优选实施例中,所述计算机程序包括计算机程序代码,当所述计算机程序在计算机上被运行时,所述计算机程序代码适于执行根据本专利技术的方法的所有步骤。优选地,所述计算机程序被实施在计算机可读介质上。本专利技术的另一方面提供了一种使所述计算机程序可供下载的方法。当所述计算机程序被上载到例如Apple的AppStore、Google的PlayStore或者Microsoft的WindowsStore中时并且当所述计算机程序可用于从这样的商店下载时使用该方面。附图说明将仅通过范例的方式参考附图来描述本专利技术的另外的细节、方面和实施例。附图中的元素是为了简单和清晰而图示的并且不一定是按比例绘制的。在附图中,与已经描述的元件相对应的元件可以具有相同的附图标记。在附图中:图1a示意性示出了加密设备的实施例的范例,图1b示意性示出了加密设备的实施例的范例,图1c示意性示出了加密设备的实施例的范例,图2示意性示出了加密设备的实施例的范例,图3示意性示出了加密方法的实施例的范例,图4示意性示出了常规分组密码计算的范例,图5a示意性示出了分组密码计算的实施例的范例,图5b示意性示出了分组密码计算的实施例的范例,图6a示意性示出了根据实施例的具有包括计算机程序的可写部分的计算机可读介质,图6b示意性示出了根据实施例的处理器系统的表示。附图标记列表,在图1-2中:100、101、102加密设备105输入接口110输入消息120、121、122初始分组密码轮单元131、132、133最后分组密码轮单元141、142、143额外分组密码轮单元151、152、153中间分组密码结果161、162、163求平均函数单元170加法单元180逆(inverse)额外分组密码轮单元190分组密码结果195输出接口200加密设备231、232最后分组密码轮单元241、242额外分组密码轮单元246、247另外的额外分组密码轮单元251、252另外的中间分组密码结果261、262另外的求平均函数单元270加法单元280逆另外的额外分组密码轮单元具体实施方式尽管本专利技术容许有许多不同形式的实施例,但是在附图中示出了并且将在本文中详细描述一个或多个特定实施例,并且理解本公开将被认为是本专利技术的原理的范例,而并不旨在将本专利技术限于所示和所描述的特定实施例。在下文中,出于理解的缘故,描述了实施例的在操作中的元件。然而,将明显的是,各个元件被布置成执行被描述为由其执行的功能。此外,本专利技术并不限于实施例,并且本专利技术在于每个以及每种新颖的特征或者上文所描述的或在相互不同的从属权利要求中记载的特征的组合。图4表示通过连续地应用轮函数R0,R1,K,R9而将输入x变换为输出y的常规计算。中间状态被表示为x0K,x8。在该特定本文档来自技高网
...

【技术保护点】
1.一种被布置成在输入消息(110)上计算分组密码的加密设备(100),所述分组密码包括多个分组密码轮(R0,...,R9),所述设备包括:‑输入接口(105),其被配置为接收输入消息,‑处理器电路,其被配置为:‑通过以下操作来计算多个中间分组密码结果:‑通过将跟随有一个或多个额外分组密码轮(R10;R10,...,R12)的所述多个分组密码轮(R0,...,R9)顺序地应用到所述输入消息,来计算所述多个中间分组密码结果中的第一中间分组密码结果(151),并且‑通过重新计算跟随有所述一个或多个额外分组密码轮(R10;R10,...,R12)的所述多个分组密码轮中的最后分组密码轮(R7,R8,R9)中的至少一个,来计算所述多个中间分组密码结果中的另外的中间分组密码结果(152、153),‑将多个求平均函数(T0,T1)应用到所述多个中间分组密码结果,所述多个求平均函数已经被选择为使得所述多个求平均函数的函数加和等于恒等函数,‑将所述多个求平均函数的结果相加,并且‑应用所述一个或多个额外分组密码轮的逆,分组密码结果(190)是根据所述逆的结果来获得的。

【技术特征摘要】
【国外来华专利技术】2017.06.09 EP 17175161.31.一种被布置成在输入消息(110)上计算分组密码的加密设备(100),所述分组密码包括多个分组密码轮(R0,...,R9),所述设备包括:-输入接口(105),其被配置为接收输入消息,-处理器电路,其被配置为:-通过以下操作来计算多个中间分组密码结果:-通过将跟随有一个或多个额外分组密码轮(R10;R10,...,R12)的所述多个分组密码轮(R0,...,R9)顺序地应用到所述输入消息,来计算所述多个中间分组密码结果中的第一中间分组密码结果(151),并且-通过重新计算跟随有所述一个或多个额外分组密码轮(R10;R10,...,R12)的所述多个分组密码轮中的最后分组密码轮(R7,R8,R9)中的至少一个,来计算所述多个中间分组密码结果中的另外的中间分组密码结果(152、153),-将多个求平均函数(T0,T1)应用到所述多个中间分组密码结果,所述多个求平均函数已经被选择为使得所述多个求平均函数的函数加和等于恒等函数,-将所述多个求平均函数的结果相加,并且-应用所述一个或多个额外分组密码轮的逆,分组密码结果(190)是根据所述逆的结果来获得的。2.根据权利要求1所述的加密设备,其中,额外分组密码轮是通过改变轮密钥而从所述多个分组密码轮中的分组密码轮获得的。3.根据前述权利要求中的任一项所述的加密设备,其中,所述多个求平均函数中的至少一个求平均函数是可逆的。4.根据前述权利要求中的任一项所述的加密设备,其中,中间分组密码结果包括多个数据元素,求平均函数对所述数据元素逐分量地起作用。5.根据前述权利要求中的任一项所述的加密设备,其中,求平均函数是线性的。6.根据前述权利要求中的任一项所述的加密设备,其中,除了所述多个求平均函数之一之外的全部求平均函数已经从求平均函数的较大集合中随机地选择,并且其中,最后求平均函数已经被计算为所述恒等函数与所选择的求平均函数的函数差。7.根据前述权利要求中的任一项所述的加密设备,其中,应用所述多个分组密码轮包括应用一个或多个虚设轮。8.根据前述权利要求中的任一项所述的加密设备,其中,所述中间分组密码结果中的至少一个中间分组密码结果是在编码的变量上计...

【专利技术属性】
技术研发人员:R·里特曼M·P·博德拉恩德S·J·A·德雷赫
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:荷兰,NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1