【技术实现步骤摘要】
【国外来华专利技术】编译设备和方法
本专利技术涉及编译设备、编译方法以及计算机可读介质。
技术介绍
有时希望防止一些运行时间数据在程序执行期间可见。例如,在处理敏感数据的计算机程序中,避免所述敏感数据在存储器中清楚地进行处理可能是优选的。例如,敏感数据可以包括例如在金融或多媒体应用中所使用的密钥。例如,在区块加密或密钥MAC的实施方式中,可以设法避免清楚地使用密钥值。为了隐藏数据的其他原因可以是要隐藏专有算法的细节。针对这种问题,已经设计了各种解决方案。一种方法是掩蔽包含敏感信息的变量。AndreasHoheisel在“Side-ChannelAnalysisResistantImplementationofAESonAutomotiveProcessors”中详述了一种这样的方法。但是掩蔽具有缺点。例如,掩蔽仍然留下加密形式的数据可获得。此外,掩码常常需要在向计算单元提供数据之前被移除。例如,如果要对掩蔽的数据执行不与进行掩蔽的方式相兼容的操作,这可能是必要的。在区块加密的情况下,所谓的S盒在这方面可能是有问题的。另一方法是使用白盒密码术。在白盒密码术中,例如通过将双射函数可能与椒盐(salt)一起应用于数据来对编码的数据执行所有操作。计算机程序然后被表示为对编码的数据进行操作的表格网络。在S.Chow等人的“White-BoxCryptographyandanAESImplementation”一文中能够发现这样的实施方式的范例。白盒密码术一般将给予比掩蔽更高水平的保护,但是对这种方法来说仍然存在缺点。一个具体问题是白盒密码术常常需要计算机程序的设计者的实质参与。例如,在 ...
【技术保护点】
1.一种被配置为将源代码计算机程序(102)转换成目标代码计算机程序(106)的编译设备(100),所述编译设备包括:‑输入部(110),其被布置为接收源代码计算机程序,以及‑处理器电路,其被布置为:‑解析(120)所述源代码计算机程序,并且生成针对所述源代码计算机程序的至少部分的静态单赋值(SSA)图(122),所述SSA图的顶点对应于操作,并且所述SSA图的边缘对应于具有对应的位尺寸的赋值,其中,所述输入部(110)还被配置为:‑接收所述SSA图的非空的第一子图的指示(104),所述指示包括所述源代码程序的一个或多个变量和/或赋值,并且其中,所述处理器电路还被布置为:‑搜索所述SSA图的第二子图,其中,所述第一子图是所述第二子图的子图,与所述第二子图的引入边缘相关联的所述位尺寸的总和小于与所述第一图的引入边缘相关联的所述位尺寸的总和,‑在所述目标代码计算机程序中将所述SSA图的所述第二子图实施为单个操作,由此省略与所述第一子图的边缘相对应的所述赋值。
【技术特征摘要】
【国外来华专利技术】2017.01.05 EP 17150336.01.一种被配置为将源代码计算机程序(102)转换成目标代码计算机程序(106)的编译设备(100),所述编译设备包括:-输入部(110),其被布置为接收源代码计算机程序,以及-处理器电路,其被布置为:-解析(120)所述源代码计算机程序,并且生成针对所述源代码计算机程序的至少部分的静态单赋值(SSA)图(122),所述SSA图的顶点对应于操作,并且所述SSA图的边缘对应于具有对应的位尺寸的赋值,其中,所述输入部(110)还被配置为:-接收所述SSA图的非空的第一子图的指示(104),所述指示包括所述源代码程序的一个或多个变量和/或赋值,并且其中,所述处理器电路还被布置为:-搜索所述SSA图的第二子图,其中,所述第一子图是所述第二子图的子图,与所述第二子图的引入边缘相关联的所述位尺寸的总和小于与所述第一图的引入边缘相关联的所述位尺寸的总和,-在所述目标代码计算机程序中将所述SSA图的所述第二子图实施为单个操作,由此省略与所述第一子图的边缘相对应的所述赋值。2.根据权利要求1所述的编译设备,其中,所述SSA图的所述第二子图在所述目标代码计算机程序中被实施为表格或表格网络(134)。3.根据权利要求1所述的编译设备,其中,所述SSA图的所述第二子图在所述目标代码计算机程序中被实施为仿射变换。4.根据前述权利要求中的任一项所述的编译设备,其中,所述SSA图中的所述第二子图由经修改的SSA图中的单个顶点来替代,所述单个顶点指示所述经修改的SSA图中的与由未经修改的SSA图中的第二子图所指示的操作相同的操作。5.根据前述权利要求中的任一项所述的编译设备,其中,所述SSA图的第一子图的所述指示包括所述SSA图的一个或多个边缘的指示,所述处理器电路被布置为选择多个指示的边缘中的第一边缘以及所述多个指示的边缘中的通过所述SSA图中的包括指示的边缘的路径被连接到所述第一边缘的所有另外的边缘。6.根据权利要求5所述的编译设备,其中,所述SSA图的第一子图的所述指示包括所述源代码计算机程序中的变量的指示,所述处理器电路被布置为将对所指示的变量的赋值表示为所述SSA图中的边缘,所述的表示的边缘被包括在所述SSA图的多个边缘的所述指示中。7.根据权利要求6所述的编译设备,其中,所述SSA图的第一子图的所述指示包括所述源代码计算机程序的部分的指示,所述处理器电路被布置为将所述源代码计算机程序的所指示的部分中的赋值表示为包括开始边缘、中间边缘和结束边缘的路径,所述开始边缘和所述结束边缘被包括在所述多个指示的边缘中,所述中间边缘不被包括在所述多个指示的边缘中。8.根据权利要求2和7的组合所述的编译设备,其中,所述表格或所述表格网络对编码的数据进行操作。9.根据前述权利要求中的任一项所述的编译设备,其中,所述处理器电路被布置为遍历所述第一子图的多个超图,并且...
【专利技术属性】
技术研发人员:W·C·马龙,
申请(专利权)人:皇家飞利浦有限公司,
类型:发明
国别省市:荷兰,NL
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。