【技术实现步骤摘要】
免受侧信道分析的保护方法和设备
本专利技术涉及一种用于使电路或程序免受旨在发现由所述电路或程序处理的机密数据的值(特别是由加密或解密算法用于变换消息的私钥)的侧信道分析的方法和设备。本专利技术特别涉及实现诸如AES(高级加密标准)或DES(数据加密标准)之类的密码算法的智能卡集成电路或集成到计算机和其它电子和IT设备(USB驱动器、电视解码器、游戏控制台等)的母板上的硬件加密组件。本专利技术还涉及实现这种算法的程序,该程序用于在安全或不安全的环境中执行。更一般地说,本专利技术涉及实现置换需要保持隐藏的数据的位的置换运算的电路和软件。
技术介绍
实现密码算法的电路可以包括中央处理单元(CPU),并且可能包括专用于密码计算的电路,例如密码协处理器。这些电路可以包括根据所执行的运算以不同的方式切换的数千个逻辑门。这些切换在电流消耗上产生短暂变化(例如几纳秒),并且这些变化可以被测量。具体而言,CMOS型集成电路包括在切换时(即,当逻辑节点将其状态变为1或0时)才消耗电流的逻辑门。因此,电流消耗取决于中央处理单元所处理的数据及其各种外围设备(存储器、在数据或地址总线上流动的数据、密码协处理器等)。此外,使用加密或模糊技术(例如白盒密码技术)的某些软件程序可以以非常难以通过逆向工程确定的方式来集成机密数据。某些软件程序还可以通过安全通信通道从外部接收机密数据。基于观察这些电路的电流消耗、或它们的磁或电磁辐射时,这些电路可能会受到所谓的侧信道分析攻击。此类攻击旨在发现机密数据,特别是加密密钥。当前侧信道攻击实施诸如SPA(“单功耗分析”)、DPA(“差分功耗分析”)、 ...
【技术保护点】
一种用于由电路执行位置换运算的方法,所述位置换运算用于混合输入数据的位以获得包括至少两个字的输出数据,所述方法包括:生成包括掩码参数的第一掩码集,所述掩码集对于所述输入数据的每个字包括一个字列,每个字列包括的一个输入数据字的所有可能值的出现次数相同,所述出现次数与该输入数据字的大小相关;以及计算包括输出数据的输出集,所述输出数据由将所述位置换运算应用于输入集中的每个数据而产生,所述输入集包括由通过异或XOR运算将所述输入数据与所述第一掩码集的每个掩码参数相组合而产生的数据,所述第一掩码集被如此生成,使得:所述输出集包括输出字列,每个输出字列包括的一个输出字的所有可能值的出现次数相同,所述出现次数与该输出字的大小相关。
【技术特征摘要】
2016.06.28 EP 16176716.5;2016.06.28 EP 16176717.3;1.一种用于由电路执行位置换运算的方法,所述位置换运算用于混合输入数据的位以获得包括至少两个字的输出数据,所述方法包括:生成包括掩码参数的第一掩码集,所述掩码集对于所述输入数据的每个字包括一个字列,每个字列包括的一个输入数据字的所有可能值的出现次数相同,所述出现次数与该输入数据字的大小相关;以及计算包括输出数据的输出集,所述输出数据由将所述位置换运算应用于输入集中的每个数据而产生,所述输入集包括由通过异或XOR运算将所述输入数据与所述第一掩码集的每个掩码参数相组合而产生的数据,所述第一掩码集被如此生成,使得:所述输出集包括输出字列,每个输出字列包括的一个输出字的所有可能值的出现次数相同,所述出现次数与该输出字的大小相关。2.根据权利要求1所述的方法,其中所述第一掩码集的生成包括:生成所述第一掩码集的第一字列,所述第一字列包括与所述第一字列的字的大小相关的所述第一字列的该字的所有可能值的单次出现;以及通过将相应函数应用于所述第一列的每个所述字,计算所述第一掩码集的每个其它列,所述函数被如此定义,使得:将所述位置换运算应用于所述第一掩码集提供了包括字列的掩码输出集,每个字列包括的掩码输出集列的一个字的所有可能值的出现次数相同,所述出现次数与所述掩码输出集列的该字的大小相关。3.根据权利要求2所述的方法,其中随机生成所述掩码集的所述第一字列。4.根据权利要求1至3中的一项所述的方法,其中所述位置换运算包括复制所述输入数据的位。5.一种用于根据包括位置换运算的密码算法对输入数据进行加密或解密的方法,其中所述位置换运算根据权利要求1至4中的一项所述的方法被执行。6.根据权利要求5所述的方法,其中所述密码算法符合数据加密标准DES算法,所述位置换运算包括与DES位扩展运算相组合的DES逆置换运算。7.根据权利要求5所述的方法,其中所述密码算法符合数据加密标准DES算法并相继地包括:第一位置换运算,其包括DES位扩展运算并且使用所述第一掩码集被执行;替换运算,其使用经掩蔽替换表被执行,每个替换表使用通过所述第一位置换运算变换的所述第一掩码集的一个掩码参数作为输入掩码,并且使用通过第二位置换运算变换的第二掩码集的对应掩码参数作为输出掩码;以及所述第二位置换运算,其包括DES轮置换运算并且使用所述第二掩码集被执行,所述第一掩码集被如此生成,使得:所述第一位置换运算的输出集包括字列,每个列包括的输出集字的所有可能值的出现次数相同,所述出现次数与所述输出集字的大小相关,所述第二掩码集被如此生成,使得:当通过XOR运算被与所述第一掩码集的相应第一掩码组合时,所述第二掩码集...
【专利技术属性】
技术研发人员:A·武尔科尔,H·西博尔德德拉克鲁伊,
申请(专利权)人:埃沙尔公司,
类型:发明
国别省市:法国,FR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。