验证实体真实性和/或消息的完整性和/或真实性的方法,系统,设备
著录项
- C00804617.4
- 20000127
- C1408154
- 20030402
- 法国电信公司;法国电视传播公司;马思·里兹克
- 路易斯·基鲁;让-雅克·基斯夸特
- H04L9/32
-
H04L9/32
- 法国巴黎
- 法国,FR
- 19990127 FR19990001065;19990323 FR19990003770;19991001 FR19990012465;19991001 FR19990012467;19991001 FR19990012468
- 中国国际贸易促进委员会专利商标事务所
- 李强
- 20000127 PCT/FR2000/000188
- 20000810 WO/2000/046946
- 20010904
摘要
权利要求
1.被用来向一个审查人实体证明以下内容的方法,
-一个实体的真实性和/或
-与这个实体相关的消息M的完整性,
通过所有或部分下列参数或这些参数的派生参数完成这个证明:
-m对保密数值Q 1,Q 2,...,Q m和公开数值G 1,G 2,...,G m,m大于或等于1,
-由上述f个素数p 1,p 2,...,p f的乘积构成的一个公开模数n,f大于或等于 2;
-一个公开指数v;
上述模数,上述指数和上述数值有以下类型的关系
G i·Q i v≡1 mod n或G i≡Q i v mod n;
上述方法在下面步骤中实现一个被称作见证的实体,上述见证实体 具有f个素数p i和/或素数的中国余数的参数和/或公开模数n和/或m个保密 数值Q i和/或保密数值Q i与公开指数v的f.m分量Q i,j(Q i,j≡Q i mod p j);
-见证计算以n为模数的整数环中的承诺R;通过执行以下类型的操作 计算各个承诺:
R i≡r i v mod p i
其中r i是一个与素数p i相关的随机数值,其中0<r i<p i,各个r i属 于一个随机数值集合{r 1,r 2,...,r f},并且接着使用中国余数方法,
-见证接收一或多个询问d;每个询问d包括m个被称作基本询问的整 数d i;根据各个询问d,见证通过执行以下类型的运算计算一个应答D:
D i≡r i·Q i,1 d1·Q i,2 d2·...·Q i,m dm mod p i
该方法使得应答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个公开数值 G 1,G 2,...,G m的情况下根据各个询问d和各个应答D计算一个重构承诺R′, 这个重构承诺R′满足以下类型的关系
R’≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系
R’≡D v/G 1 d1·G 2 d2·...·G m dm mod n
审查人确定各个重构的承诺R′还原出已经发送过来的所有或部分承 诺R,
在证明人已经全部发送承诺R的情况下
如果证明人已经发送全部承诺R,则审查人在具有m个公开数值 G 1,G 2,...,G m的情况下确定各个承诺R满足以下类型的关系
R≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系
R≡D v/G 1 d1·G 2 d2·...·G m dm mod 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个公开数值G 1,G 2,...,G m的情况下根据各个询问d和各 个应答D计算一个重构承诺R′,这个重构承诺R′满足以下类型的关系
R’≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系
R’≡D v/G 1 d1·G 2 d2·...·G m dm mod 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≡G 1 d1·G 2 d2·…·G m dm·D v mod n
或以下类型的关系:
R≡D v/G 1 d1·G 2 d2·...·G m dm mod n
审查人确定消息M,询问d和承诺R满足散列函数:
d=h(M,R)
在审查人具有询问d和应答D的情况下
如果审查人具有询问d,应答D,
审查人根据各个询问d和各个应答D重构满足下列关系的承诺R′
R’≡G 1 d1·G 2 d2·…·G m dm·D v mod n
或以下类型的关系:
R’≡D v/G 1 d1·G 2 d2·..·G m dm mod n
审查人确定消息M和询问d满足散列函数:
d=h(M,R′)
在审查人具有承诺R和应答D的情况下
如果审查人具有承诺R,应答D,
审查人使用散列函数并且重构d′
d′=h(M,R)
审查人设备确定承诺R,询问d′和应答D满足以下类型的关系
R≡G 1 d’1·G 2 d’2·...·G m d’m·D v mod n
或以下类型的关系:
R≡D v/G 1 d’1·G 2 d’2·...·G m d’m mod n
6.如权利要求1-5中任何一个所述的方法,该方法使得保密数值Q i的 分量Q i,1,Qi ,2,...,Q i,f以每个上述素数p j一个分量Q i,j(Q i,j≡Q i mod p j)的比 率随机抽取的数值;能够通过中国余数方法根据上述分量Q i,1,Q i,2,...,Q i,f计 算出上述保密数值Q i
通过以下方式计算上述公开数值G i
通过执行下列类型的运算:
G i,i≡Q i,j v mod p j
接着使用中国余数方法建立G i,使得
G i·Q i v≡1 mod n或G i≡Q i v mod n
7.如权利要求6所述的方法,该方法使得公开验证指数v是一个素数。
8.如权利要求1-5中任何一个所述的方法,上述指数v=2k,其中k是大 于1的安全参数;上述公开数值G i是小于f个素数p 1,p 2,...,P f的基数gi的平方 g i 2;基数g i使得:
两个等式:
x 2≡g i mod n和x 2≡-g i mod n
不能被以n为模的整数环中的x求解,并且使得等式:
x v≡g i 2 mod n
能被以n为模的整数环中的x求解。
9.被用来向一个审查人服务器证明以下内容的系统,
-一个实体的真实性和/或
-与这个实体相关的消息M的完整性,
通过所有或部分下列参数或这些参数的派生参数完成这个证明:
-m对保密数值Q 1,Q 2,...,Q m和公开数值G 1,G 2,...,G m,m大于或等于1,
-由上述f个素数p 1,p 2,...,p f的乘积构成的Pi个公开模数n,f大于或等于 2,
-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系
G i·Q i v≡1 mod n或G i≡Q i v mod n
上述系统包括一个见证设备,尤其是被包含在具有基于微处理器的 银行卡形式的漫游对象内的见证设备,上述见证设备包括一个存储器区 段,上述存储器区段包含f个素数p i和/或素数的中国余数的参数和/或公 开模数n和/或m个保密数值Q i和/或保密数值Q i与公开指数v的f.m分量 Q i,j(Q i,j≡Q i mod p j);
上述见证设备还包括:
-随机数值产品装置,此后被称作见证设备的随机数值产生装置,
-计算装置,此后被称作计算见证设备的承诺R的装置,上述计算装 置计算以n为模的整数环中的承诺R;通过执行以下类型的操作计算各个 承诺:
R i≡r i v mod p i
其中r i是一个与素数p i相关的随机数值,其中0<r i<p i,各个r i属于 一个由随机数产生装置产生的随机数值集合{r 1,r 2,...,r f},并且接着使用 中国余数方法;
上述见证设备还包括:
-接收装置,此后被称作接收见证设备的询问的装置,上述接收装置接 收一或多个询问d i;每个询问d i包括m个此后被称作基本询问的整数d i;
-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据 各个询问d并且通过执行以下类型的根据来计算各个应答D:
D i≡r i·Q i,1 d1·Q i,2 d2·...·Q i,m dm mod p i
并且接着使用中国余数方法。
-发送一或多个承诺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个公开数值G 1,G 2,...,G m的情况下根据各个询问d和各个应答D计 算一个重构承诺R′,这个重构承诺R′满足以下类型的关系
R’≡G 1 d1·G 2 d2·…·G m dm·D v mod n
或以下类型的关系
R’≡D v/G 1 d1·G 2 d2·...·G m dm mod n
审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R 进行比较,
在证明人已经全部发送承诺R的情况下
如果证明人的发送计算装置已经发送全部承诺R,则审查人设备的计 算装置和比较装置在具有m个公开数值G 1,G 2,...,G m的情况下确定各个承 诺R满足以下类型的关系
R≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系
R≡D v/G 1 d1·G 2 d2·...·G m dm mod 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个公开数值G 1,G 2,...,G m的情况下首先根据各个询 问d和各个应答D计算计算一个重构承诺R′,这个重构承诺R′满足以下类 型的关系
R’≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系
R’≡D v/G 1 d1·G 2 d2·...·G m dm mod n
接着使用以消息M和所有或部分重构承诺R′以参数的散列函数h计算 一个令牌T′,审查人设备还具有将令牌T′与接收的令牌T相比较的比较装 置,此后被称为审查人设备的比较装置。此后被称为审查人设备的
13.如权利要求11所述的系统,上述系统被用来通过使用一个被称作 审查人的实体检查签名消息来证明消息M的真实性;
上述系统包括一个与审查人实体相关的审查人设备,上述审查人设 备具有终端或远程服务器的形式,上述审查人设备包括以电子,电磁光 学或声学方式,尤其是通过数据处理通信网络连接到证明人设备的连接 装置;
上述与审查人设备具有实体相关的审查人设备具有设备包括通过连 接装置向审查人设备发送已审查人设备具有消息的发送装置,此后被称 为审查人设备具有设备的发送装置,因而审查人设备具有一个包括以下 内容的签名消息:
-消息M,
-询问d和/或承诺R,
-应答D;
审查人设备包括:
-计算装置,此后被称作审查人设备的计算装置,
-比较装置,此后被称作审查人设备的比较装置。
在审查人设备具有承诺R,询问d,应答D的情况下
如果审查人具有承诺R,询问d,应答D
审查人设备的计算和比较装置确定消息M,询问d和承诺R满足以下 关系
R≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系:
R≡D v/G 1 d1·G 2 d2·...·G m dm mod n
审查人设备的计算和比较装置确定消息M,询问d和承诺R满足散列 函数:
d=h(M,R)
在审查人设备具有询问d和应答D的情况下
如果审查人设备具有询问d,应答D,
审查人的计算装置根据各个询问d和各个应答D计算满足以下类型关 系的承诺R′
R’≡G 1 d1·G 2 d2·...·G m dm·D v mod n
或以下类型的关系:
R’≡D v/G 1 d1·G 2 d2·...·G m dm mod n
审查人设备的计算和比较装置确定消息M和询问d满足散列函数:
d=h(M,R′)
在审查人设备具有承诺R和应答D的情况下
如果审查人设备具有承诺R,应答D,
审查人设备的计算装置使用散列函数并且计算d′,使得
d′=h(M,R)
审查人设备的计算和比较装置确定消息M,询问d′和承诺R满足以下 关系
R≡G 1 d’1·G 2 d’2·...·G m d’m·D v mod n
或以下类型的关系:
R≡D v/G 1 d’1·G 2 d’2·...·G m d’m mod n
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的发送装置,此后 被称作见证设备的发送装置。
14.如权利要求9-13中任何一个所述的系统,该系统使得保密数值Q i 的分量Q i,1,Q i,2,...,Q i,f是以每个上述素数p j一个分量Q i,j(Q i,j≡Q i mod p j)的 比率随机抽取的数值;能够通过中国余数方法根据上述分量Q i,1,Q i,2,...,Q i,f 计算出上述保密数值Q i
通过以下方式计算上述公开数值G i
通过执行下列类型的运算:
G i,j≡Q i,j v mod p j
接着使用中国余数方法建立G i,使得
G i·Q i v≡1 mod n或G i≡Q i v mod n
15.如权利要求14所述的方法,该方法使得公开验证分量v是一个素 数。
16.如权利要求9-13中任何一个所述的方法,
上述指数v使得
v=2 k
其中k是大于1的安全参数;
上述公开数值Gi是小于f个素数p 1,p 2,...,p f的基数的平方g i 2;基数g i使 得:
两个等式:
x 2≡g i mod n和x 2≡-g i mod n
不能被以n为模的整数环中的x求解,并且使得等式:
x v≡g i 2 mod n
能被以n为模的整数环中的x求解。
17.与一个实体相关、被用来向一个审查人服务器证明以下内容的终 端设备,上述实体具有漫游对象的形式,例如基于微处理器的银行卡中 的微处理器的形式:
-一个实体的真实性和/或
-与这个实体相关的消息M的完整性;
通过所有或部分下列参数或这些参数的派生参数完成这个证明:
-m对保密数值Q 1,Q 2,...,Q m和公开数值G 1,G 2,...,G m,m大于或等于1,
-由上述f个素数p 1,p 2,...,p f的乘积构成的pl个公开模数n,f大于或等于 2,
-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系
G i·Q i v≡1 mod n或G i≡Q i v mod n
上述终端设备包括一个见证设备,上述见证设备包括一个存储器区 段,上述存储器区段包含f个素数p i和/或素数的中国余数的参数和/或公 开模数n和/或m个保密数值Q i和/或保密数值Q i与公开指数v的f.m分量 Q i,j(Q i,j≡Q i mod p j)。
上述见证设备还包括:
-随机数值产品装置,此后被称作见证设备的随机数值产生装置,
-计算装置,此后被称作计算见证设备的承诺R的装置,上述计算装 置计算以n为模的整数环中的承诺R;通过执行以下类型的操作计算各个 承诺:
R i≡r i v mod p i
其中r i是一个与素数p i相关的随机数值,其中0<r i<p i,各个r i属于 一个由随机数产生装置产生的随机数值集合{r 1,r 2,...,r f},并且接着使用 中国余数方法;见证设备还包括:
-接收装置,此后被称作接收见证设备的询问的装置,上述接收装置接 收一或多个询问d i;每个询问d i包括m个此后被称作基本询问的整数d i;
-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据 各个询问d并且通过执行以下类型的根据来计算各个应答D:
D i≡r i·Q i,1 d1·Q i,2 d2·...·Q i,m dm mod p i
并且接着使用中国余数方法,
-发送一或多个承诺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对保密数值Q 1,Q 2,...,Q m和公开数值G 1,G 2,...,G m,m大于或等于1,
-由上述f个素数p 1,p 2,...,p f的乘积构成的一个公开模数n,f大于或等于 2,
-一个公开指数v。
上述模数,上述指数和上述数值有以下类型的关系
G i·Q i v≡1 mod n或G i≡Q i v mod n
其中Qi表示一个审查人设备未知并且与公开数值Gi相关的保密数 值。
说明书
验证实体真实性和/或消息的 完整性和/或真实性的方法,系统,设备
本发明涉及验证实体真实性和/或消息的完整性和/或真实性的方法, 系统,和设备。
发明人为Louis Guillou和JeanJacques Quisquater的专利EP 0 311 470 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≡Qiv mod n。
上述方法在下面定义的步骤中实现了被称作见证的实体。上述见证 实体具有f个素数pi和/或素数的中国余数的参数和/或公开模数n和/或m 个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qi mod pj)。
见证计算以n为模数的整数环中的承诺(commitment)R。通过执行以 下类型的操作计算各个承诺:
Ri≡riv mod pi
其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri 属于一个随机数值集合{r1,r2,...,rf},并且接着使用中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个承诺Ri所执 行的模p1算术运算数量被减少了。
见证接收一或多个询问(challenge)d。 每个询问d包括m个被称作基 本询问的整数di。根据各个询问d,见证通过执行以下类型的运算计算一 个应答D:
Di≡ri·Qi,1d1·Qi,2d2·...·Qi,mdm mod 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·Dv mod n
或以下类型的关系
R’≡Dv/G1d1·G2d2·...·Gmdm mod n
审查人确定各个重构的承诺R′还原出已经发送过来的所有或部分承 诺R。
第二种情况:证明人已经全部发送承诺R
如果证明人已经发送全部承诺R,则审查人在具有m个公开数值 G1,G2,...,Gm的情况下确定各个承诺R满足以下类型的关系
R≡G1d1·G2d2·...·Gmdm·Dv mod n
或以下类型的关系
R≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系
R’≡Dv/G1d1·G2d2·...·Gmdm mod 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·...·Gmdm mod n
接着审查人确定消息M,询问d和承诺R满足散列函数:
d=h(M,R)
在审查人具有询问d和应答D的情况下
如果审查人具有询问d和应答D,审查人根据各个询问d和各个应答D 重构满足以下类型的关系的承诺R′
R’≡G1d1·G2d2·...·Gmdm·Dv mod n
或以下类型的关系:
R’≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系:
R≡Dv/G1d’1·G2d’2·...·Gmd’m mod n
在首先选择保密数值Q并且根据保密数值Q推断公开数值G的情况下
在某些情况下,尤其是为了利于得到保密数值Q和公开数值G的乘 积,首先选择保密数值Q并且根据保密数值Q推断出公开数值G。更具体 地,在这种情况下基于本发明的方法使得保密数值Qi的分量Qi,1,Qi,2,...,Qi,f 是以每个上述素数pj一个分量Qi,j(Qi,j≡Qi mod pj)的比率随机抽取的数 值。利用中国余数方法可以根据上述分量Qi,1,Qi,2,...,Qi,f计算上述保密数值 Qi。通过执行下列类型的运算计算上述公开数值Gi:
Gi,j≡Qi,jv mod pj
接着使用中国余数方法建立Gi,使得
Gi·Qiv≡1 mod n或Gi≡Qiv mod 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≡gi mod n和x2≡-gi mod n
不能被以n为模的整数环中的x求解,并且使得等式:
xv≡gi2 mod 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≡Qiv mod n
上述系统包括一个见证设备,尤其是被包含在诸如基于微处理器的 银行卡形式的漫游对象中的设备。见证设备包括一个存储器区段,上述 存储器区段包含f个素数pi和/或素数的中国余数的参数和/或公开模数n和 /或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量Qi,j(Qi,j≡Qi mod pi)。见证设备还包括:
-随机数值产品装置,此后被称作见证设备的随机数值产生装置,
-计算装置,此后被称作见证设备计算承诺R的装置,上述计算装置 计算以n为模的整数环中的承诺R。通过执行以下类型的操作计算各个契 约:
Ri≡riv mod pi
其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属于 一个由随机数产生装置产生的随机数值集合{r1,r2,...,rf},并且接着使用 中国余数方法。
因而与已经进行的模n运算相比,计算各个p1数值的各个承诺Ri所执 行的模p1算术运算数量被减少了。
见证设备还包括:
-接收装置,此后被称作见证设备接收询问的装置,上述接收装置接收 一或多个询问d;每个询问d包括m个此后被称作基本询问的整数di。
-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据 各个询问d计算以下类型的应答D:
Di≡ri·Qi,1d1·Qi,2d2·...·Qi,mdm mod 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·Dv mod n
或以下类型的关系
R’≡Dv/G1d1·G2d2·...·Gmdm mod n
审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R 进行比较。
在证明人已经全部发送承诺R的情况下
如果证明人的发送装置已经发送全部承诺R,则审查人设备的计算装 置和比较装置在具有m个公开数值G1,G2,...,Gm的情况下确定各个承诺R满 足以下类型的关系
R≡G1d1·G2d2·...·Gmdm·Dv mod n
或以下类型的关系
R≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系
R’≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系:
R≡Dv/G1d1·G2d2·...·Gmdm mod n
接着审查人设备的计算和比较装置确定消息M,询问d和承诺R满足 散列函数:
d=h(M,R)
在审查人设备具有询问d和应答D的情况下
如果审查人具有询问d和应答D,审查人根据各个询问d和各个应答D 重构满足以下类型的关系的承诺R′
R’≡G1d1·G2d2·...·Gmdm·Dv mod n
或以下类型的关系:
R’≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系:
R≡Dv/G1d’1·G2d’2·...·Gmd’m mod n
在首先选择保密数值Q并且根据保密数值Q推断公开数值G的情况下
在某些情况下,尤其是为了利于得到保密数值Q和公开数值G的乘 积,首先选择保密数值Q并且根据保密数值Q推断出公开数值G。更具体 地,在这种情况下基于本发明的方法使得保密数值Qi的分量Qi,1,Qi,2,...,Qi,f 是以每个上述素数pj一个分量Qi,j(Qi,j≡Qi mod pj)的比率随机抽取的数 值。利用中国余数方法可以根据上述分量Qi,1,Qi,2,...,Qi,f计算上述保密数 值Qi。通过执行下列类型的运算计算上述公开数值Gi:
Gi,i≡Qi,jv mod pj
接着使用中国余数方法建立Gi,使得
Gi·Qiv≡1 mod n或Gi≡Qiv mod 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≡gi mod n和x2≡-gi mod n
不能被以n为模的整数环中的x求解,并且使得等式:
xv≡gi2 mod 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≡Qiv mod n
上述终端设备包括一个见证设备,上述见证设备包括一个存储器区 段,上述存储器区段包含f个素数Pi和/或素数的中国余数的参数和/或公 开模数n和/或m个保密数值Qi和/或保密数值Qi与公开指数v的f.m分量 Qi,j(Qi,j≡Qi mod pj)。见证设备还包括:
-随机数值产品装置,此后被称作见证设备的随机数值产生装置,
-计算装置,此后被称作见证设备计算承诺R的装置。
计算装置计算以n为模数的整数环中的承诺R。通过执行以下类型的 操作计算各个承诺:
Ri≡riv mod pi
其中ri是一个与素数pi相关的随机数值,其中0<ri<pi,各个ri属 于一个由随机数值产生装置产生的随机数值集合{r1,r2,...,rf},并且接着 使用中国余数方法。
见证设备还包括:
-接收装置,此后被称作见证设备接收询问的装置,上述接收装置接收 一或多个询问di;每个询问di包括m个此后被称作基本询问的整数di。
-计算装置,此后被称作见证设备计算应答D的装置,上述计算根据 各个询问d并且通过执行以下类型的根据来计算各个应答D:
Di≡ri·Qi,1d1·Qi,2d2·...·Qi,mdm mod 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≡Qiv mod 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·Dv mod n
或以下类型的关系
R’≡Dv/G1d1·G2d2·...·Gmdm mod n
审查人设备的比较装置将各个重构承诺R′与接收的所有或部分承诺R 进行比较。
第二种情况:证明人已经全部发送承诺R
如果证明人的发送计算装置已经发送全部承诺R,则审查人设备的计 算装置和比较装置在具有m个公开数值G1,G2,...,Gm的情况下确定各个承 诺R满足以下类型的关系
R≡G1d1·G2d2·...·Gmdm·Dv mod n
或以下类型的关系
R≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系
R’≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系:
R≡Dv/G1d1·G2d2·...·Gmdm mod n
接着审查人设备的计算和比较装置确定消息M,询问d和承诺R满足 散列函数:
d=h(M,R)
在审查人设备具有询问d和应答D的情况下
如果审查人设备具有询问d和应答D,审查人设备的计算装置根据各 个询问d和各个应答D计算出满足以下类型的关系的承诺R′
R’≡G1d1·G2d2·...·Gmdm·Dv mod n
或以下类型的关系:
R’≡Dv/G1d1·G2d2·...·Gmdm mod 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·Dv mod n
或以下类型的关系:
R≡Dv/G1d’1·G2d’2·...·Gmd’m mod 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)求解。
由于根据从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)
各个保密数值Qi可以被唯一表示成f个私有分量,每个素数一个分量: Qi,j≡Qi mod 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(mod b)。下面是中国余数参数:α≡{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),接着根据第二个参数获得第二个结果(mod p1·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(mod 8)的素数不兼容。
p1=03CD2F4F21EOEAD60266D5CFCEBB6954683493E2E833
p2=0583B097E8D8D777BAB3874F2E76659BB614F985EC1B
p3=OC363CD93D6B3FEC78EE13D7BE9D84354B8FDD6DA1FD
n=p1·p2·p3=FFFF81CEA149DCF2F72EB449C5724742FE2A3630D902 CCOOEAFEE1B957F3BDC49BE9CBD4D94467B72AF28CFBB26144CDF 4BBDBA3C97578E29CC9BBEE8FB6DDDD
Q1,1=0279C60D216696CD6F7526E23512DAE090CFF879FDDE
Q2,1=7C977FC38F8413A284E9CE4EDEF4AEF35BF7793B89
Q3,1=6FB3B9C05A03D7CADA9A3425571EF5ECC54D7A7B6F
Q1,2=0388EC6AA1E87613D832E2B80E5AE8C1DF2E74BFF502
Q2,2=04792CE70284D16E9A158C688A7B3FEAF9C40056469E
Q3,2=FDC4A8E53E185A4BA793E93BEE5C636DA731BDCA4E
Q1,3=07BC1AB048A2EAFDAB59BD40CCF2F657AD8A6B573BDE
Q2,3=OAE8551E116A3AC089566DFDB3AE003CF174FC4E4877
Q3,3=01682D490041913A4EA5B80D16B685E4A6DD88070501
Q1=D7EICAF28192CED6549FF457708D50A7481572DD5F2C335D8C 69E22521B510B64454FB7A19AEC8D06985558E764C6991B05FC2AC74D9 743435AB4D7CFOFF6557
Q2=CB1ED6B1DD649B89B9638DC33876C98AC7AF689E9D1359E 4DB17563B9B3DC582D5271949F3DBA5A70CI08F56IA274405A5CB882 288273ADE67353A5BC316C093
Q3=09AA6F4930E51A70CCDFA77442B10770DD1CD77490E3398A AD9DC50249C34312915E455917A1ED4D83AA3D607E3EB5C8B197697 238537FE7A0195C5E8373EB74D
下面是第二GQ2密钥集合,其中k=9,即v=512,m=2,即两个基 数:g1=2,g2=3,并且f=3,指定一个具有三个恒等于3(mod 4)的素数的 模数。
p1=03852103E40CD4F06FA7BAA9CC8D5BCE96E3984570CB
p2=062AC9EC42AA3E688DC2BC871C8315CB939089B61DD7
p3=OBCADEC219FIDFBB8AB5FE808AOFFCB53458284ED8E3
n=p1·p2·p3=FFFF5401ECD9E537F167A80COA9111986F7A8EBA4D 6698AD68FF670DE5D9D77DFF00716DC7539F7CBBCF969E73AOC497 61B276A8E6B6977A21D51669D039F1D7
Q1,1=0260BC7243C2245OD566B5C6EF74AA29F2B927AF68E1
Q2,1=0326C12FC7991ECDC9BB8D7CIC4501BE1BAE9485300E
Q1,2=02DOB4CC95A2DD435DOE22BFBB29C59418306F6CDOOA
Q2,2=045ECB881387582E7C556887784D2671CA118E22FCF2
Q1,3=BOC2B1F808D24F6376E3A534EB555EF54E6AEF5982
Q2,3=OAB9F81DF462F58A52D937E6D81F48FFA4A87A9935AB
Q1=27F7B9FC82C19ACAE47F3FE9560C3536A7E90F8C3C51E13 C35F32FD8C6823DF753685DD63555D2146FCDB9B28DA367327DD6E DDA092DOCF108DOAB708405DA46
Q2=230DOB9595E5AD388F1F447A69918905EBFB05910582E5BA6 49C94BOB2661E49DF3C9B42FEF1F37A7909B1C2DD54113ACF87C6F 11F19874DE7DC5D1DF2A9252D
动态认证
动态认证机制被用来向一个被称为审查人的实体证明另一个被称为 证明人的实体的真实性以及可能相关的消息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≡rv mod n
这里是一个具有k=6的第一密钥集合的例子。
r=B8AD426C1AC0165E94B894AC2437C1B1797EF562CFA53A4A F843131FF1C89CFDA13120719471OEF9CO1OE8F09C60D9815121981 260919967C3E2FB4B4566088E
R=FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C5 6D3AF0参数k和m为审查人提供信息。7BE692CB1FE4EE70FA77032BE CD841113813134C21210C6130449CC4292E5DD2BDB00828AF18
当见证具有从p1到pf的m个素数和m.f个私有分量Qij时,该见证以 随机和秘密的方式抽出一或多个随机数值集合:各个集合针对每个素数 pi(0<ri<pi)便具有一个随机数值ri;接着通过k次连续平方(mod pi)运算 将各个随机数值ri转换成承诺Ri的一个分量。
Ri≡riv mod n
这里是一个具有k=9的第二密钥集合的例子。
r1=B0418EABEBADF0553A28903F74472CD49EE8C82D86
R1=022B365FOBEA8E157E94A9DEB0512827FFD5149880F1
r2=75A8DA8FEOE60BD55D28A218E31347732339F1D667
R2=057E43A242C485FC201DEEF291C774CF1B30F0163DEC2
r3=OD74D2BDA5302CF8BE2F6D406249D148C6960A7D27
R3=06E14C8FC4DD312BA3B475F1F40CFO1ACE2A88D5BB3C
对于包括f个承诺分量的各个集合,见证根据中国余数技术产生一个 承诺。承诺的数量和随机数值集合一样多。
R=中国余数(R1,R2,...,Rf)
R=28AA7F12259BFBA81368EB49C93EEAB3F3EC6BF73BOEBD 7D3FC8395CFA1AD7FCOF9DAC169A4F6F1C46FB4C3458D1E37C991 23B56446F6C928736B17134BA4A529
在两种情况下,证明人向审查人发送所有或部分承诺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=2
d=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。
D≡r·X(mod n)
这里是一个针对第一密钥集合的例子。
D=FF257422ECD3C7A03706B9A7B28EE3FC3A4E974AEDCDF38 6EEF38760B859FDB5333E904BBDD37B097A989F69085FE8EF6480A2 C6A290273479FEC9171990A17
当见证具有f个从pi到pf的素数和m.f个私有分量Qi,j时,见证使 用涉及承诺的操作的各个随机数值集合计算一或多个由f个应答分量构成 的集合:各个应答分量集合针对每个素数均包括一个分量。
Di≡ri·Xi(mod pi)
这里是一个针对第二密钥集合的例子。
D1=r1·Q1,1d1·Q2,1d2(modp1)=02660ADF3C73B6DC15E196152322DD E8EB5B35775E38
D2=r2·Q1,2d1·Q2,2d2(modp2)=04015028E5FD1175724376011BE770522 05F7C62AE3R
D3=r3·Q1,3d1·Q2,3d2(modp3)=0903D20DOC306C8EDA9D8FB5B3BEB 55E061AB39CCF52
针对各个应答分量集合,见证根据中国余数技术抽出一个应答。应答 的数量与询问一样多。
D=中国余数(D1,D2,...,Df)
D=85C3B00296426E97897F73C7DC6341FB8FFE6E879AE12EF1F 364CBB55BC44DEC437208CF530F8402BD9C511F5FB3B3A309257A00 195A7305C6FF3323F72DC1AB
在两种情况下,证明人向审查人发送各个应答D。
4)检查操作包括确定各个三元组{R,d,D}满足下面针对非零数值的 等式。
在必要时审查人在杂凑各个重新建立的承诺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)=FD12E8E1F1370AEC9C7BA2E05C80AD2B692D341D4 6F32893948715491FOEB091B7606CA1E744E0688367D7BB998F7B73D5 F7FDA95D5BD6347DC8B978CA217733
3.D2(modn)=F739B708911166DFE715800D8A9D78FC3F332FF622 D3EAB8E7977C68AD44962BEE4DAE3C0345D1CB34526D3B67EBE8B F987041B485289OD83FC6B48D3EF6A9DF
32.D4(mod n)=682A7AF280C49FE230BEE354BF6FFB30B7519E3 C892DD07E5A781225BBD33920E5ADABBCD7284966D71141EAA17A F8826635790743EA7D9A15A33ACC7491D4A7
34.D8(mod n)=BE9D828989A2C184E34BA8FEOF384811642B7B54 8F870699E7869F8ED851FC3DB3830B2400C516511AOC28AFDD21OE C3939E69D413FOBABC6DEC441974B1A291
35.5.D8(mod n)=2B40122E225CD858B26D27B768632923F2BBE5D B15CA9EFA77EFA667E554A02AD1A1E4F6B59BD9E1AE4A537D4AC 1E89C2235C363830EBF4DB42CEA3DA98CFE00
310.52.D16(mod n)=BDD3B34C90ABBC870C604E27E7F2E9DB2D3 8368EA46C931C66F6C7509B118E3C162811A98169C30D4DEF768397D DB8F6526B6714218DEB627E11FACA4B9DB268
311.53.7.D16(mod n)=DBFA7F4OD338DE4FBA73D42DBF427BBF 195C13D02ABOFA5F8C8DDB5025E34282311CEF80BACDCE5DOC43 3444A2AF2B15318C36FE2AEOZF3C8CB25637C9AD712F
322.56.72.D32(mod n)=C60CA9C4A11F8AA89D9242CE717E3DC6C 1A95D5D09A2278F8FEE1DFD94EE84D09D000EA8633B53C4AOE7FO AEECB70509667A3CB052029C94EDF27611FAE286A7
322.57.72.D32(mod n)=DE40CB6B41CO1E722E4F312AE7205F18CD D0303EA52261CBOEA9FOC7EOCD5EC53D42E5CB645B6BB1A3BOO C77886F4AC5222F9C863DACA440CF5F1A8E374807AC
344.514.74.D64(mod n),即具有十六进制指数的32C.5E.74.D40(mod n)= FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56D3AF 07BE692CB1FE4EE70FA77032BECD8411B813B4C2121OC6B0449CC4 292E5DD2BDB00828AF18
我们发现承诺R。认证成功。
这里是一个针对第二密钥集合的例子。
D2(mod n)=C66E585D8F132F7067617BC6DOOBA699ABD74FB 9D13E24E6A6692CC8D2FC7B57352D66D34F5273C13F20E3FAA228D7 0AEC693F8395ACEF9206B172A8A2C2CCBB
3.D2(mod n)=534C6114D385C3E15355233C5BOOD09C2490D 1B8D8ED3D59213CB83EAD41C309A187519E5F501C4A45C37EB2FF3 8FBF201D6D138F3999FC1D06A2B2647D48283
32.D4(mod n)=A9DC8DEA867697E76B4C18527DFFC49F465847 3D034EC1DDEOEB21F6F65978BE477C4231AC9B1EBD93D5D4942240 8E4715919023816BC3C6C46A92BBD326AADF
2.33.D4(mod n)=FB2D57796039DFC4AF9199CAD44B66F257A 1FF3F2BA4C12BOA8496A0148B4DFBAFE838EOB5A7D9FB4394379D 72A107E45C51FCDB7462D03A35002D29823A2BB5
22.36.D8(mod n)=4C210F96FF6C77541910623B1E49533206DFB 9E916521F305F12C5DB054D4E1BF3A37FA293854DF02B49283B6DE5 E5D82ACB23DAF1AOD5A721A1890D03AOOBD8
22.37.D8(mod n)=E4632EC4FE4565FC4B3126B15ADBF996 149F2DBB42F65D911D385191OFE7EA53DAEA7EE7BA8FE9D081DB7 8B249B1B18880616B90D4E280F564E49B270AE02388
24.314.D16(mod n)=ED3DDC716AE3D1EA74C5AF935DE814BCC 2C78B12A6BB29FA542F9981C5D954F53D153B9F0198BA82690EF665C 17C399607DEA54E218C2CO1A890D422EDA16FA3
25.314.D16(mod n)=DA7C64EOE8EDBE9CF823B71AB13F17E 11614876BOOOFBB473F5FCBF5A5D8D26C7B2A05D03BDDD588164E 562DOF57AE94AEOAD3F35C61C0892F4C91DCOB08ED6F
210.328.D32(mod n)=6ED6AFC5A87D2DD117B0D89072C99F B9DC95D558F65B6A1967E6207D4ADBBA32001D3828A35069B256A07 C3D722E17DA30088E6E739FBC419FD7282D16CD6542
211.328.D32(mod n)=DDAD5F8B50FA5BA22F61B120E5933F73B 92BAAB1ECB6D432CFCC40FA95B77464003A705146AOD364AD40F87 AE45E2FB460111CDCE77F78833FAE505A2D9ACA84
222.356.D64(mod n)=A466DOCB17614EFD961000BD9EABF4F02 136178307101882BC1764DBAACB715EFBF5D8309AEOO1EB5DEDA8 FOOOE44B3D4578E5CA55797FD4BD1F8E919BE787BD0
244.3112.D128(mod n)=925BOEDF5047EFEC5AFABDC03A830919 761B8FBDD2BF934E2A8A31E29B976274D513007EF1269E4638B4F65F 8FDEC740778BDC178AD7AF2968689B930D5A2359
244.3113.D128(mod n)=B711D89C03FDEA8D1F889134A4F809B3F2 D8207F2AD8213D169F2E99ECEC4FE08038900FOC203B55EE4F4C803 BFB912A04F11D9DB9D076021764BC4F57D47834
288.3226.D256(mod n)=41A83F119FFE4A2F4AC7E5597A5DOBEB 4D4C08D19E597FDU34FE720235894363A19D6BC5AF323D24B1B7FCF D8DFCC628021B4648D7EF757A3E461EFOCFFOEA13
2176.3452,D512(mod n),即488.9226.D512(mod n)=28AA7F12259 BFBA81368EB49C93EEAB3F3EC6BF73BOEBD7D3FC8395CFA1AD7 FCOF9DAC 169A4F6F1C46FB4C3458D1E37C99123B56446F6C928736B17B4BA4A5 29
我们发现承诺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次连续平方(mod n)运算将各个随机数值r转换成承诺R。
Ri≡rv mod n
当见证具有从p1到pf的m个素数和m.f个私有分量Qij时,该见证以 随机和秘密的方式抽出一或多个随机数值集合:各个集合针对每个素数 pi(0<ri<pi)便具有一个随机数值ri;接着通过k次连续平方(mod pi)运算 将各个随机数值ri转换成承诺Ri的一个分量。
Ri≡riv mod 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。
D≡r·X(mod n)
当见证具有f个从pi到pf的素数和m.f个私有分量Qij时,见证使用涉 及承诺的操作的各个随机数值集合计算一或多个由f个应答分量构成的集 合:各个应答分量集合针对每个素数均包括一个分量。
Di≡ri·Xi(mod pi)
针对各个应答分量集合,见证根据中国余数技术建立一个应答。应答 的数量与询问一样多。
D=中国余数(D1,D2,...,Df)
签名实体通过加入一个签名附录对消息M进行签名,签名附录包括:
-各个GQ2三元组,即各个承诺R,各个询问d和各个应答D中的任意 一个,
-或各个承诺R和各个对应的应答D,
-或各个询问d和对应的应答D。
根据签名附录的内容运行验证运算。存在三个可能情况。
如果附录包括一或多个三元组,检查运算具有两个时序并不重要的 独立进程。当且仅当下面两个条件被满足是审查人才接受签名消息。
首先,各个三元组必须是一致的(必须满足一个下面类型的适当关系) 和可接受的(必须在非零数值上进行比较)。
例如,通过一个基本运算序列转换应答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′。重新建立的承诺不应当为零。
接着,审查人必须杂凑所有承诺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的方法。这里参考引用了这个专利申请。
本文链接:https://www.wtabcd.cn/zhuanli/patent/0f626c28443ee9efccbd01d419f000f9.html
来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-03-25 13:56:16