CN101320323A - 用于计算压缩rsa模数的方法 - Google Patents

用于计算压缩rsa模数的方法 Download PDF

Info

Publication number
CN101320323A
CN101320323A CN200810098588.3A CN200810098588A CN101320323A CN 101320323 A CN101320323 A CN 101320323A CN 200810098588 A CN200810098588 A CN 200810098588A CN 101320323 A CN101320323 A CN 101320323A
Authority
CN
China
Prior art keywords
factor
produced
alternative
predetermined portions
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810098588.3A
Other languages
English (en)
Other versions
CN101320323B (zh
Inventor
埃里克·迪尔
马克·乔伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101320323A publication Critical patent/CN101320323A/zh
Application granted granted Critical
Publication of CN101320323B publication Critical patent/CN101320323B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种用于产生压缩的RSA模数的方法,允许固定高达模数N的比特中的三分之二。N具有预定部分NH,包括两个部分Nh和Nm。产生共享Nh部分的备选RSA模数,然后使用欧几里德型计算对该备选进行修改,直至共享Nh和Nm。也提供了一种用于根据本方法计算压缩RSA模数的设备(30)和一种计算机程序产品(35)。

Description

用于计算压缩RSA模数的方法
技术领域
本发明通常涉及加密,具体涉及压缩的RSA模数。
背景技术
该部分意在向读者介绍本领域的各个方面,这些方面与以下描述和/或所要求保护的本发明的各个方面相关。相信该讨论会有助于向读者提供背景信息以便于更好地理解本发明的各个方面。因此,应当理解,将就此目的阅读这些论述,而并非将其作为对现有技术的认可。
为了产生用于公共加密的所谓Rivest-Shamir-Adleman(RSA)模数,可以进行如下处理。
令N=pq是两个大质数之积。令e和d表示一对公共和私有指数,满足
ed≡1(modλ(N)),
其中gcd(e,λ(N))=1,并且λ是卡米克尔函数。由于N=pq,因而有λ(N)=1cm(p-1,q-1)。给定x<N,公共运算(例如消息加密或签名验证)是将x升到e次幂模N,即,进行y=xe mod N计算。然后,给定y,相应的私有运算(例如,密文解密或签名产生)是计算yd mod N。根据e和d的定义,显然有yd≡x(mod N)。可以通过中国剩余定理(CRT模式),以较高速度执行私有运算。模p和q的计算是独立执行的,然后再进行重新组合。在这种情况下,私有参数是{p,q,dp,dq,iq},其中
dp=d mod(p-1),
dq=d mod(q-1),以及
iq=q-1 mod p.
然后获得yd mod N为
CRT(xp,xq)=xq+q[iq(xp-xq)mod p],
其中xp=ydp mod p以及xq=ydq mod q.
概括而言,RSA模数N=pq是两个大质数p和q之积,满足gcd(λ(N),e)=1。如果n表示N的比特大小,则对于某一1<n0<n,p必须在范围[2n-n 0 -1/2,2n-n 0-1]内,以及q在范围[2n 0 -1/2,2n 0-1]内,从而2n-1<N=pq<2n。出于安全原因,通常优选所谓均衡模数,其中n=2n0
目前典型的RSA模数在1024至4096比特的长度范围内,并对于应用来说通常需要至少2048比特的模数。然而,仍存在运行设计用于支持仅1024比特模数的支持RSA的应用程序的程序和/或设备。
将会理解,能够压缩模数、从而可以适合较短的缓冲或带宽的解决方案将会是极为有利的。除了存储/发送整个RSA模数之外,使用无损失的压缩表示。这也解决了程序和/或设备的不同版本之间的兼容问题。此外,这种技术可以用于提高效率:节约存储器和/或带宽。
Vanstone和Zuccherato在“Short RSA Keys and Their Generation”,Journal of Cryptology,New York,NY,US,vol.8,no.8,1995,第101-114页,XP000853671中描述了一个这样的解决方案。该解决方案实现了高达N/2个前导比特的规范,但是相当复杂,需要例如由指定比特给出的数字的因数分解。此外,所产生的模数相对易于进行因数分解。
Lenstra,Arjen K.在“Generating RSA moduli with a predeterminedportion”;Advances in Cryptology-ASIACRYPT’98,volume 1514 of LectureNotes in Computer Science,pp.1-10;Springer 1998中描述了另一种这样的解决方案。该解决方案是针对Vanstone和Zuccherato的解决方案的一种改进,因为它不太复杂,并且所产生的模数较难于进行因数分解。
然而,任何一种现有技术均不允许预先确定RSA模数的多于一半的比特。
然而,本发明对于Lenstra产生算法的改进在于,例如本发明允许更大的压缩。
发明内容
在第一方面,本发明提出了一种用于产生RSA模数的因子的方法,该因子包括能够大于RSA模数的一半的预定部分,该RSA模数包括至少两个因子。首先,接收RSA模数要共享的预定部分的值。产生至少两个备选因子,其乘积至少共享所述预定部分的第一部分。通过以下步骤,使用欧几里德型计算对所述至少两个备选因子进行修改,直至所产生的因子是质数,并且所产生的因子的乘积完全共享所述预定部分:使用扩展(extended)欧几里德算法的扩充(extension)来评估所述至少两个备选因子中每个的修正值;以及分别将修正值加至所述至少两个备选因子,以获得至少两个所产生的因子;其中所产生的因子的乘积包括第一共享部分,并共享所述预定部分的第二部分。最后,输出所产生的因子,以允许使用所产生的因子进行加密运算。
在第一优选实施例中,RSA模数是三质数RSA模数。
在第二优选实施例中,RSA模数具有N=prq形式。
在第三优选实施例中,所述产生步骤包括以下步骤:选择第一备选因子;并将第二备选因子计算为一值与第一备选因子的除法的整数结果,从而备选因子的乘积至少共享所述预定部分的第一部分,该值具有与RSA模数同样多的比特,并共享所述预定部分。
在第四优选实施例中,扩展欧几里德算法的扩充使用了通过扩展欧几里德算法(满足aui+bvi=di,其中a=q0和b=p0)所获得的序列{ui,vi,di},以导出由下式给出的两个伴随序列{xi}和{yi}:
Figure A20081009858800061
Figure A20081009858800062
其中z0=c及zi=zi-1 mod di,c=2l-1+(NH 2l mod p0)。
在第二方面,本发明提出了一种用于计算RSA模数的因子的设备,该因子包括能够大于RSA模数的一半的预定部分,该RSA模数包括至少两个因子。所述设备包括处理器,适于:接收RSA模数要共享的预定部分的值;产生至少两个备选因子,其乘积至少共享所述预定部分的第一部分;通过以下步骤,使用欧几里德型计算对所述至少两个备选因子进行修改,直至所产生的因子是质数,并且所产生的因子的乘积完全共享所述预定部分:使用扩展欧几里德算法的扩充来评估所述至少两个备选因子中每个的修正值;以及分别将修正值加至所述至少两个备选因子,以获得至少两个所产生的因子;其中所产生的因子的乘积包括第一共享部分,并共享所述预定部分的第二部分。所述处理器还适于输出所产生的因子,以允许使用所产生的因子进行加密运算。
在第三方面,本发明提出了一种计算机程序产品,包括在所述程序在处理器上执行时用于执行根据第一方面的方法的步骤的程序代码指令。
“ 共享”应被理解为针对要共享的部分具有相同的值,例如,十六进制数1234567890abcdef和123456789abcdef0共享所述数字的前导部分中的123456789。
附图说明
现在参照附图,通过示例来描述本发明的优选特征,其中:
图1示出了根据本发明的示例性RSA模数10;
图2示出了应用了RSA-2048口令(challenge)的本发明的方法示例;以及
图3示出了用于计算压缩RSA模数的设备。
具体实施方式
本发明的主要方法概念是一种提供用于产生RSA类型加密方案中的密钥的n比特RSA模数N的方法,其中N的n比特的高达约三分之二是预定的。
图1示出了根据本发明的示例性RSA模数10。1表示N1的比特长度。因此n=n0+κ′+l。
令N=pq是两个大质数的乘积,其中p是(n-n0)比特的整数,q是n0比特的整数,从而N是n比特的RSA模数。
首先,计算p0和q0如下。
1.使用伪随机数发生器,根据随机种子s0产生(n0+κ′)比特的整数NH
Figure A20081009858800071
本领域技术人员将会理解,自然也可以选择该值。
2.随机选择整数
Figure A20081009858800072
3.定义
Figure A20081009858800081
本领域技术人员将会理解,针对p0和q0的这种选择
意味着NH21-p0q0=NH21 mod p0.
接下来,令p=p0+x,q=q0+y且z=xy+2l-1-Nl。因此获得
N = N H 2 l + N l = p 0 q 0 + ( p 0 y + q 0 x ) + xy
⇔ q 0 x + p 0 y + xy - N l = N H 2 l - p 0 q 0
⇔ q 0 x + p 0 y + z = 2 l - 1 + ( N H 2 l mod p 0 )
现在必须找到满足|xy-z|=|Nl-2l-1|<2l-1的后一方程的整数解(x,y,z)。为此,考虑通过满足aui+bvi=di(其中a=q0及b=p0)的扩展欧几里德算法获得的序列{ui,vi,di}。
扩展欧几里德算法产生了三个序列{ui}、{vi}和{di}。以下是对基于扩展欧几里德算法的序列中的至少一个、隐式或显式产生的至少一个不同的序列的扩展欧几里德算法的扩充。
然后定义z0=c及zi=zi-1 mod di,其中c=2l-1+(NH 2l mod p0),并且通过下式给出两个伴随(companion)序列{xi}和{yi}
Figure A20081009858800085
Figure A20081009858800086
如所需,有
Figure A20081009858800087
= ax i - 1 + by i - 1 + z i - 1 - ( z i - 1 mod d i ) = ax i - 1 + by i - 1 + z i - 1 - z i
= ax 0 + by 0 + z 0 - z i = c - z i
并且存在所需范围内的解。
图2示出了应用了RSA-2048口令(challenge)的本发明的方法示例。如所见,通过本发明的方法产生的质数p和q使得相应的RSA模数N=pq在其前三分之二上与RSA-2048口令匹配(由下划线十六进制图表示)。
图3示出了适于计算RSA模数的设备。设备30包括处理器31,该处理器可以是单个处理器或多个处理器的组合;存储器32;适于从存储了程序代码的存储介质35接收用于执行所述方法的程序代码的通信接口33;以及用户接口34。
优选地,处理器31适于优选根据本发明的方法来产生RSA模数,存储器32适于存储数据,以及通讯接口33适于与其他设备通信。
设备30适于通过通信接口33或用户接口34来接收预定部分NH作为用于计算共享预定部分NH的一个或多个RSA模数的输入。当计算了该模数时,设备通过用户接口输出该模数,或者优选地,输出至另一设备以用于RSA加密。
将会理解,尽管根据本发明优选实施例的方法固定了该模数的前导比特,但是也可以固定模数N的尾部比特。更一般地,可以固定N的一些前导比特和一些尾部比特,或者散布在整个N上的多个比特。
本发明的方法适于容纳由多于2个因子构成的RSA模数,例如3质数RSA模数或N=prq形式的RSA模数。
根据本发明的方法也应用于在用户之间共享RSA模数N的公共部分(即NH)、或者NH对于给定应用的所有用户是公共的时。在这种情况下,不需要传输NH或者需要构建该公共部分的数据。
本领域技术人员将会理解,使用本发明产生的RSA模数允许数据通信系统中的通信方仅交换N的比特的大约三分之一、以及覆盖所述预定部分所需的数据(优选实施例中的种子)。
此外,产生所述RSA类型的加密方案中的密钥的一方也可以仅存储N的比特的大约三分之一、以及覆盖所述预定部分所需的数据(优选实施例中的种子)。
本发明的新方法极大地降低了用于RSA类型的加密方案中的密钥产生中的传输和/或存储需求。
本领域技术人员将会理解,例如,本发明可以产生压缩的RSA模数。
将会理解,仅作为示例描述了本发明。可以单独地或以任何适合的组合来提供说明书、(适合地)权利要求和附图中公开的每个特征。以硬件方式实现的特征也可以以软件方式实现,反之亦然。
权利要求中出现的参考数字仅作为示例目的,并不会限制权利要求的范围。

Claims (7)

1.一种用于产生RSA模数的因子的方法,所述因子包括能够大于RSA模数的一半的预定部分(NH),所述RSA模数包括至少两个因子,所述方法包括以下步骤:
接收所述RSA模数要共享的预定部分(NH)的值;
产生至少两个备选因子,所述备选因子的乘积共享至少所述预定部分(NH)的第一部分(Nh);
通过以下步骤,使用欧几里德型计算对所述至少两个备选因子进行修改,直至所产生的因子是质数,并且所产生的因子的乘积完全共享所述预定部分(NH):
使用扩展欧几里德算法的扩充来评估所述至少两个备选因子中每个的修正值;以及
分别将修正值加至所述至少两个备选因子,以获得至少两个所产生的因子;
其中所产生的因子的乘积包括第一共享部分(Nh),并共享所述预定部分的第二部分(Nm);以及
输出所产生的因子,以允许使用所产生的因子进行加密运算。
2.如权利要求1所述的方法,其中所述RSA模数是三质数RSA模数。
3.如权利要求1所述的方法,其中所述RSA模数具有N=prq形式。
4.如权利要求1所述的方法,其中所述产生步骤包括以下步骤:
选择第一备选因子;以及
将第二备选因子计算为一值与所述第一备选因子的除法的整数结果,从而所述备选因子的乘积共享至少所述预定部分的第一部分(Nh),所述值具有与所述RSA模数一样多的比特,并共享所述预定部分(NH)。
5.如权利要求1所述的方法,其中扩展欧几里德算法的扩充使用通过满足aui+bvi=di、其中a=q0和b=p0的扩展欧几里德算法所获得的序列{ui,vi,di},以导出由下式给出的两个伴随序列{xi}和{yi}:
Figure A2008100985880003C2
其中z0=c及zi=zi-1 mod di,c=2l-1+(NH 2l mod p0)。
6.一种用于计算RSA模数的因子的设备(30),所述因子包括能够大于RSA模数的一半的预定部分(NH),所述RSA模数包括至少两个因子,所述设备(30)包括处理器(31),适于:
接收所述RSA模数要共享的预定部分(NH)的值;
产生至少两个备选因子,所述备选因子的乘积共享至少所述预定部分(NH)的第一部分(Nh);
通过以下步骤,使用欧几里德型计算对所述至少两个备选因子进行修改,直至所产生的因子是质数,并且所产生的因子的乘积完全共享所述预定部分(NH):
使用扩展欧几里德算法的扩充来评估所述至少两个备选因子中每个的修正值;以及
分别将修正值加至所述至少两个备选因子,以获得至少两个所产生的因子;
其中所产生的因子的乘积包括第一共享部分(Nh),并共享所述预定部分的第二部分(Nm);以及
输出所产生的因子,以允许使用所产生的因子进行加密运算。
7.一种计算机程序产品(35),包括在所述程序在处理器上执行时用于执行根据权利要求1至5之一的方法的步骤的程序代码指令。
CN200810098588.3A 2007-05-31 2008-05-22 用于产生rsa模数的因子的方法和设备 Expired - Fee Related CN101320323B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP07301082 2007-05-31
EP07301082.9 2007-05-31
EP07301509.1 2007-10-29
EP07301509A EP1998491A1 (en) 2007-05-31 2007-10-29 Method for calculating compressed RSA moduli

Publications (2)

Publication Number Publication Date
CN101320323A true CN101320323A (zh) 2008-12-10
CN101320323B CN101320323B (zh) 2012-12-26

Family

ID=38814357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810098588.3A Expired - Fee Related CN101320323B (zh) 2007-05-31 2008-05-22 用于产生rsa模数的因子的方法和设备

Country Status (4)

Country Link
US (1) US8135131B2 (zh)
EP (2) EP1998491A1 (zh)
JP (1) JP5210712B2 (zh)
CN (1) CN101320323B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102354279A (zh) * 2011-09-19 2012-02-15 飞天诚信科技股份有限公司 在嵌入式系统中处理数据的方法及协处理器
CN111917541A (zh) * 2020-08-10 2020-11-10 范丽红 一种基于物联网监控终端的接入认证系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9410337D0 (en) * 1994-05-24 1994-07-13 Cryptech Systems Inc Key transmission system
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US6959091B1 (en) * 2000-07-28 2005-10-25 Atmel Corporation Cryptography private key storage and recovery method and apparatus
FR2822002B1 (fr) * 2001-03-12 2003-06-06 France Telecom Authentification cryptographique par modules ephemeres
DE10143728B4 (de) * 2001-09-06 2004-09-02 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
JP4019762B2 (ja) * 2002-03-28 2007-12-12 松下電器産業株式会社 逆元演算装置、逆元演算方法、rsa鍵対生成装置、rsa鍵対生成方法
US20040086115A1 (en) * 2002-11-06 2004-05-06 Chi-Sung Laih Image public key generation method
US7266692B2 (en) * 2004-12-17 2007-09-04 Ntt Docomo, Inc. Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates
JP2007052386A (ja) * 2005-08-17 2007-03-01 Kiki Mimori 複素数及び行列による強化rsa系暗号

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102354279A (zh) * 2011-09-19 2012-02-15 飞天诚信科技股份有限公司 在嵌入式系统中处理数据的方法及协处理器
CN102354279B (zh) * 2011-09-19 2014-03-26 飞天诚信科技股份有限公司 在嵌入式系统中处理数据的方法及协处理器
CN111917541A (zh) * 2020-08-10 2020-11-10 范丽红 一种基于物联网监控终端的接入认证系统

Also Published As

Publication number Publication date
US20090323934A1 (en) 2009-12-31
JP2008299335A (ja) 2008-12-11
CN101320323B (zh) 2012-12-26
EP1998491A1 (en) 2008-12-03
US8135131B2 (en) 2012-03-13
JP5210712B2 (ja) 2013-06-12
EP1998492A1 (en) 2008-12-03

Similar Documents

Publication Publication Date Title
Menezes Elliptic curve public key cryptosystems
EP1141820B1 (en) A method for accelerating cryptographic operations on elliptic curves
US8374345B2 (en) Data processing system and data processing method
US6038581A (en) Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
Joye et al. Efficient generation of prime numbers
CN1326351C (zh) 有限域离散对数密码系统的割圆多项式结构
CA2212664C (en) Secret communication and authentication scheme based on public key cryptosystem using n-adic expansion
US8549299B2 (en) Accelerated key agreement with assisted computations
US20060029222A1 (en) Method for accelerating cryptographic operations on elliptic curves
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
US7912216B2 (en) Elliptic curve cryptosystem optimization using two phase key generation
JP4137385B2 (ja) 公開鍵および秘密鍵による暗号化方法
WO2005099150A2 (en) Public key cryptographic methods and systems
WO2001018772A1 (fr) Procede et dispositif d'elaboration de courbes elliptiques, systeme elliptique de cryptage et support d'enregistrement
JP4690819B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置
CN101320323B (zh) 用于产生rsa模数的因子的方法和设备
EP2493112B1 (en) Accelerated key agreement with assisted computations
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
KR101491681B1 (ko) 압축된 rsa 계수들을 발생시키기 위한 방법 및 디바이스
KR100340102B1 (ko) 알에스에이 공개키 암호 고속화 장치 및 방법
JP2005055488A (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム
CN109787773A (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统
JP2948605B2 (ja) 暗号鍵共通の暗号通信用端末
CN116961909A (zh) 椭圆曲线加密方法、装置、电子设备和计算机程序产品
Pavlovski Applied batch cryptography

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121226

Termination date: 20160522

CF01 Termination of patent right due to non-payment of annual fee