【技术实现步骤摘要】
本公开内容总体上涉及电子电路,并且更具体地涉及执行模幂运算操作的电路。本公开内容更具体地涉及保护这样的计算免受故障注入攻击。
技术介绍
在许多应用中,电子电路实施加密、认证、签名计算的算法,并且更一般地实施操纵对其的访问期望被保留给特定用户或电路的数据(被称为秘密数据)的算法。在这样的算法之中,一些算法使用对包括秘密数据中的全部或部分的模幂运算操作。存在用于尝试发现或盗取这样的秘密数据的许多方法(被称为攻击)。在这样的攻击之中,所谓的故障注入攻击包括在对电路操作的执行的特定时间扰乱该操作。对这样的故障注入对电路操作或所提供的结果的后果的解译给出了与秘密数据有关的盗取信息。
技术实现思路
实施例有助于克服用于保护由执行模幂运算的算法操纵的数据免受故障注入攻击的常用方法和电路的缺点中的全部或部分。在实施例中,由电子电路对模幂运算的计算的方法有助于克服常用方法的缺点中的全部或部分。实施例提供一种验证故障注入攻击对执行模幂计算的电子电路的敏感度的方法。实施例提供一种验证在第一寄存器和第二寄存器中执行模幂计算的电子电路的敏感度的方法,所述方法包括连续地针对指数的每个比特(bit):将寄存器中的根据指数的比特的状态从第一寄存器和第二寄存器之中选择的一个寄存器的内容乘以第一寄存器和第二寄存器中的另一个寄存器的内容并将结果放置在寄存器中的所述一个寄存器中的第一步骤;以及对寄存器中的所述另一个的内容求平方并将结果放置在该另一寄存器中的第二步骤,其中在对第一步骤的执行期间,针对指数的每个比特,第一寄存器和第二寄存器包含第一步骤的操作的乘数的内容被扰乱。根据实施例 ...
【技术保护点】
一种方法,包括:验证使用第一寄存器和第二寄存器执行模幂计算的电子电路的敏感度,其中:执行所述模幂计算包括连续地针对所述计算的指数的每个比特:将所述寄存器中根据所述指数的当前比特的状态从所述第一寄存器和所述第二寄存器之中选择的一个寄存器的内容乘以所述第一寄存器和所述第二寄存器中的另一个寄存器的内容,并且将所述乘法的结果放置在所述第一寄存器和所述第二寄存器中的所述一个寄存器中;并且对所述第一寄存器和所述第二寄存器中的所述另一个寄存器的内容求平方,并且将所述求平方的结果放置在所述第一寄存器和所述第二寄存器中的所述另一个寄存器中;以及所述验证包括:在所述乘法期间,针对所述计算的所述指数的每个比特,扰乱所述第一寄存器和所述第二寄存器中的至少一个寄存器的内容;并且基于所述模幂计算的经扰乱的结果来确定所述电子电路的所述敏感度。
【技术特征摘要】
2015.08.27 FR 15579761.一种方法,包括:验证使用第一寄存器和第二寄存器执行模幂计算的电子电路的敏感度,其中:执行所述模幂计算包括连续地针对所述计算的指数的每个比特:将所述寄存器中根据所述指数的当前比特的状态从所述第一寄存器和所述第二寄存器之中选择的一个寄存器的内容乘以所述第一寄存器和所述第二寄存器中的另一个寄存器的内容,并且将所述乘法的结果放置在所述第一寄存器和所述第二寄存器中的所述一个寄存器中;并且对所述第一寄存器和所述第二寄存器中的所述另一个寄存器的内容求平方,并且将所述求平方的结果放置在所述第一寄存器和所述第二寄存器中的所述另一个寄存器中;以及所述验证包括:在所述乘法期间,针对所述计算的所述指数的每个比特,扰乱所述第一寄存器和所述第二寄存器中的至少一个寄存器的内容;并且基于所述模幂计算的经扰乱的结果来确定所述电子电路的所述敏感度。2.根据权利要求1所述的方法,其中所述乘法使用Montgomery阶梯被实施。3.根据权利要求1所述的方法,其中所述验证包括:在所述乘法中的每次乘法之前,扰乱所述第一寄存器的内容。4.根据权利要求1所述的方法,其中所述模幂计算的结果被包含在所述第一寄存器中。5.根据权利要求1所述的方法,其中如果所述计算的所述结果在利用相同操作数的所述计算的多个执行之间不同,则所述电子电路被认为对故障注入敏感。6.根据权利要求1所述的方法,其中执行所述模幂计算包括:将所述第一寄存器初始化为值1;将所述第二寄存器初始化为要被提交到所述模幂计算的数的值;连续地针对所述指数的每个比特;如果所述指数的所述当前比特的所述状态为1:则将所述第一寄存器的内容乘以所述第二寄存器的内容,并且将所述乘法的结果存储在所述第一寄存器中;对所述第二寄存器的内容求平方,并且将所述求平方的结果存储在所述第二寄存器中;以及如果所述指数的所述当前比特的所述状态为0:则将所述第二寄存器的内容乘以所述第一寄存器的内容,并且将所述乘法的结果存储在所述第二寄存器中;对所述第一寄存器的内容求平方,并且将所述求平方的结果存储在所述第一寄存器中;以及当所述指数的所有比特已经被处理时,输出所述第一寄存器的所述内容。7.根据权利要求6所述的方法,其中无论所述指数的比特的状态如何,都在所述乘法步骤中执行所述扰乱。8.根据权利要求1所述的方法,其中所述模幂计算被实施在RSA算法中。9.根据权利要求1所述的方法,其中在所述乘法期间扰乱所述第一寄存器和所述第二寄存器中的至少一个寄存器的内容包括:扰乱存储所述乘法的乘数的寄存器。10.一种装置,包括:接口,所述接口被配置为耦合到包括第一寄存器和第二寄存器的加密电路;以及控制电路,所述控制电路耦合到所述接口,其中所述控制电路在操作时:生成用于使得所述加密电路执行模幂计算的信号,执行所述模幂计算包括连续地针对所述计算的指数的每个比特:将所述第一寄存器和所述第二寄存器中根据所述指数的当前比特的状态从所述第一寄存器和所述第二寄存器之中选择的一个寄存器的内容乘以所述第一寄存器和所述第二寄存器中的另一个寄存器的内容,并且将所述乘法的结果放置在所述第一寄存器和所述第二寄存器中的所述一个寄存器中;并且对所述第一寄存器和所述第二寄存器中的所述另一个寄存器的内容求平方,并且将所述求平方的结果放置在所述第一寄存器和所述第二寄存器中的所述另一个寄存器中;以及生成用于在所述模幂...
【专利技术属性】
技术研发人员:Y·特戈利亚,
申请(专利权)人:意法半导体鲁塞公司,
类型:发明
国别省市:法国;FR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。