专利名称:数字证书的制作方法
技术领域:
本发明涉及一种数字签名证书。
背景技术:
数字签名证书的使用在本技术领域中是众所周知的。
考虑以下例子如本技术领域所周知的,两个实体A和B每一个都具有不对称密钥对,每一密钥对都包括公共密钥和私有密钥。实体A签署关于实体B的证书,该证书包括实体B的公共密钥以及关于实体B的其它数据。
为产生上述类型的证书,广泛应用及众所周知的X.509格式典型地用于现有技术中。在2000年3月公布的ITU-T(国际电信联盟标准化部门)X.509建议中定义了X.509格式,可以从ITU-T得到该ITU-T X.509建议。
上述及贯穿本说明书的所有参考文献的公开,都在此被引入作为参考。
发明内容
本发明设法提供改进的数字签名证书及改进的用于产生数字签名证书的方法。
对于某些应用,如上所述的公知解决方法不提供最佳解决方法。例如,本发明的发明者认为,对于用随机逻辑、非CPU(中央处理器)型硬件(在此也称为“硬件”)来执行证书验证的应用,上述公知解决方法不是最佳的;在这种应用中,本发明的发明者认为所希望的是,证书要短、并且具有一种易于用硬件进行分析的形式。上述众所周知的X.509格式不适用于该目的,至少是因为根据X.509格式产生的证书具有一种难以用硬件分析的可变长度结构;而且,X.509格式证书一般较长,长为2KB(千字节)的证书是常见的。
本发明在其优选实施例中设法提供用于解决现有技术证书的问题的方法。
因而,根据本发明优选实施例,提供一种用于产生证书的方法,该证书包括数据,该方法包括选择基值s,该基值s包括将函数H应用于数据所获得的结果;产生密钥对(E,D),使得E=F(s,t),F是公知函数;以及将s和t包括在所述证书中。
进一步,根据本发明优选实施例,将s和t包括在所述证书中包括,将s和t连接起来包括在所述证书中。
进一步,根据本发明优选实施例,函数H包括散列函数。
另外,根据本发明优选实施例,函数H包括校验和函数。
此外,根据本发明优选实施例,函数H包括向数据添加冗余。
而且,根据本发明另一优选实施例,提供一种通过该方法产生的证书。
此外,根据本发明又一优选实施例,提供一种用于产生证书的方法,该证书包括数据,该方法包括产生模数N,该模数N是通过分散方法L、函数R和基值s产生的,N是通过利用分散方法L使R(s)的各位散布在N各处来部分地产生的,N中除被分散方法L分散的那些位以外的所有位以t表示;以及将s和t包括在证书中。
进一步,根据本发明优选实施例,R(s)包括与证书所有者关联的数据。
进一步,根据本发明优选实施例,数据包括所有者标识符。
另外,根据本发明优选实施例,N包括RSA模数。
此外,根据本发明优选实施例,L包括将Lenstra,Lenstra andLovasz(LLL)方法应用于网格。
进一步,根据本发明优选实施例,通过一般化模式G来部分地定义网格。
进一步,根据本发明优选实施例,网格包括
其中n、x和z是整数,S1、…、Sk是2n位一般化模式G中邻接的“*”符号组的位置编号,位置从最低有效位(0)被编号到最高有效位(2n-1),并且S1≥S2≥…≥Sk,L1、…、Lk是那些邻接的组的长度,它们的编号与那些邻接的组相对应,p是(n-x)位质数,s是基值,以及R是将s扩展为R(s)=r1||r2||...||rk的函数,||表示连接,使得对于每个i、ri的长度都等于Li。
此外,根据本发明另一优选实施例,提供一种通过该方法产生的证书。
此外,根据本发明又一优选实施例,提供一种用于产生多个证书的方法,每个证书都包括数据,该方法包括提供多个一般化模式;以及对于该多个一般化模式的每个一般化模式G,都执行以下步骤产生模数N,该模数N是通过分散方法L、函数R和基值s产生的,N是通过利用分散方法L使R(s)的各位散布在N各处、来部分地产生的,N中除被分散方法L分散的那些位以外的所有位以t表示;以及将s和t包括在与G关联的证书中,其中,N包括RSA模数,L包括将Lenstra,Lenstra and Lovasz(LLL)方法应用于网格,以及网格是通过G来部分地定义的,由此产生多个证书。
此外,根据本发明又一优选实施例,提供一种用于产生多个证书的方法,每个证书都包括数据,该方法包括提供多个一般化模式;以及对于该多个一般化模式的每个一般化模式G,都执行以下步骤产生多个模数Ni,每个模数Ni都是通过分散方法L、函数R和基值si产生的,每个Ni都是通过利用分散方法L使R(si)的各位散布在Ni各处、来部分地产生的,Ni中除被分散方法L分散的那些位以外的所有位以ti表示;以及对于每个Ni,将si和ti包括在与G关联的证书中,其中,Ni包括RSA模数,L包括将Lenstra,Lenstra and Lovasz(LLL)方法应用于网格,以及网格是通过G来部分地定义的,由此产生多个证书。
进一步,根据本发明优选实施例,网格包括 其中n、x和z是整数,S1、…、Sk是2n位一般化模式G中邻接的“*”符号组的位置编号,位置从最低有效位(0)被编号到最高有效位(2n-1),并且S1≥S2≥…≥Sk,L1、…、Lk是那些邻接的组的长度,它们的编号与那些邻接的组相对应,p是(n-x)位质数,s是基值,以及R是将s扩展为R(s)=r1||r2||...||rk的函数,||表示连接,使得对于每个i、ri的长度都等于Li。
此外,根据本发明另一优选实施例,提供通过上述方法产生的多个证书。
由以下连同附图一起考虑的详细说明,将可以更完整地理解本发明,其中图1显示了有助于理解本发明优选实施例的关于(k+2)维空间网格的基矢量;图2显示了根据本发明优选实施例、用于产生证书的优选方法的简化流程图;
图3显示了根据本发明一个可选的优选实施例、用于产生证书的优选方法的简化流程图;以及图4显示了根据本发明又一可选的优选实施例、用于产生多个证书的优选方法的简化流程图。
具体实施例方式
根据本发明的优选实施例,签名者产生一种可恢复地签署的证书。本技术领域周知的不可恢复地签署的证书在此也被称为“规则签名(regular signatures)”或“规则不对称签名”。
为产生证书C的规则不对称签名,签名者计算签名S如下S=f(h(C),D)其中f是一种公知函数;h是一种公知散列函数;以及D为签名者的私有密钥。
签署的证书是C//S,其中“//”表示连接。
检验器检验g(S,E)=h(C)其中g是一种公知函数;以及E为签名者的公共密钥。
优选地,如下选择f、g、D、E1.定义许可明文(cleartext)的集合M;基于该集合M来定义函数f。
2.g(y,E)是f(x,D)的逆,即对于任何x∈M,g(f(x,D),E)=x。
3.g、f、E是公开的。
4.难以仅仅基于E得到D。
5.这样选择h,使得难以得到使h(x)=h(y)的不同的x、y。适当选择h的非限制性例子是SHA-1,在1995年4月17日公布的题为“SecureHash Standard(安全散列标准)”的FIPS PUB 180-1中描述了SHA-1,可以在因特网www.itl.nist.gov/fipspubs/fip 180-1.htm上得到FIPSPUB 180-1。
以下是适当选择f、g、D、E的非限制性特定例子令N=pq-RSA数,即两个质数的乘积;令M为0至N-1的所有整数的集合;令e、d为使ed=1模(N)的任意整数,(N)是欧拉函数;令E为有序对<N,e>;令D为有序对<N,d>;令g(y,E)=yemodulo N;令f(x,D)=xdmodulo N.
对于可恢复性签名,签名者确保C中有某些冗余,或者添加这种冗余。如整个本说明书及权利要求中所使用的术语“冗余”指的是,对于极小概率的随机数C成立的条件P(C)。举例来说而非限制上述一般性,可以向有效载荷添补足够长的恒定位串,或者优选地添补任何适当类型的有效载荷校验和,这种类型的校验和是本技术领域众所周知的。
然后,签名者计算S=f(C,D)其中S是可恢复地签署的证书。
检验器首先从S恢复CC=g(S,E)然后,证实C具有预定义的冗余。
本领域技术人员应该理解,当使用可恢复性签名时,所签署的证书比利用规则签名产生的证书短。另一方面,和规则签名不同,可恢复性签名对C的长度强加限制,这是因为集合M是有限的。例如,在上述RSA的特殊例子中,只有少于模数N的数目才可以被恢复性地签署。因此,在由A签署的关于B的证书中,可能在C中没有足够的空间用于B的公共密钥和其它数据;尤其是,在A和B的密钥具有相同长度的常见情况下,将没有足够的空间。
为了节省空间并使可恢复性签名效率更高,以及为了克服上述限制,可以压缩公共密钥(或任选地压缩其它数据)。虽然可以利用本技术领域周知的标准压缩算法来压缩数据,但是在许多不对称算法中,用标准方式产生的公共密钥具有高熵。如本技术领域所周知的,具有高熵的信息不能被压缩,因此用标准方式产生的公共密钥不能被压缩。
以下方法可用于产生可压缩公共密钥1.选择任意基值(seed)s。
2.以这样一种方式产生密钥对(E,D),使得E=F(s,t)其中F是一种公知函数,并且t是某一数据。
例如,t可以是E的某一部分位(例如,E的最低有效部分、E的最高有效部分、或散布于E各处的位)。
可以使用任何适当的s值。
优选地,将函数F选为以下函数1.该函数将s伪随机地扩展到预定义数量的位,类似于下述函数R的功能;以及2.该函数以预定义方式组合扩展后的s和t(例如,把扩展后的s用作组合结果的最低有效部分,同时把t用作组合结果的最高有效部分,反之亦然;或者按某种交错方式)。
证书优选地包括比E短的s//t,而不是E。
函数F的特殊选择、合适密钥对的产生方法、以及所节省的空间量,取决于所使用的不对称算法。
本领域技术人员应该理解,证书典型地包括凭证(credential);特征;以及公共密钥,它们一起被签名。除公共密钥以外,所有证书字段在此都被称为“数据”。当某人使用可恢复性签名时,恢复过程只执行恢复,而不检验创建证书的人是否知道私有密钥。为了检验创建证书的人是否知道私有密钥,明文中需要有某些冗余;也就是,必须满足关于被恢复的消息的某一预定义条件,该预定义条件对于随机位串具有足够低的概率。一种选择是,使用具有固定值的足够长字段(比如说16字节)。另一种选择是,使用数据校验和或散列值。不幸的是,这两种选择都需要附加字段,使得为有用有效载荷留下的字段更少了。
为了节省更多空间,如果我们设置S=H(data)则可以把基值s用作冗余,其中H是一种公知函数。从而,通过把s既用作数据校验和/散列值、又用作如上所述的基值,来节省空间。
作为选择,添加了某些冗余的数据本身可以用作基值s。
以下讨论描述本发明的某一特别详细优选实施,如果使用众所周知的现有技术RSA签名、则该优选实施是有用的。例如,在R.L.Rivest,A.Shamir,和L.M.Adelman的“A method for obtaining digital signaturesand public-key cryptosystems(用于获得数字签名和公共密钥密码系统)”,Communications of the ACM,21(1978),120-126中描述了RSA签名方案。RSA只是例举性地使用,而不意谓限制性的。
如果将RSA用于签名,则公共密钥包括模数和公开指数。对公开指数的限制很宽松。尤其是,可以将公开指数选择为不必被显式地包括到证书中的某一固定公知数,从而没有公开指数压缩问题。RSA模数压缩被认为可节省大约RSA模数长度的一半。
现在描述几种RSA模数压缩技术。为了进行以下说明,仅仅例举而不限制本发明的一般性,假定使用N=pq形式的2n位RSA模数,其中p和q分别是具有n-x和n+x位的质数;基值s具有y位;R是一种将基值s扩展为n+x-z位的公开函数,其中z是下述的一种参数。例如,函数R可以包括一种合适的接收基值s、并将基值s扩展为伪随机序列的伪随机数发生器。例如,函数R可以设置s1=h(s),si+1=h(si),R(s)=s1||s2||…||sn其中h包括合适的散列函数(例如SHA1,在1995年4月17日公布的题为“Secure Hash Standard(安全散列标准)”的FIPS PUB 180-1中描述了SHA1,可以在因特网www.itl.nist.gov/fipspubs/fip180-1.htm上得到FIPS PUB 180-1;以及在2001年9月公布的题为“US SecureHash Algorithm 1(SHA1)(美国安全散列算法1)”的RFC 3174中描述了SHA1,可以在因特网www.ietf.org/rfc/rfc3174.txt?number=3174上得到RFC 3174),或E(x)“异或”x,其中E是块密码加密(例如AES-FIPS Publication 197,2001年11月26日,Announcing theAdvanced Encryption Standard(AES),可以在因特网csrc.nist.gov/publications/fips/fips197/fips-197.pdf上得到它)。
首先,考虑“最高有效位一半(most significant half)的扩展”。以下方法产生一种可压缩的RSA密钥1.产生任意的(n-x)位质数p和y位基值s。用于产生这种质数的方法在本技术领域中是众所周知的。一般,这种方法(例如,在AlfredJ.Menezes,Paul C.van Oorschot,Scott A.Vanstone所著的Handbook ofApplied Cryptography(应用密码术手册)4.2节“Probabilistic PrimalityTests”中描述了这种方法)包括产生具有所需位数的任意数;利用合适的质数测试(如以上提到的Handbook of Applied Cryptography(应用密码术手册)4.2节中描述的Fermat测试、Solovay-Strassen测试、或Miller-Rabin测试)来进行质数测试;以及如果该任意数不是质数,则重复产生并测试,直到得到质数为止。
2.设置被上舍入为奇整数的N0=R(s)*2n-x+z,q=N0/p即使函数R为最高有效位产生了0,也必须通过将R(s)的最高有效位设置为1、来使R(s)的最高有效位强制为1。
3.利用如以上步骤1中讨论的合适的质数测试,检查q是否为质数。如果失败(q不是质数),则使q=q+2、并重复该步骤。如果成功(q是质数),则继续到下一步。
4.检查N=pq的n+x-z位最高有效位是否为R(s)。如果不是,则从开始起(从步骤1起)重复该方法。如果是,则N是模数。以压缩的形式、用基值s代替该n+x-z位最高有效位,从而被压缩的模数的长度为n-x+z+y位。
为了使步骤4的成功概率合理地接近1,z必须等于log2(n),因为从数论可以得知,N周围的质数密度与1/lnN成比例,这意谓平均在c×lnN步之后将成功地找到质数,其中c是某一常数。例如,对于n=1024(2048位模数)的合理设置,在x=z=16、y=96的情况下,被压缩的模数的长度为n-x+z+y=1120位。
现在,考虑“最低有效位一半的扩展”。以下方法产生一种可压缩的RSA密钥1.产生任意的(n-x)位质数p和y位基值s。
2.计算q=2n+x-1+(R(s)/p modulo 2n+x-z)必须使R(s)的最低有效位强制为1,这意谓R(s)是奇数。因为p是奇数,其是模2n+x-z的逆,因此q存在、且为奇数。
3.检查q是否为质数。如果失败,则使q=q+2n+x-z并重复该步骤。如果成功,则继续到下一步。
4.检查N是否正好为2n位。如果不是,从该方法的开始即步骤1起重复。如果是,则N是模数。以压缩的形式,用基值s代替n+x-z位最低有效位,从而被压缩的模数的长度为n-x+z+y位。
优选地,可以使用上述在扩展最高有效位一半的情况下的相同设定。
不是如上所述使R(s)成为N的n+x-z位最高有效位或最低有效位,有可能使R(s)的位散布在N的各处。根据本发明的优选实施例,产生这种N的优选方法可以基于LLL(Lenstra,Lenstra,and Lovasz)算法(例如在以上提到的Handbook of Applied Cryptography(应用密码术手册)3.10.1节中描述了LLL算法)。LLL算法在此也被称为“LLL方法”。
现在描述根据本发明优选实施例的、利用LLL算法的特殊应用来使R(s)的位散布在N的各处的方法。
考虑以下定义—模式P是一串来自字母表{0,1,?}的2n个符号。如果且只有当对于P中的每个0、在N的相应位置都有0,并且对于P中的每个1、在N的相应位置都有1,我们才认为2n位数N与模式P匹配。
—一般化模式G是一串来自字母表{*,?}的2n个符号。
—如果且只有当对于G中的每个“?”符号、在P的相应位置都有“?”,模式P才是一般化模式G的示例。
令G为一般化模式。假定G中的所有“*”符号形成k个邻接序列。对于任何i,l≤i≤k第i序列从位置Si开始,并且包含Li个“*”符号。位置从0(最低有效位)被编号到2n-1(最高有效位)。
有可能假定S1≥S2≥…≥Sk(即从最高有效部分到最低有效部分列出各序列)。
根据本发明的优选实施例,以下方法相对于正好包含n+x-z个“*”符号的给定一般化模式G,产生一种可压缩RSA密钥1.产生任意的(n-x)位质数p和y位基值s,如上所述。
2.通过按相同的顺序、用R(s)的各位代替所有“*”符号,来创建G的示例P。令ri为代替第i个“*”符号序列的那些位的Li位序列,该Li位序列被当作一个数。
3.用基矢量V1,V2…,Vk+2在(k+2)维空间中建立网格,如图1所示。
4.利用LLL算法得到相同网格的、由短矢量组成的另一个基Wi,W2,…,Wk+2;如果x12+x22+…+xn2小,则矢量(x1,x2,…,xn)被认为“短”。本领域技术人员应该理解,LLL算法用于得到与网格中的最短矢量接近的矢量。
5.对于来自新基的仅仅一个矢量,检验第(k+2)个坐标不等于0,并且对于那个矢量,第(k+2)个坐标等于22n如果不满足该条件,则从该方法的开始起(从步骤1起)重复。
6.令Wm为第(k+2)个坐标不等于0的矢量,并且令qi为矢量Wi的第(k+1)个坐标。
7.计算q=qm+(其它qi和小系数的线性组合)检验pq是否匹配模式P。如果是,则检查q是否为质数。如果q是质数,则N=pq是模数。如果不是,或者如果pq不匹配模式,则试验另一种线性组合。如果搜索失败,则从该方法的开始起(从步骤1起)重复。
本发明的发明者认为,与最高有效位或最低有效位的扩展相比,扩展部分的分散至少有以下优点1.规则度较小的模数结构在R(s)具有某一规则结构的情况下,如果使R(s)的各位分散,则基于R(s)的密码攻击可能性较小。位分散可能有助于使密码攻击的可能性较小的一种重要特殊情况是当数据本身(几乎确实具有规则的结构)被用作R(s)或其一部分的时候,以便得到简单地嵌入他的公共密钥中的所有者ID(标识符)和/或其它数据;在本技术领域中把这种数据嵌入公共密钥中是众所周知的。
2.系统个人化因为有多种不同方法使R(s)的位分散(例如通过选择不同的一般化模式G),所以有可能创建使用相同的算法基础、但是因为参数不同而不能共同操作的多个PKI系统。
现在参考图2,图2是根据本发明优选实施例、用于产生证书的优选方法的简化流程图。参考以上讨论,图2的流程图无需解释。
现在参考图3,图3是根据本发明一个可选优选实施例、用于产生证书的优选方法的简化流程图。参考以上讨论,图3的流程图无需解释。
现在参考图4,图4是根据本发明又一可选优选实施例、用于产生多个证书的优选方法的简化流程图。注意,在图4中,提到对于每个一般化模式G、都产生单个模数N和单个关联的证书;本领域技术人员应该理解,也有可能对于每个一般化模式G产生多个模数和多个关联的证书。多个模数N和多个关联的证书的情况被认为是优选的。参考以上讨论,图4的流程图无需解释。
应该理解,为清楚起见而在各个实施例的上下文中描述的本发明的各种特征也可以组合地被提供在一个实施例中。相反,为简洁起见而在单个实施例的上下文中描述的本发明的各种特征也可以分开地被提供、或者以任何合适的子组合形式被提供。
本领域技术人员应该理解,本发明不限于以上所具体显示和描述的。而是,本发明的范围仅由所附的权利要求来限定。
权利要求
1.一种用于产生证书的方法,该证书包括数据,所述方法包括选择基值s,该基值s包括将函数H应用于所述数据所获得的结果;产生密钥对(E,D),使得E=F(s,t),F是公知函数;以及将s和t包括在所述证书中。
2.根据权利要求1所述的方法,其中将s和t包括在所述证书中的步骤包括将s和t连接起来包括在所述证书中。
3.根据权利要求1或2所述的方法,其中所述函数H包括散列函数。
4.根据权利要求1或2所述的方法,其中所述函数H包括校验和函数。
5.根据权利要求1或2所述的方法,其中所述函数H包括向所述数据添加冗余。
6.一种通过权利要求1或2所述的方法产生的证书。
7.一种用于产生证书的方法,该证书包括数据,所述方法包括产生模数N,该模数N是通过分散方法L、函数R和基值s产生的,N是通过利用所述分散方法L使R(s)的位散布在N的各处来部分地产生的,N中除被所述分散方法L分散的那些位以外的所有位以t表示;以及将s和t包括在所述证书中。
8.根据权利要求7所述的方法,其中R(s)包括与所述证书的所有者关联的数据。
9.根据权利要求8所述的方法,其中所述数据包括所有者标识符。
10.根据权利要求7至9中任一权利要求所述的方法,其中N包括RSA模数。
11.根据权利要求10所述的方法,其中L包括将Lenstra,Lenstraand Lovasz(LLL)方法应用于网格。
12.根据权利要求11所述的方法,其中通过一般化模式G来部分地定义所述网格。
13.根据权利要求12所述的方法,其中所述网格包括V1=(22n+L10 ... 000 )V2=(0 22n+L2... 000 ). ........Vk=(0 0 ... 22n+Lk00 )Vk+1=(22n-S1+L1p 22n-S2+L2p... 22n-Sk+Lkp2n+x-z0 )Vk+2=(22n(r1+.5) 22n(r2+.5) ... 22n(rk+.5) 022n)以及其中n、x和z是整数,以及S1、...、Sk是2n位一般化模式G中的符号“*”的邻接组的位置编号,其中位置从最低有效位(0)被编号到最高有效位(2n-1),并且S1≥S2≥...≥Sk,以及L1、...、Lk是所述邻接组的长度,它们的编号与所述邻接的组相对应,以及p是(n-x)位质数,以及s是基值,以及R是将s扩展为R(s)=r1‖r2‖...‖rk的函数,‖表示连接,使得对于每个i,ri的长度都等于Li。
14.一种通过权利要求7至9中任一权利要求所述的方法产生的证书。
15.一种用于产生多个证书的方法,每个证书都包括数据,所述方法包括提供多个一般化模式;以及对于所述多个一般化模式的每个一般化模式G,执行以下步骤产生模数N,该模数N是通过分散方法L、函数R和基值s产生的,N是通过利用所述分散方法L使R(s)的位散布在N的各处来部分地产生的,N中除被所述分散方法L分散的那些位以外的所有位以t表示;以及将s和t包括在与G关联的证书中,其中,N包括RSA模数,以及L包括将Lenstra,Lenstra and Lovasz(LLL)方法应用于网格,以及所述网格是通过G来部分地定义的,由此产生多个证书。
16.一种用于产生多个证书的方法,每个证书都包括数据,所述方法包括提供多个一般化模式;以及对于所述多个一般化模式的每个一般化模式G,执行以下步骤产生多个模数Ni,每个模数Ni都是通过分散方法L、函数R和基值si产生的,每个Ni都通过利用所述分散方法L使R(si)的位散布在Ni的各处来部分地产生的,Ni中除被所述分散方法L分散的那些位以外的所有位以ti表示;以及对于每个Ni,将si和ti包括在与G关联的证书中,其中,Ni包括RSA模数,以及L包括将Lenstra,Lenstra and Lovasz(LLL)方法应用于网格,以及所述网格是通过G来部分地定义的,由此产生多个证书。
17.根据权利要求15或16所述的方法,其中所述网格包括V1=(22n+L10 ... 0 0 0 )V2=(0 22n+L2... 0 0 0 ). ...... ..Vk=(0 0 ... 22n+Lk0 0 )Vk+1=(22n-S1+L1p 22n-S2+L2p ... 22n-Sk+Lkp 2n+x-z0 )Vk+2=(22n(r1+.5) 22n(r2+.5) ... 22n(rk+.5) 0 22n)以及其中n、x和z是整数,以及S1、...、Sk是2n位一般化模式G中的符号“*”的邻接组的位置编号,位置从最低有效位(0)被编号到最高有效位(2n-1),并且S1≥S2≥...≥Sk,以及L1、...、Lk是所述邻接组的长度,它们的编号与所述邻接组相对应,以及p是(n-x)位质数,以及s是基值,以及R是将s扩展为R(s)=r1‖r2‖...‖rk的函数,‖表示连接,使得对于每个i,ri的长度都等于Li。
18.一种通过权利要求15或16所述的方法产生的多个证书。
全文摘要
一种产生证书的方法,该证书包括数据,该方法包括选择基值s,该基值s包括将函数H应用于数据所获得的结果;产生密钥对(E,D),使得E=F(s,t),F是一种公知函数;以及把s和t包括在证书中。而且描述了相关的方法、以及通过各种方法产生的证书。
文档编号H04L9/00GK1771687SQ200380110291
公开日2006年5月10日 申请日期2003年12月29日 优先权日2003年6月23日
发明者雅各布·贝伦基, 哈伊姆·D·舍恩-奥尔, 阿维德·基普尼斯, 维克托·霍尔帕林 申请人:Nds有限公司