【技术实现步骤摘要】
在处理设备中执行加密操作的方法
[0001]本描述涉及用于在处理设备中对数据执行加密操作的技术。
[0002]可以应用各种实施例,诸如使用加密或数字签名方案的智能卡、 微控制器、机顶盒等。
技术介绍
[0003]加密协议是抽象的或具体的协议,它们执行与安全相关的功能并 且应用加密方法,通常作为加密原语的序列。
[0004]在使用加密算法的设备(例如,实现加密算法(诸如,ECC或 RSA)的微控制器)的侧信道攻击(Side Channel Attacks)的防护领 域中,已知竖直侧信道攻击(SCA),其中攻击者可以使用设备对任 意数据(输入)进行加密,以获取由加密算法使用的加密密钥。攻击 者在已知输入数据的加密期间记录侧信道信息,该侧信道由功耗、电 磁辐射或其它类似的量表示。
[0005]侧信道与由设备处理的数据链接,这些数据是加密密钥并且攻击 者的数据作为输入,因此表示已知数据。
[0006]攻击者利用不同的已知输入数据和恒定的未知密钥记录许多“踪 迹(traces)”,对一部分加密密钥的值进行假设,并且使用统计方 法使用踪迹来验证这种假设。为了施加这种统计方法,攻击者需要使 用许多踪迹,每个踪迹具有不同的已知输入数据和恒定密钥。
[0007]然而,在非对称加密术中,尽管在计算期间使用的数据发生了变 化,但是还是有数学方法可以为每次执行修改密钥,使得操作结果不 会发生变化。因此,由于密钥不再是恒定的,攻击者无法收集许多踪 迹。
[0008]因此,当攻击者需要在单个踪迹上 ...
【技术保护点】
【技术特征摘要】
1.一种方法,包括:在处理设备中对数据执行加密操作,所述执行包括施加非对称加密过程,所述非对称加密过程包括使用密钥在由给定数目的字形成的第一操作数与第二操作数之间的迭代操作,对于所述密钥中的每个位,所述迭代操作包括:根据所述密钥的所述位,向所述第一操作数和所述第二操作数施加第一操作集合和第二操作集合中的一个操作集合;以及基于控制位值有条件地交换所述第一操作数的字和所述第二操作数的字,所述控制位值通过向随机位施加逻辑异或函数而被获取,其中所述有条件地交换包括:在第一寄存器中存储所述第一操作数的所述字;在第二寄存器中存储所述第二操作数的对应的字;根据所述控制位值,在所述第一操作数的所述字中存储所述第一寄存器的值或所述第二寄存器的值;以及根据所述控制位值,在所述第二操作数的所述对应的字中存储所述第二寄存器的值或所述第一寄存器的值。2.根据权利要求1所述的方法,其中所述有条件地交换包括:在所述第一寄存器中存储所述第一操作数的所述字,并且在所述第二寄存器中存储所述第二操作数的对应的字之后:通过在所述第一操作数和所述第二操作数中存储相应的重写值来重写所述第一操作数和所述第二操作数;然后根据所述控制位值,在所述第一操作数的所述字中存储所述第一寄存器的所述值或所述第二寄存器的所述值;以及根据所述控制字值,在所述第二操作数的所述对应的字中存储所述第二寄存器的所述值或所述第一寄存器的所述值。3.根据权利要求2所述的方法,其中所述相应的重写值为零或恒定值。4.根据权利要求2所述的方法,其中所述相应的重写值是随机生成的值。5.根据权利要求2所述的方法,其中所述相应的重写值彼此不同。6.根据权利要求1所述的方法,其中所述非对称加密过程是乘法操作,乘法操作包括在所述迭代过程之前初始化掩码变量,并且所述迭代过程包括:对于所述密钥中的每个位:设置所述随机位;通过对所述随机位和所述密钥的当前位执行逻辑异或操作来获取随机的密钥值;使用对所述掩码变量和所述随机位的逻辑异或操作的结果作为控制位来执行所述有条件地交换;将所述掩码变量设置为所述随机位值;以及根据所述随机的密钥值的值选择要施加到所述第一操作数的当前字和所述第二操作数的对应的字的所述操作集合来执行所述非对称加密乘法的循环。7.根据权利要求6所述的方法,包括:
在第一掩码寄存器中存储所述随机位;在第二掩码寄存器中存储所述随机的密钥值;在第三掩码寄存器中存储所述第一掩码寄存器中存储的值的补码;以及在第四掩码寄存器中存储所述第二掩码寄存器中存储的值的补码。8.根据权利要求1所述的方法,其中所述迭代操作包括椭圆曲线加密术(ECC)标量乘法循环或里夫斯特
‑
沙米尔
‑
阿德曼(RSA)模幂操作循环。9.一种装置,包括:多个寄存器;以及逻辑电路装置,耦合到所述多个寄存器,其中在操作中,所述逻辑电路装置使用密钥执行在由多个字形成的第一操作数与第二操作数之间的迭代操作,对于所述密钥中的每个位,所述迭代操作包括:根据所述密钥的所述位,向所述第一操作数和所述第二操作数施加第一操作集合和第二操作集合中的一个操作集合;以及基于控制位值有条件地交换所述第一操作数的字和所述第二操作数的字,所述控制位值通过向随机位施加逻辑异或函数而被获取,其中所述有条件地交换包括:在所述多个寄存器的第一寄存器中存储所述第一操作数的所述字;在所述多个寄存器的第二寄存器中存储所述第二操作数的对应的字;根据所述控制位值,在所述第一操作数的所述字中存储所述第一寄存器的值或所述第二寄存器的值;以及根据所述控制位值,在所述第二操作数的所述对应的字中存储所述第二寄存器的值或所述第一寄存器的值。10.根据权利要求9所述的装置,其中所述有条件地交换包括:在所述第一寄存器中存储所述第一操作数的所述字,并且在所述第二寄存器中存储所述第二操作数的所述对应的字之后:通过在所述第一操作数和所述第二操作数中存储相应的重写值来重写所述第一操作数和所述第二操作数;根据所述控制位值,在所述第一操作数的所述字中存储所述第一寄存器的所述值或所述第二寄存器的所述值;以及根据所述控制位值,在所述第二操作数的所述对应的字中存储所述第二寄存器的所述值或所述第一寄存器的所述值。11.根据权利要求10所述的装置,其中所述相应的重写值为零或恒定值。12.根据权利要求10所述的装置,其中所述相应的重写值为随机生成的值。13.根据权利要求10所述的装置,其中所述相应的重写值彼此不同。14.根据权利要求9所述的装置,其中所述迭代过程是包括乘法操作的非对称加密过程的一部分,并且在操作中,所述逻辑电路装置在所述迭代过程之前初始化掩码变量,所述迭代过程包括:对于所述密钥中的每个位:设置所述随机位;
通过对所述随机位和所述密钥的当前位执行逻辑异或操作来获取随机的密钥值;使用对所述掩码变量和所述随机位的逻...
【专利技术属性】
技术研发人员:R,
申请(专利权)人:意法半导体股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。