【技术实现步骤摘要】
本专利技术涉及信息加密领域,特别是涉及一种智能卡中安全的随机数产生方法。
技术介绍
密码算法是智能卡安全防护的核心组件,随机数对多种密码算法(例如RSA、DES、AES算法)都起着关键性作用。高质量的随机数拥有良好的随机性,且难以预测,对于整个密码系统起着重要作用。传统的基于密码算法的随机数生成算法虽然是密码学安全意义上的随机数生成算法,但在实际应用中,传统的随机数生成算法容易遭受包括功耗分析在内的多种方法的攻击。在智能卡的密码应用中,随机数可以用在身份认证、产生私钥或者直接作为私钥来使用。如果生成这些参数的随机数生成器被破解,那么整个密码系统的安全性就没有任何保障。传统的随机数生算法使用密码算法来保障算法的安全性,基于密码运算的困难性可以实现多种高度安全的随机数产生器。在美国的ANSIX9.17标准中,提出了基于3DES运算破解困难的随机数生成算法。但是在智能卡的实际应用中,ANSIX9.17标准中的随机数生成算法(参见图1)难以抵抗多种破解和攻击手段。对于图1所示的ANSIX9.17标准,其输出Ri即系统产生的随机数,是公开数据,同时Ri也是3DES加密算法的输出结果,对于功耗分析而言,只要知道了算法的输入或者输出,就能穷举子密钥并计算中间值来展开攻击,并通过大量采集密码运行时的功耗通过统计分析出其运算密钥K1、K2,从而破解整个ANSIX9.17标准的系统。图1中,输 ...
【技术保护点】
一种智能卡中安全的随机数产生方法,其特征在于,包括如下步骤:步骤1,使用随机信息作为初始化的种子V0和密钥K;步骤2,使用密钥为K的对称加密算法模块EDE对当前随机信息DTi和种子Vi执行相关密码运算,获取结果数据Ri;步骤3,使用单向函数Fun()对步骤2获取的数据Ri进行单向运算,并获得第i轮产生的随机数Qi;步骤4,使用密钥为K的对称加密算法模块EDE对当前随机信息DTi和步骤2获取的数据Ri执行相关密码运算获取第(i+1)轮运算所需的新种子Vi+1;步骤5,返回步骤2进行下一轮运算,直到获取所需长度的随机数{Q0,Q1...Qn};其中,i∈[0,n]。
【技术特征摘要】
1.一种智能卡中安全的随机数产生方法,其特征在于,包括如下步骤:
步骤1,使用随机信息作为初始化的种子V0和密钥K;
步骤2,使用密钥为K的对称加密算法模块EDE对当前随机信息DTi和
种子Vi执行相关密码运算,获取结果数据Ri;
步骤3,使用单向函数Fun()对步骤2获取的数据Ri进行...
【专利技术属性】
技术研发人员:王晓静,顾星远,林秋,马博,
申请(专利权)人:上海华虹集成电路有限责任公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。