计算设备和方法技术

技术编号:18611522 阅读:36 留言:0更新日期:2018-08-04 23:17
计算设备(200)被布置为评估将若干(n)输入变量映射到若干(m)输出变量的数据函数(S)。该计算设备包括接收选择变量作为输入的选择机构(220)和被布置为接收一个或多个评估变量并针对所接收的评估变量评估评估函数的评估机构(210),评估函数接收所述评估变量作为输入。

【技术实现步骤摘要】
【国外来华专利技术】计算设备和方法
本专利技术涉及计算设备、计算方法、计算机程序和计算机可读介质。
技术介绍
在白箱模型中,黑客可以能够完全控制运行在计算设备(例如,智能电话或PC)上的软件。白箱加密技术的目标是保护软件实施免受这种黑客攻击。当涉及密钥的加密方案在白箱模型中受到保护时,这通常意味着访问并完全控制安全软件及其执行环境的攻击者应该无法提取关于密钥的任何可感信息。一种避免攻击者访问信息中的密钥的方法是将一部分或全部可感算法实现为表格网络。这些表格对编码变量进行运算。攻击者将很难确定表格执行什么运算,因为他不知道编码。通过表格访问来替换运算通常会增加代码的大小。此外,进一步保护表格的一些对策具有进一步增加代码大小的效果。例如,攻击者访问正在运行的实现时获取密钥信息的一种可能的攻击是所谓的碰撞攻击,其中攻击者在不同输入的不同运行中测量密钥相关变量。攻击者收集碰撞、即在不同消息的不同运行中取得相同值的变量的统计信息。最终,攻击者可以能够收集足够的信息来提取密钥。互信息分析(MIA)就是这种攻击的一个例子。为了防止碰撞攻击,可以通过n份{wi}i表示变量w,使得w上的碰撞只能从完全集{wi}i上的碰撞中被检测到。由于后者的概率较低,因此碰撞攻击变得更加困难。在份额上进行计算的效果是表格大小再次显着增加。
技术实现思路
提供了一种计算设备,其被布置为评估将若干输入变量映射到若干输出变量的数据函数。所述数据函数在所述计算设备中被布置为包括选择函数和评估函数的计算。所述输入变量被分成一个或多个选择变量和一个或多个评估变量。对于所述选择变量的每种特定组合值,定义了相应的选择函数和评估函数。所述计算设备包括:选择机构,其被布置为接收所述一个或多个选择变量,并针对所接收的选择变量评估所述选择函数;选择函数接收所述选择变量作为输入,并且所述选择函数的输出指示在所述选择函数中所接收的所述选择变量是否等于与所述选择函数相对应的所述特定组合值,评估机构,其被布置为接收所述一个或多个评估变量,并针对所接收的评估变量评估所述评估函数;评估函数接收所述评估变量作为输入,并且所述评估函数的输出表示已将所述评估变量和与所述评估函数相对应的所述选择变量的特定组合值的联合作为输入的所述数据函数的输出,以及组合机构,其被布置为将所述选择机构的输出和所述评估机构的输出组合成针对所述输入变量的所述数据函数的输出。所述评估函数和选择函数两者比所述数据函数接收更少的输入作为输入。结果,用于实现所述评估和选择函数的代码大小减少了。这在白箱实现中尤其相关,在白箱实现中所述评估和/或选择函数被实现为表格或表格网络,因为这需要较小的表格。尽管由于所述评估和选择变量的划分导致电路大小可能会增加,但代码大小会减小。此外,所述选择函数是易于在基于多项式的实现中实现的特别简单的函数,例如当变量表示为多个编码份额时可以使用的函数。由于所述选择函数对于不同数据函数是相同的,因此它们可以重复用于多个数据函数;这进一步减小了代码大小。在一个实施例中,所述选择变量被进一步划分为多组选择变量,选择函数在所述计算设备中被布置为多个子选择函数的乘积,每个子选择函数对应于多组选择变量的一组,子选择函数接收该组中的选择变量作为输入,并且子选择函数的输出指示接收到的选择变量是否等于与所述选择函数相对应的所述组中的所述特定组合值。所述选择变量的进一步细分进一步减小了用于实现所述选择机构的代码大小。所述选择机构使得根据所述选择变量选择正确的评估函数。所述评估机构针对所述选择变量和所述评估变量的不同可能值评估所述数据函数的结果。评估函数只需要所述评估变量作为输入。所述评估变量通过对应于所述评估函数的选择变量值的特定组合而被补充到所述评估函数中。虽然这会增加评估函数的数量,但它会减小这些函数的大小。所述选择机构可以实现为选择系统;例如以电路和/或在处理器上运行的适当软件的形式。所述评估机构可以实施为评估系统;例如以电路和/或在处理器上运行的适当软件的形式。例如,所述软件可以包括表格网络中的多个表格查找运算。在一个实施例中,对所述输入变量中的一个或多个进行编码。事实上,所述选择和评估变量的全部都可以被编码。对编码变量进行运算可以通过针对相同编码而编码的表格来完成。对变量、特别是所述选择和评估变量进行编码的重要方式是将变量编码为多个编码份额。通过将运算表示为有限域中的多项式,可以对以这种方式编码的变量执行运算。多项式可以使用表示像加法和乘法这样的运算的表格来进行评估。这种类型的编码的优点是可以在整个多项式评估中重复使用针对加法和乘法的表格。这进一步减小了代码大小。所述计算设备是电子设备,例如移动电子设备(例如移动电话)。所述计算设备可以是机顶盒、智能卡、计算机等。这里描述的计算方法可以应用于广泛的实际应用中。这样的实际应用包括加密应用。例如,签名、解密和加密等信息可以用软件完成而不会泄露用于执行加密运算的密钥。例如,所述计算设备可以用于可感应用,例如使用专有算法。攻击者对软件进行逆向工程的难度增加了。根据本专利技术的方法可以在计算机上实现为计算机实现方法,或者以专用硬件实现,或者以两者的组合方式实现。用于根据本专利技术的方法的可执行代码可以被存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码,用于当所述程序产品在计算机上运行时执行根据本专利技术的方法。在优选实施例中,所述计算机程序包括计算机程序代码,其当所述计算机程序在计算机上运行时适于执行根据本专利技术的方法的所有步骤。优选地,所述计算机程序被嵌入到计算机可读介质上。本专利技术的另一方面提供了一种使计算机程序可供下载的方法。当计算机程序上传到例如Apple’sAppStore、Google’sPlayStore或Microsoft’sWindowsStore时,并且当计算机程序可从这样的商店下载时使用该方面。附图说明将仅通过参照附图进行举例的方式来描述本专利技术的进一步细节、方面和实施例。图中的元素为了简单和清楚起见进行说明并不一定按比例绘制。在附图中,对应于已描述元件的元件可以具有相同的附图标记。在附图中,图1示意性地示出了数据函数的一个例子,图2a示意性地示出了计算设备的实施例的示例,图2b示意性地示出了评估机构的实施例的示例,图2c示意性地示出了选择机构的实施例的示例,图2d示意性地示出了选择机构的实施例的示例,图2e示意性地示出了计算设备的实施例的示例,图3示意性地图示了对变量进行编码的示例,图4a示意性地示出了表格网络的实施例的示例,图4b示意性地示出了表格网络的实施例的示例,图5a示意性地示出了计算方法的流程图,图5b示意性地示出了计算方法的流程图,图6a示意性地示出了DES块加密的实施例的示例,图6b示意性地示出了DES轮函数的实施例的示例,图7a示意性地示出了根据实施例的包括计算机程序的具有可写部分的计算机可读介质,图7b示意性地示出了根据实施例的处理器系统的表示。具体实施方式虽然本专利技术容许许多不同形式的实施例,但是在附图中示出并将在此详细描述一个或多个具体实施例,应理解的是,本公开应被视为本专利技术原理的示例并不意图将本专利技术限制于所示出和描述的特本文档来自技高网...

【技术保护点】
1.一种计算设备(200),其被布置为评估将若干(n)输入变量映射到若干(m)输出变量的数据函数(S),所述数据函数在所述计算设备中被布置为包括选择函数和评估函数的计算,所述输入变量被划分为一个或多个选择变量和一个或多个评估变量,对于所述选择变量(υ)的每种特定组合值,定义了相应的选择函数(Qυ)和评估函数(Pυ),所述计算设备包括:选择机构(220),其被布置为接收所述一个或多个选择变量,并针对所接收的选择变量评估所述选择函数,选择函数接收所述选择变量作为输入,并且所述选择函数的输出指示在所述选择函数中所接收的所述选择变量是否等于与所述选择函数相对应的所述特定组合值;评估机构(210),其被布置为接收所述一个或多个评估变量,并针对所接收的评估变量评估所述评估函数,评估函数接收所述评估变量作为输入,并且所述评估函数的输出表示已将所述评估变量和与所述评估函数相对应的所述选择变量的所述特定组合值的联合作为输入的所述数据函数的输出;以及组合机构(230),其被布置为将所述选择机构的输出和所述评估机构的输出组合成针对所述输入变量的所述数据函数的输出,所述组合机构对与相同的特定组合值相对应的选择函数(Qυ)与评估函数(Pυ)的乘积进行求和(ΣυQυPυ),所述求和是在所述选择变量(υ)的所有组合值上进行的。...

【技术特征摘要】
【国外来华专利技术】2015.12.15 EP 15200035.21.一种计算设备(200),其被布置为评估将若干(n)输入变量映射到若干(m)输出变量的数据函数(S),所述数据函数在所述计算设备中被布置为包括选择函数和评估函数的计算,所述输入变量被划分为一个或多个选择变量和一个或多个评估变量,对于所述选择变量(υ)的每种特定组合值,定义了相应的选择函数(Qυ)和评估函数(Pυ),所述计算设备包括:选择机构(220),其被布置为接收所述一个或多个选择变量,并针对所接收的选择变量评估所述选择函数,选择函数接收所述选择变量作为输入,并且所述选择函数的输出指示在所述选择函数中所接收的所述选择变量是否等于与所述选择函数相对应的所述特定组合值;评估机构(210),其被布置为接收所述一个或多个评估变量,并针对所接收的评估变量评估所述评估函数,评估函数接收所述评估变量作为输入,并且所述评估函数的输出表示已将所述评估变量和与所述评估函数相对应的所述选择变量的所述特定组合值的联合作为输入的所述数据函数的输出;以及组合机构(230),其被布置为将所述选择机构的输出和所述评估机构的输出组合成针对所述输入变量的所述数据函数的输出,所述组合机构对与相同的特定组合值相对应的选择函数(Qυ)与评估函数(Pυ)的乘积进行求和(ΣυQυPυ),所述求和是在所述选择变量(υ)的所有组合值上进行的。2.一种计算设备,其中,所述选择机构包括实现所述选择函数的多个选择单元,和/或其中,所述评估机构包括实现所述评估函数的多个评估单元。3.如前述权利要求中任一项所述的计算设备,其中,所述选择变量被进一步划分为多组选择变量,选择函数在所述计算设备中被布置为多个子选择函数的乘积,每个子选择函数对应于所述多组选择变量中的一组,子选择函数接收该组中的选择变量作为输入,并且所述子选择函数的输出指示所接收的选择变量是否等于与所述选择函数相对应的该组中的所述特定组合值。4.如前述权利要求中任一项所述的计算设备,其中,所述输入变量和/或输出变量是比特。5.如前述权利要求中任一项所述的计算设备,其被布置为块加密,其中,所述数据函数是所述块加密的s盒。6.如权利要求5所述的计算设备,其中,所述块加密是DES或三重DES块加密,并且其中,所述s盒是所述DESs盒中的一个。7.如前述权利要求中任一项所述的计算设备,其中,输入变量...

【专利技术属性】
技术研发人员:S·J·A·德雷赫R·里特曼L·M·G·M·托尔胡伊泽恩H·D·L·霍尔曼
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:荷兰,NL

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

1