用于计算块密码的密码设备制造技术

技术编号:16935767 阅读:53 留言:0更新日期:2018-01-03 06:17
一种用于对块密码输入(105)计算块密码(500)并产生块密码输出(106)的密码设备(100),块密码计算对编码值(210)操作,密码设备包括用于应用实现块密码的多轮密码处理的最后一轮(118)的轮函数单元(140;300)、用于对编码输出数据(132,152)解码的第一输出单元(160)和第二输出单元(180)。

Cryptographic devices used to calculate block ciphers

A method for block cipher input (105) calculation of block cipher (500) and (106) the output of the block cipher encryption device (100), a block cipher calculation for the encoding value (210), the password is included for application of block cipher cipher processing multiple rounds of the final round of the round (118) function unit (140; 300), used for encoding the output data (132152) the first decoded output unit (160) and a second output unit (180).

【技术实现步骤摘要】
【国外来华专利技术】用于计算块密码的密码设备专利
本专利技术涉及用于计算块密码的密码设备、用于计算块密码的密码方法、计算机系统和计算机可读介质。
技术介绍
在S.Chow等人的论文“AWhite-BoxDESImplementationforDRMApplications”中,提出数据加密标准(DES)的白盒实现(在下面被称为“Chow”并通过引用被并入本文)。白盒实现是设计成抵抗在白盒上下文中的攻击的密码实现。在白盒上下文中,攻击者具有对软件实现和执行的完全可见性。然而,即便如此,白盒实现旨在防止从程序提取密钥。Chow形成完全由表查找操作组成的DES的实现。通过几个中间方法,正常密码转换成以这种形式的实现。输入和输出编码用于保护所有这些表。
技术实现思路
专利技术人发现,块密码的基于表的实现可能仍然易受一些攻击。专利技术人认识到,即使可能不从观察在白盒实现中的变量直接导出密钥,对变量的访问可用于执行以前只从物理攻击的领域已知的攻击。例如,在Biham等人的论文“DifferentialFaultAnalysisofSecretKeyCryptosystems”中,通过改变电源电压来在智能卡中引入短暂的故障,使DES计算产生不正确的结果。通过分析导致的错误,得到关于密钥的信息。专利技术人有下面的见识:这样的物理故障攻击可能适合于攻击白盒实现。即使不可能从对攻击者可见的变量的分析得到秘密信息,攻击者可能仍然能够通过修改编码变量来导出秘密信息以试图仿真物理攻击。在实验中,专利技术人确实能够通过有意修改变量来发现在Chow中所述的DES白盒实现中使用的密钥。变量的有意修改充当暂时故障。专利技术人发现,增加复杂性的对策能够渐增地阻止对白盒DES实现的故障攻击或完全彻底地避免它们。提出了一种用于计算块密码的密码设备,其具有在轮函数之前和在对编码值解码的输出单元之前的防篡改移位函数。微分故障攻击被这些功能阻止,因为它们限制了可被做出的修改以及从因而产生的错误学到的东西。本专利技术由独立权利要求限定;从属权利要求限定有利的实施例。密码设备是电子设备,且可以是移动电子设备,例如移动电话、机顶盒、计算机等。可在广泛范围的实际应用中应用本文所述的密码设备。这样的实际应用包括银行业务应用、内容保护系统、通信系统等。根据本专利技术的方法可在计算机上作为计算机实现的方法或在专用硬件中或在这两者的组合中被实现。根据本专利技术的方法的可执行代码可存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的非临时程序代码装置,以用于在所述程序产品在计算机上被执行时执行根据本专利技术的方法。在优选实施例中,计算机程序包括适合于在计算机程序在计算机上运行时执行根据本专利技术的方法的所有步骤的计算机程序代码装置。优选地,计算机程序体现在计算机可读介质上。本专利技术的另一方面提供了一种制造可用于下载的计算机程序的方法。当计算机程序被上传到例如苹果的AppStore、谷歌的PlayStore或微软的WindowsStore时以及当计算机程序可用于从这样的商店下载时,使用这个方面。附图说明将参考附图仅作为示例来描述本专利技术的另外的细节、方面和实施例。附图中的元件为了简单和清楚而图示出,且并不一定按比例绘制。在附图中,与已经描述的元件相应的元件可具有相同的参考数字。在附图中,图1示意性示出密码设备的实施例的示例,图2.1示意性示出编码值的实施例的示例,图2.2示意性示出编码的实施例的示例,图2.3示意性示出第一编码输入的实施例的示例,图2.4示意性示出第二编码输入的实施例的示例,图2.5示意性示出编码输出的实施例的示例,图2.6示意性示出防篡改移位函数的实施例的示例,图2.7示意性示出编码子值序列的实施例的示例,图2.8示意性示出防篡改移位子函数的实施例的示例,图3示意性示出轮函数的实施例的示例,图4示意性示出第一输出单元的实施例的示例,图5示意性示出第二输出单元的实施例的示例,图6.1示意性示出DES块密码的实施例的示例,图6.2示意性示出DES轮函数的实施例的示例,图7示意性示出用于计算块密码的方法的实施例的示例,图8a示意性示出根据实施例的具有包括计算机程序的可写部分的计算机可读介质,图8b示意性示出根据实施例的处理器系统的表示。在附图和详细描述中,使用参考数字、首字母缩写词和公式。下面概述与图1-5有关的那些项。数字首字母缩写词公式概述100密码设备105BCIP块密码输入106BCOP块密码输出108ENCBCIP块密码输入的编码112,114,116BCR.1,BRC.n-2,BRC.n-1块密码轮118最后块密码轮120ENCIP1第一编码输入122DTIP1第一数据输入124STIP1第一状态输入130ENCIP2第二编码输入132DTIP2编码第二数据输入134STIP2第二状态输入140RFU轮函数单元150ENCOP编码输出152DTOP编码输出150的数据值154STOP编码输出150的状态值160OU1第一输出单元162BCO1块密码输出106的第一部分180OU2第二输出单元182BCO2块密码输出106的第二部分190ENU编码器单元210ENCV编码值210.1,...,210.8ENC.1V,...,ENC.8V编码子值211编码值212DT数据值212.1,...,212.8DT.1,...,DT.8数据子值214.1,...,214.8ST.1,...,ST.8状态子值213数据值214ST状态值215状态值220TRSF抗篡改移位函数220.1TRSF.1,抗篡改移位子函数222预期状态值222.1预期状态子值224SFTV移位值224.1SFTV.1移位值225连接230ADD加法器230.1ADD.1加法器240SFTENCV移位编码值240.1SFTENC.1V移位编码子值242DT移位编码值240的数据值242.1DT.1数据子值244ST移位编码值240的状态值244.1ST.1状态子值300RFU轮函数单元320ITRSF内部抗篡改移位函数322预期状态值324SFTV移位值330ADD加法器342DTFUN数据轮函数单元344STFUN状态轮函数单元420TRSF1第一输出抗篡改移位函数422预期状态值424SFTV移位值430ADD加法器440输出解码500块密码520TRSF2第二输出抗篡改移位函数522预期状态值524SFTV移位值530ADD加法器540输出解码。具体实施方式虽然本专利技术以以很多不同形式的实施例的影响,但是在附图中示出并将在本文详细地描述一个或多个具体的实施例,并理解本公开应被考虑为本专利技术的原理的示范例且并不意欲将本专利技术限制到所示和所述的具体实施例。在下文中,为了理解起见,在操作中描述实施例的元件。然而,将显而易见的是,相应的元件布置成执行被描述为由它们执行的功能。图1示意性示出密码设备100的实施例的示例。参考图2-5示出密码设备100的细节的可能实施例。密码设备100配置成对块密码输入105计算块密码并产生块密码输出106。块密码具有对输入连续地操作以产生输出的多轮。如下面进一步所解释的,如例如在Feistel型密码中使用的,块密码(对本文档来自技高网...
用于计算块密码的密码设备

【技术保护点】
一种用于对块密码输入(105)计算块密码(500)并产生块密码输出(106)的密码设备(100),所述块密码计算对编码值(210)操作,编码值(210)是数据值(

【技术特征摘要】
【国外来华专利技术】2015.04.30 EP 15166051.11.一种用于对块密码输入(105)计算块密码(500)并产生块密码输出(106)的密码设备(100),所述块密码计算对编码值(210)操作,编码值(210)是数据值(212)连同状态值(214)一起的密码的和可逆的编码,所述密码设备布置成对所述块密码输入(108)的编码应用实现所述块密码的多轮(112,114,116,118)密码处理,所述密码设备包括:-轮函数单元(140;300),其布置成应用实现所述块密码的多轮密码处理的最后一轮(118),-所述多轮的最后一轮(118)的输入包括对第一数据输入(122)和第一状态输入(124)编码的第一编码输入(120)以及对第二数据输入(132)和第二状态输入(134)编码的第二编码输入(130),-所述轮函数单元(140)布置成接收第二编码输入(130)并将()应用内部防篡改移位函数(320)到第二编码输入(130)的第二数据值(132),之后密码轮函数(342,344)作用于所述移位的第二数据输入(132),以产生编码输出(150),防篡改移位函数(220)在编码值(210)中的状态值(214)不等于预期状态值(222)的情况下修改在编码值(210)中的数据值(212),并且否则不修改数据值(212),-第一输出单元(160)布置成接收所述第二编码输入(130)并将第一输出防篡改移位函数(420)应用于所述第二编码输入(130),之后对所述移位的第二数据输入(132)解码以得到块密码输出(106)的第一部分(162);以及-第二输出单元(180),其布置成接收所述编码输出(150)并将第二输出防篡改移位函数(520)应用于所述编码输出(150),之后对数据值(152)解码以得到块密码输出(106)的第二部分(182)。2.如权利要求1所述的密码设备,其中编码值(210)包括编码子值(210.1,210.2,...,210.8)序列,编码子值是数据子值(212.1,212.2,...,212.8)连同相应的状态子值(214.1,214.2,...,214.8)一起密码地和可逆地编码成单个编码子值,防篡改移位函数(220)包括用于修改在编码值中的相应数据子值()的防篡改移位子函数(220.1)的序列。3.如权利要求2所述的密码设备,其中所述第二输出防篡改移位函数()的每个防篡改移位子函数布置成使得:-如果所述第二编码输入(130)的状态子值采用所有状态值,则所述第二输出防篡改移位函数()采用所有数据子值。4.如前述权利要求中的任一项所述的密码设备,其中所述轮函数单元布置成将所述第一编码输入(120)的所述第一数据输入(122)加到所述密码轮函数的结果的所述数据值()。5.如前述权利要求中的任一项所述的密码设备,其中所述轮函数单元(140)布置成将数据轮函数(f)应用于所述移位数据值并将状态轮函数(g)应用于所述第二编码输入(130)的所述第二状态输入(134)。6.如前述权利要求中的任一...

【专利技术属性】
技术研发人员:R里伊特曼
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:荷兰,NL

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

1