[发明专利]防止边信道攻击的素数生成保护有效
申请号: | 201010276008.2 | 申请日: | 2010-09-07 |
公开(公告)号: | CN102025501A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 弗兰克·库佩斯 | 申请(专利权)人: | 质子世界国际公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 张春媛;阎娬斌 |
地址: | 比利时*** | 国省代码: | 比利时;BE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 防止 信道 攻击 素数 生成 保护 | ||
技术领域
本发明通常涉及电子电路,尤其涉及产生素数的电路,本发明尤其涉及在电子电路中保护素数的产生以防止边信道攻击,例如,对电路功率消耗(SPA——简单功率分析)或其电磁签名的统计分析。
本发明尤其适用于执行RSA型非对称加密算法的电路,尤其是利用质因数分解算法的电路。
背景技术
RSA算法是最常用的非对称加密算法(具有公钥)之一。该算法用于加密/解密数据或者签名数据并认证。这基于使用包括一个公钥和一个私钥的密钥对。在加密/解密模式中,发送器使用该公钥来加密与接收器秘密通信的数据,后者使用其私有(或秘密)密钥来解密该数据。对于认证,发送器使用私钥来签名数据,而接收器使用公钥来认证该签名。
公钥使加密数据的发送器或签名数据的接收器能提取这些数据,相对来说是普遍的。但是,私钥被预留给具有所创建的密钥对的电路。密钥对的持有者可以直接将公钥传送给其它方使其能够处理数据。
公钥及私钥对的产生需要使用两个不同的、相对大的大小(通常为1024或2048比特)的素数“p”和“q”。这些素数的乘积提供加密模数“n”。选择数p和q使得数p-1和q-1与量(quantity)“e”互质,称为公共指数,该公共指数与乘积n(φ(n)=(p-1)(q-1))的欧拉指示符(Euler indicator)“φ(n)”互质。作为结果,存在一个整数“d”使得e×d的乘积与1模φ(n)一致。n,e对组成公钥,n,d对组成私钥。私有指数d是指数e模(p-1)(q-1)的倒数。素数p和q电路中唯一包含私钥的。
RSA算法的鲁棒性依赖于素数p和q。要基于公钥“破坏”RSA算法,需要能够分解数n,以获得素数p和q。一旦知道了该因式分解,私有指数d就可以由公有指数e(通过计算e模(p-1)(q-1)的倒数计算得到d)计算得出。目前已认识到,通过使用足够大小的模数n(通常为近似1,500比特),当前的算法在合理的时间内不能分解数n。
但是,在电子电路中引入数p和q或它们通过电路运算的结果在安全方面特别关键,因为在电路寿命的时间中黑客的发现给他提供了数字n的因式分解。
生成RSA密钥的第一种技术包括在电子电路外生成这些密钥。量p和q在定制阶段被引入电子电路。由于密钥不是由实际电子电路产生,因此这一技术不响应边信道攻击。
第二种已知技术包括使实际电子电路在安全的环境(实际在一个具有预定访问的保护装置)中生成素数。采用这种技术,在素数产生过程中攻击也不成问题。
但是,更为常见的是,电子电路需要能够在这样的安全环境外生成它们的RSA密钥。例如,这使得当之前的密钥被否定时(假定密钥被攻击)能够重新生成新的密钥。例如在一个不安全的环境中定制电子电路的过程中或初次使用过程中执行该生成。根据一个申请电子护照的例子,一旦护照在持有者手中,要求密钥由包含在护照中的电子芯片生成。这样,该密钥在护照认证期间不能提前使用。
公共指数e可以是公钥基础设施(PKI)的参数并且对所有密钥都是相同的。例如在电子电路的制造过程(在ROM中)或定制过程(在EEPROM中)中引入公钥。
公共指数e可以由电子电路生成,例如,通过选择一个随机数,并发送给电子电路必定会与其通信的元件。
这样公钥(公共指数和加密模数)要么被接收器(签名)得知,要么被发送器(加密)得知,或者被与其通信的(用于每次业务或最后一次)持有该私钥的电子电路得知。公钥进一步通常需要验证。
以时间和计算来讲,大素数的产生是昂贵的。尤其是,使得能够验证与否一个数字的素性的所谓素性检验,通常执行需要相当数量计算(例如,米勒-拉宾(Miller-Rabin)素性检验)的模数乘方。这就是为何要求仅对已经成功通过关于相对小的素数的检验的备选数字执行这类检验。这类检验当于通过相对小的素数的除法或者相当于关于素数表的比较。例如,米勒-拉宾检验可用一个小的基数(例如,2)来执行,或者可执行一个最大通用除法器计算(例如,增加以255为模的字节以获取一个小于255的结果,随后用255对该结果计算最大通用除法器。如果不为1,一个单独的检验能够告知该数字不能被255的三个因数,即3、5、17,除尽)。
当用电子电路在不安全的环境中生成素数时,电路很可能受到边信道攻击(SPA或电磁分析)。尤其是,此类攻击可能发生在素性检验执行除法或用素数表比较的过程中。
发明内容
当通过电子电路利用这些密钥生成这些数字时,需要保护素数的产生并且进而保护使用质因数分解算法的密钥的生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于质子世界国际公司,未经质子世界国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010276008.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可生物降解的脂族-芳族聚酯
- 下一篇:纳米二氧化钛及其制备方法