基本信息
- 申请号 CN00810279.1
- 公开号 CN1360692A
- 申请日 2000/07/12
- 公开日 2002/07/24
- 申请人 格姆普拉斯公司
- 优先权日期
- 发明人 J·-S·科伦 D·纳卡彻
- 主分类号
- 申请人地址 法国热姆诺
- 分类号
- 专利代理机构 中国专利代理(香港)有限公司
- 当前专利状态 发明专利申请公布
- 代理人 张志醒
- 有效性 发明公开
- 法律状态 无
摘要
本发明涉及两种用于改进随机数发生器以便使它们更耐电流测量攻击的方法。
其特别设计为在电子设备如智能卡、PCMCIA卡、徽章、非接触卡或其手提设备中实现。
它包括利用使用密钥K的DES算法加密一个表示一个日期信息的值D,然后将该结果放入一个整数变量I;2)对j从l到m的范围:2a)以s XOR I代替s;2b)将利用使用密钥K的DES算法加密s的结果放入y;2c)将y XOR s的结果放入x展开
其特别设计为在电子设备如智能卡、PCMCIA卡、徽章、非接触卡或其手提设备中实现。
它包括利用使用密钥K的DES算法加密一个表示一个日期信息的值D,然后将该结果放入一个整数变量I;2)对j从l到m的范围:2a)以s XOR I代替s;2b)将利用使用密钥K的DES算法加密s的结果放入y;2c)将y XOR s的结果放入x展开
权利要求书
1.一种用于使用带有必须用于该算法中的密钥K的数据密码标准(DE S)算法产生随机数的方法,所述方法将一个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加密的结果放入整数变量y 中; 2)c)将y XOR s的结果放入xj; 2)d)用y XOR I替换s; 2)e)将通过使用密钥K的DES算法加密s的结果放入s; 3)返回序列(x1,x2,...,xm)作为输出。
2.一种用于产生随机数、并使之有可能改进一个被认为品质不充分的 随机数发生器的品质的方法,所述方法将一个64位的随机秘密整数s和一个 整数m作为输入,并将m个64位随机整数x1,x2,...,xm作为输出返回,所 述方法使用了具有必须用于该算法中的密钥K的数据密码标准(DES)算法 ,所述方法使用一个整数中间变量y,所述方法使用一个品质被认为不充分 的64位x1,x2,...,xm随机整数的源S,所述方法的特征在于包括如下两个 步骤: 1)从j从1到m的范围: 1)a)通过源S产生一个整数I; 1)b)用s XOR I替换s; 1)c)将通过使用密钥K的DES算法加密s的结果放入y; 1)d)将y XOR s的结果放入xj; 1)e)用y XOR I替换s; 1)f)将通过使用密钥K的DES算法加密s的结果放入s; 2)返回序列(x1,x2,...,xm)作为输出。
3.一种实现了根据权利要求1或2所述的方法的设备,所述设备特征在 于,它是一种手持的、便携的或手提的设备。
4.如权利要求3所述的电子设备,其特征在于,它是一个智能卡。
5.如权利要求3所述的电子设备,其特征在于,它是一个非接触卡。
6.如权利要求3所述的电子设备,其特征在于,它是一个个人计算机 存储卡国际协会(PCMCIA)卡。
7.如权利要求3所述的电子设备,其特征在于,它是一枚徽章;
8.如权利要求3所述的电子设备,其特征在于,它是一个智能表。
展开
说明书
本发明涉及一种对产生随机数或随机源的方法的改进,特别涉及一种在 密码记录系统中开发的源,诸如智能卡上的随机数发生器。
具体来讲,它用于在以下类型电子设备的测试和验证中实现:智能卡; 个人计算机存储卡国际协会(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类型的攻击。
用于产生随机数的第一种改进方法使用具有必须只在该算法中使用的密 钥K的数据密码标准(DES)算法。
它将一个64位的随机秘密整数s和一个整数 m作为输入,然后将m个64位随机整数x1,x2,...,xm作为输出返回。
该方法使用一 个中间整数变量y。
该方法的特征在于以下三个步骤: 1)利用DES算法,使用密钥K对一个表示日期数据的值D加密,并将结果 放入整数变量I。
2)对j从1到m的范围,执行以下步骤; 2)a)用s XOR I替换s。
2)b)将通过使用密钥K的DES算法对s加密的结果放入整数变量y中。
2)c)将y XOR s的结果放入xj。
2)d)用y XOR I替换s。
2)e)将通过使用密钥K的DES算法加密s的结果放入s。
3)返回序列(x1,x2,...xm)作为输出。
在这个用于产生随机数的改进方法中,DPA类型的电流测量攻击是不可 能的,因为该DES密码算法的输入和输出消息是不知道的。
用于产生随机数的第二种改进方法是用于增加一个被认为品质不充分的 随机数发生器的品质。
该方法将一个64位的随机秘密整数s和一个整数m作为 输入,然后将m个64位随机整数x1,x2,...,xm作为输出返回。
该方法使用具有必须 只在该算法中使用的密钥K的数据密码标准(DES)算法。
该方法使用一个品 质被视为不充分的64位随机整数源S。
该方法特征在于以下两个步骤: 1)对j从1到m的范围; 1)a)通过源S产生一个整数I。
1)b)用s XOR I替换s。
1)c)将通过使用密钥K的DES算法加密s的结果放入y。
1)d)将y XOR s的结果放入xj。
1)e)用y XOR I替换s。
1)f)将通过使用密钥K的DES算法加密s的结果放入s。
2)返回序列(x1,x2,...,xm)作为输出。
在该用于产生随机数的改进方法中,DPA类型的电流测量攻击是不可能 的,因为DES密码算法的输入和输出消息是不知道的。
于是,前述的本发明的两种产生随机数的方法使获得一个经得起DPA类 型电流测量攻击的随机数发生器成为可能。
展开
具体来讲,它用于在以下类型电子设备的测试和验证中实现:智能卡; 个人计算机存储卡国际协会(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类型的攻击。
用于产生随机数的第一种改进方法使用具有必须只在该算法中使用的密 钥K的数据密码标准(DES)算法。
它将一个64位的随机秘密整数s和一个整数 m作为输入,然后将m个64位随机整数x1,x2,...,xm作为输出返回。
该方法使用一 个中间整数变量y。
该方法的特征在于以下三个步骤: 1)利用DES算法,使用密钥K对一个表示日期数据的值D加密,并将结果 放入整数变量I。
2)对j从1到m的范围,执行以下步骤; 2)a)用s XOR I替换s。
2)b)将通过使用密钥K的DES算法对s加密的结果放入整数变量y中。
2)c)将y XOR s的结果放入xj。
2)d)用y XOR I替换s。
2)e)将通过使用密钥K的DES算法加密s的结果放入s。
3)返回序列(x1,x2,...xm)作为输出。
在这个用于产生随机数的改进方法中,DPA类型的电流测量攻击是不可 能的,因为该DES密码算法的输入和输出消息是不知道的。
用于产生随机数的第二种改进方法是用于增加一个被认为品质不充分的 随机数发生器的品质。
该方法将一个64位的随机秘密整数s和一个整数m作为 输入,然后将m个64位随机整数x1,x2,...,xm作为输出返回。
该方法使用具有必须 只在该算法中使用的密钥K的数据密码标准(DES)算法。
该方法使用一个品 质被视为不充分的64位随机整数源S。
该方法特征在于以下两个步骤: 1)对j从1到m的范围; 1)a)通过源S产生一个整数I。
1)b)用s XOR I替换s。
1)c)将通过使用密钥K的DES算法加密s的结果放入y。
1)d)将y XOR s的结果放入xj。
1)e)用y XOR I替换s。
1)f)将通过使用密钥K的DES算法加密s的结果放入s。
2)返回序列(x1,x2,...,xm)作为输出。
在该用于产生随机数的改进方法中,DPA类型的电流测量攻击是不可能 的,因为DES密码算法的输入和输出消息是不知道的。
于是,前述的本发明的两种产生随机数的方法使获得一个经得起DPA类 型电流测量攻击的随机数发生器成为可能。
展开