由互质数产生电子密钥的装置及方法制造方法及图纸

技术编号:3529861 阅读:280 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及由两个整数a,b产生电子密钥的方法,该方法包括验证所述数a,b的互质性的步骤。根据本发明专利技术,该验证步骤包括以下操作:A)计算模量乘幂a#+[λ(b)]modb,其中λ是卡米歇尔函数,B)验证该模量乘幂等于1,C)当相等被验证时,存储该数对a,b及在相反情况下用另一数对重复地进行。本发明专利技术适合于具有运算处理器的微处理器智能卡。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及由互质的整数产生电子密钥的方法及实施该方法的装置。本专利技术尤其适合于用于信息编码后/或两个实体之间的认证和/或信息的电子签名的公共密钥密码协议。它尤其适合于公共密钥密码协议,例如RSA(Rivest Shamir及Adelman),E1 Gama1,Schnorr,Fiat Shamir协议。在这种应用场合中,实际上要求产生大的整数(例如可能大于或等于512位)来形成一个或多个协议密钥。对于选择这些数以便使它们保持秘密将附有一个条件,即为它们必需是互质数或它们之间互质。实际上,希望产生这些数以便例如实施密码协议的电子装置将以下列公知方式操作-取一个整数(从一个预定的整数集合中选择,或随机抽取),-随机地抽取第二个整数b,-执行数a及b之间的互质性的操作。该操作允许验证所获得的两个整数互为质数。这是通过该装置的中央单元来实现的。为此,该中央单元计算这两个数之间的最大公约数(pgcd)及验证其结果等于1。事实上可以回忆起当并且仅当最大约数等于1时两个数才互为质数。对此已具有一些利用微处理器计算两个数的pgcd的公知技术。作为例子可以列举“二进制GCD”,“扩展GCD”或Lehmer方法。尽管这些方法具有优异的渐近复杂性(这就是说可用于特别大字长的数)。但是它们被证实在具有微处理器的卡类型便携式装置上难以编程(因为复杂)及同时对于常用大字长的数(512位)具有平庸的性能,现在常用大字长的数趋于变大,即1024位或更大。本专利技术旨在克服这个缺点。更具体地,它的目的是获得由两个整数a,b产生电子密钥的方法,该方法包括验证所述数a,b的互质性的步骤,其主要特征在于包括以下操作的验证步骤A)-计算模量乘幂aλ(b)modb,其中λ是卡米歇尔(Carmichael)函数,B)-验证该模量乘幂等于1,其特征还在于C)-当相等被验证时,该运算处理器存储该数对a,b及在相反情况下用另一数对重复地进行。根据另一特征-选择一个给定长度的整数b及将它存储到存储器中,-随机抽取一个整数a,-计算aλ(b)modb,-验证aλ(b)=1modb(或aλ(b)modb=1),-在相等被验证的情况下存储该数a,-在相反情况下,用另一数a来重复上述步骤。根据另一特征,在数b预先被给定的情况下,预计算λ(b)及将它存储到存储器中。本专利技术适合于RSA或E1 Gamal,Schnorr密钥产生方法。本专利技术的另一目的是一种便携式电子装置,它包括运算处理器及相关的程序处理器,该装置能执行模量乘幂运算,其主要特征在于它包括一个验证给定长度的整数的互质性的程序,该验证程序执行以下操作A)-计算模量乘幂aλ(b)modb,其中λ是卡米歇尔函数,B)-验证该模量乘幂等于1,其特征还在于C)-当相等被验证时该运算程序存储该数对a,b及在相反情况下用另一数对进重复。根据另一特征,在数b预先被给定的情况下,预计算λ(b)及将它存储到存储器中。有利地,该便携式电子装置由具有微处理器的芯片卡组成。通过阅读以下以非限定性的例子并参照附图给出的说明,本专利技术的其它特征及优点将会一目了然,附图为-附图说明图1表示实施本专利技术的方法的便携式装置如芯片卡的原理图;-图2表示实施本专利技术的方法的一个实施例的流程图。在以下说明中,以具有微处理器的芯片卡作为该便携式装置的例子及为了简化将称其为微处理器卡。在实施密码协议如RSA的情况下,将如所述地,必需确定一个用于产生协议的电子密钥的给定长度的、互为质数的整数对。为了保证产生的数互为质数,将通过微处理器卡实现互质性的验证步骤,该微处理器使用密码协议的密钥产生方法。实际上在RSA的协议中,两个保持秘密的整数应互为质数及各具有通常为512位或1024位的固定长度。根据该例,两个整数的一个数b是从由微处理器卡产生的一个数集中预先选择及存储的一个整数,而另一数是由微处理器卡在执行协议时以随机方式产生的。为此,微处理器卡具有一个随机数发生器,它能够提供所需字长的整数。因此在图1中表示出一个能够实施根据本专利技术方法的微处理器卡的功能图。卡C包括一个主处理单元1,程序存储器3及4以及一个与单元1相关的工作存储器(未示出)。该卡还包括一个能够执行模量乘幂计算的运算处理器2。它例如可涉及由STMicroelectronics公司出售的电路ST16CF54或Philips公司的电路83C852/5。该卡还具有一个随机整数发生器5。根据本专利技术,验证整数互质性的操作由图2所示的步骤A及B来实现,其中具有在这些数互为质数的情况下保留用于产生电子密钥的数对a,b的步骤。实际上,该步骤在于将数对a,b存储到运算处理器2的保安存储器6中(不能从外部访问)。在描述根据本专利技术的在协议RSA的情况下的实施例前,应指出函数λ是卡米歇尔函数及该函数由下列关系式确定λ(b)=PPCM(λ(pδ1),,λ(pδk)),其中PPCM表示最小公倍数,其中b=∏piδ1,该式中每个pi是一个质数及每个δi是一个非零正整数及1<i<k。在所示的RSA密码协议的例子中,进行以下步骤-存储所选择的固定给定字长的整数b, (10)-计算λ(b) (20)-存储λ(b) (30)在b是预先已知的范围上这些步骤可在以下步骤前进行。在该情况下,预计算的值λ(b)将被存储在运算处理器的保安存储器6中。-抽取一个随机整数a(40)-计算aλ(b)modb(50)-将aλ(b)modb与1相比较 (60)-如果相等,存储该数对(a,b),以便产生密码协议的密钥(70)-如果不相等 (80)则从抽取一个新的整数a开始来重复上述步骤。权利要求1.由两个整数a,b产生电子密钥的方法,该方法包括验证所述数a,b的互质性的步骤,其特征在于该验证步骤包括以下操作A)-计算模量乘幂aλ(b)modb,其中λ是卡米歇尔函数,B)-验证该模量乘幂等于1,其特征还在于C)-当相等被验证时,存储该数对a,b及在相反情况下用另一数对重复地进行。2.根据权利要求1的产生电子密钥的方法,其特征在于-选择一个给定长度的整数b及将它存储到存储器中,-随机抽取一个整数a,-计算aλ(b)modb,-验证aλ(b)=1modb(或aλ(b)modb=1),-在相等被验证的情况下存储该数a,-在相反情况下,用另一数a来重复上述步骤。3.根据权利要求1的产生电子密钥的方法,其特征在于在数b预先被给定的情况下,预计算λ(b)及将它存储到存储器中。4.RSA或E1 Gama1或Schnorr密钥的产生方法,其特征在于它使用根据上述权利要求中任一项的方法。5.便携式电子装置,它包括运算处理器及相关的程序处理器,该装置能执行模量乘幂运算,其特征在于它包括一个验证给定长度的整数的互质性的程序,该验证程序执行以下操作A)-计算模量乘幂aλ(b)modb,其中λ是卡米歇尔函数,B)-验证该模量乘幂等于1,其特征还在于C)-当相等被验证时该运算程序存储该数对a,b及在相反情况下用另一数对进重复。6.根据权利要求5的便携式电子装置,其特征在于在数b预先被给定的情况下,预计算λ(b)及将它存储到存储器中。7.根据权利要求5或7的便携式电子装置,其特征在于该便携式电子装置由一个具有微处理器的芯片卡组成。全文摘要本专利技术涉及由两个整数a,b产本文档来自技高网...

【技术保护点】
由两个整数a,b产生电子密钥的方法,该方法包括验证所述数a,b的互质性的步骤,其特征在于:该验证步骤包括以下操作:A)-计算模量乘幂a↑[λ(b)]modb,其中λ是卡米歇尔函数,B)-验证该模量乘幂等于1,其特征还在于:C)-当相等被验证时,存储该数对a,b及在相反情况下用另一数对重复地进行。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:P派利尔
申请(专利权)人:格姆普拉斯公司
类型:发明
国别省市:FR[法国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1