[发明专利]用于加密操作的乘法掩码有效
申请号: | 201580066084.1 | 申请日: | 2015-12-03 |
公开(公告)号: | CN107004084B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | M·腾斯托尔;F·杜尔瓦奥克斯 | 申请(专利权)人: | 密码研究公司 |
主分类号: | G06F21/55 | 分类号: | G06F21/55;H04L9/28 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 加密 操作 乘法 掩码 | ||
1.一种用于加密操作的方法,包括:
接收用于所述加密操作的输入值;
通过增加用于所述加密操作的所述输入值的至少一部分来获得增加值;
基于与质数相关联的值的范围生成第一数;
由处理设备通过将所述增加值乘以以所述质数取模后的所述第一数来获得掩码值;以及
基于所述掩码值来执行所述加密操作,
其中,所述加密操作与逻辑与AND操作相关联,所述逻辑与AND操作在所述掩码值和对应于第二输入的第二掩码值之间被执行,并且其中,所述逻辑与AND操作通过以下各项来执行:
向所述掩码值和所述第二掩码值中的每个掩码值添加另一值,所述另一值在对所述加密操作的输入的所述掩码中用于生成中间值;
将在对所述加密操作的输入的所述掩码中使用的所述另一值的倒数和二的倒数与所述中间值相乘;以及
从所述相乘的结果中减去与在以所述质数取模后的输入的所述掩码中使用的所述另一值相对应的值。
2.根据权利要求1所述的方法,其中,获得所述增加值包括增加用于所述加密操作的所述输入值的半部分。
3.根据权利要求1所述的方法,其中,所述第一数是值小于所述质数的随机生成的数。
4.根据权利要求1所述的方法,其中,所述输入值的所增加的部分是一位值,并且其中获得所述增加值包括:
如果所述一位值为0,则将所述一位值增加正数或负数中的一个,或者
如果所述一位值为1,则将所述一位值增加所述正数或所述负数中的另一个。
5.根据权利要求4所述的方法,其中,所述正数是随机选择的正数,并且所述负数具有与所述正数相同的绝对值。
6.根据权利要求1所述的方法,还包括:
响应于获得所述掩码值,执行第二模数操作,所述第二模数操作返回零值。
7.根据权利要求6所述的方法,其中,所述模数操作和所述第二模数操作与功耗相关联以减少差分功率分析(DPA)泄漏的易感性。
8.根据权利要求1所述的方法,其中,所述质数是模数操作的除数,并且所述模数操作的被除数至少部分地基于所述第一数,并且其中,所述模数操作返回非零值。
9.根据权利要求1所述的方法,其中,所述加密操作与在所述掩码值和与第二输入相对应的第二掩码值之间执行的逻辑异或XOR操作相关联,并且其中,所述逻辑异或XOR操作通过以下各项执行:
将所述掩码值和所述第二掩码值的组合乘以另一值的倒数,所述另一值的在对所述加密操作的输入的所述掩码中用于生成中间值;以及
执行与以所述质数取模后的所述中间值相对应的操作。
10.一种用于加密操作的系统,包括:
存储器;以及
处理设备,被可操作地耦合至所述存储器并且用于
接收用于所述加密操作的输入值;
通过增加用于所述加密操作的所述输入值的至少一部分来获得增加值;
基于与质数相关联的值的范围生成第一数;
通过将所述增加值乘以以所述质数取模后的所述第一数来获得掩码值;以及
基于所述掩码值来执行所述加密操作,
其中,所述加密操作与逻辑与AND操作相关联,所述逻辑与AND操作在所述掩码值和对应于第二输入的第二掩码值之间被执行,并且其中,所述逻辑与AND操作通过以下各项来执行:
向所述掩码值和所述第二掩码值中的每个掩码值添加另一值,所述另一值在对所述加密操作的输入的所述掩码中用于生成中间值;
将在对所述加密操作的输入的所述掩码中使用的所述另一值的倒数和二的倒数与所述中间值相乘;以及
从所述相乘的结果中减去与在以所述质数取模后的输入的所述掩码中使用的所述另一值相对应的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于密码研究公司,未经密码研究公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580066084.1/1.html,转载请声明来源钻瓜专利网。