[发明专利]用于改进随机数发生器使之更耐电流测量的攻击的方法无效
申请号: | 00810279.1 | 申请日: | 2000-07-12 |
公开(公告)号: | CN1360692A | 公开(公告)日: | 2002-07-24 |
发明(设计)人: | J·-S·科伦;D·纳卡彻 | 申请(专利权)人: | 格姆普拉斯公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 张志醒 |
地址: | 法国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 改进 随机数 发生器 电流 测量 攻击 方法 | ||
本发明涉及一种对产生随机数或随机源的方法的改进,特别涉及一种在密码记录系统中开发的源,诸如智能卡上的随机数发生器。
具体来讲,它用于在以下类型电子设备的测试和验证中实现:智能卡;个人计算机存储卡国际协会(PCMCIA)卡;徽章;非接触卡,或其他手持、便携或手提的设备。
大多数公钥密码系统(也称为“非对称密码”系统)和大多数密钥系统(也称为“对称密码”系统)需要形成秘密随机数。这样的随机数(随后将作为密钥使用),必须是不可预测的先验以及没有任何规律使它们能够通过穷举或改进的穷举搜索策略被找到,在这些搜索策略中首先查找最可能的密钥。
在一个很难计算反函数的函数的基础上构建一个随机源是可能的。用f表示这样一个函数。有可能通过这样来构建一个随机源:开始先选择一个随机初始化变量s,并将函数f应用于一序列值s,s+1,s+2,……。该随机源的输出被定义为f(s),f(s+1),f(s+2),……。作为所用函数f的性质的一个函数,最好仅保留输出f(s),f(s+1),f(s+2),……的几位。
在美国国家标准协会标准X9.17中规定了一种用于在很难计算反函数的函数的基础上产生随机数的方法。该方法使用带有一个必须只在该算法中使用的密钥K的数据加密标准(DES)算法。该用于产生随机数的方法将一个64位随机秘密整数s和一个整数m作为输入,并返回m个64位随机整数x1,x2,...,xm作为输出。该方法地特征在于以下三个步骤:
1)利用DES算法,使用密钥K对一个表示日期数据的值D加密,并将结果放入整数变量I。
2)对j从1到m的范围,执行以下步骤;
2)a)用s XOR I替换s。
2)b)将通过使用密钥K的DES算法加密s的结果放入xj。
2)c)用xj XOR I替换s。
2)d)将通过使用密钥K的DES算法加密s所得的结果放入s。
3)返回序列(x1,x2,...,xm)作为输出。
有可能在一个应用中使用这个随机数发生器,该应用中已经具有该随机数发生器,但被视为品质不充分,例如在一个智能卡的微处理器板上的随机数发生器。在该情况中,使用上述方法以改进随机数发生器的品质。该方法将一个64位随机秘密整数s和一个整数m作为输入,并返回m个64位随机整数x1,x2,...,xm作为输出。该方法使用带有必须只在该算法中使用的密钥K的数据加密标准(DES)算法。该方法使用一个源S,其品质被视为对于不充分的64位随机整数。该方法的特征在于以下三个步骤:
1)对j从1到m的范围;
1)a)通过源S产生整数I。
1)b)用s XOR I替换s。
1)c)将通过使用密钥K的DES算法加密s的结果放入xj。
1)d)通过源S产生一个整数I。
1)e)用xj XOR I替换s。
1)f)将通过使用密钥K的DES算法加密s所得的结果放入s。
2)返回序列(x1,x2,...,xm)作为输出。
显然在一个智能卡上实现一个密钥密码算法(例如DES算法)会遭受包含电流消耗的示差分析也就是差动功率分析(DPA)使之可能发现密钥的攻击。这种DPA攻击的原理是基于微处理器执行指令的功率消耗(也就是消耗的电流)会根据被处理的数据项而变化这一事实。为了发现该密钥,必须知道该密码算法的输入或输出消息。
因此,上述两种产生随机数的方法都会遭受DPA类型的攻击。作为上述两种方法的输出返回的随机数是密码算法的输出消息。于是在该智能卡的功率消耗的基础上,有可能发现密码密钥K,然后因此可以预测出该随机数发生器的输出。
本发明中的方法包括对上述产生随机数的方法的一个改进,以便使它们能够经得起DPA类型的攻击。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于格姆普拉斯公司,未经格姆普拉斯公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/00810279.1/2.html,转载请声明来源钻瓜专利网。