验证实体真实性和/或消息的完整性和/或真实性的方法,系统,设备的制作方法

文档序号:588924阅读:319来源:国知局
专利名称:验证实体真实性和/或消息的完整性和/或真实性的方法,系统,设备的制作方法
技术领域
本发明涉及验证实体真实性和/或消息的完整性和/或真实性的方法,系统,和设备。
发明人为Louis Guillou和JeanJacques Quisquater的专利EP 0 311470 B1描述了这种方法。此后将通过术语"GQ专利"或"GQ方法"表示他们的专利成果。此后术语"GQ2",或"GQ2发明"或"GQ2技术"将被用来描述本发明。
根据GQ方法,一个被称为"委托机构"的实体为各个被称为"见证"的实体分配一个身份并且计算其RSA签名。在定制过程中,委托机构为见证指定一个身份和签名。其后,见证声明"这是我的身份;我知道该身份的RSA签名"。见证在不出示这个签名的情况下证明他知道其身份的RSA签名。通过委托机构分配的RSA公开鉴别密钥,一个被称为"审查人"的实体在没有获得有关知识的情况下确定RSA签名对应于所声明的身份。使用GQ方法的机制在"不传送有关知识"的情况下运行。根据GQ方法,见证不知道委托机构为大量身份签署的RSA私有密钥。
GQ方法实现了包括512位或更多位数的数值取模计算。这些计算涉及具有基本相同的长度、高到以216+1为指数的幂的数值。目前,尤其是在银行卡领域中,现有的微电子基础设施均使用没有算术协处理器的可自编程单片微处理器。涉及诸如GQ方法的方法中产生的多个算术应用的工作负载所需要的计算时间在某些情况下为使用银行卡支付其购买的客户带来不便。回顾以往,当试图增加支付卡的安全性时,银行机构提出了一个特别难以解决的问题。实际上,必须解决两个明显矛盾的问题一方面,通过使用更加冗长和独特的密钥增加安全性,另一方面,防止工作负载为用户带来过长的计算时间。由于还有必要考虑到现有基础设施和现有微处理器部件,这个问题变得尤其尖锐。
这里描述的GQ技术利用了RSA技术。然而虽然RSA技术确实依赖模数n的因数分解,但正如在针对实现RSA技术的各种数字签名标准的所谓"乘法攻击"中可以看到的,这种依赖并不是等价,并且实际上差别很大。
GQ2技术有双重目标首先是改进RSA技术的性能特性,其次是避免RSA技术的固有问题。有关GQ2私有密钥的知识相当于有关模数n的因数分解的知识。任何对三元组GQ2的攻击均导致对模数n的因数分解此时存在等价关系。使用GQ2技术减少了签名或自认证实体以及审查人实体的工作负载。通过在安全和性能方面对因数分解问题的良好使用,GQ2技术避免了RSA技术的缺点。
方法适用于GQ系列的中国余数方法更具体地,本发明涉及一个为审查人实体验证下列内容的方法,-一个实体的真实性和/或-与这个实体相关的消息M的完整性,通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm(m大于或等于1),-由f个素数p1,p2,...,pf(f大于或等于2)的乘积构成的一个公开模数n,-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n。
上述方法在下面定义的步骤中实现了被称作见证的实体。上述见证实体具有f个素数pi和/或素数的中国余数的参数和/或公开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qimodpj)。
见证计算以n为模数的整数环中的承诺(commitment)R。通过执行以下类型的操作计算各个承诺
Ri≡rivmod pi其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于一个随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个承诺Ri所执行的模p1算术运算数量被减少了。
见证接收一或多个询问(challenge)d。
每个询问d包括m个被称作基本询问的整数di。根据各个询问d,见证通过执行以下类型的运算计算一个应答DDi≡ri·Qi,1d1·Qi,2d2·...·Qi,mdmmod pi并且接着使用中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个承诺Di所执行的模p1算术运算数量被减少了。
该方法使得应答D的数量与询问d和承诺R一样多,其中每组数值R,d,D构成一个被表示成{R,d,D}的三元组。
证明一个实体的真实性的实例在一个第一可选实施例中,基于本发明的方法被用来验证一个实体的真实性,对于一个被称为审查人的实体而言,上述被验证实体被称为证明人。上述证明人实体包括见证。上述证明人和审查人实体执行下列步骤步骤1涉及承诺R的操作每次见证使用上述过程计算各个承诺R。证明人向审查人发送所有或部分承诺R。
步骤2涉及询问d的操作在接收所有或部分承诺R之后,审查人产生数量等于承诺R的数量的询问d并且向证明人发送询问d。
步骤3涉及应答D的操作见证使用上述过程根据询问d计算应答D。
步骤4涉及检查的操作证明人向审查人发送各个应答D。
第一种情况证明人已经发送一部分承诺R如果证明人已经发送一部分承诺R,则审查人在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人确定各个重构的承诺R′还原出已经发送过来的所有或部分承诺R。
第二种情况证明人已经全部发送承诺R如果证明人已经发送全部承诺R,则审查人在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n证明消息的完整性的实例在一个能够与第一可选实施例配合使用的第二可选实施例中,本发明的方法被用来为被称为审查人实体的实体证明与被称为证明人实体的实体相关的消息M的完整性。上述证明人实体包括见证。上述证明人和审查人实体执行下列步骤步骤1涉及承诺R的操作每次见证使用上述过程计算各个承诺R。
步骤2涉及询问d的操作证明人使用一个散列函数h计算至少一个令牌T,其中散列函数的参数包括消息M和所有或部分承诺R。证明人向审查人发送令牌T。在接收令牌T之后,审查人产生数量等于承诺R的数量的询问d并且向证明人发送询问d。
步骤3涉及应答D的操作见证使用上述过程根据询问d计算应答D。
步骤4涉及检查的操作证明人向审查人发送各个应答D。审查人在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着审查人使用一个散列函数h重构令牌T′,其中散列函数的参数包括消息M和所有或部分重构承诺R′。接着审查人确定令牌T′与发送的令牌T相同。
消息的数字签名及其真实性证明签名运算在一个能够与任意数量的其它实施例配合使用的第三可选实施例中,基于本发明的方法被用来通过一个被称为签名实体的实体产生消息M的数字签名。上述签名实体包含见证。
上述签名实体执行签名运算以便获得包括以下内容的已签名消息-消息M,-询问d和/或承诺R,-应答D。
上述签名实体通过实现下列步骤执行签名运算步骤1涉及承诺R的操作每次见证使用上述过程计算各个承诺R。
步骤2涉及询问d的操作签名实体使用一个散列函数h获得一个二进制序列,上述散列函数的参数包括消息M和各个承诺R。签名实体从这个二进制序列中提取其数量等于承诺R的数量的询问d。
步骤3涉及应答D的操作见证使用上述过程根据询问d计算应答D。
检查运算为了验证消息M的真实性,一个被称作审查人的实体检查已签名消息。具有已签名消息的上述审查人实体通过执行如下步骤来完成检查运算。
在审查人具有承诺R,询问d,应答D的情况下如果审查人具有承诺R,询问d,应答D,则审查人确定承诺R,询问d和应答D满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n接着审查人确定消息M,询问d和承诺R满足散列函数d=h(M,R)在审查人具有询问d和应答D的情况下如果审查人具有询问d和应答D,审查人根据各个询问d和各个应答D重构满足以下类型的关系的承诺R′R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着审查人确定消息M和询问d满足散列函数d=h(M,R′)在审查人具有承诺R和应答D的情况下如果审查人具有承诺R和应答D,则审查人使用散列函数并且重构d′d′=h(M,R)接着审查人设备确定承诺R,询问d′和应答D满足以下类型的关系R≡G1d’1·G2d’2·...·Gmd’m·Dvmod n或以下类型的关系R≡Dv/G1d’1·G2d’2·...·Gmd’mmod n在首先选择保密数值Q并且根据保密数值Q推断公开数值G的情况下在某些情况下,尤其是为了利于得到保密数值Q和公开数值G的乘积,首先选择保密数值Q并且根据保密数值Q推断出公开数值G。更具体地,在这种情况下基于本发明的方法使得保密数值Qi的分量Qi,1,Qi,2,...,Qi,f是以每个上述素数pj一个分量Qi,j(Qi,j≡Qimod pj)的比率随机抽取的数值。利用中国余数方法可以根据上述分量Qi,1,Qi,2,...,Qi,f计算上述保密数值Qi。通过执行下列类型的运算计算上述公开数值GiGi,j≡Qi,jvmod pj接着使用中国余数方法建立Gi,使得Gi·Qiv≡1 mod n或Gi≡Qivmod n因而与已经进行的模n运算相比,计算各个pj数值的各个承诺Gi,j所执行的模p1算术运算数量被减少了。
有利的是,在这种情况下基于本发明的方法使得验证的公开指数v是一个素数。这表明安全性相当于有关保密数值Qi的知识。
在首先选择公开数值G并且根据公开数值G推断保密数值Q的情况下在这种情况下,上述指数v最好是v=2k其中k是大于1的安全参数。
上述公开数值Gi是小于f个素数p1,p2,...,pf的基数gi的平方gi2;基数gi使得下面两个等式x2≡gimod n和x2≡-gimod n不能被以n为模的整数环中的x求解,并且使得等式xv≡gi2mod n
不能被以n为模的整数环中的x求解。
系统本发明还涉及被用来向审查人服务器验证下列内容的系统-一个实体的真实性和/或-与这个实体相关的消息M的完整性,通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm(m大于或等于1),-由上述f个素数p1,p2,...,pf(f大于或等于2)的乘积构成的一个公开模数n,-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n上述系统包括一个见证设备,尤其是被包含在诸如基于微处理器的银行卡形式的漫游对象中的设备。见证设备包括一个存储器区段,上述存储器区段包含f个素数pi和/或素数的中国余数的参数和/或公开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qimod pi)。见证设备还包括-随机数值产品装置,此后被称作见证设备的随机数值产生装置,-计算装置,此后被称作见证设备计算承诺R的装置,上述计算装置计算以n为模的整数环中的承诺R。通过执行以下类型的操作计算各个契约Ri≡rivmod pi其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于一个由随机数产生装置产生的随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个承诺Ri所执行的模p1算术运算数量被减少了。
见证设备还包括
-接收装置,此后被称作见证设备接收询问的装置,上述接收装置接收一或多个询问d;每个询问d包括m个此后被称作基本询问的整数di。
-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据各个询问d计算以下类型的应答DDi≡ri·Qi,1d1·Qi,2d2·...·Qi,mdmmod pi并且接着使用中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个承诺Di所执行的模p1算术运算数量被减少了。
见证设备还包括发送一或多个承诺R和一或多个应答D的发送装置。应答D的数量与询问d和承诺R一样多,其中每组数值R,d,D构成一个被表示成{R,d,D}的三元组。
证明一个实体的真实性的实例在一个第一可选实施例中,基于本发明的系统被用来验证一个实体的真实性,对于一个被称为审查人的实体而言,上述被验证实体被称为证明人。
上述系统包括一个与证明人实体相关的证明人设备。上述证明人设备通过互连装置与见证设备互连。尤其可以采取漫游对象中的逻辑微电路的形式,例如基于微处理器的银行卡中的微处理器的形式。
上述系统还包括一个与审查人实体相关的审查人设备。上述审查人设备尤其可以采取终端或远程服务器的形式。上述审查人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到证明人设备。
上述系统被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用上述过程计算各个承诺R。见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置。证明人设备还具有通过连接装置向审查人设备发送所有或部分承诺R的发送装置,此后被称作证明人的发送装置。
步骤2涉及询问d的操作审查人设备包括询问产生装置,该装置在接收所有或部分承诺R之后产生数量等于承诺R的数量的询问d。审查人设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称为审查人的发送装置。
步骤3涉及应答D的操作见证设备接收询问的装置通过互连装置接收来自证明人设备的各个询问d。见证设备计算应答D的装置使用上述过程根据询问d计算应答D。
步骤4涉及检查的操作证明人的发送装置向审查人发送各个应答D。审查人设备还包括-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置,第一种情况证明人已经发送一部分承诺R如果证明人的发送装置已经发送一部分承诺R,则审查人的计算装置在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R进行比较。
在证明人已经全部发送承诺R的情况下如果证明人的发送装置已经发送全部承诺R,则审查人设备的计算装置和比较装置在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n
证明消息的完整性的实例在一个能够与第一可选实施例配合使用的第二可选实施例中,基于本发明的系统被用来向一个被称为审查人的实体证明与一个被称为证明人的实体相关的消息M的完整性。上述系统包括与证明人实体相关的证明人设备。上述证明人设备通过互连装置与见证设备互连。尤其可以采取漫游对象中的逻辑微电路的形式,例如基于微处理器的银行卡中的微处理器的形式。上述系统还包括一个与审查人实体相关的审查人设备。上述审查人设备尤其可以采取终端或远程服务器的形式。上述审查人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到证明人设备。
上述系统被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用上述过程计算各个承诺R。见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置。
步骤2涉及询问d的操作证明人设备包括计算装置,此后被称作证明人的计算装置,计算装置使用一个散列函数h计算至少一个令牌T,其中散列函数的参数包括消息M和所有或部分承诺R。证明人设备还具有通过连接装置向审查人设备发送各个令牌T的发送装置,此后被称为证明人设备的发送装置。审查人设备还具有询问产生装置,该装置在接收令牌T之后产生数量等于承诺R的数量的询问d。审查人设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称作审查人的发送装置。
步骤3涉及应答D的操作见证设备接收询问的装置通过互连装置接收来自证明人设备的各个询问d。见证设备计算应答D的装置使用上述过程根据询问d计算应答D。
步骤4涉及检查的操作证明人的发送装置向审查人发送各个应答D。审查人设备还包括计算装置,此后被称作审查人设备的计算装置,上述计算装置在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着使用一个散列函数h计算一个令牌T′,其中散列函数的参数包括消息M和所有或部分重构承诺R′。
审查人设备还具有将计算的令牌T′与接收的令牌T相比较的比较装置,此后被称为审查人设备的比较装置。
消息的数字签名及其真实性证明签名运算在一个能够与任意数量的前两个实施例配合使用的第三可选实施例中,基于本发明的系统被用来通过一个被称为签名实体的实体验证消息M的数字签名,该消息此后被称为已签名消息。
已签名消息包括-消息M,-询问d和/或承诺R,-应答D。
上述系统包括与签名实体相关的签名设备。上述签名设备通过互连装置与见证设备互连,并且尤其可以具有漫游对象中逻辑微电路的形式,例如基于微处理器的银行卡中微处理器的形式。
上述系统被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用上述过程计算各个承诺R。
见证设备具有通过互连装置向签名设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置。
步骤2涉及询问d的操作签名设备包括计算装置,此后被称作签名设备的计算装置,上述计算装置使用一个散列函数h计算一个二进制序列并且从这个二进制序列中提取出数量等于承诺R的数量的询问d,其中散列函数的参数包括消息M和所有或部分承诺R。
步骤3涉及应答D的操作见证设备接收询问d的装置通过互连装置接收来自签名设备的各个询问d。见证设备计算应答D的装置使用上述过程根据询问d计算应答D。见证设备包括通过互连装置向签名设备发送应答D的发送装置,此后被称作见证设备的发送装置。
检查运算为了验证消息M的真实性,一个被称作审查人的实体检查已签名消息。
系统包括一个与审查人实体相关的审查人设备。上述审查人设备尤其可以采取终端或远程服务器的形式。上述审查人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到证明人设备。
上述与签名实体相关的签名设备包括通过连接装置向审查人设备发送已签名消息的发送装置,此后被称为签名设备的发送装置。因而审查人设备具有一个包括以下内容的已签名消息-消息M,-询问d和/或承诺R,-应答D。
审查人设备包括-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置,在审查人设备具有承诺R,询问d,应答D的情况下如果审查人设备具有承诺R,询问d,应答D,则审查人设备的计算和比较装置确定承诺R,询问d和应答D满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n
接着审查人设备的计算和比较装置确定消息M,询问d和承诺R满足散列函数d=h(M,R)在审查人设备具有询问d和应答D的情况下如果审查人具有询问d和应答D,审查人根据各个询问d和各个应答D重构满足以下类型的关系的承诺R′R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着审查人设备的计算和比较装置确定消息M和询问d满足散列函数d=h(M,R′)在审查人具有询问d和应答D的情况下如果审查人设备具有询问d和应答D,则审查人设备的计算装置使用散列函数并且以下面方式计算出d′d′=h(M,R)接着审查人设备的计算和比较装置确定消息M,询问d′和承诺R满足以下关系R≡G1d’1·G2d’2·...·Gmd’m·Dvmod n或以下类型的关系R≡Dv/G1d’1·G2d’2·...·Gmd’mmod n在首先选择保密数值Q并且根据保密数值Q推断公开数值G的情况下在某些情况下,尤其是为了利于得到保密数值Q和公开数值G的乘积,首先选择保密数值Q并且根据保密数值Q推断出公开数值G。更具体地,在这种情况下基于本发明的方法使得保密数值Qi的分量Qi,1,Qi,2,...,Qi,f是以每个上述素数pj一个分量Qi,j(Qi,j≡Qimod pj)的比率随机抽取的数值。利用中国余数方法可以根据上述分量Qi,1,Qi,2,...,Qi,f计算上述保密数值Qi。通过执行下列类型的运算计算上述公开数值GiGi,i≡Qi,jvmod pj接着使用中国余数方法建立Gi,使得Gi·Qiv≡1 mod n或Gi≡Qivmod n因而与已经进行的模n运算相比,计算各个pj数值的各个承诺Gi,j所执行的模p1算术运算数量被减少了。
有利的是,在这种情况下基于本发明的方法使得验证的公开指数v是一个素数。这表明安全性相当于有关保密数值Qi的知识。
在首先选择公开数值G并且根据公开数值G推断保密数值Q的情况下在这种情况下,上述指数v最好是v=2k其中k是大于1的安全参数。上述公开数值Gi是小于f个素数p1,p2,...,pf的基数gi的平方gi2。基数gi满足下面两个等式x2≡gimod n和x2≡-gimod n不能被以n为模的整数环中的x求解,并且使得等式xv≡gi2mod n不能被以n为模的整数环中的x求解。
终端设备适用于GQ系列的中国余数方法本发明还涉及与一个实体相关的终端设备。终端设备尤其可以采取漫游对象的形式,例如基于微处理器的银行卡中的微处理器的形式。终端设备被用来为审查人服务器验证下列内容-一个实体的真实性和/或-与这个实体相关的消息M的完整性。
通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm(m大于或等于1),-由上述f个素数p1,p2,...,pf(f大于或等于2)的乘积构成的一个公开模数n,-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n上述终端设备包括一个见证设备,上述见证设备包括一个存储器区段,上述存储器区段包含f个素数Pi和/或素数的中国余数的参数和/或公开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qimod pj)。见证设备还包括-随机数值产品装置,此后被称作见证设备的随机数值产生装置,-计算装置,此后被称作见证设备计算承诺R的装置。
计算装置计算以n为模数的整数环中的承诺R。通过执行以下类型的操作计算各个承诺Ri≡rivmod pi其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于一个由随机数值产生装置产生的随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法。
见证设备还包括-接收装置,此后被称作见证设备接收询问的装置,上述接收装置接收一或多个询问di;每个询问di包括m个此后被称作基本询问的整数di。
-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据各个询问d并且通过执行以下类型的根据来计算各个应答DDi≡ri·Qi,1d1·Qi,2d2·...·Qi,mdmmod pi并且接着使用中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个契约Ri所执行的模p1算术运算数量被减少了。
上述见证设备还包括发送一或多个承诺R和一或多个应答D的发送装置。应答D的数量与询问d和承诺R一样多。每给数值R,d,D均构成一个被表示成{R,d,D}的三元组。
证明一个实体的真实性的实例在一个第一可选实施例中,基于本发明的终端设备被用来验证一个实体的真实性,对于一个被称为审计人的实体而言,上述被验证实体被称为证明人。
上述终端设备包括与证明人实体相关的证明人设备。上述证明人设备通过互连装置与见证设备互连。尤其可以采取漫游对象中的逻辑微电路的形式,例如基于微处理器的银行卡中的微处理器的形式。
上述证明人设备还包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与审查人实体相关的审查人设备。上述审查人设备尤其可以采取终端或远程服务器的形式。
上述终端设备被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用上述过程计算各个承诺R。
见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置。证明人设备还具有通过连接装置向审查人设备发送所有或部分承诺R的发送装置,此后被称作证明人的发送装置。
步骤2和3涉及询问d的操作,涉及应答D的操作见证设备接收询问d的装置通过审查人设备和证明人设备之间的连接装置和证明人设备与见证设备之间的互连装置接收来自审查人设备的各个询问d。见证设备计算应答D的装置使用上述过程根据询问d计算应答D。
步骤4涉及检查的操作证明人的发送装置向埋询问的审查人发送各个应答D。
证明消息的完整性的实例在一个能够与其它可选实施例配合使用的第二可选实施例中,基于本发明的终端设备被用来向一个被称为审查人的实体证明与一个被称为证明人的实体相关的消息M的完整性。上述终端设备包括与证明人实体相关的证明人设备。上述证明人设备通过互连装置与见证设备互连。尤其可以采取漫游对象中的逻辑微电路的形式,例如基于微处理器的银行卡中的微处理器的形式。上述证明人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与审查人实体相关的审查人设备。上述审查人设备尤其可以采取终端或远程服务器的形式。
上述终端设备被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用上述过程计算各个承诺R。见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置。
步骤2和3涉及询问d的操作,涉及应答的操作证明人设备包括计算装置,此后被称作证明人的计算装置,计算装置使用一个散列函数h计算至少一个令牌T,其中散列函数的参数包括消息M和所有或部分承诺R。证明人设备还具有通过连接装置向审查人设备发送各个令牌T的发送装置,此后被称为证明人设备的发送装置。
上述审查人在接收令牌T之后产生数量等于承诺R的数量的询问d。
见证设备接收询问的装置通过证明人设备和见证设备之间的互连装置接收来自证明人设备的各个询问d。见证设备计算应答D的装置使用上述过程根据询问d计算应答D。
步骤4涉及检查的操作证明人的发送装置向进行检查的审查人发送各个应答D。
消息的数字签名及其真实性证明签名运算在一个能够与其它实施例配合使用的第三可选实施例中,基于本发明的终端设备被用来通过一个被称为签名实体的实体产生消息M的数字签名,该消息此后被称为已签名消息。
已签名消息包括-消息M,-询问d和/或承诺R,-应答D。
上述终端设备包括与签名实体相关的签名设备。上述签名设备通过互连装置与见证设备互连。尤其可以采取漫游对象中的逻辑微电路的形式,例如基于微处理器的银行卡中的微处理器的形式。上述签名设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与审查人实体相关的审查人设备。上述审查人设备尤其可以采取终端或远程服务器的形式。
上述终端设备被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用上述过程计算各个承诺R。见证设备具有通过互连装置向签名设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置。
步骤2涉及询问d的操作签名设备包括计算装置,此后被称作签名设备的计算装置,上述计算装置使用一个散列函数h计算一个二进制序列并且从这个二进制序列中提取出数量等于承诺R的数量的询问d,其中散列函数的参数包括消息M和所有或部分承诺R。
步骤3涉及应答D的操作接收询问d的装置通过互连装置接收来自签名设备的各个询问d。见证设备计算应答D的装置使用上述过程根据询问d计算应答D。见证设备包括通过互连装置向签名设备发送应答D的发送装置,此后被称作见证设备的发送装置。
审查人设备适用于GQ系列的中国余数方法本发明也涉及一个审查人设备。审查人设备尤其可以采取与审查人实体相关的终端或远程服务器的形式。审查人设备被用来为审查人服务器验证下列内容-一个实体的真实性和/或-与这个实体相关的消息M的完整性。
通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm(m大于或等于1),-由f个素数p1,p2,...,pf(f大于或等于2)的乘积构成的一个公开模数n,-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n其中Qi表示一个审查人设备未知并且与公开数值Gi相关的保密数值。
证明一个实体的真实性的实例在一个能够与其它实施例配合使用的第一可选实施例中,基于本发明的审查人设备被用来验证一个被称作证明人的实体和一个被称作审查人的实体的真实性。
上述证明人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与证明人实体相关的证明人设备。上述审查人设备被用来执行下列步骤步骤1和2涉及承诺R的操作,涉及询问d的操作上述审查人设备还具有通过连接装置接收所有或部分来自证明人设备的承诺R的装置。
审查人设备具有询问产生装置,该装置在接收所有或部分承诺R之后产生数量等于承诺R的数量的询问d,每个询问d包括m个此后被称作基本询问的整数di。
审查人设备还具有通过连接装置向证明人发送询问d的发送装置,此后被称作审查人的发送装置。
步骤3和4涉及应答D的操作,涉及检查的操作审查人设备还包括-通过连接装置接收来自证明人设备的应答D的装置,-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置。
第一种情况证明人已经发送一部分承诺R如果审查人设备的接收装置已经接收一部分承诺R,则审查人设备的计算装置在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R进行比较。
第二种情况证明人已经全部发送承诺R如果证明人的发送计算装置已经发送全部承诺R,则审查人设备的计算装置和比较装置在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n证明消息的完整性的实例在一个能够与其它实施例配合使用的第二可选实施例中,基于本发明的审查人设备被用来验证与一个被称为证明人的实体相关的消息M的完整性。
上述证明人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与证明人实体相关的证明人设备。上述审查人设备被用来执行下列步骤
步骤1和2涉及承诺R的操作,涉及询问的操作上述审查人设备还具有通过连接装置接收来自证明人设备的令牌T的装置。审查人设备具有询问产生装置,该装置在接收令牌T之后产生数量等于承诺R的数量的询问d,各个询问d包括m个此后被称作基本询问的整数。审查人设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称作审查人的发送装置。
步骤3和4涉及应答D的操作,涉及检查的操作审查人设备还包括通过连接装置接收来自证明人设备的应答D的装置。上述审查人设备还包括计算装置,此后被称作审查人设备的计算装置,上述计算装置在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着使用一个散列函数h计算一个令牌T′,其中散列函数的参数包括消息M和所有或部分重构承诺R′。
审查人设备还具有将计算的令牌T′与接收的令牌T相比较的比较装置,此后被称作审查人设备的比较装置。
消息的数字签名及其真实性证明在一个能够与其它可选实施例配合使用的第三可选实施例中,基于本发明的审查人设备被用来通过一个被称作审查人的实体对已签名消息的检查来验证消息M的真实性。
由一个与签名实体相关并且具有散列函数h(M,R)的签名设备发送的已签名消息包括-消息M,-询问d和/或承诺R,-应答D。
上述签名设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与签名实体相关的签名设备。上述审查人设备通过连接装置从已签名设备接收已签名消息。
审查人设备包括-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置。
在审查人设备具有承诺R,询问d,应答D的情况下如果审查人设备具有承诺R,询问d,应答D,则审查人设备的计算和比较装置确定承诺R,询问d和应答D满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n接着审查人设备的计算和比较装置确定消息M,询问d和承诺R满足散列函数d=h(M,R)在审查人设备具有询问d和应答D的情况下如果审查人设备具有询问d和应答D,审查人设备的计算装置根据各个询问d和各个应答D计算出满足以下类型的关系的承诺R′R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着审查人设备的计算和比较装置确定消息M和询问d满足散列函数d=h(M,R′)在审查人设备具有承诺R和应答D的情况下如果审查人设备具有承诺R和应答D,则审查人设备的计算装置使用散列函数并且以下面方式计算出d′d′=h(M,R)
接着审查人设备的计算和比较装置确定承诺R,询问d和应答D满足以下类型的关系R≡G1d’1·G2d’2·...·Gmd’m·Dvmod n或以下类型的关系R≡Dv/G1d’1·G2d’2·...·Gmd’mmod n当公开指数v=2k时有关可选实施例的详细描述描述GQ技术的目标可以被表述成对实体,相关消息以及消息的数字签名的动态认证。
GQ技术的标准版本利用了RSA技术。然而虽然RSA技术确实依赖因数分解,但通过针对实现RSA技术的各种数字签名标准的所谓乘法攻击可以看出这种依赖并不等价,并且差别很大。
在GQ2技术的环境中,本发明的当前部分更具体地涉及GQ2密钥集合在动态认证和数字签名环境中的使用。GQ2技术不使用RSA技术。GQ2技术有双重目标首先是改进RSA技术的性能,其次是克服RSA技术的固有问题。GQ2私有密钥是模数n的因数分解。任何对GQ2三元组的攻击均相当于对模数n的因数分解此时存在等价关系。对于GQ2技术,既减少了签名实体或被认证的实体的工作负载,也减少了进行检查的实体的工作负载。通过在安全和性能方面改进对因数分解问题的使用,GQ2技术可以和RSA技术匹敌。
GQ2技术使用一或多个大于1的小整数,例如m个被称作基数并且表示成gi的小整数(m≥1)。由于基数被固定到范围gi-gm,m>1上,根据下述方式选择一个公开验证密钥(v,n)。公开验证指数v为2k,其中k是大于1的小整数(k≥2)。公开模数n是至少两个大于基数的素数,例如f个被表示成pj的素数(f≥2)的乘积,其中pj的范围是p1,p2,...,pf。选择f个素数以便对于从g1到gm的m个基数公开模数n具有下列性质。
-首先,不能用以n为模的整数环中的x对等式(1)和(2)求解,也就是说gi和-gi是两个非二次余数(mod n)。
x2≡gi(mod n)(1)x2≡-gi(mod n)(2)-其次,可以用以n为模的整数环中的x对等式(3)求解。x2k≡gi2(modn)---(3)]]>由于根据从g1到gm,m>1的基数固定公开验证密钥(v,n),各个基数gi确定一对包括公开数值Gi和保密数值Qi的GQ2数值提供m对被表示成G1Q1到GmQm的数值。公开数值Gi是基数gi的平方Gi=gi2。保密数值Qi是等式(3)的一个解,或者是这种解的反置(mod n)。
就象模数n被分解成f个素数那样,以n为模的整数环被分解成f个从CG(p1)到CG(pf)的Galois域。这里提供了等式(1),(2)和(3)在CG(pj)中的投影。
x2≡gi(mod pi)(1.a)x2≡-gi(mod pj)(2.a)x2k≡gi2(modpj)---(3.a)]]>各个保密数值Qi可以被唯一表示成f个私有分量,每个素数一个分量Qi,j≡Qimod pj。各个私有分量Qj是等式(3.a)的一个解,或者是这种解的反置(mod pj)。在计算出各个等式(3.a)的所有可能的解之后,中国余数技术根据f个分量Qi,1到Qi,f确定各个保密数值Qi的所有可能数值Qi=中国余数(Qi,1,Qi,2,...,Qi,f),从而获得等式(3)所有可能的解。
下面是中国余数技术假定有两个互素的正整数a,b和两个分量Xa,Xb,其中0<a<b,Xa从0到a-1,并且Xb从0到b-1。要求确定X=中国余数(Xa,Xb),即从0到a.b-1的唯一数值,使得Xa≡X(mod a)并且Xb≡X(modb)。下面是中国余数参数α≡{b(mod a)}-1(mod a)。下面是中国余数运算ε≡Xb(mod a);δ=Xa-ε;如果δ为负,则用δ+a替换ε;γ≡α·δ(mod a);X=γ·b+Xb。
当按照从最小的p1到最大的pf的升序排列素数时,中国余数参数如下所述(其中有f-1个参数,即个数比素数少一个)。第一个中国余数参数是α≡{p2(mod p1)}-1(mod p1)。第二个中国余数参数是β≡{p1·p2(mod p3)}-1(mod p3)。第i个中国余数参数是λ≡{p1·p2·…pi-1(mod pi)}-1(mod pi)。等等,依此类推。最终,在f-1个中国余数运算中,根据第一个参数获得第一个结果(mod p2乘以p1),接着根据第二个参数获得第二个结果(modp1·p2乘以p3),等等,依此类推直到得到一个结果(mod p1·…pf-1乘以pf),即(mod n)。
私有密钥GQ2有若干个可能表示,这揭示出私有密钥GQ2的多态性质。各种表示被证明均是等价的它们均相当于有关模数n的因数分解的知识,即真实的私有GQ2密钥。如果表示确实影响了签名实体或自认证实体的行为,则不影响审查人实体的行为。
这里是GQ2私有密钥的三种可能的主要表示。
1)GQ技术中的标准表示包括m个保密数值Qi和公开验证密钥<v,n>的存储;在GQ2中,这种表示等价于下列两个表示。2)就工作负载而言的最优表示在于存储公开指数v,f个素数pj,m.f个私有分量Qij和中国余数的f-1个参数。3)就私有密钥尺寸而言的最优表示在于存储公开指数v,m个基数gi和f个素数pj,接着在开始使用时确定m个保密数值Qi和模数n以便到第一种表示,或者确定m.f个私有分量和中国余数的f-1个参数以便返回到第二种表示。
签名或自认证实体可以全部使用相同的基数。除非专门指出,m个从g1到gm的基数可以是m个第一素数;由于动态认证机制或数字签名机制的安全性等价于有关模数分解的知识,GQ2技术不能被用来简单区分两个使用相同模数的实体。通常,认证其自身或进行签名的实体均具有其自身的GQ2模数。然而可以用四个素数定义GQ2模数,其中一个实体知道两个素数,而另一个实体知道其它两个素数。
这里是一个第一GQ2密钥集合,其中k=6,指定v=64,m=3,指定三个基数g1=3,g2=5,g3=7,并且f=3,即一个具有三个素数的模数两个恒等于3(mod 4),一个恒等于5(mod 8)。必须注意g=2与恒等于5(mod8)的素数不兼容。
p1=03CD2F4F21EOEAD60266D5CFCEBB6954683493E2E833p2=0583B097E8D8D777BAB3874F2E76659BB614F985EC1Bp3=OC363CD93D6B3FEC78EE13D7BE9D84354B8FDD6DA1FDn=p1·p2·p3=FFFF81CEA149DCF2F72EB449C5724742FE2A3630D902CCOOEAFEE1B957F3BDC49BE9CBD4D94467B72AF28CFBB26144CDF4BBDBA3C97578E29CC9BBEE8FB6DDDDQ1,1=0279C60D216696CD6F7526E23512DAE090CFF879FDDEQ2,1=7C977FC38F8413A284E9CE4EDEF4AEF35BF7793B89Q3,1=6FB3B9C05A03D7CADA9A3425571EF5ECC54D7A7B6FQ1,2=0388EC6AA1E87613D832E2B80E5AE8C1DF2E74BFF502Q2,2=04792CE70284D16E9A158C688A7B3FEAF9C40056469EQ3,2=FDC4A8E53E185A4BA793E93BEE5C636DA731BDCA4EQ1,3=07BC1AB048A2EAFDAB59BD40CCF2F657AD8A6B573BDEQ2,3=OAE8551E116A3AC089566DFDB3AE003CF174FC4E4877Q3,3=01682D490041913A4EA5B80D16B685E4A6DD88070501Q1=D7EICAF28192CED6549FF457708D50A7481572DD5F2C335D8C69E22521B510B64454FB7A19AEC8D06985558E764C6991B05FC2AC74D9743435AB4D7CFOFF6557Q2=CB1ED6B1DD649B89B9638DC33876C98AC7AF689E9D1359E4DB17563B9B3DC582D5271949F3DBA5A70CI08F56IA274405A5CB882288273ADE67353A5BC316C093Q3=09AA6F4930E51A70CCDFA77442B10770DD1CD77490E3398AAD9DC50249C34312915E455917A1ED4D83AA3D607E3EB5C8B197697238537FE7A0195C5E8373EB74D下面是第二GQ2密钥集合,其中k=9,即v=512,m=2,即两个基数g1=2,g2=3,并且f=3,指定一个具有三个恒等于3(mod 4)的素数的模数。
p1=03852103E40CD4F06FA7BAA9CC8D5BCE96E3984570CBp2=062AC9EC42AA3E688DC2BC871C8315CB939089B61DD7
p3=OBCADEC219FIDFBB8AB5FE808AOFFCB53458284ED8E3n=p1·p2·p3=FFFF5401ECD9E537F167A80COA9111986F7A8EBA4D6698AD68FF670DE5D9D77DFF00716DC7539F7CBBCF969E73AOC49761B276A8E6B6977A21D51669D039F1D7Q1,1=0260BC7243C2245OD566B5C6EF74AA29F2B927AF68E1Q2,1=0326C12FC7991ECDC9BB8D7CIC4501BE1BAE9485300EQ1,2=02DOB4CC95A2DD435DOE22BFBB29C59418306F6CDOOAQ2,2=045ECB881387582E7C556887784D2671CA118E22FCF2Q1,3=BOC2B1F808D24F6376E3A534EB555EF54E6AEF5982Q2,3=OAB9F81DF462F58A52D937E6D81F48FFA4A87A9935ABQ1=27F7B9FC82C19ACAE47F3FE9560C3536A7E90F8C3C51E13C35F32FD8C6823DF753685DD63555D2146FCDB9B28DA367327DD6EDDA092DOCF108DOAB708405DA46Q2=230DOB9595E5AD388F1F447A69918905EBFB05910582E5BA649C94BOB2661E49DF3C9B42FEF1F37A7909B1C2DD54113ACF87C6F11F19874DE7DC5D1DF2A9252D动态认证动态认证机制被用来向一个被称为审查人的实体证明另一个被称为证明人的实体的真实性以及可能相关的消息M的真实性,使得审查人可以确定其确实是并且是唯一的证明人,并且确定证明人确实发出了相同的消息M。相关消息M是可选的。这意味着它可以是空的。
动态认证机制是一个四操作序列一个承诺操作,一个询问操作,一个应答操作和一个检查操作。证明人完成承诺和应答操作。审查人完成询问和审查操作。
在证明人内部,可以隔离见证以便隔离证明人最敏感的参数和功能,即产生承诺和应答。见证具有参数k和私有密钥GQ2,即根据前面三种表示中的一种对模数n进行的因数分解f个素数和m个基数,m.f个私有分量,f个素数和f-1个中国余数参数,m个保密数值和模数n。
见证可以对应于一个部分实施例,例如与构成整个证明人的PC连接的芯片卡,或PC内部特别保护的程序,或智能卡内部特别保护的程序。
如此隔离的见证类似于下面在签名实体内部定义的见证。在每次执行机制时,见证产生一或多个承诺R并且接着对一样多的询问d产生一样多的应答D。各个集合{r,d,D)是一个GQ2三元组。
除了包括见证之外,证明人在具有还具有一个散列函数和一个消息M。
审查人具有模数n,参数k和m;在必要时还具有相同的散列函数和一个消息M′。审查人能够根据任何询问d和任何应答D重构承诺R′。如果没有任何相反的指示,m个从g1到gm的基数是m个第一素数。各个询问d必须具有m个被表示成d1到dm的基本询问每个基数一个基本询问。从d1到dm的这种基本询问的取值范围是0到2k-1-1(未使用v/2到v-1的范围)。通常各个询问被编码成m乘k-1个位(而不是m乘k个位)。例如,k=6和m=3并且基数为3,5和7,各个询问在两个字节中具有15个发送位;k=9,m=2并且基数2和3,各个询问在两个字节中具有16个发送位。当还可能有(k-1).m个可能的询问时,数值(k-1).m确定各个GQ2三元组提供的安全性一个根据定义不知道模数n的因数分解的冒名顶替者在2(k-1).m次偿试中只有一次成功机会。当(k-1).m等于15至20时,一个三元组足够合理提供动态认证。为了在各种情况下实现任何的安全等级,可以并行产生三元组。也可以顺序产生,即重复执行机制。
1)涉及承诺的操作包括下列运算。
当见证具有从Q1到Qm的m个保密数值和模数n时,该见证以随机和秘密的方式抽出一或多个随机数值r(0<r<n);接着通过k次连续平方(mod n)运算将各个随机数值r转换成承诺R。
R≡rvmod n这里是一个具有k=6的第一密钥集合的例子。
r=B8AD426C1AC0165E94B894AC2437C1B1797EF562CFA53A4AF843131FF1C89CFDA13120719471OEF9CO1OE8F09C60D9815121981260919967C3E2FB4B4566088ER=FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56D3AF0参数k和m为审查人提供信息。7BE692CB1FE4EE70FA77032BECD841113813134C21210C6130449CC4292E5DD2BDB00828AF18当见证具有从p1到pf的m个素数和m.f个私有分量Qij时,该见证以随机和秘密的方式抽出一或多个随机数值集合各个集合针对每个素数pi(0<ri<pi)便具有一个随机数值ri;接着通过k次连续平方(mod pi)运算将各个随机数值ri转换成承诺Ri的一个分量。
Ri≡rivmod n这里是一个具有k=9的第二密钥集合的例子。
r1=B0418EABEBADF0553A28903F74472CD49EE8C82D86R1=022B365FOBEA8E157E94A9DEB0512827FFD5149880F1r2=75A8DA8FEOE60BD55D28A218E31347732339F1D667R2=057E43A242C485FC201DEEF291C774CF1B30F0163DEC2r3=OD74D2BDA5302CF8BE2F6D406249D148C6960A7D27R3=06E14C8FC4DD312BA3B475F1F40CFO1ACE2A88D5BB3C对于包括f个承诺分量的各个集合,见证根据中国余数技术产生一个承诺。承诺的数量和随机数值集合一样多。
R=中国余数(R1,R2,...,Rf)R=28AA7F12259BFBA81368EB49C93EEAB3F3EC6BF73BOEBD7D3FC8395CFA1AD7FCOF9DAC169A4F6F1C46FB4C3458D1E37C99123B56446F6C928736B17134BA4A529在两种情况下,证明人向审查人发送所有或部分承诺R,或至少发送一个散列码H,其中通过杂凑各个承诺R和一个消息M来获得上述散列码H。
2)涉及询问的操作包括随机抽出一或多个均由m个基本询问d1,d2,...,dm构成的询问d;各个基本询问di的取值范围为0到v/2-1。
d=d1,d2,...,dm这里是一个具针对k=3并且m=3的第一密钥集合的例子。
d1=10110=22=′16′;d2=00111=7;d3=00010=2d=0‖d1‖d2‖d3=01011000 11100010=58 E2
这里是一个具针对k=9并且m=2的第二密钥集合的例子。
d=d1‖d2=58 E2,即,十进制表示的88和226审查人向证明人发送各个询问d。
3)涉及应答的操作具有下列运算。
当见证具有m个从Q1到Qm的保密数值和模数n时,见证使用涉及承诺的操作的各个随机数值r和基于基本询问的保密数值计算一或多个应答D。X≡Q1d1·Q2d2…Qmdm(modn)]]>D≡r·X(mod n)这里是一个针对第一密钥集合的例子。
D=FF257422ECD3C7A03706B9A7B28EE3FC3A4E974AEDCDF386EEF38760B859FDB5333E904BBDD37B097A989F69085FE8EF6480A2C6A290273479FEC9171990A17当见证具有f个从pi到pf的素数和m.f个私有分量Qi,j时,见证使用涉及承诺的操作的各个随机数值集合计算一或多个由f个应答分量构成的集合各个应答分量集合针对每个素数均包括一个分量。Xi≡Q1,id1·Q2,id2…Qm,idm(modpi)]]>Di≡ri·Xi(mod pi)这里是一个针对第二密钥集合的例子。
D1=r1·Q1,1d1·Q2,1d2(modp1)=02660ADF3C73B6DC15E196152322DDE8EB5B35775E38D2=r2·Q1,2d1·Q2,2d2(modp2)=04015028E5FD1175724376011BE77052205F7C62AE3RD3=r3·Q1,3d1·Q2,3d2(modp3)=0903D20DOC306C8EDA9D8FB5B3BEB55E061AB39CCF52针对各个应答分量集合,见证根据中国余数技术抽出一个应答。应答的数量与询问一样多。
D=中国余数(D1,D2,...,Df)D=85C3B00296426E97897F73C7DC6341FB8FFE6E879AE12EF1F364CBB55BC44DEC437208CF530F8402BD9C511F5FB3B3A309257A00195A7305C6FF3323F72DC1AB在两种情况下,证明人向审查人发送各个应答D。
4)检查操作包括确定各个三元组{R,d,D}满足下面针对非零数值的等式。R.Πi=1mGidi≡D2k(modn)]]>或R≡D2k.Πi=1mGidi(modn)]]>或产生各个承诺承诺不应当为零。R′≡D2k/Πi=1mGidi(modn)]]>或R′≡D2k.Πi=1mGidi(modn)]]>在必要时审查人在杂凑各个重新建立的承诺R′和一个消息M′时计算一个散列码H′。当审查人审查人到在第一承诺操作结束时接收的内容,即所有或部分承诺R或散列码H时,动态认证成功。
例如,一个系列基本运算将应答D转换成一个承诺R′。该操作序列具有被k-1个基数除法或乘法分隔的k个平方(mod n)。对于在第i个平方和第i+1个平方之间执行的第i个除法或乘法,基本询问di的第i个位指示是否有必要使用gi,基本询问d2的第i个位指示是否有必要使用g2,...,基本询问dm的第i个位指示是否有必要使用gm。
这里是一个针对第一密钥集合的例子。
D2(modn)=FD12E8E1F1370AEC9C7BA2E05C80AD2B692D341D46F32893948715491FOEB091B7606CA1E744E0688367D7BB998F7B73D5F7FDA95D5BD6347DC8B978CA2177333.D2(modn)=F739B708911166DFE715800D8A9D78FC3F332FF622D3EAB8E7977C68AD44962BEE4DAE3C0345D1CB34526D3B67EBE8BF987041B485289OD83FC6B48D3EF6A9DF32.D4(mod n)=682A7AF280C49FE230BEE354BF6FFB30B7519E3C892DD07E5A781225BBD33920E5ADABBCD7284966D71141EAA17AF8826635790743EA7D9A15A33ACC7491D4A734.D8(mod n)=BE9D828989A2C184E34BA8FEOF384811642B7B548F870699E7869F8ED851FC3DB3830B2400C516511AOC28AFDD21OEC3939E69D413FOBABC6DEC441974B1A291
35.5.D8(mod n)=2B40122E225CD858B26D27B768632923F2BBE5DB15CA9EFA77EFA667E554A02AD1A1E4F6B59BD9E1AE4A537D4AC1E89C2235C363830EBF4DB42CEA3DA98CFE00310.52.D16(mod n)=BDD3B34C90ABBC870C604E27E7F2E9DB2D38368EA46C931C66F6C7509B118E3C162811A98169C30D4DEF768397DDB8F6526B6714218DEB627E11FACA4B9DB268311.53.7.D16(mod n)=DBFA7F4OD338DE4FBA73D42DBF427BBF195C13D02ABOFA5F8C8DDB5025E34282311CEF80BACDCE5DOC433444A2AF2B15318C36FE2AEOZF3C8CB25637C9AD712F322.56.72.D32(mod n)=C60CA9C4A11F8AA89D9242CE717E3DC6C1A95D5D09A2278F8FEE1DFD94EE84D09D000EA8633B53C4AOE7FOAEECB70509667A3CB052029C94EDF27611FAE286A7322.57.72.D32(mod n)=DE40CB6B41CO1E722E4F312AE7205F18CDD0303EA52261CBOEA9FOC7EOCD5EC53D42E5CB645B6BB1A3BOOC77886F4AC5222F9C863DACA440CF5F1A8E374807AC344.514.74.D64(mod n),即具有十六进制指数的32C.5E.74.D40(mod n)=FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56D3AF07BE692CB1FE4EE70FA77032BECD8411B813B4C2121OC6B0449CC4292E5DD2BDB00828AF18我们发现承诺R。认证成功。
这里是一个针对第二密钥集合的例子。
D2(mod n)=C66E585D8F132F7067617BC6DOOBA699ABD74FB9D13E24E6A6692CC8D2FC7B57352D66D34F5273C13F20E3FAA228D70AEC693F8395ACEF9206B172A8A2C2CCBB3.D2(mod n)=534C6114D385C3E15355233C5BOOD09C2490D1B8D8ED3D59213CB83EAD41C309A187519E5F501C4A45C37EB2FF38FBF201D6D138F3999FC1D06A2B2647D4828332.D4(mod n)=A9DC8DEA867697E76B4C18527DFFC49F4658473D034EC1DDEOEB21F6F65978BE477C4231AC9B1EBD93D5D49422408E4715919023816BC3C6C46A92BBD326AADF2.33.D4(mod n)=FB2D57796039DFC4AF9199CAD44B66F257A1FF3F2BA4C12BOA8496A0148B4DFBAFE838EOB5A7D9FB4394379D72A107E45C51FCDB7462D03A35002D29823A2BB522.36.D8(mod n)=4C210F96FF6C77541910623B1E49533206DFB9E916521F305F12C5DB054D4E1BF3A37FA293854DF02B49283B6DE5E5D82ACB23DAF1AOD5A721A1890D03AOOBD822.37.D8(mod n)=E4632EC4FE4565FC4B3126B15ADBF996149F2DBB42F65D911D385191OFE7EA53DAEA7EE7BA8FE9D081DB78B249B1B18880616B90D4E280F564E49B270AE0238824.314.D16(mod n)=ED3DDC716AE3D1EA74C5AF935DE814BCC2C78B12A6BB29FA542F9981C5D954F53D153B9F0198BA82690EF665C17C399607DEA54E218C2CO1A890D422EDA16FA325.314.D16(mod n)=DA7C64EOE8EDBE9CF823B71AB13F17E11614876BOOOFBB473F5FCBF5A5D8D26C7B2A05D03BDDD588164E562DOF57AE94AEOAD3F35C61C0892F4C91DCOB08ED6F210.328.D32(mod n)=6ED6AFC5A87D2DD117B0D89072C99FB9DC95D558F65B6A1967E6207D4ADBBA32001D3828A35069B256A07C3D722E17DA30088E6E739FBC419FD7282D16CD6542211.328.D32(mod n)=DDAD5F8B50FA5BA22F61B120E5933F73B92BAAB1ECB6D432CFCC40FA95B77464003A705146AOD364AD40F87AE45E2FB460111CDCE77F78833FAE505A2D9ACA84222.356.D64(mod n)=A466DOCB17614EFD961000BD9EABF4F02136178307101882BC1764DBAACB715EFBF5D8309AEOO1EB5DEDA8FOOOE44B3D4578E5CA55797FD4BD1F8E919BE787BD0244.3112.D128(mod n)=925BOEDF5047EFEC5AFABDC03A830919761B8FBDD2BF934E2A8A31E29B976274D513007EF1269E4638B4F65F8FDEC740778BDC178AD7AF2968689B930D5A2359244.3113.D128(mod n)=B711D89C03FDEA8D1F889134A4F809B3F2D8207F2AD8213D169F2E99ECEC4FE08038900FOC203B55EE4F4C803BFB912A04F11D9DB9D076021764BC4F57D47834288.3226.D256(mod n)=41A83F119FFE4A2F4AC7E5597A5DOBEB4D4C08D19E597FDU34FE720235894363A19D6BC5AF323D24B1B7FCFD8DFCC628021B4648D7EF757A3E461EFOCFFOEA132176.3452,D512(mod n),即488.9226.D512(mod n)=28AA7F12259BFBA81368EB49C93EEAB3F3EC6BF73BOEBD7D3FC8395CFA1AD7FCOF9DAC169A4F6F1C46FB4C3458D1E37C99123B56446F6C928736B17B4BA4A529我们发现承诺R。认证成功。
数字签名数字签名机制允许一个被称作签名实体的实体产生已签名消息并且允许一个被称作审查人的实体确定已签名消息。消息M是任意的二进制序列可以为空。通过增加一个签名附录对消息M进行签名。这个签名附录包括一或多个承诺和/或询问以及对应的应答。
审查人具有相同的散列函数,参数k,m和模数n。参数k和m为审查人提供信息。首先,从d1到dm的各个基本询问的取值范围必须是0到2k-1-1(未使用v/2到v-1的范围)。其次,各个询问必须包括m个被表示成d1到dm的基本询问,其数量与基数一样多。此外,如果没有任何相反的指示,m个从g1到gm的基数是m个第一素数。在(k-1).m等于15至20的情况下,可以用四个并行产生的GQ2三元组签名;在(k-1).m等于60或更多的情况下,可以用一个单独的GQ2三元组签名。例如,对于k=9和m=8,一个单独GQ2三元组便足够了;各个询问具有八个字节并且基数为2,3,5,7,11,13,17和19。
签名运算是由三个操作构成的操作序列一个承诺操作,一个询问操作和一个应答操作。各个操作产生一或多个GQ2三元组,其中每个三元组包括一个承诺R(≠0),一个由m个基本询问d1,d2,...,dm构成的询问d,和一个应答D(≠0)。
签名实体具有一个散列函数,参数k和GQ2私有密钥,即基于上述三种表示中的一种的模数n因数分解。在签名实体内部,可以通过隔离执行承诺和应答操作的见证来隔离对证明人非常敏感的功能和参数。为了计算承诺和应答,见证具有参数k和GQ2私有密钥,即基于上述三种表示中的一种的模数n因数分解。因而以类似于证明人内部规定见证的方式隔离见证。可以对应于一个具体实施例,例如与共同构成签名实体的PC连接的芯片卡,或PC内部特别保护的程序,或智能卡内部特别保护的程序。
1)承诺操作包括下列运算当见证具有从Q1到Qm的m个保密数值和模数n时,该见证以随机和秘密的方式抽出一或多个随机数值r(0<r<n);接着通过k次连续平方(modn)运算将各个随机数值r转换成承诺R。
Ri≡rvmod n当见证具有从p1到pf的m个素数和m.f个私有分量Qij时,该见证以随机和秘密的方式抽出一或多个随机数值集合各个集合针对每个素数pi(0<ri<pi)便具有一个随机数值ri;接着通过k次连续平方(mod pi)运算将各个随机数值ri转换成承诺Ri的一个分量。
Ri≡rivmod pi对于包括f个承诺分量的各个集合,见证根据中国余数技术产生一个承诺。承诺的数量和随机数值集合一样多。
R=中国余数(R1,R2,...,Rf)2)询问操作包括杂凑所有承诺R和要签名的消息M以获得一个被签名实体用来构成一或多个均包括m个基本询问的询问的散列码;各个基本询问的取值范围为0到v/2-1;例如对于k=9和m=8。各个询问具有八个字节。询问的数量与承诺一样多。
d=d1,d2,...,dm,从结果Hash(M,R)中提取3)应答操作包括下列运算。
当见证具有m个从Q1到Qm的保密数值和模数n时,见证使用涉及承诺操作的各个随机数值r和基于基本询问的保密数值计算一或多个应答D。X≡Q1d1·Q2d2…Qmdm(modn)]]>D≡r·X(mod n)当见证具有f个从pi到pf的素数和m.f个私有分量Qij时,见证使用涉及承诺的操作的各个随机数值集合计算一或多个由f个应答分量构成的集合各个应答分量集合针对每个素数均包括一个分量。Xi≡Q1,id1·Q2,id2…Qm,idm(modpi)]]>Di≡ri·Xi(mod pi)针对各个应答分量集合,见证根据中国余数技术建立一个应答。应答的数量与询问一样多。
D=中国余数(D1,D2,...,Df)签名实体通过加入一个签名附录对消息M进行签名,签名附录包括-各个GQ2三元组,即各个承诺R,各个询问d和各个应答D中的任意一个,-或各个承诺R和各个对应的应答D,-或各个询问d和对应的应答D。
根据签名附录的内容运行验证运算。存在三个可能情况。
如果附录包括一或多个三元组,检查运算具有两个时序并不重要的独立进程。当且仅当下面两个条件被满足是审查人才接受签名消息。
首先,各个三元组必须是一致的(必须满足一个下面类型的适当关系)和可接受的(必须在非零数值上进行比较)。R.Πi=1mGidi≡D2k(modn)]]>或R≡D2k.Πi=1mGidi(modn)]]>例如,通过一个基本运算序列转换应答D被k-1个基数乘法或除法运算(mod n)分隔的k个平方(mod n)。对于在第i个平方和第i+1个平方之间执行的第i个除法或除法,基本询问d1的第i个位指示是否有必要使用g1,基本询问d2的第i个位指示是否有必要使用g2,...,基本询问dm的第i个位指示是否有必要使用gm。因而有必要检索签名附录中出现的各个承诺R。
此外,一或多个三元组必须与消息M关联起来。通过杂凑所有承诺R和一个M,获得一个散列码,其中必须根据上述散列码恢复出各个询问d。
d=d1,d2,...,dm,与从结果Hash(M,R)中提取的相同如果附录中没有询问,则检查运算开始通过杂凑所有承诺R和消息M重构一或多个询问d。
d=d′1,d′2,...,d′m,从结果Hash(M,R)中提取接着,当且仅当各个三元组是一致的(满足一个下面类型的适当关系)和可接受的(在非零数值上进行比较)审查人才接受签名消息。R.Πi=1mGid′i≡D2k(modn)]]>或R≡D2k.Πi=1mGidi(modn)]]>如果附录中没有承诺,则检查运算开始根据下列两个公式中的一个适当的公式重构一或多个承诺R′。重新建立的承诺不应当为零。R′≡D2k/Πi=1mGidi(modn)]]>或R′≡D2k.Πi=1mGidi(modn)]]>接着,审查人必须杂凑所有承诺R′和消息M以便重构各个询问d。
d=d1,d2,...,dm,与从结果Hash(M,R′)中提取的相同当且仅当各个重构的询问与附录中的对应询问相同时审查人才接受签名消息。
在本申请中已经说明存在被用来实现基于本发明、被用来证明一个实体的真实性和/或一个消息的完整性和/或真实性的方法,系统和设备的成对保密数值和公开数值Q与G。
在France Telecom,TDF和Math RiZK公司与本申请同日提交、发明人为Louis Guillou和Jean-Jacques Quisquater的待决申请中描述了一个产生GQ2密钥集合,即指数v等于2k时的模数n和成对公开与保密数值G与Q的方法。这里参考引用了这个专利申请。
权利要求
1.被用来向一个审查人实体证明以下内容的方法,-一个实体的真实性和/或-与这个实体相关的消息M的完整性,通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm,m大于或等于1,-由上述f个素数p1,p2,...,pf的乘积构成的一个公开模数n,f大于或等于2;-一个公开指数v;上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n;上述方法在下面步骤中实现一个被称作见证的实体,上述见证实体具有f个素数pi和/或素数的中国余数的参数和/或公开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qimod pj);-见证计算以n为模数的整数环中的承诺R;通过执行以下类型的操作计算各个承诺Ri≡rivmod pi其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于一个随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法,-见证接收一或多个询问d;每个询问d包括m个被称作基本询问的整数di;根据各个询问d,见证通过执行以下类型的运算计算一个应答DDi≡ri·Qi,1d1·Qi,2d2·...·Qi,mdmmod pi该方法使得应答D的数量与询问d和承诺R一样多,其中每组数值R,d,D构成一个被表示成{R,d,D}的三元组。
2.如权利要求1所述的方法,上述方法被用来向一个被称为审查人的实体证明一个被称为证明人的实体的真实性,上述证明人实体包括见证;上述证明人和审查人实体执行下列步骤步骤1涉及承诺R的操作-每次见证使用如权利要求1所述的过程计算各个承诺R,-证明人向审查人发送所有或部分承诺E,步骤2涉及询问d的操作-在接收所有或部分承诺R之后,审查人产生数量等于承诺R的数量的询问d并且向证明人发送询问d,步骤3涉及应答D的操作-见证使用如权利要求1所述的过程根据询问d计算应答D,步骤4涉及检查的操作-证明人向审查人发送各个应答D,在证明人发送一部分承诺R的情况下如果证明人已经发送一部分承诺R,则审查人在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人确定各个重构的承诺R′还原出已经发送过来的所有或部分承诺R,在证明人已经全部发送承诺R的情况下如果证明人已经发送全部承诺R,则审查人在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n
3.如权利要求1所述的方法,上述方法被用来向一个被称为审查人的实体证明与一个被称为证明人的实体相关的消息M的真实性,上述证明人实体包括见证;上述证明人和审查人实体执行下列步骤步骤1涉及承诺R的操作-每次见证使用如权利要求1所述的过程计算各个承诺R,步骤2涉及询问d的操作-证明人使用一个散列函数h计算至少一个令牌T,其中散列函数的参数包括消息M和所有或部分承诺R,-证明人向审查人发送令牌T,-在接收令牌T之后,审查人产生数量等于承诺R的数量的询问d并且向证明人发送询问d,步骤3涉及应答D的操作-见证使用如权利要求1所述的过程根据询问d计算应答D,步骤4涉及检查的操作-证明人向审查人发送各个应答D,审查人在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n-接着审查人使用一个散列函数h重构令牌T′,其中散列函数的参数包括消息M和所有或部分重构承诺R′,-接着审查人确定令牌T′与发送的令牌T相同。
4.如权利要求1所述的方法,上述方法被用来通过一个被称为签名实体的实体产生一个消息M的消息,上述签名实体包括见证;上述签名实体执行签名运算以便获得包括以下内容的已签名消息-消息M,-询问d和/或承诺R,-应答D;上述签名实体通过实现下列步骤执行签名运算步骤1涉及承诺R的操作-每次见证使用如权利要求1所述的过程计算各个承诺R,步骤2涉及询问d的操作签名实体使用一个散列函数h获得一个二进制序列,上述散列函数的参数包括消息M和各个承诺R,-签名实体从这个二进制序列中提取其数量等于承诺R的数量的询问d,步骤3涉及应答D的操作-见证使用如权利要求1所述的过程根据询问d计算应答D,
5.如权利要求4所述的方法,上述方法被用来通过使用一个被称作审查人的实体检查签名消息来证明消息M的真实性;检查运算-具有已签名消息的上述审计人实体通过执行如下步骤来完成检查运算在审查人具有承诺R,询问d,应答D的情况下如果审查人具有承诺R,询问d,应答D审查人确定承诺R,询问d和应答D满足以下类型的关系R≡G1d1·G2d2·…·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n审查人确定消息M,询问d和承诺R满足散列函数d=h(M,R)在审查人具有询问d和应答D的情况下如果审查人具有询问d,应答D,审查人根据各个询问d和各个应答D重构满足下列关系的承诺R′R’≡G1d1·G2d2·…·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·..·Gmdmmod n审查人确定消息M和询问d满足散列函数d=h(M,R′)在审查人具有承诺R和应答D的情况下如果审查人具有承诺R,应答D,审查人使用散列函数并且重构d′d′=h(M,R)审查人设备确定承诺R,询问d′和应答D满足以下类型的关系R≡G1d’1·G2d’2·...·Gmd’m·Dvmod n或以下类型的关系R≡Dv/G1d’1·G2d’2·...·Gmd’mmod n
6.如权利要求1-5中任何一个所述的方法,该方法使得保密数值Qi的分量Qi,1,Qi,2,...,Qi,f以每个上述素数pj一个分量Qi,j(Qi,j≡Qimod pj)的比率随机抽取的数值;能够通过中国余数方法根据上述分量Qi,1,Qi,2,...,Qi,f计算出上述保密数值Qi通过以下方式计算上述公开数值Gi通过执行下列类型的运算Gi,i≡Qi,jvmod pj接着使用中国余数方法建立Gi,使得Gi·Qiv≡1 mod n或Gi≡Qivmod n
7.如权利要求6所述的方法,该方法使得公开验证指数v是一个素数。
8.如权利要求1-5中任何一个所述的方法,上述指数v=2k,其中k是大于1的安全参数;上述公开数值Gi是小于f个素数p1,p2,...,Pf的基数gi的平方gi2;基数gi使得两个等式x2≡gimod n和x2≡-gimod n不能被以n为模的整数环中的x求解,并且使得等式xv≡gi2mod n能被以n为模的整数环中的x求解。
9.被用来向一个审查人服务器证明以下内容的系统,-一个实体的真实性和/或-与这个实体相关的消息M的完整性,通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm,m大于或等于1,-由上述f个素数p1,p2,...,pf的乘积构成的Pi个公开模数n,f大于或等于2,-一个公开指数v。上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n上述系统包括一个见证设备,尤其是被包含在具有基于微处理器的银行卡形式的漫游对象内的见证设备,上述见证设备包括一个存储器区段,上述存储器区段包含f个素数pi和/或素数的中国余数的参数和/或公开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qimod pj);上述见证设备还包括-随机数值产品装置,此后被称作见证设备的随机数值产生装置,-计算装置,此后被称作计算见证设备的承诺R的装置,上述计算装置计算以n为模的整数环中的承诺R;通过执行以下类型的操作计算各个承诺Ri≡rivmod pi其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于一个由随机数产生装置产生的随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法;上述见证设备还包括-接收装置,此后被称作接收见证设备的询问的装置,上述接收装置接收一或多个询问di;每个询问di包括m个此后被称作基本询问的整数di;-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据各个询问d并且通过执行以下类型的根据来计算各个应答DDi≡ri·Qi,1d1·Qi,2d2·...·Qi,mdmmod pi并且接着使用中国余数方法。-发送一或多个承诺R和一或多个应答D的发送装置;应答D的数量与询问d和承诺R和一或多个,其中每组数值R,d,D构成一个被表示成{R,d,D}的三元组。
10.如权利要求9所述的系统,该系统被用来证明一个被称作证明人的实体和一个被称作审查人的实体的真实性,上述系统包括-一个与证明人实体相关的证明人设备,上述证明人设备通过互连装置与见证设备互连,并且能够具有漫游对象中逻辑微电路的形式,例如具有基于微处理器的银行卡中的微处理器的形式,-一个与审查人实体相关的审查人设备,上述审查人设备具有终端或远程服务器的形式,上述审查人设备包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到证明人设备的连接装置;上述系统允许执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用如权利要求9规定的过程计算各个承诺R,-见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置,-证明人设备设备还具有通过连接装置向审查人设备发送所有或部分承诺R的发送装置,此后被称作证明人设备的发送装置;步骤2涉及询问d的操作审查人设备包括询问产生装置,该装置在接收所有或部分承诺R之后产生数量等于承诺R的数量的询问d,审查人设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称为审查人的发送装置,步骤3涉及应答D的操作接收见证设备的询问d的装置通过互连装置接收来自证明人设备的各个询问d,见证设备计算应答D的装置使用如权利要求9规定的过程根据询问d计算应答D,步骤4涉及检查的操作证明人的发送装置向审查人发送各个应答D,审查人设备还包括-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置,在证明人发送一部分承诺R的情况下如果证明人的发送装置已经发送一部分承诺R,则审查人的计算装置在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·…·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R进行比较,在证明人已经全部发送承诺R的情况下如果证明人的发送计算装置已经发送全部承诺R,则审查人设备的计算装置和比较装置在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n
11.如权利要求9所述的系统,上述系统被用来向一个被称为审查人的实体证明与一个被称为证明人的实体相关的消息M的完整性,上述系统包括-一个与证明人实体相关的证明人设备,上述证明人设备通过互连装置与见证设备互连,并且能够具有漫游对象中逻辑微电路的形式,例如具有基于微处理器的银行卡中的微处理器的形式,-一个与审查人实体相关的审查人设备,上述审查人设备具有终端或远程服务器的形式;上述审查人设备包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到证明人设备的连接装置;上述系统允许执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用如权利要求9规定的过程计算各个承诺R,-见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置,步骤2涉及询问d的操作证明人设备包括计算装置,此后被称作证明人的计算装置,计算装置使用一个散列函数h计算至少一个令牌T,其中散列函数的参数包括消息M和所有或部分承诺R,证明人设备还具有通过连接装置向审查人设备发送各个令牌T的发送装置,此后被称为证明人设备的发送装置,审查人设备还具有询问产生装置,该装置在接收令牌T之后产生数量等于承诺R的数量的询问d,审查人设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称作审查人的发送装置;步骤3涉及应答D的操作接收见证设备的询问d的装置通过互连装置接收来自证明人设备的各个询问d,见证设备计算应答D的装置使用如权利要求9规定的过程根据询问d计算应答D,步骤4涉及检查的操作证明人的发送装置向审查人发送各个应答D。审查人设备还包括计算装置,此后被称作审查人设备的计算装置,上述计算装置在具有m个公开数值G1,G2,...,Gm的情况下首先根据各个询问d和各个应答D计算计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着使用以消息M和所有或部分重构承诺R′以参数的散列函数h计算一个令牌T′,审查人设备还具有将令牌T′与接收的令牌T相比较的比较装置,此后被称为审查人设备的比较装置。此后被称为审查人设备的
12.如权利要求9所述的系统,上述系统被用来通过一个被称作签名实体的实体产生一个此后被称为签名消息的消息M的数字签名;已签名消息包括-消息M,-询问d和/或承诺R,-应答D;上述系统包括一个与签名实体相关的签名设备,上述签名设备通过互连装置与见证设备互连并且可以具有漫游对象中逻辑微电路的形式,例如基于微处理器的银行卡中微处理器的形式,上述系统允许执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用如权利要求9规定的过程计算各个承诺R,见证设备具有通过互连装置向签名设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置,步骤2涉及询问d的操作签名设备包括计算装置,此后被称作签名设备的计算装置,上述计算装置使用一个散列函数h计算一个二进制序列并且从这个二进制序列中提取出数量等于承诺R的数量的询问d,其中散列函数的参数包括消息M和所有或部分承诺R,步骤3涉及应答D的操作接收询问d的装置通过互连装置接收来自签名设备的各个询问d,见证设备计算应答D的装置使用如权利要求9规定的过程根据询问d计算应答D,见证设备包括通过互连装置向签名设备发送应答D的发送装置,此后被称作见证设备的发送装置。
13.如权利要求11所述的系统,上述系统被用来通过使用一个被称作审查人的实体检查签名消息来证明消息M的真实性;上述系统包括一个与审查人实体相关的审查人设备,上述审查人设备具有终端或远程服务器的形式,上述审查人设备包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到证明人设备的连接装置;上述与审查人设备具有实体相关的审查人设备具有设备包括通过连接装置向审查人设备发送已审查人设备具有消息的发送装置,此后被称为审查人设备具有设备的发送装置,因而审查人设备具有一个包括以下内容的签名消息-消息M,-询问d和/或承诺R,-应答D;审查人设备包括-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置。在审查人设备具有承诺R,询问d,应答D的情况下如果审查人具有承诺R,询问d,应答D审查人设备的计算和比较装置确定消息M,询问d和承诺R满足以下关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的计算和比较装置确定消息M,询问d和承诺R满足散列函数d=h(M,R)在审查人设备具有询问d和应答D的情况下如果审查人设备具有询问d,应答D,审查人的计算装置根据各个询问d和各个应答D计算满足以下类型关系的承诺R′R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的计算和比较装置确定消息M和询问d满足散列函数d=h(M,R′)在审查人设备具有承诺R和应答D的情况下如果审查人设备具有承诺R,应答D,审查人设备的计算装置使用散列函数并且计算d′,使得d′=h(M,R)审查人设备的计算和比较装置确定消息M,询问d′和承诺R满足以下关系R≡G1d’1·G2d’2·...·Gmd’m·Dvmod n或以下类型的关系R≡Dv/G1d’1·G2d’2·...·Gmd’mmod n
14.如权利要求9-13中任何一个所述的系统,该系统使得保密数值Qi的分量Qi,1,Qi,2,...,Qi,f是以每个上述素数pj一个分量Qi,j(Qi,j≡Qimod pj)的比率随机抽取的数值;能够通过中国余数方法根据上述分量Qi,1,Qi,2,...,Qi,f计算出上述保密数值Qi通过以下方式计算上述公开数值Gi通过执行下列类型的运算Gi,j≡Qi,jvmod pj接着使用中国余数方法建立Gi,使得Gi·Qiv≡1 mod n或Gi≡Qivmod n
15.如权利要求14所述的方法,该方法使得公开验证分量v是一个素数。
16.如权利要求9-13中任何一个所述的方法,上述指数v使得v=2k其中k是大于1的安全参数;上述公开数值Gi是小于f个素数p1,p2,...,pf的基数的平方gi2;基数gi使得两个等式x2≡gimod n和x2≡-gimod n不能被以n为模的整数环中的x求解,并且使得等式xv≡gi2mod n能被以n为模的整数环中的x求解。
17.与一个实体相关、被用来向一个审查人服务器证明以下内容的终端设备,上述实体具有漫游对象的形式,例如基于微处理器的银行卡中的微处理器的形式-一个实体的真实性和/或-与这个实体相关的消息M的完整性;通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm,m大于或等于1,-由上述f个素数p1,p2,...,pf的乘积构成的pl个公开模数n,f大于或等于2,-一个公开指数v。上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n上述终端设备包括一个见证设备,上述见证设备包括一个存储器区段,上述存储器区段包含f个素数pi和/或素数的中国余数的参数和/或公开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qimod pj)。上述见证设备还包括-随机数值产品装置,此后被称作见证设备的随机数值产生装置,-计算装置,此后被称作计算见证设备的承诺R的装置,上述计算装置计算以n为模的整数环中的承诺R;通过执行以下类型的操作计算各个承诺Ri≡rivmod pi其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于一个由随机数产生装置产生的随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法;见证设备还包括-接收装置,此后被称作接收见证设备的询问的装置,上述接收装置接收一或多个询问di;每个询问di包括m个此后被称作基本询问的整数di;-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据各个询问d并且通过执行以下类型的根据来计算各个应答DDi≡ri·Qi,1d1·Qi,2d2·...·Qi,mdmmod pi并且接着使用中国余数方法,-发送一或多个承诺R和一或多个应答D的发送装置;应答D的数量与询问d和承诺R和一或多个,其中每组数值R,d,D构成一个被表示成{R,d,D}的三元组。
18.如权利要求17所述的终端设备,该终端设备被用来向一个被称作审查人的实体证明一个被称作证明人的实体的真实性;上述终端设备包括一个与证明人实体相关的证明人设备,上述证明人设备通过互连装置与见证设备互连并且可以具有漫游对象中逻辑微电路的形式,例如基于微处理器的银行卡中微处理器的形式,上述证明人设备还包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到与审查人实体相关的审查人设备的连接装置,上述审查人设备具有终端或远程服务器的形式;上述终端设备允许执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用如权利要求17规定的过程计算各个承诺R,-见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置,证明人设备还具有通过连接装置向审查人设备发送所有或部分承诺R的发送装置,此后被称作证明人的发送装置;步骤2和3涉及询问d的操作,涉及应答D的操作见证设备接收询问d的装置通过审查人设备和证明人设备之间的连接装置和证明人设备与见证设备之间的互连装置接收来自审查人设备的各个询问d,见证设备计算应答D的装置使用如权利要求17规定的过程根据询问d计算应答D,步骤4涉及检查的操作证明人的发送装置向埋询问的审查人发送各个应答D。
19.如权利要求17所述的终端设备,上述终端设备被用来向一个被称为审查人的实体证明与一个被称为证明人的实体相关的消息M的完整性,上述终端设备包括一个与证明人实体相关的证明人设备,上述证明人设备通过互连装置与见证设备互连并且可以具有漫游对象中逻辑微电路的形式,例如基于微处理器的银行卡中微处理器的形式,上述证明人设备还包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到与审查人实体相关的审查人设备的连接装置,上述审查人设备具有终端或远程服务器的形式;上述终端设备被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用如权利要求17规定的过程计算各个承诺R;见证设备具有通过互连装置向证明人设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置,步骤2和3涉及询问d的操作,涉及应答D的操作证明人设备包括计算装置,此后被称作证明人的计算装置,计算装置使用一个散列函数h计算至少一个令牌T,其中散列函数的参数包括消息M和所有或部分承诺R,证明人设备还具有通过连接装置向审查人设备发送各个令牌T的发送装置,此后被称为证明人设备的发送装置,接收见证设备的询问d的装置通过互连装置接收来自证明人设备的各个询问d,见证设备计算应答D的装置使用如权利要求17规定的过程根据询问d计算应答D,步骤4涉及检查的操作证明人的发送装置向进行检查的审查人发送各个应答D。
20.如权利要求17所述的终端设备,上述终端设备被用来通过一个被称作签名实体的实体产生一个此后被称为签名消息的消息M的数字签名;已签名消息包括-消息M,-询问d和/或承诺R,-应答D;上述终端设备包括一个与签名实体相关的签名设备,上述签名设备通过互连装置与见证设备互连并且可以具有漫游对象中逻辑微电路的形式,例如基于微处理器的银行卡中微处理器的形式,上述证明人设备还包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到与审查人实体相关的审查人设备的连接装置,上述审查人设备具有终端或远程服务器的形式;上述终端设备被用来执行下列步骤步骤1涉及承诺R的操作每次见证设备的计算承诺R的装置使用如权利要求17规定的过程计算各个承诺R,见证设备具有通过互连装置向签名设备发送所有或部分承诺R的发送装置,此后被称作见证设备的发送装置,步骤2涉及询问d的操作签名设备包括计算装置,此后被称作签名设备的计算装置,上述计算装置使用一个散列函数h计算一个二进制序列并且从这个二进制序列中提取出数量等于承诺R的数量的询问d,其中散列函数的参数包括消息M和所有或部分承诺R,步骤3涉及应答D的操作见证设备接收询问d的装置通过互连装置接收来自签名设备的各个询问d,见证设备计算应答D的装置使用如权利要求9规定的过程根据询问d计算应答D,见证设备包括通过互连装置向签名设备发送应答D的发送装置,此后被称作见证设备的发送装置。
21.被用来向一个审查人服务器证明以下内容的审查人设备,上述审查人设备具有与审查人实体相关的终端或远程服务器的形式-一个实体的真实性和/或-与这个实体相关的消息M的完整性通过所有或部分下列参数或这些参数的派生参数完成这个证明-m对保密数值Q1,Q2,...,Qm和公开数值G1,G2,...,Gm,m大于或等于1,-由上述f个素数p1,p2,...,pf的乘积构成的一个公开模数n,f大于或等于2,-一个公开指数v。上述模数,上述指数和上述数值有以下类型的关系Gi·Qiv≡1 mod n或Gi≡Qivmod n其中Qi表示一个审查人设备未知并且与公开数值Gi相关的保密数值。
22.如权利要求22所述的审查人设备,该审查人设备被用来向一个被称作审查人的实体证明一个被称作证明人的实体的真实性;上述证明人设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与证明人实体相关的证明人设备;上述审查人设备被用来执行下列步骤步骤1和2涉及承诺R的操作,涉及询问d的操作上述审查人设备还具有通过连接装置接收所有或部分来自证明人设备的承诺R的装置,审查人设备具有询问产生装置,该装置在接收所有或部分承诺R之后产生数量等于承诺R的数量的询问d,每个询问d包括m个此后被称作基本询问的整数di。审查人设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称作审查人的发送装置;步骤3和4涉及应答的操作,涉及检查的操作审查人设备还包括-通过连接装置接收来自证明人设备的应答D的装置,-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置,在证明人发送一部分承诺R的情况下如果证明人的接收装置已经接收一部分承诺R,则审查人设备的计算装置在具有m个公开数值G1,G2,...,Gm的情况下根据各个询问d和各个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R进行比较,在证明人已经全部发送承诺R的情况下如果证明人的发送计算装置已经接收全部承诺R,则审查人设备的计算装置和比较装置在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n
23.如权利要求22所述的审查人设备,上述审查人设备被用来证明与一个被称为证明人的实体相关的消息M的完整性,上述审查人设备包括以电子,电磁光学或声学方式,尤其是通过数据处理通信网络连接到一个与证明人实体相关的证明人设备的连接装置,上述审查人设备允许执行下列步骤步骤1和2涉及承诺R的操作,涉及询问d的操作上述审查人设备还具有通过连接装置接收来自证明人设备的令牌T的装置,审查人设备具有询问产生装置,该装置在接收令牌T之后产生数量等于承诺R的数量的询问d,各个询问d包括m个此后被称作基本询问的整数,审查人设备设备还具有通过连接装置向证明人发送所有或部分询问d的发送装置,此后被称作审查人设备的发送装置;步骤3和4涉及应答D的操作,涉及检查的操作审查人设备还包括-通过连接装置接收来自证明人设备的应答D的装置,审查人设备还包括-计算装置,此后被称作审查人设备的计算装置,上述计算装置在具有m个公开数值G1,G2,...,Gm的情况下首先根据各个询问d和各个应答D计算计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n接着使用一个散列函数h计算一个令牌T′,其中散列函数的参数包括消息M和所有或部分重构承诺R′,审查人设备还包括将计算的令牌T′与接收的令牌T相比较的比较装置,此后被称作审查人设备的比较装置。
24.如权利要求22所述的审查人设备,上述审查人设备被用来通过使用一个被称作审查人的实体检查签名消息来证明消息M的真实性;由一个与签名实体相关并且具有散列函数h(M,R)的签名设备发送的已签名消息包括-消息M,-询问d和/或承诺R,-应答D;上述签名设备包括连接装置以便通过电子,电磁,光学或声学方式,尤其是通过数据处理通信网络连接到与签名实体相关的签名设备,上述审查人设备已经通过连接装置从已签名设备接收已签名消息,审查人设备包括-计算装置,此后被称作审查人设备的计算装置,-比较装置,此后被称作审查人设备的比较装置,在审查人设备具有承诺R,询问d,应答D的情况下如果审查人具有承诺R,询问d,应答D审查人设备的计算和比较装置确定消息M,询问d和承诺R满足以下关系R≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的计算和比较装置确定消息M,询问d和承诺R满足散列函数d=h(M,R)在审查人设备具有询问d和应答D的情况下如果审查人设备具有询问d,应答D,审查人设备的计算装置根据各个询问d和各个应答D计算满足以下类型关系的承诺R′R’≡G1d1·G2d2·...·Gmdm·Dvmod n或以下类型的关系R’≡Dv/G1d1·G2d2·...·Gmdmmod n审查人设备的计算和比较装置确定消息M和询问d满足散列函数d=h(M,R′)在审查人设备具有承诺R和应答D的情况下如果审查人设备具有承诺R,应答D,审查人设备的计算装置使用散列函数并且计算d′,使得d′=h(M,R)审查人设备的计算和比较装置确定消息M,询问d′和承诺R满足以下关系R≡G1d’1·G2d’2·...·Gmd’m·Dvmod n或以下类型的关系R≡Dv/G1d’1·G2d’2·...·Gmd’mmod n
全文摘要
通过下列参数验证m对保密数值Q
文档编号H04LGK1408154SQ0080461
公开日2003年4月2日 申请日期2000年1月27日 优先权日1999年1月27日
发明者路易斯·基鲁, 让-雅克·基斯夸特 申请人:法国电信公司, 法国电视传播公司, 马思·里兹克
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1