CN1338166A - 公用与专用密钥加密方法 - Google Patents

公用与专用密钥加密方法 Download PDF

Info

Publication number
CN1338166A
CN1338166A CN99816477.1A CN99816477A CN1338166A CN 1338166 A CN1338166 A CN 1338166A CN 99816477 A CN99816477 A CN 99816477A CN 1338166 A CN1338166 A CN 1338166A
Authority
CN
China
Prior art keywords
mod
equipment
log
password
calculating
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.)
Pending
Application number
CN99816477.1A
Other languages
English (en)
Inventor
P·派利尔
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.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of CN1338166A publication Critical patent/CN1338166A/zh
Pending legal-status Critical Current

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

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

Abstract

本发明涉及用于产生公用密钥(K)和专用密钥(K′)的加密方法,包括:选择邻近值的两个不同的大素数p和q,并计算积n=p·q;计算数(p-1)和(q-1)的最小公倍数:λ(n)=PPCM(p-1,q-1);确定下面两个条件的数g,0< g≤n2:(a)g是可逆模n2;和(b)ord(g,n2)=0modn。由参数n和g形成该公用密钥K,利用参数p,q和λ(n)或利用参数p和q形成它的专用密钥。对于表示信息的数m(0≤m< n)的加密方法包括计算密码C=gmmodn2

Description

公用与专用密钥加密方法
本发明涉及公用与专用密钥加密方法,这能用于其中需要保证通过任何信道发送的消息的机密性和/或需要确切识别与之交换消息的设备的所有应用中。
利用发送的信息的加密来获得通过任何通信信道在两个设备A与B之间发送的消息的机密性,以使此信息对于未预定发送此信息给之的任何人是不可懂的。消息的可靠识别部分基于消息的数字特征标记的计算。
实际上,能使用两种类型的加密方法,即一种类型是所谓的对称加密方法,具有保密密钥,其公知的示例是DES,另一种类型是所谓的非对称加密方法,使用公用与专用密钥对,描述在1976年11月IEEE Transactions on Information Theory上发表的Messrs Diffie与Hellman的文章“New Directions in Cryptography”中。非对称方法的公知示例是源于其发明者Ronald Rivest、Adi Shamir与Leonard Adleman名字的RSA,在US专利4405829中可找到此RSA方法的描述。
在本发明中,更具体地涉及非对称加密方法。
根据非对称加密方法的加密方法主要包括:对于希望机密地发送消息给目的地B的发射机A来说,考虑例如电话簿中目的地B的公用密钥KB;利用此公用密钥对要进行发送的消息应用加密方法E;并发送给目的地B,得到密码C:
C=EKB(m)。
对于目的地B,此方法主要包括:接收密码C;并解码此密码C以获得原始消息m;利用只有它知道的专用密钥K′b对密码C应用解密方法D:m=DK′b(C)。
根据此方法,任何人都能发送加密消息给目的地B,但只有后者能解密此消息。
通常将非对称加密方法用于特征标记的生成/验证。在此种情况下,希望证明其身份的用户利用只有他知道的专用密钥来生成消息m的数字特征标记s,即,他发送给目的设备的特征标记。目的设备利用此用户的公用密钥来进行此特征标记的验证。任何设备因而具有验证用户的特征标记、考虑此用户的公用密钥并将此公用密钥应用于验证算法中的能力。然而,只有相关的用户具有利用其专用密钥生成正确的特征标记的能力。此方法例如大多用于接入控制系统或银行交易中,这一般与加密方法的使用相结合,以便在发送特征标记之前加密此特征标记。
对于数字特征标记的生成/验证,有可能实际使用诸如对应于US国家标准与技术委员会建议的美国标准的DSA(数字特征标记算法)的此应用专用的非对称加密方法。也有可能使用具有能在加密与特征标记生成时使用的特性的RSA。
在本发明中,涉及能用于消息的加密和数字特征标记的生成的加密方法。在本技术领域的当前状态中,只有存在许多不同实施方案的RSA才提供此双重功能。
该RSA包括生成用于指定设备的公用密钥K与专用密钥K′的步骤,其中程序如下:
-选择两个不同的大素数p与q,
-计算其乘积n=p·q,
-利用(p-1)(q-1)的最小公倍数选择一个素数。实际上,通常取e等于3。
随后利用参数对(n,e)形成该公用密钥K,并利用参数对(p,q)形成保密密钥K′。
通过选择大尺寸的p与q,其乘积n也具有大尺寸。N因此非常困难进行因子分解:保证在知道n的情况下不可能找到保密密钥K′=(p,q)。
表示消息M的数字m(0≤m<n)的加密方法则包括利用公用密钥K=(n,e)执行下面的计算:
c=EB(m)=me mod n。
该解密方法则部分包括利用保密的专用密钥K′=(p,q)执行下面的逆计算:
m=cd mod(n)
其中 d = 1 e mod ( p - 1 ) ( q - 1 )
已经知道:RSA具有能用于特征标记验证的特性。用户A的特征标记生成的相应方法包括使用借助该保密密钥的解密方法以便生成表示消息的数字m的特征标记s。因而:s=md mod n。
将此特征标记s发送给目的地B,知道m的后者(例如,A发送s与m),通过执行逆运算,也就是说使用借助发射机A的公用密钥的此加密方法,来验证此特征标记。即,他计算V=se mod n,并验证v=m。
一般地,为了提高这样的特征标记验证方法的安全性,在计算此特征标记之前首先对数字m应用散列函数,这能包括比特的置换和/或压缩。
在说到要加密或标记的消息M时,这当然是指能从先前的数字编码中得到的数字消息的情况。实际上,这些是其二进制大小(比特的数量)是可变的比特串。
然而,诸如RSA的加密方法使之有可能利用公用密钥(n,e)加密0与n-1之间的任何数字。为了将此方法应用于具有任何大小的消息M,因此实际需要将此消息划分为均满足条件0≤m<n的一系列数字m。随后,将此加密方法应用于这些数字之中的每一个数字。下面,因此涉及对表示消息M的数字m应用此加密方法的情况。m能等于M或只是其一部分。下面,将m一般地用于表示该消息或代表此消息的数字。
本发明的一个目的是不同于基于RSA的方法的非对称加密方法。
本发明的一个目的是基于能应用于消息的加密或特征标记的生成的其他特性的方法。
本发明的一个目的是在某些结构中提供更迅速的处理时间的加密方法。
其特征在于,本发明涉及根据权利要求1的加密方法。
通过结合附图阅读作为示意给出的并且无论如何不限制本发明的下面描述将更好地理解本发明,其中:
图1是非对称类型的密码通信系统的功能图;
图2是用于根据本发明的密码通信系统中的通信设备的功能图;
图3是使用根据本发明的加密方法的消息加密/解密对话的流程图;和
图4是使用根据本发明的加密方法的特征标记生成/验证对话的流程图。
为了更好地理解本发明,需要完成一些数学准备。
在本说明书中,使用下面的数学表示法:
(1)如果a是相对整数,而b是真正的正整数,则a mod b(a模b)是a相对b的模余数并且表示正好小于b的唯一整数,以使b整除(a-a mod b)。
(2)(Z/bZ)表示模b的余数集合并形成模加法的组。
(3)(Z/bZ)*表示可逆模b的整数集合并形成模乘法的组。
(4)(Z/bZ)*的元素a的阶是使aord(a,b)=1 mod b的最小自然整数ord(a,b)。
(5)LCM(a,b)表示a与b的最小公倍数。
(6)HCF(a,b)表示a与b的最大公因子。
(7)λ(a)表示a的Carmichael(卡迈克尔)函数。如果a=p·q,则λ(a)=LCM(p-1,q-1)。
(8)利用公知的Chinese Remainder Theorem(中国余数定理)得到下面的模等式的唯一解:
  x=a1 mod b1
  x=a2 mod b2
  …
  x=ak mod bk
其中给定整数ai与bi,和其中i≠j时,i,j,HCF(bi,bj)=1表示X=CRT(a1,…ak,b1,…bk)。
(9)数字a的二进制大小是其中写入a的比特的数量。
现在,假定n为任意大小的整数。集合Un={x<n2/x=1 mod n}是(Z/n2Z)*的乘法子群。
随后,假定logn是利用下式定义有关集合Un的函数: Logn ( x ) = X - 1 n
此函数具有以下特性:
x∈Un,y∈Un,logn(xy mod n2)=logn(x)+logn(y)mod n。
结果,如果g是属于Un的任意整数,则对于任意数字m,0≤m<n,这得到:
logn(gm mod n2)=m.logn(g)mod n
此数学特性以现在将描述的本发明中使用的加密方法为基础。
图1表示使用非对称加密方法的密码通信系统,它包括示例A与B中在通信信道1上通信的设备,此示例表示双向信道。每个设备包含一对公用密钥K与专用密钥K′。
公用密钥例如公开在诸如电话簿的公开文件2中,每个设备能查阅此公开文件。在此公开文件中,因而将找到设备A的共用密钥KA和设备B的公用密钥KB
每个设备的专用密钥K′一般由此设备保密地存储在保护的非易失性存储区域中。设备A因而在保密存储器中包含它的专用密钥K′A,而设备B在保密存储器中包含它的专用密钥K′B,它们也存储其公用密钥,但存储在没有任何特殊存取保护的存储区域中。
在这样的系统中,设备A能利用设备B的公用密钥KB在密码CA中加密消息m;后者能利用其保密存储的专用密钥K′B解密CA。相反地,设备B能利用设备A的公用密钥KA在密码CB中加密消息m。后者能利用其保密存储的专用密钥K′A解密CB
一般地,如图2所示,每个设备至少包括:处理装置10,即中央处理单元(CPU),包括显然不同的用于计算的寄存器R;接口11,用于与通信信道通信;和存储装置。这些存储装置一般包括程序存储器12(ROM,EPROM,EEPROM)和工作存储器(RAM)13。实际上,每个设备都将其保密数据存储在程序存储器中提供的保护存取区域120中并将其公开数据存储在此存储器的正常存取区域中。工作存储器使之有可能对于计算要求的时间临时存储要加密的消息、要解密的密码或中间计算结果。
此处理与存储装置因而使之有可能执行与此应用相关的程序,并且特别使之有可能进行对应于根据本发明的消息的加密/解密和/或特征标记的生成/验证的加密方法的实施的计算,这些计算显然包括上升为幂、余数和模求逆,如在下面具体描述的。
此设备也能包括用于在某些不同的实施例中能参与上述计算的随机或伪随机数字r的生成器14。以图2中的虚线表示此生成器的框架,以表示此生成器对于根据本发明的所有不同的实施例不是必需的。
此设备的所有这些装置连接到地址与数据总线15。
本发明中使用的这样的设备是公知的,并且例如对应于使用RSA的现有技术状态的密码通信系统中使用的那些设备,因此将不再具体描述这样的设备。密码通信系统的一个实际示例是利用银行服务器和智能卡形成的用于管理金融交易的系统。然而,具有许多其他的应用,诸如与电子商务相关的应用。
现在将根据图3中所示的流程图具体描述本发明的第一实施例。
此流程图表示通信信道20上设备A与设备B之间的通信顺序。这些设备至少包括结合图2所述的处理、存储与通信装置。
根据本发明的加密方法包括生成公用密钥K与专用密钥K′的方法。
根据本发明,生成设备的公用与专用密钥的此方法包括以下步骤:
-选择不同的并且具有相邻大小的两个大素数p与q;
-计算等于p·q乘积的数字n;
-计算数字λ(n)=LCM(p-1,q-1),即数字n的Carmichael(卡迈克尔)函数;
-确定满足下面两个条件的数字g,0≤g<n2
 a)g是可逆模n2;和
 b)ord(g,n2)=0 mod n。
根据上面定义的表示法,此条件b)表示从0到n2的整数的集合(Z/n2Z)*中的数字g的阶是数字n的非零倍数。
随后利用数字n与数字g形成公用密钥K,利用数字p、q与λ(n)或只利用数字p与q形成专用密钥,λ(n)能在每次使用保密密钥时重新进行计算。
根据此方法生成每个设备的公用与专用密钥。能根据考虑的设备与应用利用设备本身或利用外部组成部分来实现此生成。
每个设备(例如,设备A)因此在存储器中包含它的公用密钥KA=(nA,gA)和保密地包含它的专用密钥K′A=(pA,qA)。
另外,将公用密钥放置在公众可存取的文件中。
在下面将明白:在可能时,取g=2是有益的,也就是说,g=2满足根据本发明的特征标记生成方法的条件a)与b)。
根据设备A中实施的本发明的加密方法的第一实施例的加密方法为了发送消息给设备B而包括以下步骤的执行,其中0≤m<n:
-给定有关设备A利用第二设备B的公用密钥KB实施的加密方法的参数n与g的信息:n=nB,g=gB
-计算密码C=gm mod n2;和
-通过通信信道发送密码C。
根据本发明的第一实施例的加密方法因此包括:取公用密钥的参数g;将此参数g升为m的幂;并计算相对n2的模余数。应注意,在RSA中,是消息m上升为幂,而在本发明中消息m用作指数。
接收加密消息(即,密码C)的设备B随后根据本发明利用其专用密钥的参数来实施解密方法。此解密方法包括以下计算:
-计算数字m,以使 m = log n ( c &lambda; ( n ) mod n 2 ) log n ( g &lambda; ( n ) mod n 2 ) mod n
其中 log n ( x ) = x - 1 n
如果g=2,能明白:实施将g上升为幂的计算。因此,如果可能的话,最好取g=2。换而言之,生成密钥的方法将通过查看g=2是否满足条件a)与b)来开始。
能实施不同变型的解密方法的计算,这在此设备必须解密大量的密码时使之有可能预先计算某些数量并将这些数量保密存储在此设备中。一个必然结果是此设备的保密存储区域(图2中的区域120)必须更扩展,这是因为此区域必须包含除参数p与q之外的其他参数,这对实施一个变型或另一变型的选择没有影响,这是因为尤其在所谓的低成本设备(例如,某些类型的智能卡)中保护存储区域的实施昂贵,并因此具有一般有限的(存储)容量。
在解密设备的第一变型实施例中,假定此设备(在此种情况中为设备B)只预先计算一次此数量:
αn,g=logn(gλ(n)mod n2)-1mod n
并将其保密存储在存储器中。
因而,相应地减少此设备接收的每条消息的解密所需的时间。这是因为在设备B执行此变型的解密方法的示例时,所要做的就是计算:
m=logn(Cλ(n)mod n2n,g mod n。
在根据本发明的解密方法的第二变型实施例中,假定为了更好的效率(计算的速度)而使用中国余数定理。
在解密方法的此第二变型的一个示例中,此设备执行下面的(解密)计算:
1.mp=logp(cp-1 mod p2)logp(gp-1 mod p2)-1mod p
2.mq=logq(cq-1 mod q2)logq(gq-1 mod q2)-1 mod q
3.m=CRT(mp,mq,p,q),
其中 log p ( x ) = x - 1 p log q ( x ) = x - 1 q
在这种情况中,在此设备必须解密非常大量的消息时,也能假定此设备只预先计算一次下面的数量:
αp,g=logp(gp-1 mod p2)-1mod p;  和
αq,g=logq(gq-1 mod q2)-1mod q
此设备随后必须将这些数量存储为保密数据。
在解密方法的一个示例期间进行的计算变成:
1.mp=logp(cp-1 mod p2p,g mod p
2.mq=logq(cq-1 mod q2q,g mod q
3.m=CRT(mp,mq,p,q),
如已经陈述的,在此设备得解密大量的消息时,并且在节约处理时间以补偿用于存储所有保密数据的保护区域的较大存储容量时,所有其不同的解密计算是有利的。一种或另一种变型的选择实际上取决于所述的应用和并存的费用与处理时间的约束。
本发明的第二实施例包括此加密方法中利用随机(或伪随机)数生成器提供的随机数的使用,以致于对于要发送的同一消息m,计算的密码C在每一种情况下都是不同的。通信系统的安全性因此更大,而解密方法不变。
本发明的此第二实施例包括两种变型。
在第一变型中,利用下面的计算获得密码c:c=gm+nr mod n2
在第二变型中,利用下面的计算获得密码c:c=gmrn mod n2
此第二变型实际上要求比第一变型更长的处理时间,但提供更大的安全性。
在本发明的第三实施例中,要求(Z/nZ)*中g的阶是小整数,这通过实施不同的密钥生成方法来获得。
利用这样的有关参数g的阶的条件,减少此解密方法的计算的复杂性,这实际上变成相对数字n的大小的平方(即,x2的形式)。
在本发明的此第三实施例中,生成公用与专用密钥的方法则如下:
-保密地选择整数u和两个不同的并具有相邻大小的素数p与q,以使u整除(p-1)与(q-1);
-计算等于p·q乘积的数字n;
-计算数字λ(n)=LCM(p-1,q-1),即,数字n的Carmichael(卡迈克尔)函数;
-确定满足下面两个条件的数字h,0≤h<n2
a)h可逆模n2,和
b)ord(h,n2)=0 mod n
-计算数字g=hλ(n)/u mod n2
随后利用数字n与数字q形成公用密钥K。专用密钥由保密存储在此设备中的整数(p,q,u)构成。
如果可能的话(即,如果h=2满足条件a)与b),以便于g的计算),最好选择h=2。
应注意:如果u=HCF(p-1,q-1),就无需存储此数字,这能利用此设备从p与q中找到此数字。
最好选择u为素数并具有一般为160比特的小尺寸,以提高此方法的安全性。通过选择小尺寸的u,将明白有助于此解密计算。
在此第三实施例中,应用加密方法来加密消息m与以前在本发明的第一实施例中所述的相同,密码等于C=gm mod n2
也有可能利用随机变量r根据前述的本发明的第二实施例的第一变型计算密码c。r则是随机整数,具有与u相同的大小,并利用下面的计算来获得此密码:c=gm+nr mod n2
将根据此加密方法的一个或另一前面的实施计算的密码c发送给设备B,此设备B必须解密此密码。由接收消息的设备B实施的解密方法稍有不同。
这是因为为了从密码c中找到数字m而在解密的一个示例中在此设备中进行的计算变成如下: m = log n ( c u mod n 2 ) log n ( g u mod n 2 ) mod n
如前面一样,有可能应用不同的计算,这使之有可能加快需要的处理时间。
在第一变型中,数量βn,g=logn(gu mod n2)-1mod n将因而只预先计算一次并将保密存储在存储器中。
在接收的密码c的解密的一个示例期间,此设备随后只需要进行下面的计算:
m=logn(cu mod n2a,g mod n。
在第二变型中,利用函数logp与logq实施中国余数定理,如执行解密计算所明白的。
在解密接收的密码c的方法的此变型的一个示例中,此设备则执行下面的计算。
1.mp=logp(cu mod p2)logp(gu mod p2)-1mod p
2.mq=logq(cu mod q2)logq(gu mod q2)-1mod q
3.m=CRT(mp,mq,p,q)。
在第三变型中,进一步加快根据第二变型的密码c的解密所需的处理时间,预先计算下面的数量:
βp,g=logp(gu mod p2)-1mod p
βq,g=logq(gu mod q2)-1mod q
并将这些数量保密地存储在此设备中。
在解密接收的密码c的方法的此第三变型的计算的示例中,此设备则只需执行下面的计算:
1.mp=logp(cu mod p2p,g mod p
2.mq=logq(cu mod q2q,g mod q
3.m=CRT(mp,mq,p,q)。
在本发明的第四个实施例中,加密方法与解密方法具有是模n2的整数组的置换的特殊性。换而言之,如果消息m利用k个比特来表示,则通过对m应用此加密方法得到的密码c和通过对m应用此解密方法得到的特征标记s也在k个比特中。
此特殊性使此加密方法具有能用于加密/解密并用于特征标记生成/验证的附加特性。在这种情况中,此解密方法用作特征标记生成方法,而此加密方法用作特征标记验证方法。
在此第四实施例中,生成公用与专用密钥的方法和本发明的第一实施例相同:K=(n,g)和K′=(p,q,λ(n))或K′=(p,q)。
如果设备A希望发送加密消息m给设备B,则设备A从设备B得到公用密钥(n,g),并随后在此加密方法的一个示例中对数字m执行下面的计算,0≤m<n2
1.m1=m mod n
2.m2=(m-m1)/n  (Euclidian欧几里德除法)
3.c=gm1m2 n mod n2.
正是将此密码c发送给设备B。
后者因此必须对此密码c应用相应的解密方法,以找到m1、m2并最后找到m。根据本发明的第四个实施的解密方法包括执行下面的计算:
1.m1=logn(cλ(n)mod n2)logn(gλ(n)mod n2)-1mod n
2.w=cg-m1 mod n
3.m2=w1/n modλ(n) mod n
4.m=m1+nm2
与以前一样,根据本发明的此第四实施例的解密方法的变型是可应用的,这使之有可能减少解密给定消息所需的处理时间,这在此设备具有大量的密码要解密时是有益的。
第一变型包括预先计算下面的数量:
αn,g=logn(gλ(n)mod n2)-1mod n;和
γn=1/n modλ(n)。
这些数量设备B只计算一次而且保密保持在存储器中。
对于根据此第一变型接收的密码c的解密的每一个新示例,设备B只需执行下面的计算:
1.m1=logn(cλ(n) mod n2n,g mod n
2.w=cg-m1 mod n
3.m2=wγn mod n
4.m=m1+nm2
在根据第四实施例的解密方法的实施的第二变型中,使用中国余数定理。
希望根据此第二变型解密密码c的设备则执行下面的连续计算:
1.m1,p=logp(cp-1 mod p2)logp(gp-1 mod p2)-1mod p
2.wp=cg-m1,p mod p
3.m2,p=wp 1/q mod p-1 mod p
4.m1,q=logq(cq-1 mod q2)logq(gq-1 mod q2)-1mod q
5.wq=cg-m1,q mod q
6.m2,q=wq 1/p mod q-1 mod q
7.m1=CRT(m1,p,m2,p,p,q)
8.m2=CRT(m1,q,m2,q,p,q)
9.m=m1+pqm2
在第三变型中,为了进一步提高处理此第二变型的解密的时间,设备B能只预先计算一次下面的数量:
αp,g=logp(gp-1 mod p2)-1mod p
αq,g=logq(gq-1 mod q2)-1mod q
γp=1/q mod p-1
γq=1/p mod q-1
并且将这些数量保密保持在存储器中。
希望根据此第三变型解密密码c的设备只需执行下面的计算:
1.m1,p=logp(cp-1 mod p2p,g mod p
2.wp=cg-m1,p mod p
3.m2,p=wp γp mod p
4.m1,q=logq(cq-1 mod q2q,g mod q
5.wq=cg-m1,q mod q
6.m2,q=wq γq mod q
7.m1=CRT(m1,p,m2,p,p,q)
8.m2=CRT(m1,q,m2,q,p,q)
9.m=m1+pqm2
刚才描述的本发明的第四实施例使之有可能实现特征标记生成/验证。如图4的流程图所示,如果设备B必须生成对于设备A表示消息的数字m的特征标记s,则采用具有其专用密钥s=DK’B(m)的解密方法作为特征标记生成方法。
接收特征标记s并知道消息m的设备A通过计算利用公用密钥v=EKB(s)对特征标记s应用此加密方法获得的数量v来检验此特征标记是否正确。如果此特征标记是正确的,则v=m。
使之有可能加快处理时间的此第四实施例的解密方法的所有变型实施例也能应用于特征标记生成/验证。
刚才描述的本发明可应用于其中希望能加密和/或标记消息的所有系统中,这根据是否寻求更加安全或增加处理速度来拓展适用于不同应用的可能性。有关这方面,应注意:其计算复杂性只是二次方程式(n的大小的平方的函数)的本发明的第三实施例在速度方面提供真实优势,而迄今为止所有的现有技术方法具有较高的复杂程度(n的大小的立方函数)。这样的优点更具体涉及使用便携式设备(诸如智能卡和更具体地低成本设备)的所有应用。
最后,本发明所涉及的技术领域的技术人员将明白:能对形式和/或细节进行修改而不背离本发明的精神。特别地,能加密特征标记,或能在计算其特征标记之前对消息m应用散列函数。

Claims (25)

1.一种加密方法,包括在能在至少一个通信信道上交换消息的设备中生成公用密钥(K)与专用密钥(K’)的方法,此专用密钥得保密存储在所述设备中,而此公用密钥得公开进行广播,此生成方法包括以下步骤:
-选择不同的并且具有相邻大小的两个素数p与q;
-计算等于p·q乘积的数字n;
其特征在于,所述方法也包括以下步骤:
-计算数字(p-1)与(q-1)的最小公倍数:λ(n)=LCM(p-1,q-1);
-确定满足下面两个条件的数字g,0≤g<n2
 a)g可逆模n2;和
 b)ord(g,n2)=0 mod n,
利用参数n与g形成所述设备的公用密钥,并利用参数p、q与λ(n)或利用参数p与q形成其专用密钥。
2.根据权利要求1的生成方法,其特征在于,它包括在g满足所述条件a)与b)时取g=2。
3.具有根据权利要求1或2生成的公用与专用密钥的一种密码通信系统,包括通信信道(20)和通信设备(A,B),每个设备包括至少一个通信接口(11)、数据处理装置(10)和存储装置(12,13),其特征在于,在第一设备(A)中实施加密方法,以发送表示消息的数字m给第二设备(B),其中0≤m<n,所述加密方法包括以下步骤:
-利用第二设备(B)的公用密钥(nB,gB)的参数来给出有关此加密设备的参数n与g的信息,
-计算密码c=gm mod n2
随后通过此通信信道将所述密码c发送给第二设备。
4.根据权利要求3的系统,其特征在于,实施此加密方法的设备也包括用于随机整数r的生成器(15),并且其特征在于,所述设备:
-执行随机整数r的绘制,和随后
-通过执行下面的加密计算来计算密码c:
 c=gm+nr mod(n2)。
5.根据权利要求3的系统,其特征在于,实施此加密方法的设备也包括用于随机整数r的生成器(15),并且其特征在于,所述设备:
-执行随机整数r的绘制,和随后
-通过执行下面的加密计算来计算密码c:
 c=gmrn mod(n2)。
6.根据权利要求3-5之中任何一个权利要求的系统,其特征在于,第二设备(B)实施解密方法,以解密所述密码c,并包括执行下面的计算:
m=logn(cλ(n)mod n2)logn(gλ(n)mod n2)-1mod n其中 log n ( x ) = x - 1 n
7.根据权利要求6的系统,其特征在于,实施所述解密方法的设备(B)预先计算数量αn,g=logn(gλ(n)mod n2)-1mod n并将此数量保密存储。
8.根据权利要求6的系统,其特征在于,在所述解密方法的一个示例中,设备利用中国余数定理CRT执行以下计算步骤:
mp=logp(cp-1 mod p2)logp(gp-1 mod p2)-1mod p
mq=logq(cq-1 mod q2)logq(gq-1 mod q2)-1mod q
m=CRT(mp,mq,p,q),其中logp与logq使得 lo g i ( x ) = x - 1 i
9.根据权利要求8的系统,其特征在于,实施所述解密方法的设备预先计算以下数量:
αp,g=logp(gp-1 mod p2)-1mod p
αq,g=logq(gq-1 mod q2)-1mod q
并保密地存储这些数量。
10.具有根据权利要求1或2生成的公用密钥与专用密钥的一种密码通信系统,包括通信信道(20)和通信设备(A,B),每个设备包括至少一个通信接口(11)、数据处理装置(10)和存储装置(12,13),其特征在于,在第一设备(A)中实施加密方法,以发送表示消息的数字m给第二设备(B),其中0≤m<n2,所述加密方法包括以下步骤:
-利用第二设备(B)的公用密钥KB=(nB,gB)的参数来给出有关此加密设备的参数n与g的信息,
-并执行以下计算:
  1.m1=m mod n
  2.m2=(m-m1)/n
  3.c=gm1m2 n mod n2
通过此通信信道发送所述密码c。
11.根据权利要求10的系统,其特征在于,第二设备(B)接收此密码c并实施解密方法,以解密所述密码,这包括执行以下计算步骤:
1.m1=logn(cλ(n)mod n2)logn(gλ(n)mod n2)-1mod n
2.w=cg-m1 mod n
3.m2=w1/n modλ(n)mod n
4.m=m1+nm2
12.根据权利要求11的系统,其特征在于,实施所述解密方法的设备预先计算以下数量:
αn,g=logn(gλ(n)mod n2)-1mod n;和
γn=1/n modλ(n)
并且保密存储这些数量。
13.根据权利要求11的系统,其特征在于,在所述解密方法的一个示例中,设备使用中国余数定理执行以下计算步骤:
1.m1,p=logp(cp-1 mod p2)logp(gp-1 mod p2)-1mod p
2.wp=cg-m1,p mod p
3.m2,p=wp 1/q mod p-1mod p
4.m1,q=logq(cq-1 mod q2)logq(gq-1 mod q2)-1mod q
5.wq=cg-m1,q mod q
6.m2,q=wq 1/pmodq-1mod q
7.m1=CRT(m1,p,m2,p,p,q)
8.m2=CRT(m1,q,m2,q,p,q)
9.m=m1+pqm2
其中logp与logq使得 lo g i ( x ) = x - 1 i
14.根据权利要求13的系统,其特征在于,在所述解密方法的一个示例中,设备预先计算以下数量:
αp,g=logp(gp-1 mod p2)-1mod p
αq,g=logq(gq-1 mod q2)-1mod q
γp=1/q mod p-1
γq=1/p mod q-1
并保密地存储这些数量。
15.根据权利要求11-14之中任何一个权利要求的系统,其中此解密方法用于计算消息m的特征标记s,而此加密方法用于验证所述特征标记。
16.一种加密方法,包括在能在至少一个通信信道(20)上交换消息的设备中生成公用密钥(K)与专用密钥(K’)的方法,此专用密钥得保密存储在所述设备中,而此公用密钥得公开进行广播,一种生成方法包括以下步骤:
-选择数字u和具有相邻大小的两个不同的素数p与q,以使u整除(p-1)并整除(q-1);
-计算等于p·q乘积的数字n;
-计算数字(p-1)与(q-1)的最小公倍数:λ(n)=LCM(p-1,q-1);
-确定满足下面两个条件的数字h,0≤h<n2
a)h可逆模n2;和
b)ord(h,n2)=0 mod n,
-计算数字g=hλ(n)/u mod n2
利用参数n与g形成所述设备的公用密钥,并利用参数p、q与u形成其专用密钥。
17.根据权利要求16的方法,其特征在于,它包括在满足条件a)与b)时选择h=2。
18.根据权利要求16的方法,其特征在于,u是(p-1)、(q-1)的最大公因子。
19.根据权利要求16的方法,其特征在于,u是素数。
20.具有根据权利要求16-19之中任何一个权利要求生成的公用密钥与专用密钥的一种密码通信系统,包括通信信道(20)和通信设备(A,B),每个设备包括通信接口(11)、数据处理装置(10)和存储装置(12,13),其特征在于,在第一设备(A)中实施加密方法,以发送表示消息的数字m给第二设备(B),其中0≤m<n,所述加密方法包括以下步骤:
-利用第二设备(B)的公用密钥(n,g)B的参数来给出有关此加密设备的参数n与g的信息,
-计算密码c=gm mod n2
随后通过此通信信道将所述密码c发送给第二设备。
21.根据权利要求20的系统,其特征在于,实施此加密方法的设备也包括用于随机整数r的生成器(15),并且其特征在于,所述设备:
执行随机整数r的绘制,和随后
计算密码c,执行下面的加密计算:
c=gm+nr mod(n2)。
22.根据权利要求20或21的系统,其特征在于,第二设备(B)实施接收密码c的解密方法,包括执行下面的计算:
m=logn(cu mod n2)logn(gu mod n2)-1mod n。
23.根据权利要求22的系统,其特征在于,实施所述解密方法的设备预先计算数量:
βn,g=logn(gu mod n2)-1mod n
并将此数量保密存储。
24.根据权利要求22的系统,其特征在于,在所述解密方法的一个示例中,设备利用中国余数定理CRT执行以下计算步骤:
1.mp=logp(cu mod p2)logp(gu mod p2)-1mod p
2.mq=logq(cu mod q2)logq(gu mod q2)-1mod q
3.m=CRT(mp,mq,p,q),
其中logp与logq使得 log i ( x ) = x - 1 i
25.根据权利要求24的系统,其特征在于,实施所述解密方法的设备预先计算以下数量:
βp,g=logp(gu mod p2)-1mod p
βq,g=logq(gu mod q2)-1mod q
并保密地存储这些数量。
CN99816477.1A 1999-01-14 1999-11-25 公用与专用密钥加密方法 Pending CN1338166A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/00341 1999-01-14
FR9900341A FR2788650B1 (fr) 1999-01-14 1999-01-14 Procede cryptographique a cles publique et privee

Publications (1)

Publication Number Publication Date
CN1338166A true CN1338166A (zh) 2002-02-27

Family

ID=9540854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99816477.1A Pending CN1338166A (zh) 1999-01-14 1999-11-25 公用与专用密钥加密方法

Country Status (9)

Country Link
US (1) US7054444B1 (zh)
EP (1) EP1151576B1 (zh)
JP (1) JP4137385B2 (zh)
CN (1) CN1338166A (zh)
AU (1) AU1390200A (zh)
DE (1) DE69935455T2 (zh)
ES (1) ES2286910T3 (zh)
FR (1) FR2788650B1 (zh)
WO (1) WO2000042734A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107807B (zh) * 2004-12-22 2011-07-06 茂福公司 用于执行密码学计算的方法和装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10061697A1 (de) * 2000-12-12 2002-06-27 Infineon Technologies Ag Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln
US7141822B2 (en) * 2001-02-09 2006-11-28 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method for manufacturing the same
ITTO20010694A1 (it) * 2001-07-13 2003-01-13 Univ Roma Metodo di crittografia.
GB2391772B (en) * 2002-08-10 2005-05-11 Clive Neil Galley Public-key cryptosystem
US20050157872A1 (en) * 2003-11-12 2005-07-21 Takatoshi Ono RSA public key generation apparatus, RSA decryption apparatus, and RSA signature apparatus
CA2587474C (en) 2004-11-11 2016-08-09 Certicom Corp. New trapdoor one-way function on elliptic curves and their applications to shorter signatures and asymmetric encryption
JP4758110B2 (ja) * 2005-02-18 2011-08-24 株式会社エヌ・ティ・ティ・ドコモ 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
US7774607B2 (en) * 2006-12-18 2010-08-10 Microsoft Corporation Fast RSA signature verification
US8903090B2 (en) * 2008-04-29 2014-12-02 International Business Machines Corporation Securely classifying data
US8170216B2 (en) * 2008-06-18 2012-05-01 Apple Inc. Techniques for validating and sharing secrets
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8861716B2 (en) 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US8565435B2 (en) 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US9083526B2 (en) 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption
US9281941B2 (en) 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
JP5965873B2 (ja) * 2013-08-29 2016-08-10 日本電信電話株式会社 暗号文生成装置、暗号文生成方法およびプログラム
CN103701586A (zh) * 2013-11-07 2014-04-02 金硕澳门离岸商业服务有限公司 获取密钥的方法和装置
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10690904B2 (en) 2016-04-12 2020-06-23 Stryker Corporation Multiple imaging modality light source
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US10289816B1 (en) 2018-06-08 2019-05-14 Gsfm Llc Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment
WO2020174515A1 (ja) 2019-02-25 2020-09-03 日本電気株式会社 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置
CN111683071B (zh) * 2020-05-29 2023-02-28 百度在线网络技术(北京)有限公司 区块链的隐私数据处理方法、装置、设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5199070A (en) * 1990-12-18 1993-03-30 Matsushita Electric Industrial Co., Ltd. Method for generating a public key
JPH10301491A (ja) * 1997-04-28 1998-11-13 Ibm Japan Ltd 暗号通信方法とシステム
DE69840959D1 (de) * 1997-12-17 2009-08-20 Nippon Telegraph & Telephone Verschlüsselungs- und Entschlüsselungsvorrichtungen für Kryptosysteme mit öffentlichem Schlüssel und Aufzeichnungsmedium mit darauf gespeicherten zugehörigen Verarbeitungsprogrammen.
US6345098B1 (en) * 1998-07-02 2002-02-05 International Business Machines Corporation Method, system and apparatus for improved reliability in generating secret cryptographic variables

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107807B (zh) * 2004-12-22 2011-07-06 茂福公司 用于执行密码学计算的方法和装置

Also Published As

Publication number Publication date
EP1151576A1 (fr) 2001-11-07
JP4137385B2 (ja) 2008-08-20
US7054444B1 (en) 2006-05-30
EP1151576B1 (fr) 2007-03-07
DE69935455T2 (de) 2007-11-29
FR2788650A1 (fr) 2000-07-21
ES2286910T3 (es) 2007-12-01
DE69935455D1 (de) 2007-04-19
FR2788650B1 (fr) 2001-02-16
WO2000042734A1 (fr) 2000-07-20
AU1390200A (en) 2000-08-01
JP2002535878A (ja) 2002-10-22

Similar Documents

Publication Publication Date Title
CN1338166A (zh) 公用与专用密钥加密方法
CN1251715A (zh) 有限域离散对数密码系统的割圆多项式结构
CN1054245C (zh) 数据加密的装置和方法
CN1242587C (zh) 高速、灵活的加密系统的方法及设备
CN1282325C (zh) 能快速解密的密码系统与方法
CN1285191C (zh) 公共密钥签字的方法和系统
CN1871810A (zh) 认证系统和远隔分散保存系统
CN1185821C (zh) 密码通信方法
CN1808966A (zh) 安全数据处理方法及其系统
CN1729645A (zh) 保密通信
CN101039182A (zh) 认证系统及用户标识证书发放方法
CN1734527A (zh) 数据变换装置和数据变换方法
CN1345495A (zh) 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法
CN1535451A (zh) 可证实的秘密洗牌及其对于电子表决的应用
CN1875569A (zh) 用于有效多方乘积的方法和设备
CN1232588A (zh) 公用密钥密码系统方法及设备
CN1708942A (zh) 设备特定安全性数据的安全实现及利用
CN1870499A (zh) 产生新的多变量公钥密码系统的方法
CN1530824A (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN1275846A (zh) 数据加密装置和方法
CN1905438A (zh) 一种基于标识的组合密钥管理方法和系统
CN1655498A (zh) 一种多中心的基于身份的密钥管理方法
CN1806410A (zh) 加密通信系统
CN1885767A (zh) 安全高效的椭圆曲线加解密参数
CN1735858A (zh) 构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
PB01 Publication
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication