CN1268086C - 基于环的签名方案 - Google Patents

基于环的签名方案 Download PDF

Info

Publication number
CN1268086C
CN1268086C CN 02801519 CN02801519A CN1268086C CN 1268086 C CN1268086 C CN 1268086C CN 02801519 CN02801519 CN 02801519 CN 02801519 A CN02801519 A CN 02801519A CN 1268086 C CN1268086 C CN 1268086C
Authority
CN
China
Prior art keywords
digital signature
multinomial
generation
polynomial
private key
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.)
Expired - Fee Related
Application number
CN 02801519
Other languages
English (en)
Other versions
CN1462520A (zh
Inventor
克雷格·B·森特里
尹依郡
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of CN1462520A publication Critical patent/CN1462520A/zh
Application granted granted Critical
Publication of CN1268086C publication Critical patent/CN1268086C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种生成和验证信息的数字签名的方法和系统。数字签名包含数字签名多项式,选择环R的两个相关素理想数p和q,一个私钥和第二素理想数q被用于生成公钥。基于签名过的信息生成一个或多个信息多项式,使用至少一个信息多项式、至少一个私钥多项式、至少一个理想数p和q生成数字签名多项式,其中,在环R的,不可减形式的数字签名多项式不是私钥多项式的倍数,通过确认至少一个信息多项式和至少一个数字签名多项式之间的偏差值小于预定的偏差阀值来验证数字签名。

Description

基于环的签名方案
技术领域
本发明一般涉及密码算法及经由计算机网络或其它系统和设备的安全通讯,特别的,本发明涉及运用基于环的多项式代数的数字签名的生成与验证。
背景技术
申请人根据U.S.C.35条119(e),要求申请号为60/288,841,申请日为2001年5月4日的美国临时专利申请的优先权并据此一并引用。
数字签名在安全通信中有多种应用,诸如验证,数据安全和不可抵赖。具有代表性的数字签名不仅与发送的信息内容相关,而且与签名者的身份标识相关。在公共密钥加密系统中,数字签名的生成,典型地,不仅应用仅有签名者知道的私钥,而且应用被签名的信息本身。而公知的公共密钥,被用来验证签名。
数字签名应是可验证的,以确保加密信息的接收人确信签名者拥有私钥。例如,信息的接收者应能够用签名者的公钥验证数字签名是真实的。另外,数字签名的伪造应是不可行的。最后,为了防止危及签名者的私钥的安全,数字签名不应泄露私钥的有用信息。
已经知道数字签名的生成和验证的多种方法和系统并已经运用于计算机网络和其它通信系统,如移动电话网络。一直以来,数字签名的设计方案尤其侧重于提供签名的快速有效的生成和验证。例如,与NTRU公钥加密法相关的称为NTRU签名方案(“NSS”)的数字签名系统被提出。NSS参见J.Hoffstein,J.Pipher,J.H.Silverman:The NTRU SigatureScheme,PROC.OF EUROCRYPT‘01,LNCS 2045,211-228页,Springer-Verlag,2001中的描述。基于多项式代数算法,NSS采用合理的短小,易于生成的密钥,高速和低内存需求的加密算法。
NSS包括使用私钥和签署的信息生成签名。私钥,信息和签名各被一个或多个多项式代表。在生成签名的过程中,签名多项式的系数通过对p或q取模的意简化,其中p和q为固定整数。当签名生成后,有可能部分地通过确定签名多项式和信息多项式的偏离程度来验证。两个多项式之间的偏离被定义为不同于模数p的a的系数(模数q)和b的系数(模数q)。NSS的设计允许签名多项式与信息多项式之间的一定的偏离,以提供更有效的签名且降低签名泄露私钥有用信息的可能性。例如,当每个多项式系数为251(N=251)时,NSS允许签名偏离范围为每个多项式系数在55和87之间。因而,在NSS中一个有效的签名可能偏离原始信息大至N/3。
由于允许大的偏离,NSS存在严重的安全缺陷。大量密码分析证实了NSS签名可以通过相对简单的签名系数概率处理伪造。例如,一次攻击中,在不知道签名者私钥的情况下生成每个多项式系数仅为56的偏离仿造(N=251)了。另外,这些分析证实了,尽管存在高偏离几率,NSS签名仍然泄露有用信息使得攻击者可以得到签名者的私钥。这种分析在C.Gentry,J.Jonsson,J.Stern,M.Szydlo,Cryptanalysis of the NTRUSignature Scheme(NSS)from Eurocrypt 2001,PROC.OF ASIACRYPT‘01,LNCS 2248,1-20页,Springer-Verlag,2001出版。也可参见C.Gentry,M.Szydlo,Cryptanalysis of the Revised NTRU Signature Scheme,Advances inCryptology-Eurocrypt‘02,Lecture Notes in Cumputer Science,Springer-Vertag,2002.这两篇文章的内容在此引用,并在下文中引用为NSS密码分析论文。
因而,尚需要一种快速,有效,安全的数字签名系统。因此,本发明的目的是提供一个攻击者不可能仿造数字签名的快速,有效,安全的数字签名系统。本发明的目的也是使生成的数字签名不泄露关于签名者私钥的有用信息。
发明内容
依照本发明,在此描述一种数字签名的方法和系统,该系统提供快速,有效,安全的数字签名生成和验证,使签名仿造不可行,不泄露签名者私钥有用信息的签名系统。
根据本发明的一个方面,提供一种生成和验证信息数字签名的方法。该数字签名包括一个或多个数字签名多项式。选择环R的两个相关的素理想数p和q。选择的私钥包含环R的一个或多个私钥多项式。公钥由私钥和第二理想数q生成。由信息产生一个或多个信息多项式。然后数字签名至少由以下元素的生成:(a)至少一个信息多项式,(b)至少一个私钥多项式,(c)至少一个理想数p,q,其中不可约数字签名多项式不是环R的私钥多项式的倍数。数字签名的验证至少通过确认,至少一个信息多项式和至少一个数字签名多项式的偏差值小于预设的偏离阀值。
根据本发明的另一方面,与上述验证过程结合起来,数字签名的验证至少通过确认至少一个数字签名多项式的偏差应小于预设的偏差阀值。
根据本发明的另一方面,应提供生成和验证信息的数字签名的方法。该数字签名包括一个或多个数字签名多项式。选择环R的两个相关的素理想数p和q。选择的私钥包含环R的一个或多个私钥多项式。公钥由私钥和第二理想数q生成。选择一个辅助的多重应用的私有信息。一个或多个信息多项式由该信息产生。数字签名系统然后至少用下列元素生成:(a)至少一个信息多项式,(b)至少一个私钥多项式,(c)至少一个理想数p,q,(d)辅助的多重应用的私有信息。数字签名的验证至少通过确认数字签名多项式和公钥满足预定的关系。
根据本发明的另一个实施例,提供了生成和验证信息m的数字签名的方法,其中,数字签名包含两个数字签名多项式u和v。假定环R的两个相关的素理想数p和q,其中R=Z[X]/(XN-1),N为大于1的整数。选择的私钥包含环R的两个私钥多项式f和g。公钥h值的计算公式为 h = f q - 1 * g ( mod q ) . 假定选择随机多项式r,第一中间多项式t的计算公式为t=r*h(mod q)。第二中间多项式a的选择条件是a有一个与
Figure C0280151900152
同阶的欧几里得范数,从而缩小信息多项式m和数值t+a*g(mod q)的偏差。第一数字签名多项式u的计算方法为u=r+a*f(modq)。第二数字签名多项式v的计算方法为v=t+a*g(mod q)。最后,数字签名的验证是通过确认与第一数字签名多项式u关联的偏差数与N类似,并且信息m和第二数字签名多项式v的偏差值小于预定的偏差阀值。
根据本发明的另一个实施例,这里提供生成和验证信息m的数字签名的方法,其中数字签名包含两个数字签名多项式u和v,假定环R的两个素理想数p和q,其中R=Z[X]/(XN-1)。选择的私钥包含环R的两个私钥多项式f和g。公钥h值的计算公式为 h = f q - 1 * g ( mod q ) . 假定第一随机多项式r,第一中间多项式t的值为t=r*h(mod q),第二中间多项式a满足的条件是a的欧几里得范数与
Figure C0280151900162
同阶,从而缩小信息多项式m和数值t+a*g(mod q)的偏差。第一数字签名多项式u的计算公式为u=r+a*f(mod q)。第二数字签名多项式v的计算公式为v=t+a*g(mod q)。最后,数字签名的验证要确认第一数字签名多项式u相关的欧几里得范数与N同阶,且信息m与第二数字签名多项式v的偏差小于预定的偏离阀值。
根据本发明的另一个实施例,这里提供生成和验证信息m的数字签名的方法,其中数字签名包含四个数字签名多项式u1,v1,u2,v2。假定环R的两个素理想数p和q,其中R=Z[X]/(XN-1)。选择的私钥包含环R的两个私钥多项式f和g。公钥h值的计算公式为 h = f q - 1 * g ( mod q ) . 选定一个一次性私钥e,它包含环R的一个一次性私钥多项式e。两个一次性公钥多项式h1,h2的生成方法为h1=f-1*e(mod q),h2=g-1*e(mod q)。假定第一随机多项式r1,第一中间多项式t1的值为t1=r1*h1(mod q),第二中间多项式a1满足的条件是,a1的欧几里得范数与 同阶,从而缩小信息多项式m和数值t1+a1*e(mod q)的偏差。第一数字签名多项式u1的计算公式为u1=r1+a1*f(mod q)。第二数字签名多项式v1的计算公式为v1=t1+a1*e(mod q)。假定第二随机多项式r2,第三中间多项式t2的值为t2=r2*h2(mod q),第四中间多项式a2满足的条件是,a2的欧几里得范数与
Figure C0280151900165
同阶,从而缩小信息多项式m和数值t2+a2*e(mod q)的偏差。第三数字签名多项式u2的计算公式为u2=r2+a2*g(mod q)。第四数字签名多项式v2的计算公式为v2=t2+a2*e(modq)。最后,数字签名的验证至少要确认第一和第三数字签名多项式u1,u2与N类似,且信息m与第二和第四数字签名多项式v1,v2的任一个的偏差小于预定的偏离阀值。
根据本发明的另外一个实施例,这里提供一种生成和验证信息的数字签名的仪器。这里的数字签名包含一个或多个数字签名多项式。该仪器的内存存储环R的理想数p和q,及包含环R的一个或多个私钥多项式的私钥。该仪器的处理器可产生基于信息的一个或多个信息多项式,也可用其中至少一个信息多项式产生数字签名多项式,及可产生至少一个私钥多项式,产生p和q中的至少一个理想数使得不可约数字签名多项式不是环R的私钥多项式的倍数,并能验证数字签名至少通过确认至少一个信息多项式和至少一个数字签名多项式的偏差小于预定的偏离阀值。
根据本发明的另外一个实施例,这里提供一种生成和验证信息的数字签名的仪器。这里的数字签名包含一个或多个数字签名多项式。该仪器的内存存储环R的理想数p和q,及包含环R的一个或多个私钥多项式的私钥。该仪器的也有一个处理器,可产生基于信息的一个或多个信息多项式,也可用其中至少一个信息多项式产生数字签名多项式,及可产生至少一个私钥多项式,产生理想数p和q中的至少一个,并能验证数字签名至少通过确认至少一个数字签名多项式的范数小于预定范数阀值。
根据本发明的另外一个实施例,这里提供一种生成和验证信息的数字签名的仪器。这里的数字签名包含一个或多个数字签名多项式。该仪器的内存存储环R的理想数p和q,包含环R的一个或多个私钥多项式的私钥及辅助的多重用途的私有信息。该仪器的也有一个处理器,可产生基于信息的一个或多个信息多项式,也可用其中至少一个信息多项式产生数字签名多项式,及可产生至少一个私钥多项式,产生理想数p和q中的至少一个,产生辅助的多重用途的私有信息,并能验证数字签名至少通过确认数字签名多项式和公钥满足预定的关系。
附图说明
下面对本发明实施例的描述参考附图,其中
图1显示了本发明一个实施例生成和验证数字签名方法的流程图;
图2显示了本发明另一个实施例生成和验证数字签名方法的流程图;
图3显示了本发明另一个实施例生成和验证数字签名方法的流程图;
图4显示了本发明另一个实施例生成和验证数字签名方法的流程图;
图5显示了本发明另一个实施例生成和验证数字签名方法的流程图;
图6描述了本发明另一个实施例生成和验证数字签名方法的方框图;
具体实施方式
参考附图,图1显示了本发明一个实施例生成和验证数字签名方法的流程图。数字签名生成的第一步骤102是选择环R的理想数p和q。更优选的,所有的操作取模数p取自区间(-p/2,p/2),所有的操作取模数q取自区间(-q/2,q/2)。环R的值最好为Z[X]/(XN-1),其中Z为整数的环且N为大于1的整数。在104步骤,选择加密私钥。私钥包含环R的一个或多个多项式。优选的,私钥包含环R的两个多项式f和g。私钥多项式也可以表示为一个行矩阵:
f = ( f 0 , f 1 , . . . , f n - 1 ) = Σ i = 0 n - 1 f i X i - - - ( 1 )
参数N,p和q的值是公知的。优选的,p和q是相对素整数, N 3 < q < 2 N 3 , 且p<<q。例如,(N,p,q)=(251,3,128)即为优选的公知参数值的选择。另外公知的参数包括Sf和Sg(私钥f和g的优选的多项式的域),以及Sr(签名者在签名过程中用到的中间多项式的域)。这些域用来限制相关多项式为相对短的欧几里得长度值的矩阵(与统一分布地从随机矩阵Zq N中选择相比)。例如,欧几里得范数类似
Figure C0280151900184
的多项式为短的,欧几里得范数类似N的多项式为较短的。因而,两个短多项式的卷积典型地产生短多项式。优选的,短的和较短的多项式包含在Sf,Sg和Sr的域。
在本发明的各种实施例中有三种私钥被选用。依照第一种私钥,在此称为私钥类型A,f和g均为短多项式。依照第二种私钥,在此称为私钥类型B,f和g均为短多项式,且对多项式k,f≡g≡k(mod p)(即f,g和k的系数对p取模为相等的)。第三种私钥,主要用作一次性私钥e,在此称为私钥类型C。依照私钥类型C,e为短多项式,但系数e0较大(如q/2p)。
选定私钥后,公钥在106步骤生成。优选的,公钥包括一个或多个公钥多项式。例如,若私钥包含多项式f和g,适当的公钥多项式h可以用这个等式生成:
h = f q - 1 * g ( mod q ) - - - ( 2 )
等式2中的多项式fq -1表示f在Rq=Zq[X]/(XN-1)中的逆运算。”*”代表标准卷积,即多项式乘法,对Zq[X]/(XN-1):
( f * g ) k = &Sigma; i + j = f mod n f i g j - - - ( 3 )
对每个签名不必生成新的私钥和公钥。更有甚的,只要私钥不危及安全,同样的私钥及公钥可以用来重复生成和验证众多的数字签名。照此,私钥多项式f和g,公钥多项式h可称为多重应用的密钥。
在108步骤,辅助的多重应用的私有信息随意地选择。辅助的多重应用的私有信息,可以包含一个或多个环R的辅助私有多项式,为私钥的补充,但本身并不与私钥直接关联。辅助的多重应用的私有信息用来生成的数字签名,可以避免签名泄露私钥的有用信息。它可以防御利用签名泄露私钥的有用信息的弱点带来的二阶平均攻击。
针对NSS签名的平均攻击在NSS密码分析论文中有所描述。简言之,平均的攻击通过分析一些用该私钥的数字签名的收敛性确定私钥的值。因为用来生成数字签名的元素不是私钥本身,而是随机的或公知的,所以用相同的私钥生成的签名序列收敛于私钥相关的一个值。例如,公知的元素收敛于公知的平均数,随机的元素通过大量签名样本是可预知的。把一系列数字签名多项式与它们的反多项式相乘,除去公知的平均值,从而分离出能提供与私钥直接相关的信息f*frev,成为可能。通过对用特定的私钥生成的签名抄本的分析,密码专家已经能够抽取出私钥的相关信息,最终可以得到私钥本身的值。
本发明呈现了对这种一般攻击的多重防御。例如,一种防御致力于通过对签名系列的收敛性操作而欺骗一般的攻击。例如,一个短的或较短的多项式r可以随机的产生,对确定的短矩阵f’,r的值如r=a’*f’。矩阵f’为辅助多重应用私有信息,为私钥的补充,不必为私钥或公钥,且是不优选的。这样,如果攻击者对形式如r+a*f的数字签名多项式的抄本攻击,他只能得到与f*frev+f’*f’rev相关的没用的值,而得不到有用的f*frev的值。
本发明防御一般攻击的程序可以避免这种攻击在合理的时间内收敛。例如,计算中间私有多项式 a = f q - 1 ( m - t - d ) ( mod q ) 的值可能是需要的,其中d为随机的短多项式,d多项式为推延f*frev收敛的干扰元素。但是,以这种方式应用多项式d带来了相关数字签名多项式的更大偏离。因而,这种方法更优选的应用于通过欧几里得范数验证的签名多项式,而不是象下面详述的偏离范围限制。
回到图1的方法,步骤110生成一个或多个信息多项式。这一步骤是信息相关的,且每一个新的签名必须重复这一步骤。优选的,信息多项式是环R的,这样使得信息多项式与相关的私钥公钥多项式的互操作较方便。信息多项式可以按公知的方法一个或多个混编(hash)函数生成。
在112步骤选择一次性私钥。与多次使用私钥不同,一次性私钥只用来生成一个签名。下一个签名的生成要选择新的私钥。选择一次性私钥不是必须的,但可以用来增加数字签名的安全性,尤其对于下面详细描述的一般性攻击。
114步骤生成数字签名。优选的,数字签名包含由基于信息多项式及私钥多项式的一个或多个数字签名多项式。数字签名可以用辅助多重应用私有信息和/或一个一次性私钥,及信息多项式和私钥多项式生成。
生成数字签名后,签名者将信息和数字签名一起发送给指定接收者。接收者在116步骤验证数字签名。验证过程可能包括信息,数字签名和公钥间,验证者已知的一种或多种比较。例如,验证者可以验证数字签名多项式和公钥多项式之间的预定关系。另外,验证者可以验证数字签名多项式和信息多项式的偏差值小于或等于预设的偏离阀值。对于a,b∈Zq[x]/(XN-1),a与b的偏差表示为:
  Dev(a,b)=#{i:fi≠gi(mod p)}          (4)
验证者也可能要确认一个或多个数字签名多项式的范数小于或等于预定的范数阀值。也许需要多个范数来限制数字签名多项式,包括如L1范数,L2(即欧几里得)范数,或任何更高级数的Lp范数。方便起见,欧几里得范数更可取。
在签名验证的过程中,验证者一般使用这些比较类型中的两个的组合或所有三种。例如,签名一般应该确认数字签名与公钥间的预定关系。除此之外,验证者一般应该确认至少另一种与数字签名多项式有关的比较(如,偏差值范围和/或范数范围)。本发明的多种签名生成和验证过程参考图2-5将有更详细的描述。
图2显示了本发明另一个实施例生成和验证数字签名方法的流程图。在202步骤选择私钥。优选的私钥类型为类型B的私钥,包含环R的两个短多项式f和g,其中对某多项式k,f≡g≡k(mod p)。公钥在204步骤根据私钥生成。优选的公钥包含按等式2计算的公钥多项式h。
在206步骤,一个或多个信息多项式m根据要签名的信息生成。例如,优选的信息多项式m由hash函数H(m)得出,其中H为安全hash函数。或者,信息多项式可以包含两个独立的hash函数H1(m)及H2(m)。而且,随机性可以加入到hash函数中。例如,一个信息多项式由H(m,c)得出,其中随机数c将为签名的一部分。
208步骤为任意的,从域Sr中选择随机私有多项式r,如满足r(1)=0。满足r(1)=0的条件不是必须的,但因下面的原因建议满足。优选的r也应该是短的或较短的多项式。假定在208步骤选择任意私钥r,则在210步骤第一中间私钥多项式s的计算方法为:
s=pr*(1-h)-1(mod q)                     (5)
为了提高效率,参数(1-h)-1的值预先算出并存为s’。在212步骤,第二中间私钥多项式t的计算方法为:
t=s*h(mod q)                     (6)
通常,s和t应满足s*h=t,且s和t对p取模充分一致。这可以保护按等式8和9得来的数字签名多项式u和v有合适的公钥关系,而且有利于减小信息多项式m和数字签名多项式u和v之间的偏差值。等式5和6给出了一种优选的获得s与t合适关系的方法。
214步骤根据这个等式得出第三中间私有多项式a的值:
a = f p - 1 * ( m - s ) ( mod p ) - - - ( 7 )
通常,第三中间私有多项式a应为小多项式以便减小信息多项式m与等式9得出的数字签名多项式u和v的偏差值。等式7给出了一种优选的得出合适的第三中间私有多项式a的方法。
这三个中间私有多项式s,t和a的计算方法为试图产生与信息多项式m尽可能小的偏差值。如上所述的随机选择满足r(1)=0的私有多项式r确保s和t=s*h(mod q)=s-pr(mod q)以近似的方式偏离(即s和t以相同的系数点偏离)。如果s和t以相同方式偏离,他们的偏差值可以用等式7得出的中间私有多项式a一前一后地得以校正。
给出三个中间私有多项式,第一数字签名多项式u在216步骤根据等式生成:
u=s+a*f(mod q)               (8)
第二数字签名多项式v在218步骤根据等式生成:
v=t+a*g(mod q)               (9)
多项式对(u,v)即为信息的签名。在生成数字签名多项式u和v的过程中加入私有中间多项式s和t是本发明克服NSS的安全缺陷的一种方法。这是因为NSS签名只是简单的私钥多项式与短多项式w相乘对q取模:(s,t)=(f*w,g*w)(mod q)。结果就是,NSS签名常遭受可以使攻击者得到私钥f和g的成功攻击,见NSS密码分析论文。通过私有中间多项式s和t与签名多项式u和v相加,本发明的实施例确保u和v为不可简化的格式(在简化q模数之前),且不是环R的私钥多项式的倍数。换言之,u和v被环Rq的私钥多项式f和g分开,各自生成短的或长的多项式。本发明的其它实施例以同样的方式采用中间私有多项式。
如果使用两个hash函数H1(m)和H2(m)代替m和H(m)生成签名,等式5中的项pr应由一个短的或较短的,与H1(m)-H2(m)(mod p)全等的任意私有多项式r代替,a应该根据不同于等式7的等式求得:
a = f p - 1 ( H 1 ( m ) - s ) ( mod p ) - - - ( 10 )
生成上述的数字签名后,签名者发送信息,信息多项式m及一个或两个数字签名多项式u和v到指定接收者。接收验证者会在220步骤通过至少两个步骤比较验证数字签名。这两个比较共同被称为条件A。在第一比较中,验证者确认数字签名多项式和签名者的公钥满足预定的关系v=u*h(mod q)。二选一地,如果签名者仅发送一个数字签名多项式,以u为例,验证者可以按照上面预定的关系得出另一个数字签名多项式v的值。本发明的多个实施例通常采用的这种互换性,通过减小发送的数字签名的大小提高了传输效率。在任何一种情况下,验证者需要执行第二种比较以便完全满足条件A。
在第二比较中,验证者确认信息多项式m与第一和第二数字签名多项式中u及v的任何一个的偏离小于预定的偏差值阀值。如果两个hash函数H1(m)和H2(m)用来生成签名多项式,则要检查u与hash函数H1(m)的偏差值及v与hash函数H2(m)的偏差值。例如,每个多项式N/5(即,N=251时约为50)的系数可以选作偏离阀值,这样可以大大减小象上述的NSS仿造签名成功攻击的可能性。如果两种比较均满足,验证者认为是真实的签名。
为了提高安全性能,偏离阀值可以设得更低。实验表明,本发明的实施例能够生成小于N/8偏差值(即,N=251时偏差值小于31)的可靠的数字签名,且不泄露签名者私钥的有用信息。另外一个本发明的实施例允许更小的偏离阀值。现参考图3描述这样一个实施例。
图3显示了目前优选的本发明另一个实施例生成和验证数字签名的方法的流程图。在302步骤选择私钥。优选的私钥为类型A,包含两个短多项式f和g。注意,类型A的多项式比类型B短(即更小的欧几里得范数)。这是因为类型B的多项式必须各自不同且必须是同余的p模数。因而类型B的一个多项式必须有更大的系数,这不是类型A的多项式要求的。更短的类型A的私钥多项式因而受对q取模而减小的影响更小,从而,类型A的多项式生成的数字签名多项式最终与信息多项式有更小的偏差值。
304步骤生成公钥。与上一个实施例一样,优选的公钥多项式包含按等式2得出的公钥多项式h。306步骤根据待签名的信息生成一个或多个信息多项式m。例如,如上所述,优选的信息多项式m由hash函数H(m)得出,或者,信息多项式包含两个独立的hash函数H1(m)和H2(m)。而且hash函数中可以加入随机数元素。如信息多项式m可由H(m,c)得出,其中c为将成为签名一部分的随机数。
308步骤从域Sr中选择随机私钥多项式r。优选的多项式r是短的或较短的。在310步骤,第一中间私有多项式t由以下等式得出:
t=r*h(mod q)                 (11)
312步骤,第二中间私有多项式a由以下等式得出:
a = g p - 1 * ( m - t ) ( mod p ) - - - ( 12 )
与下述的验证过程一致,第二中间私有多项式a是短的,而且两个中间私有多项式t和a的计算方法是为了使得信息多项式m与按等式14得出的数字签名多项式v有尽可能小的偏离。
基于这两个中间多项式,第一数字签名多项式u在314步骤按下等式得出:
u=r+a*f(mod q)               (13)
第二数字签名多项式v在316步骤按下等式得出:
v=t+a*g(mod q)               (14)
多项式对(u,v)即为信息的签名。如果用两个hash函数H1(m)和H2(m)而不是用信息m生成签名,则a的值用不同于等式12的下列等式得出:
a = g p - 1 * ( H 2 ( m ) - t ) ( mod p )
按上述方法生成数字签名后,签名者将信息,信息多项式m,数字签名多项式u和v发送给指定接收方。接收验证者在318步骤通过三个比较验证数字签名。这三种比较统称为条件B。首先,验证者确认数字签名多项式和签名者公钥满足预定关系v=u*h(mod q)。第二,验证者确认第一数字签名多项式u是较短的。第三,验证者确认信息多项式m和第二数字签名多项式v的偏差值小于预定的偏离阀值。如果以上三个比较都满足,验证者认为是真实的签名。
如果两个不同的hash函数H1(m)和H2(m)用来生成签名多项式,则应检查v偏离H2(m)的值,并且须检查u的欧几里得范数范围以确认多项式差值d=u-H1(m)是较短的。
注意,根据这个实施例,只有第二数字签名多项式v必须满足关于信息多项式m的偏离条件。这是因为第一数字签名多项式u单独地被第二要求u是较短的条件比较限制住了。这样一来,条件B是比条件A更严格的标准,因为偏离阀值是局部的计量,这样允许攻击者忽略一些系数条件。而欧几里得范数是全局的标准,将受每一个系数的严重影响。
与上一个实施例一样,偏差阀值可以设为,如每个多项式系数的N/5(即N=251时大约为50的偏差值),这样可以大大降低上述的通过仿造NSS数字签名的成功攻击可能性。为了提高安全性,偏离阀值可以设得更低。实验结果表明,本发明的这个实施例可以将偏离阀值设为N/12或更低(即N=251时小于20的偏差值),能生成可靠的数字签名,不泄露签名者私钥的有用信息。下一个参考图4描述的实施例,能够实现类似的安全签名。
图4显示了本发明另一个实施例生成和验证数字签名的方法的流程图。在402步骤选择私钥。与上一个实施例一样,优选的私钥为类型A的,包含两个短多项式f和g。在404步骤生成一个一次性私钥多项式e。根据f,g,e一对优选的一次性公钥多项式h1,h2在406步骤按下等式生成:
h1=f-1*e(mod q)                 (16)
h2=g-1*e(mod q)                 (17)
同样地,h1,h2也可以按下等式生成:
h1=e-1*f(mod q)                 (18)
h2=e-1*g(mod q)                 (19)
等式18和19得出合适的多项式h1和h2,但必须计算一次性私钥的逆运算e-1(mod q)。另外,使用等式18和19要求在下面等式21-23和25-27中的e,f,g的类似的替换。
尽管对每一个新的签名,该实施例中用来生成签名的一次性公钥多项式h1和h2都要变化,用来验证签名的多重用公钥多项式h是不变的。
在408步骤根据待签名的信息生成一个或多个信息多项式m。例如,如上所述,优选的信息多项式m用hash函数H(m)得出,其中H为安全的hash函数。同样地,信息多项式也可以包含两个独立的hash函数H1(m)和H2(m)。一样地,hash函数中可加入随机数。例如,信息多项式m可以用H(m,c)得出,其中c为将成为签名一部分的随机数。
410步骤从域Sr中选择随机私钥多项式r1。优选的多项式r1是短的或较短的。在412步骤,第一中间私有多项式t1由以下等式得出:
t1=r1*h1(mod q)             (20)
接着,在414步骤,第二中间私有多项式a1由以下等式得出:
a 1 = e p - 1 * ( m - t 1 ) ( mod p ) - - - ( 21 )
基于这两个中间私有多项式,第一数字签名多项式u1在416步骤按下等式得出:
u1=r1+a1*f(mod q)           (22)
第二数字签名多项式v1在418步骤按下等式得出:
v1=t1+a1*e(mod q)           (23)
在420步骤,从域Sr中选择第二随机私钥多项式r2。优选的多项式r2是短的或较短的。在422步骤,第三中间私有多项式t2由以下等式得出:
t2=r2*h2(mod q)             (24)
在424步骤,第四中间私有多项式a2由以下等式得出:
a 2 = f p - 1 * ( m - t 2 ) ( mod p ) - - - ( 25 )
这四个中间私有多项式t1,t2,a1,a2的计算方法是为了与信息多项式m产生尽可能小的偏离。
基于第三和第四中间私有多项式,第三数字签名多项式u2在426步骤按下等式得出:
u2=r2+a2*g(mod q)           (26)
第四数字签名多项式v2在428步骤按下等式得出:
v2=t2+a2*e(mod q)           (27)
这四个签名多项式对(u1,u2,v1,v2)一起构成信息的签名。
如上所述,生成数字签名后,签名者发送信息,信息多项式m,数字签名多项式u1,u2,v1,v2给指定接收方。接收验证者在430步骤通过不同于上述的条件B的三个比较验证数字签名。首先,验证者确认数字签名多项式和签名者多重应用公钥满足预定关系 [ v 1 u 1 ] * [ u 2 v 2 ] = h ( mod q ) . 第二,验证者确认第一和第三数字签名多项式u1,u2是较短的。第三,验证者确认信息多项式m和第二和第四数字签名多项式v1,v2的偏差值小于预定的偏离阀值。如果两个不同的hash函数H1(m)和H2(m)用来生成签名多项式,则应检查v1偏离H1(m)和v2偏离H2(m)的值。如果以上三个比较都满足,验证者认为是真实的签名。
注意,根据该实施例,只须比较第二和第四数字签名多项式v1和v2与信息多项式m的偏差值。因为,类似于上一实施例,第一和第三数字签名多项式u1和u2分别被第二比较的条件更严格的欧几里得范数阀值限制,要求u1和u2是较短的。另外,该实施例一次性私钥的使用可以避免数字签名不受能够发现NSS私钥的一般性攻击。一次性私钥的设计用来避免一般攻击的。因为多项式v仅与一次性使用的私钥有关,卷入这些多项式的一般性攻击无法暴露有用的密码信息。一般性攻击仅限于对多项式u的密码分析。
为了进一步避免多项式u不受一般性攻击,辅助的多重应用私有多项式f’,g’可以用来生成数字签名多项式。特别地,r1的计算方法为r1=a1’*f’,r2的计算方法为r2=a2’*g’。如上所述,辅助的多重应用私有多项式f’和g’的选用处理了数字签名多项式抄本的聚合性,使得通过一般性攻击取得关于私钥多项式f和g的有用信息更加困难。更进一步的保护措施为,多于一个的辅助多重应用私有多项式用来生成每一个数字签名多项式。如,r1的计算方法可以为r1=a1’*f’+a1”*f”,r2的计算方法可以为r2=a2’*g’+a2”*g”。
关于偏差值的限制,如上一个实施例,偏差阀值可以设为,如每个多项式系数的N/5(即N=251时大约为50的偏差值),这样可以大大降低上述的通过仿造NSS数字签名的成功攻击可能性。为了提高安全性,偏离阀值可以设得更低。实验结果表明,与上一个实施例一样,本发明的这个实施例可以将偏离阀值设为N/12或更低(即N=251时小于20的偏差值),能生成可靠的数字签名,不泄露签名者私钥的有用信息。下一个实施例,参考图5给予描述,能够通过进一步降低可接受的偏差值提供更高程度的安全性。
图5显示了本发明另一个实施例生成和验证数字签名的方法的流程图。在502步骤选择私钥。与上一个实施例一样,优选的私钥为类型A的,包含两个短多项式f和g。在504步骤生成一个一次性私钥多项式e,优选的为类型C,一次系数e0较大(如q/2p)。由f,g和e,优选的公钥多项式对h1,h2在506步骤由等式16和17生成,尽管h1,h2也可以相应的依照等式18和19生成。
与上一个实施例一样,尽管对每一个新的签名,该实施例中用来生成签名的一次性公钥多项式h1和h2都要变化,用来验证签名的多重用公钥多项式h是不变的。
在508步骤根据待签名的信息生成一个或多个信息多项式m。例如,如上所述,优选的信息多项式m用hash函数H(m)得出,其中H为安全的hash函数。同样地,信息多项式也可以包含两个独立的hash函数H1(m)和H2(m)。一样地,hash函数中可加入随机数。例如,信息多项式m可以H(m,c)得出,其中c为将成为签名一部分的随机数。
510步骤从域Sr中选择随机私钥多项式r1。优选的多项式r1是短的或较短的。在512步骤,第一中间私有多项式t1由以下等式得出:
t1=r1*h1(mod q)              (28)
在514步骤,第二中间私有多项式a1应该是短的,可以使得t1+a1*e(mod q)与信息m有更小的偏差值。更特别地,选择a1的系数,使按等式30得出的v1对信息多项式m偏差值具有的p模数更小或没有。另外,一次性私钥e的选择为,有较大的系数e0,t1+a1*e(mod q)接近于区间(-q/2,q/2]的中央,这样可以防止那些系数对q取模后有所减小,从而进一步降低对p取模后的偏离。
基于这两个中间私有多项式t1和a1,第一数字签名多项式u1在516步骤按下等式得出:
u1=r1+a1*f(mod q)             (29)
第二数字签名多项式v1在518步骤按下等式得出:
v1=t1+a1*e(mod q)             (30)
在520步骤,从域Sr中选择第二随机私钥多项式r2。优选的多项式r2是短的或较短的。在522步骤,第三中间私有多项式t2由以下等式得出:
t2=r2*h2(mod q)               (31)
在524步骤,第四中间私有多项式a2应是短的,选择的值应使得t2+a2*e(mod q)与信息m有较小的或没有偏差值,通过与514步骤得出a1相似的方法得出。在选择多项式a1,a2和e0上,主要集中在防止第二和第四数字签名多项式v1和v2的偏离。尽管a1和a2必须是短的多项式,以确保u1和u2是较短的,不必防止u1和u2的偏离,因为u1和u2的验证限制为欧几里得范数而不是它们与m的偏差值。这样使得对v1和v2系数的操作更加精确,从而有效地避免v1和v2的偏离。
基于第三和第四中间私有多项式,第三数字签名多项式u2在526步骤按下等式得出:
u2=r2+a2*f(mod q)            (32)
第四数字签名多项式v2在528步骤按下等式得出:
v2=t2+a2*e(mod q)            (33)
这四个签名多项式对(u1,u2,v1,v2)一起构成信息的签名。
如上所述,生成数字签名后,签名者发送信息,信息多项式m,数字签名多项式u1,u2,v1,v2给指定接收方。接收验证者在530步骤通过与上一实施例相同但不同于条件B的三个比较验证数字签名。首先,验证者确认数字签名多项式和签名者多重应用公钥满足预定关系 [ v 1 u 1 ] * [ u 2 v 2 ] = h ( mod q ) . 第二,验证者确认第一和第三数字签名多项式u1,u2是较短的。第三,验证者确认信息多项式m和第二和第四数字签名多项式v1,v2的偏差值小于预定的偏离阀值。如果以上三个比较都满足,验证者认为是真实的签名。
注意,根据该实施例,只须比较第二和第四数字签名多项式v1和v2与信息多项式m的偏差值。因为,类似于上一实施例,第一和第三数字签名多项式u1和u2分别被第二比较的条件更严格的欧几里得范数阀值限制,这要求u1和u2是较短的。另外,该实施例一次性私钥e的使用可以避免数字签名不受象上一实施例充分说明的那种一般性攻击。
为了进一步避免一般性攻击,象上一实施例一样,辅助的多重应用私有多项式f’,g’可以用来生成数字签名多项式。特别地,r1的计算方法为r1=a1’*f’,r2的计算方法为r2=a2’*g’。如上所述,辅助的多重应用私有多项式f’和g’的选用处理了数字签名多项式抄本的聚合性,使得通过一般性攻击取得关于私钥多项式f和g的有用信息更加困难。更进一步的保护措施为,多于一个的辅助多重应用私有多项式用来生成每一个数字签名多项式。如,r1的计算方法可以为r1=a1’*f’+a1”*f”,r2的计算方法可以为r2=a2’*g’+a2”*g”。
如上一个实施例,关于偏差值的限制,偏差阀值可以设为,如每个多项式系数的N/5(即N=251时大约为50的偏差值),这样可以大大降低上述的通过仿造NSS数字签名的成功攻击可能性。为了提高安全性,偏离阀值可以设得更低。主要由于对多项式a1,a2和系数e0的精确控制,实验结果表明,本发明的这个实施例可以将偏离阀值设为N/100或更低(即N=251时为2或更小的偏差值),能生成可靠的数字签名,不泄露签名者私钥的有用信息。事实上,在该实施例中,仔细选择a1,a2和e0的值,签名者可以生成没有偏离,且不泄露私钥有用信息的数字签名。
上面介绍了多种根据本发明生成和验证数字签名的方法。参考图6将介绍根据本发明的另一个实施例实现这些方法的系统。系统有602,604,606,608几个用户,他们中的每一个可能是签名者和/或验证者。每个用户有一个处理器610,和内存612有双向的通信。处理器执行适合的程序代码来执行上述的过程,并生成发送给另一个用户的信息。适合的程序代码可以根据文中的方法生成。内存612存储程序代码,中间结果和数字签名生成和验证执行过程中用到的其它信息。
提供620通信网络可以使用户之间通信。通信网络620可以是各种常用的形式,包括如LAN计算机网络,WAN计算机网络,和/或提供适合的通信网络的移动电话网络。
根据本发明,用户602可以生成和通过通信网络620发送数字签名给用户608。用户608接着可以按照上述的过程验证用户602的签名。用户604和606也可以通过类似的方式通过通信网络620通信。另外,用户604和606可以象图6所示通过直接的通信连接彼此通信。
信任证书授权630用来存储和分发与各个用户602,604,606,608相关的公钥。例如,在验证来自用户608的签名之前,用户602可以要求证书授权630提供一份公钥以便用户608用于上述的验证过程。
[84]虽然已经详细描述了本发明,并且给出了本发明的优选的实施例,应当了解,在本发明的思路和范围内的调整和变化可以是有效的。

Claims (57)

1.一种生成和验证信息的数字签名的方法,其中该数字签名包含一个或多个数字签名多项式,包括:
选择环R的相关素理想数p和q;
选择该环R的包含一个或多个私钥多项式的私钥;
用该私钥和第二理想数q生成公钥;
基于该信息生成一个或多个信息多项式;
至少用下列单元生成该数字签名多项式;
(a)至少一个信息多项式;
(b)至少一个私钥多项式;
(c)至少一个理想数P或q;
其中在该环R中,不可简化格式的该数字签名多项式不是该私钥多项式的倍数;和
其中,至少可通过确认至少一个信息多项式和至少一个数字签名多项式之间的偏差值小于预定的偏差阈值,以使该数字签名得到验证。
2.根据权利要求1的生成和验证信息的数字签名的方法,其中,该环R=Z[X]/(XN-1),N为大于1的整数。
3.根据权利要求2的生成和验证信息的数字签名的方法,其中,该预定的偏差阈值小于或等于N/5。
4.根据权利要求1的生成和验证信息的数字签名的方法,其中,该预定的偏差阈值等于0。
5.根据权利要求1的生成和验证信息的数字签名的方法,其中,该信息多项式通过对该信息执行一个或多个hash函数而生成。
6.根据权利要求1的生成和验证信息的数字签名的方法,其中:该数字签名多项式的生成进一步包括使用:
(d)一个或多个随机的私有多项式。
7.根据权利要求1的生成和验证信息的数字签名的方法,进一步包括:
选择一个一次性私钥;和
其中在该数字签名多项式的生成中进一步包含使用:
(d)该一次性私钥。
8.根据权利要求1的生成和验证信息的数字签名的方法,其中,该方法进一步包括:
通过确认该数字签名多项式和该公钥满足预定的关系以验证该数字签名。
9.一种生成和验证信息的数字签名的方法,其中该数字签名包含一个或多个数字签名多项式,包含:
选择环R的相关素理想数p和q;
选择该环R的包含一个或多个私钥多项式的私钥;
用该私钥和第二理想数q生成公钥;
基于该信息生成一个或多个信息多项式;
至少用下列单元生成该数字签名多项式;
(a)至少一个信息多项式;
(b)至少一个私钥多项式;
(c)至少一个理想数p或q;和
其中至少通过确认与至少一个数字签名多项式相关的范数小于预定的范数阈值可使该数字签名得到验证。
10.根据权利要求9的生成和验证信息的数字签名的方法,其中,该环R=Z[X]/(XN-1),N为大于1的整数。
11.根据权利要求10的生成和验证信息的数字签名的方法,其中,和至少一个数字签名多项式相关的范数是至少一个数字签名多项式的范数。
12.根据权利要求10的生成和验证信息的数字签名的方法,进一步包括:
通过从该数字签名多项式的一个减去该信息多项式的一个来计算差值多项式;和
其中与该至少一个数字签名多项式相关的范数是该差值多项式的范数。
13.根据权利要求10的生成和验证信息的数字签名的方法,其中,该范数是欧几里得范数;和
该预定的范数阈值是与N同阶的。
14.根据权利要求9的生成和验证信息的数字签名的方法,其中,该信息多项式通过对该信息执行一个或多个hash函数而生成。
15.根据权利要求9的生成和验证信息的数字签名的方法,其中,该数字签名多项式的生成进一步包括使用:
(d)一个或多个随机私有多项式。
16.根据权利要求9的生成和验证信息的数字签名的方法,进一步包括:选择一个一次性私钥;和
其中该数字签名多项式的生成进一步包括使用:
(d)一次性私钥。
17.根据权利要求9的生成和验证信息的数字签名的方法,其中,该方法进一步包括:
通过确认该数字签名多项式和公钥满足预定的关系可验证该数字签名。
18.一种生成和验证信息的数字签名的方法,其中该数字签名包含一个或多个数字签名多项式,包括:
选择环R的理想数p和q;
选择该环R的包含一个或多个私钥多项式的私钥;
用该私钥和第二理想数q生成公钥;
基于该信息生成一个或多个信息多项式;
选择辅助的多重应用私有信息;
至少用下列单元生成该数字签名多项式;
(a)至少一个信息多项式;
(b)至少一个私钥多项式;
(c)至少一个理想数p或q;和
(d)该辅助的多重应用私有信息;和
其中,至少通过确认该数字签名多项式和公钥满足预定的关系该数字签名可得到验证。
19.根据权利要求18的生成和验证信息的数字签名的方法,其中,该环R=Z[X]/(XN-1),N为大于1的整数。
20.根据权利要求18的生成和验证信息的数字签名的方法,其中,该辅助的多重应用私有信息包含该环R的一个或多个辅助私钥多项式。
21.根据权利要求20的生成和验证信息的数字签名的方法,该数字签名多项式的生成进一步包括:
用该辅助私钥多项式调整一个或多个数字签名多项式,使得对该数字签名多项式的二次平均攻击收敛于依赖于该辅助私钥多项式的值。
22.根据权利要求18的生成和验证信息的数字签名的方法,其中,该方法进一步包括:
通过确认至少一个信息多项式和至少一个数字签名多项式之间的偏差值小于预定的偏差阈值以验证该数字签名。
23.根据权利要求18的生成和验证信息的数字签名的方法,其中,该方法进一步包括:
通过确认至少一个数字签名多项式的范数小于预定的范数阈值以验证该数字签名。
24.根据权利要求18的生成和验证信息的数字签名的方法,其中,该信息多项式通过对该信息执行一个或多个hash函数而生成。
25.根据权利要求18的生成和验证信息的数字签名的方法,其中,该数字签名多项式的生成进一步包括使用:
(e)一个或多个随机私有多项式。
26.根据权利要求18的生成和验证信息的数字签名的方法,进一步包括:选择一个一次性私钥;和
其中该数字签名多项式的生成进一步包括使用:
(e)一次性私钥。
27.一种生成和验证信息的数字签名的方法,其中该数字签名包含两个数字签名多项式u和v,包括:
选择环R的相关素理想数p和q,其中,该环R=Z[X]/(XN-1),N为大于1的整数:和
选择包含该环R两个私钥多项式f和g的私钥;
用等式 h = f q - 1 * g ( mod q ) 生成公钥;
用该信息生成一个或多个信息多项式m;
选择第一和第二中间私有多项式s和t,满足条件s*h=t且s和t对p取模是一致的;
选择第三中间私有多项式a,以便减小一个信息多项式m与值t+a*g(mod q)之间的偏差值;
计算第一数字签名多项式u=s+a*f(mod q);
计算第二数字签名多项式v=t+a*g(mod q);且
其中至少通过确认一个或多个信息多项式m和第一数字签名多项式u之间的第一偏离小于预定的偏离阈值,一个或多个信息多项式m和第二数字签名多项式v之间的第二偏离小于预定的偏离阈值,可验证该数字签名。
28.根据权利要求27中生成和验证信息的数字签名的方法,其中:
该私钥多项式f和g对p取模与环R的多项式k一致;和每一个私钥多项式f和g的欧几里得范数与
Figure C028015190006C2
同阶。
29.根据权利要求27的生成和验证信息的数字签名的方法,进一步包括:
选择该环R的随机多项式r;且其中
第一中间私有多项式s的选择包括计算s=pr*(1-h)-1(mod q);
第二中间私有多项式t的选择包括计算t=s*h(mod q);和
第三中间私有多项式a的选择包括计算 a = f p - 1 * ( m - s ) ( mod p ) .
30.根据权利要求29的生成和验证信息的数字签名的方法,其中,该随机多项式r的欧几里得范数与N同阶或更小。
31.根据权利要求29的生成和验证信息的数字签名的方法,其中预定的偏离阈值小于或等于N/8。
32.根据权利要求27的生成和验证信息的数字签名的方法,其中该方法进一步包括:
通过确认u*h=v(mod q)以验证该数字签名。
33.根据权利要求27的生成和验证信息的数字签名的方法,其中,该信息多项式m的生成用一个或多个安全hash函数H(m)。
34.根据权利要求29的生成和验证信息的数字签名的方法,其中该随机多项式r的选择满足r(1)=0。
35.一种生成和验证信息的数字签名的方法,其中,该数字签名包含两个数字签名多项式u和v,包括以下步骤:
选择环R的相对素理想数p和q,其中环R=Z[X]/(XN-1),N为大于1的整数;
选择包含该环R的两个私钥多项式f和g的私钥;
用等式 h = f q - 1 * g ( mod q ) 生成公钥;
用该信息生成一个或多个信息多项式m;
选择随机多项式r;
计算第一中间多项式t=r*h(mod q);
选择第二中间多项式a,使a的欧几里得范数与 同阶,以便减小信息多项式m和值t+a*g(mod q)的偏差值;
第一数字签名多项式的计算方法u=r+a*f(mod q);
第二数字签名多项式的计算方法v=t+a*g(mod q);
其中,至少可通过确认该第一数字签名多项式u的欧几里得范数与N同阶,且该信息多项式m和第二数字签名多项式v的偏离小于或等于预定的偏离阈值,以使该数字签名得到验证。
36.根据权利要求35的生成和验证信息的数字签名的方法,其中每个私钥多项式f和g的欧几里得范数与
Figure C028015190008C2
同阶。
37.根据权利要求35的生成和验证信息的数字签名的方法,其中该随机多项式r的欧几里得范数与N同阶或更小。
38.根据权利要求35的生成和验证信息的数字签名的方法,其中该第二中间多项式a的选择包括计算 a = g p - 1 * ( m - t ) ( mod p ) .
39.根据权利要求38的生成和验证信息的数字签名的方法,其中该预定的偏离阈值小于或等于N/12。
40.根据权利要求35的生成和验证信息的数字签名的方法,其中该方法进一步包括通过确认u*h=v(mod q)以验证该数字签名。
41.根据权利要求35的生成和验证信息的数字签名的方法,其中用一个或多个安全的hash函数H(m)生成该信息多项式m。
42.一种生成和验证信息的数字签名的方法,其中数字签名包含四个数字签名多项式u1,v1,u2和v2,包括以下步骤:
选择环R的相对素理想数p和q,其中环R=Z[X]/(XN-1),且N为大于1的整数;
用等式 h = f q - 1 * g ( mod q ) 生成公钥;
选择一个一次性私钥,它包含该环R的一个一次性私钥多项式e;
生成一对一次性公钥多项式h1和h2,其中h1=f1*e(mod q),h2=g-1*e(mod q);
选择第一随机多项式r1
第一中间多项式的计算t1=r1*h1(mod q);
选择第二中间多项式a1,使a1的欧几里得范数与
Figure C028015190009C2
同阶,以使信息多项式m和值t1+a1*e(mod q)之间的偏差值最小;
计算该第一数字签名多项式u1=r1+a1*f(mod q);
计算该第二数字签名多项式v1=t1+a1*e(mod q);
选择第二随机多项式r2
计算第三中间多项式t2=r2*h2(mod q);
选择第二中间多项式a1,使a2的欧几里得范数与 同阶,以使一信息多项式m和值t2+a2*e(mod q)之间的偏差值最小;
计算该第三数字签名多项式u2=r2+a2*g(mod q);
计算该第四数字签名多项式v2=t2+a2*e(mod q);且
其中至少可通过确认该第一和第三数字签名多项式u1和u2的欧几里得范数都与N同阶,且该信息多项式m与第二和第四数字签名多项式v1和v2的偏离都小于或等于预定的偏离阈值以验证该数字签名。
43.根据权利要求42的生成和验证信息的数字签名的方法,其中每个私钥多项式f和g的欧几里得范数与
Figure C028015190009C4
同阶。
44.根据权利要求42的生成和验证信息的数字签名的方法,其中随机多项式r1和r2的欧几里得范数都与N同阶或更小。
45.根据权利要求42的生成和验证信息的数字签名的方法,其中:第二中间多项式a1的选择包括计算 a 1 = e p - 1 * ( m - t 1 ) ( mod p ) ; 且第四中间多项式a2的选择包括计算 a 2 = e p - 1 * ( m - t 2 ) ( mod p ) .
46.根据权利要求45的生成和验证信息的数字签名的方法,其中,该预定的偏离阈值小于或等于N/12。
47.根据权利要求42的生成和验证信息的数字签名的方法,其中,包含一次性私钥多项式e的一次性私钥的选择,进一步包括选择e的一次系数e0使其与q/2p同阶。
48.根据权利要求47的生成和验证信息的数字签名的方法,其中,该预定的偏离阈值小于或等于N/100。
49.根据权利要求47的生成和验证信息的数字签名的方法,其中,该预定的偏离阈值等于0。
50.根据权利要求42的生成和验证信息的数字签名的方法,其中,该第一和第二随机多项式r1和r2的选择进一步包括用一个或多个辅助多重应用私有多项式计算r1和r2
51.根据权利要求50的生成和验证信息的数字签名的方法,其中:
第一随机多项式r1的选择进一步包括计算r1=a1’*f’,其中a1’为第一随机短多项式,f’为第一辅助多重应用私有多项式;且
第二随机多项式r2的选择进一步包括计算r2=a2’*g’,其中a2’为第二随机短多项式,g’为第二辅助多重应用私有多项式。
52.根据权利要求50的生成和验证信息的数字签名的方法,其中:
第一随机多项式r1的选择进一步包括计算r1=a1’*f’+a1”*f”,其中a1和a1”为第一和第二随机短多项式,f’和f”为第一和第二辅助多重应用私有多项式;且
第二随机多项式r2的选择进一步包括计算r2=a2’*g’+a2”*g”,其中a2’和a2”为第三和第四随机短多项式,g’和g”为第三和第四辅助多重应用私有多项式。
53.根据权利要求42的生成和验证信息的数字签名的方法,其中,该方法进一步包含确认 [ v 1 u 1 ] * [ u 2 v 2 ] = h ( mod q ) 来验证该数字签名。
54.根据权利要求42的生成和验证信息的数字签名的方法,其中,用一个或多个安全的hash函数H(m)生成该信息多项式m。
55.一种生成和验证信息的数字签名的设备,其中,数字签名包含一个或多个数字签名多项式,包括:
一存储器,用以存储环R的理想数p和q和包含一个或多个环R的私钥多项式的私钥;和
一处理器,用以生成基于信息的一个或多个信息多项式,和用至少一个信息多项式,至少一个私钥多项式,至少一个理想数p和q生成数字签名多项式,使得不可减形式的数字签名多项式不是该环R的私钥多项式的倍数,以至少通过确认至少一个信息多项式和至少一个数字签名多项式之间的偏差值小于预定的偏离阈值可使该数字签名得到验证。
56.一种生成和验证信息的数字签名的设备,其中数字签名包含一个或多个数字签名多项式,包括:
一存储器,用以存储环R的理想数p和q和包含一个或多个环R的私钥多项式的私钥;和
一处理器,用以生成基于信息的一个或多个信息多项式,和用至少一个信息多项式,至少一个私钥多项式,至少一个理想数p和q生成数字签名多项式,以至少通过确认至少一个数字签名多项式的范数小于预定的范数阈值可使该数字签名得到验证。
57.一种生成和验证信息的数字签名的设备,其中数字签名包含一个或多个数字签名多项式,包括:
一存储器,用以存储环R的理想数p和q,包含一个或多个环R的私钥多项式的私钥和与该私钥无关的辅助多重应用私有信息;和
一处理器,用以生成基于信息的一个或多个信息多项式,和用至少一个信息多项式,至少一个私钥多项式,至少一个理想数p和q以及该辅助多重应用私有信息生成数字签名多项式,以至少通过确认该数字签名多项式和公钥间的偏离满足预定的关系可使该数字签名得到验证。
CN 02801519 2001-05-04 2002-05-03 基于环的签名方案 Expired - Fee Related CN1268086C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28884101P 2001-05-04 2001-05-04
US60/288,841 2001-05-04

Publications (2)

Publication Number Publication Date
CN1462520A CN1462520A (zh) 2003-12-17
CN1268086C true CN1268086C (zh) 2006-08-02

Family

ID=23108876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02801519 Expired - Fee Related CN1268086C (zh) 2001-05-04 2002-05-03 基于环的签名方案

Country Status (4)

Country Link
EP (1) EP1397884A4 (zh)
JP (1) JP4053431B2 (zh)
CN (1) CN1268086C (zh)
WO (1) WO2002091664A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792286B2 (en) * 2005-04-18 2010-09-07 Panasonic Corporation Signature generation device and signature verification device
CN1954547B (zh) * 2005-04-18 2010-09-15 松下电器产业株式会社 签名生成装置和签名验证装置
EP2264941A1 (en) 2008-04-09 2010-12-22 Panasonic Corporation Signature and verification method, signature generation device, and signature verification device
CN102006165B (zh) * 2010-11-11 2012-11-07 西安理工大学 基于多变量公钥密码对消息匿名环签名的方法
JP5790319B2 (ja) * 2011-08-29 2015-10-07 ソニー株式会社 署名検証装置、署名検証方法、プログラム、及び記録媒体
CN105359455A (zh) * 2013-07-12 2016-02-24 皇家飞利浦有限公司 电子签名系统
WO2020000254A1 (zh) * 2018-06-27 2020-01-02 深圳大学 一种标准模型下的紧凑环签名方法及系统
CN109743181B (zh) * 2019-01-14 2022-04-19 深圳大学 一种邮件隐私保护方法、装置及终端设备
CN112003707A (zh) * 2020-08-25 2020-11-27 湖南宸瀚信息科技有限责任公司 一种抗量子计算攻击的区块链数字签名加密方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
US5218637A (en) * 1987-09-07 1993-06-08 L'etat Francais Represente Par Le Ministre Des Postes, Des Telecommunications Et De L'espace Method of transferring a secret, by the exchange of two certificates between two microcomputers which establish reciprocal authorization
US5375170A (en) * 1992-11-13 1994-12-20 Yeda Research & Development Co., Ltd. Efficient signature scheme based on birational permutations
US5740250A (en) * 1995-12-15 1998-04-14 Moh; Tzuong-Tsieng Tame automorphism public key system
US6081597A (en) * 1996-08-19 2000-06-27 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus

Also Published As

Publication number Publication date
EP1397884A1 (en) 2004-03-17
JP2004526387A (ja) 2004-08-26
WO2002091664A1 (en) 2002-11-14
JP4053431B2 (ja) 2008-02-27
EP1397884A4 (en) 2006-02-15
CN1462520A (zh) 2003-12-17

Similar Documents

Publication Publication Date Title
CN1065055C (zh) 用一个检验者鉴别至少一个受验者的方法
JP4687465B2 (ja) ミックスネットシステム
CN1682479A (zh) 用于数据处理系统的有效加密和认证
CN100346249C (zh) 生成数字证书及应用该所生成的数字证书的方法
CN1645442A (zh) 多段签名验证系统、电子签名给与装置、数据追加装置及电子签名验证装置
CN1875569A (zh) 用于有效多方乘积的方法和设备
CN1879072A (zh) 提供断开鉴别的系统和方法
CN1268086C (zh) 基于环的签名方案
CN1614922A (zh) 使用同源来设计密码系统
CN1633776A (zh) 利用双线性映射的签名方案
US20040151309A1 (en) Ring-based signature scheme
CN1186579A (zh) 计算机支持的在两个计算机之间的密码交换方法
US5719940A (en) Method for providing information security by exchanging authentication and signing an electronic signature and apparatus therefor
CN112446052A (zh) 一种适用于涉密信息系统的聚合签名方法及系统
CN1905447A (zh) 一种认证加密方法和电子邮件系统
US7975142B2 (en) Ring authentication method for concurrency environment
Schäge et al. A CDH-based ring signature scheme with short signatures and public keys
CN1555151A (zh) 一种嵌入式设备保密通讯的方法
CN1735858A (zh) 构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备
D'Anvers et al. Error term checking: Towards chosen ciphertext security without re-encryption
CN1771687A (zh) 数字证书
CN1767504A (zh) 电子邮件管理系统及方法
JP2010164927A (ja) 匿名署名生成装置、匿名署名検証装置、匿名署名追跡判定装置、追跡機能付き匿名署名システム、それらの方法及びプログラム
Izu et al. Analysis on Bleichenbacher's forgery attack
CN1697371A (zh) 密钥数据收发方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NTT DOCOMO INC

Free format text: FORMER OWNER: DOCOMO COMMUNICATIONS LABORATORIES USA INC.

Effective date: 20060303

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20060303

Address after: Tokyo, Japan, Japan

Applicant after: NTT Docomo, Inc.

Address before: San Jose, California, USA

Applicant before: Docomo Comm Lab USA Inc.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060802

Termination date: 20130503