CN1215678C - 用于证明实体真实性和消息完整性的专用密钥集 - Google Patents

用于证明实体真实性和消息完整性的专用密钥集 Download PDF

Info

Publication number
CN1215678C
CN1215678C CN00815285.3A CN00815285A CN1215678C CN 1215678 C CN1215678 C CN 1215678C CN 00815285 A CN00815285 A CN 00815285A CN 1215678 C CN1215678 C CN 1215678C
Authority
CN
China
Prior art keywords
mod
prime
key
radix
entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN00815285.3A
Other languages
English (en)
Other versions
CN1387714A (zh
Inventor
路易斯·圭劳
让-亚奎斯·奎斯瓦特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telediffusion de France ets Public de Diffusion
Orange SA
Original Assignee
Telediffusion de France ets Public de Diffusion
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR9912465A external-priority patent/FR2788908B1/fr
Application filed by Telediffusion de France ets Public de Diffusion, France Telecom SA filed Critical Telediffusion de France ets Public de Diffusion
Publication of CN1387714A publication Critical patent/CN1387714A/zh
Application granted granted Critical
Publication of CN1215678C publication Critical patent/CN1215678C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Peptides Or Proteins (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及为证明实体的真实性或消息的完整性而设计的特别密钥集。证明是由一密钥集实现的,密钥集包括:m(≥1)对私人Qi和公开Gi=gi 2值;由f(≥2)个素因子的乘积构成的公开模n;指数v=2k(k>1),由以下类型关系联系:Gi·Qi v≡1.mod n或Gi≡Qi v mod n。该密钥集是这样产生的:在通过增加Qi或其模n逆到模n平方,k-1倍秩获得的m个数中,它们中至少一个不同于gi;在2m个方程式:x2≡gimod n,x2≡-gi mod n中,它们至少一个在模n整数环中有x的解。

Description

用于证明实体真实性和消息完整性的专用密钥集
本发明涉及用于证明实体的真实性和/或消息的完整性和/或真实性的过程,系统和装置的技术领域。
发明人为Louis Guillou与Jean-Jacques Quisquater的专利EP 0311 470 BL描述了这样的过程。以下将通过术语:“GQ专利”或“GQ过程”针对他们的工作进行对比。以下术语“GQ2”,,“GQ2发明”或“GQ2技术”有时将用来表示在GQ技术中新的发展,它们处于申请未决,由France Telecom,TDF和Mathrizk公司与本申请在同日提交,其发明人是Louis Guillou与Jean-Jacques Quisquater。在以下的说明中必要时将回顾这些未决申请的特性性质。
根据GQ过程,被称为“受信当局”的实体向每一被称为“证人”的实体指定一身份,并计算其RSA签字:在一定制过程期间,受信当局向证人给出一身份和签字。此后,证人声明:“这是我的身份;我知道其RSA签字。”证人无需展现它而证明他知道他的身份的RSA签字。借助于由受信根据分配的RSA公开验证密钥,被称为“控制器”的一个实体无需获知其本身而能够验证RSA签字对应于宣称的身份。使用GQ过程的机制操作“无需知识的转移”。根据GQ过程,证人不知道受信当局使用它签署了大量身份的RSA私人密钥。
以前所描述的GQ技术使用RSA技术。但是如果RSA技术真的依赖于模数n的因子分解,则这种依赖关系不是等价关系,相反,如通过被称为针对实现RSA技术的不同数字签字标准的“乘法”攻击所展示的那样。
GQ2技术的目的是双重的:一方面,是为了改进与RSA技术相关的性能;另一方面,则是为了防止RSA技术固有的问题。私人GQ2私人密钥的知识等价于模数n的因子分解的知识。任何在GQ2三件组水平的攻击都是回到模数n的因子分解:这时存在等价关系。使用GQ2技术,不论对于签字或鉴别实体本身及对于控制实体都降低了工作负荷。较好地使用因子分解问题,GQ2技术在安全性和性能两方面都避免了RSA技术所出现的缺陷。
GQ过程实现了512位或更高位数的模(modulo)计算。这些计算关系到具有将近提高到大约216+1幂的相同量级的数码。现有的微电子基础结构,特别是在银行卡的领域,使用没有算术协处理器的单片式可自编程微处理器。在象GQ过程这样的过程中所涉及的与复合算术运算相关的工作负荷,导致了对使用银行卡支付他们的消费的顾客不满意的计算时间。这里回顾到在寻求提高支付卡的安全性时,储蓄当局已经提出了特别难以解决的问题。确实,必须解决两个明显矛盾的问题:对每一卡使用不断增加的长度及不同密钥而提高安全性,而同时要防止导致对用户太多计算时间的工作负荷。此外这一问题迄今变得特别尖锐,因为要考虑到现有的基础结构及现有的微处理器组件。
GQ2技术带来了对这一问题的解决,同时保持了安全性。
GQ2技术实现了具有特别性质的素因子。不同技术存在产生了这些素因子。本发明的目的是使得能够系统地产生这类素因子的一个过程。它还涉及特别在实现GQ2技术中可由它们构成的应用。现在这里强调,允许它们被获得的这些特定素因子及过程能够用于GQ2
技术领域之外。
本发明用于对控制器实体验证的过程,
-实体的真实性和/或
-与这一实体相关的消息M的完整性。
这种过程实现:
-由f个素因子p1,p2,...pf(f大于或等于2)的乘积构成的公开模数n,或实现f个素因子,
-m个不同的整数基数g1,g2,...gm(m大于或等于1),gi小于f个素因子p1,p2,...pf
-m对私人Q1,Q2,...Qm和公开G1,G2,...Gm值(m大于或等于
1)或从它们推导的参数。
所述模数和所述私人和公开值通过以下类型的关系联系:
Gi·Qi v≡1·mod n或Gi≡Qi v mod n
所述公开值Gi是基数的平方gi 2,v表示以下形式的公开指数
v=2k
其中k是大于1的安全性参数。
根据本发明的过程包括以满足以下条件的方式产生f个素因子p1,p2,...pf和/或m个基数g1,g2,...gm的步骤。
第一个条件:
根据第一个条件,每一方程式:
Xv≡g1 2 mod n    (1)
具有在模n整数环中x的解。
第二个条件:
根据第二个条件,这里Gi≡Qi v mod n,在通过使Qi自乘为平方模n而获得的m个数码qi之中,秩的k-1倍,它们中之一不同于±gi(换言之是非平凡的)。
根据第二个条件,这里Gi·Qi v≡1·mod n,在通过使Qi的逆自乘模n为平方模n而获得的m个数码qi之中,秩的k-1倍,它们中之一不同于±gi(换言之是非平凡的)。
从而可以说,根据通常的计法±gi表示数码gi和n-gi
第三个条件:
根据第三个条件,在以下2m个方程式中:
X2≡gi mod n     (2)
X2≡-gi mod n    (3)
至少它们之一具有整数模n的环中的x解。
根据本发明用于产生f个素因子p1,p2,...pf和/或m个基数g1,g2,...gm的过程包含首先选择的步骤:
·安全性参数k
·m个基数g1,g2,...gm和/或f个素因子p1,p2,...pf,根据是产生f个素因子p1,p2,...pf还是m个基数g1,g2,...gm
最好至少部分地在第一整数之中选择m个基数g1,g2,...gm
安全性参数k最好是一个小的整数,具体来说小于100。
模数n的大小最好大于几百位。
f个素因子p1,p2,...pf最好具有接近于模数除以因子个数f的大小。
为了测试第一个条件,通过实现以下给出的算法验证数码k,p,g的相容性,其中h表示一个数,使得2h除尽g的相对于p的秩,而2h+1不能除尽它。h是从勒让德记号(g|p)及从等于CG(p)中第2t个的单位原根的数b计算的,其中勒让德记号(gi|pj)和t在以下说明中具有所定义的意义。
这里是这一算法的步骤:
·如果(g|p)=-1则h=t
·如果(g|p)=+1且t=1,则h=0
·如果(g|p)=+1且t>1,则过程如下。
密钥<(p-1+2t)/2t+1,p>施加于G,结果w这样获得:
·如果w=+g,则h=0
·如果w=p-g,则h=+1。
如果w不同于+g或p-g(这种情形下,t大于2),实施计算子模数。变量c因此被初始化为值b,然后计算子模数的以下步骤对于i从t-1到2的值被叠代:
步骤1:密钥<2i,p>施加于w/g(modp),
*如果所得结果等于+1,则进到步骤2,
*如果所得结果等于-1,则值i赋予h,而w由w·c(modp)代替,
步骤2:c由c2(modp)代替,
所寻求的h的值这样获得,即根据步骤1最后一次施加密钥
<2i,p>,产生等于-1的结果。
可能记得:
-当h>1时并当k+h>t+1时,则k,g,p是相容的,
-当h=0或1时,而不论k的值如何,或者当h>1时并当k+h≤t+1时,则k,g,p是相容的。
为了测试第二个条件,进行一个检验,即至少一个集合{δi,l...δi,f}是变量或零,(以下的说明中δ具有所定义的意义)。
为了测试第三个条件,进行一个检验,即从g1到gm有一个基数gi使得f个勒让德记号(gi|p1)到(gi|pf)都等于+1或者勒让德记号(-gi|p1)到(-gi|pf)都等于+1。
为了计算私人值Q1,Q2,...Qm(Qi,j≡Qimod pj)的f·m私人分量Qi,j,其中Gi≡Qi v mod n,过程如下,根据t的值而区分情形。
其中t=1(即如果pj ≡ 3(mod4))。
·计算一个数sj使得sj≡((pj+1)/4)k(mod(pj-1)/2),
·其密钥<sj,pj>被推导出,
·密钥<sj,pj>施加于Gi
·于是有:w≡Gi sj(modpj)。
Qi,j的两个可能的值是w,pj-w。
其中t=2(即如果pj ≡ 5(mod8))。
·计算一个数sj使得sj≡((pj+3)/8)k(mod(pj-1)/4),
·其密钥<sj,pj>被推导出,
·密钥<sj,pj>施加于Gi
·于是有:w ≡ Gi sj(modpj),且w’≡w·z(modpj),
其中z在以下说明中具有所定义的意义。
Qi,j的四个可能的值是w,pj-w,w’,pj-w’。
其中t>2(即如果pj≡2t+1(mod2t+1)),其中h=0或h=1,
·计算一个数sj使得sj ≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t),
·其密钥<sj,pj>被推导出,
·密钥<sj,pj>施加于Gi
·于是有:w≡Gi sj(modpj)。
Qi,j的2min(k,t)个可能的值等于w乘以CG(pj)中单位第2min(k,t)根任何之一的乘积。
-其中t>2(即如果pj≡2t+1(mod2t+1)),h>1及h+k≤t+1,
·计算一个数sj使得sj≡((pj-1+2t)/2t+1)k+h-1(mod(pj-1)/2t),
·其密钥<sj,pj>被推导出,
·密钥<sj,pj>施加于第2h-1幂Gi
·于是获得w,
Qi,j的2k个可能的值属于w乘以CG(pj)中单位第2k+h-1原根的所有乘积。
为了计算私人分量Qi,j,其中Gi·Qi v≡1.mod n,在密钥<sj,pj>中sj由((pj-1)/2t)-sj代替。
本发明还涉及使用该方法允许产生f个素因子p1,p2,...pf或m个基数g1,g2,...gm的过程。
所述过程是要证明控制器实体,
-实体的真实性和/或
-与这一实体相关的消息M的完整性,
借助于私人的Q1,Q2,...Qm和公开的G1,G2,...Gm值的m对(m大于或等于1)或从它们推导出的参数,特别是借助于私人分量Qi,j
根据以下步骤所述过程实现称为证人的实体。
所述证人实体具有f个素因子pi,和/或素因子的中国余数的参数,和/或公开模数n,和/或m个私人值Qi,和/或f·m个私人值Qi的私人分量Qi,j及公开指数。
证人计算在整数模n环中的委托R。每一委托计算如下:
·或者通过进行以下类型的运算
R≡rv mod n
其中r是随机数,使得0<r<n,
·或者通过在进行以下类型的运算之后施加中国余数的方法
Ri≡ri v mod pi
其中ri是与pi相关的随机数,使得0<ri<pi,每一ri属于随机数{r1,r2,到rf}的一个集合。
证人接收一个或多个查询d。每一查询d包括以下称为基本查询的m个整数di。证人从每一查询d计算一个响应D,
·或者通过以下类型的运算
D≡r·Q1 d1·Q2 d2到Qm dm mod n
·或者通过在进行以下类型的运算之后施加中国余数的方法
Di≡r·Qi,1 d1·Qi,2 d2...Q1,m dm mod pi
所述过程使得有与查询d及委托R同样多的响应D。每一组数R,d,D构成一个三元组,标记为{R,d,D}。
说明
GQ技术的目标是实体和消息的动态鉴别及消息的数字签字。这是“无需知识转移”的技术。一个实体证明:它知道一个或多个私人数码。另一个实体控制:它知道对应的公开的一个数码或多个数码。证明实体希望不展现私人的一个数码或多个数码而能确信控制实体,于是能够按所需的次数使用它们。
每一GQ模式基于大的机密素数组成的公开模数。公开指数v和公开模数n借助于一个或多个一般方程式共同形成表示着“自乘为幂v模数n”的验证密钥<v,n>并实现,所有相同的直接类型:G≡Qv(mod n)或逆:G×Qv≡1(mod n)。该类型对控制实体内而不是证明实体内的计算操作有效;实际上安全性分析混淆了这两个类型。每一个一般的方程式把公开数G和私人数码Q联系在一起共同形成一对数码{G,Q}。总之,每一GQ模式对相同的密钥<v,n>实现一个或多个数码对{G,Q}。
这里称为GQ1的GQ模式的传统版本使用RSA数字签字模式。这时验证密钥<v,n>是RSA公开密钥,其中奇数v指数最好是一个素数。每一GQ1模式一般使用单一数码对{G,Q}:公开数码G是根据作为RSA数字签字模式的整体部分的格式机制从标识数据推导出来的。私人数码Q或其模n逆是标识数据的RSA签字。证明实体从其自身的识别数据展示RSA签字知识,而这一证明并不揭示签字,从而保持机密而可以按需要多次使用。
GQ1模式通常用于两个密钥水平:RSA签字私人密钥是为鉴定实体的当局保留的,实体通过标识数据将它们彼此区别开。一般来说,这种模式是“基于身份的”。于是,芯片卡发放者在发放每一卡时使用其RSA私人密钥,以便计算私人数码Q,该数码是作为多样化的私人密钥刻写在卡中的;或者在计算机网络上的顾客每当登录时使用其RSA私人密钥,以便计算一私人数码Q,这将是顾客在这阶段暂时的私人密钥。证明实体,芯片卡或顾客登录,是知道他们的标识数据的RSA签字的;他们并不知道RSA密钥,该密钥在密钥分级结构中处于紧靠其上的水平。然而,通过GQ1以768位模数在当局的水平对实体的动态鉴别,要求与通过RSA以带有三个素因子的512位模数在每一实体的水平对实体动态鉴别,大约相同的工作负荷,这允许证明实体在计算模乘积的结果之前通过计算模每一素因子的结果,使用中国余数技术。
然而,当局和被鉴定的实体之间密钥的分层结构不是强制性的。GQ1可用于证明实体特定的模数,这允许使用中国余数技术以降低证明实体的工作负荷,这基本不改变控制实体的工作负荷,这与证明实体级的模数可能短于当局级的模数这一事实不同,例如512位与768位相比。
当实体知道其自己模数的素因子时,为何使用数字签字RSA模数呢?
这里称为GQ2的GQ模数的另一版本直接使用模数n的因子分解问题。在这种场合,“直接”签字而“不使用RSA签字”。GQ2的目标在于这样的事实,即不仅降低证明实体的负荷,而且降低控制实体的负荷。证明实体表示知道其自身的模数的分解,而这证明并不显示该分解按需要被多次使用,因而保持了机密。GQ2协议的安全性等价于模数的因子分解。
每一证明实体有其自身的模数n。每一GQ2模式实现参数k,这是决定公开指数v=2k的一个大于1的小的数,以及一个或多个数对{G1,Q1}到{Gm,Qm}。每一公开数码Gi是大于1的小的数gi并被称为“基数”的平方。所有证明实体可以使用相同公开数码或数码G1到Gm。这时模数n及私人数码或数码Q1到Qm的因子分解在密钥的分层结构中处于相同等级。 GQ2基本密钥的每一集合由两个必要和充分条件所定义。
-对每一基数,两个方程式x2≡±gi(mod n)在模n的整数环中有x的解,即±gi是两个模n非二次剩余。
-对于每一基数,方程式xv≡gi 2(mod n),其中v=2k,在模n的整数环中有x的解。私人数码Qi或其模n逆都不是这些解。
给出的第二个条件,对于数±gi作为两个模n非二次剩余,模数n必须包含至少两个与3(mod 4)同余的素因子,相对于它们gi勒让德记号不同。因而,由没有或只一个与3(mod 4)同余的素因子组成的任何模数不允许建立GQ2基本密钥集合,这偏好与3(mod 4)同余的素因子。随机抽取大素数,大约它们的一半证明是与3(mod 4)同余的,而一半与1(mod 4)同余。因而,许多使用中的RSA模数不允许建立基本GQ2密钥集合。
我们这里引入GQ2推广密钥的集合用来克服这一限制,使得能够使用GQ2技术于任何模数,特别是任何RSA模数;它们基于两个必要和充分原理。
第一个原理重复第二GQ2基本条件。
对每一基数g1到gm,方程式x2≡gi 2(mod n)其中v=2k,在模n的整数环中有x的解。
因为私人数码Qi或其模n逆是方程式的解,逐次模n求平方,将其转换为数qi,它是Gi在模n整数环中的平方根。根据数qi是否等于两个数gi或n-gi之一,或者不同于两个数gi或n-gi,我们称它为平凡的或非平凡的。当数qi是非平凡时,除得尽qi 2-gi 2的n则除不尽qi-gi或qi+gi。因而任何非平凡数qi揭示了模数n的因子分解。
n=pgcd(n,qi-gi)×pgcd(n,qi+gi)
第二个原理扩大了第一GQ2基本条件。
在数q1到qm之中,至少一个数qi是非平凡的。
要注意,如果当数±gi在模n整数环中是非二次剩余时数qi存在,则数qi明显是非平凡的。于是,基本GQ2密钥集合完全是一般使用中的允许使用任何模数的GQ2密钥集合的一部分,即任何不论与3或1(mod 4)同余的大素数组成。另一方面,一般使用中的许多GQ2集合不是GQ2基本密钥集合。一般使用中的每一GQ2密钥集合是以下两中情形之一。
-当2×m个数±gi到±gm都是非二次剩余时,它是GQ2基本密钥集合。
-当2×m个数±gi到±gm中存在至少一个二次剩余时,它不是GQ2基本密钥集合;它是我们这里称为GQ2互补密钥集合。
本发明涉及GQ2互补密钥集合,按定义,是一般使用中那些不是基本的GQ2密钥集合。与先前的两个原理不同,这种类型的集合必须满足第三个条件。
-在2×m个数±gi到±gm中存在至少一个二次剩余。为了认识该问题并理解我们为其提供的解法,即本发明,首先分析由非平凡数q展现的模数n的分解,然后回忆中国余数技术,然后是伽罗华域CG(p)的秩的概念;然后学习在CG(p)中“自乘到平方”及在CG(p)中二次剩余的“求平方根”的函数;最后分析以上所述三原理的适用性。
模数的分解的分析-正如模数分解为f个素因子p1到pf那样,模n的整数环分解为f个伽罗华域CG(p1)到CG(pf)。在每一个域中有单位即±1的两个平方根。因而在环中,有单位的2f个平方根。每一个私人数码Q1到Qm定义了数Δi=qi/gi(mod n),它是环中单位的2f个平方根之一:换言之,n除尽Δi 2-1。
·当qi为平凡即Δi=±1时,n除尽Δi-1或Δi+1,因而Δi没有展现模数n的任何分解。
·当qi为非平凡即Δi≠±1时,n除不尽Δi-1与Δi+1,因而Δi展现分解,n=pgcd(n,Δi-1)×pgcd(n,Δi+1),每一域中从Δi的值所得结果:一方面是除尽Δi-1的素因子或因子,另一方面是它或它们除尽Δi+1。
让我们考察数q的乘法合成律。两个数{q1,q2}给出一个复合数q1×q2(mod n)。
-当q1为非平凡而q2为平凡时,复合数q1×q2(mod n)是非平凡的;它展现与q1相同的分解。
-当q1和q2为非平凡且Δ1=±Δ2时,复合数q1×q2(mod n)是平凡的;它不展现分解。
-当q1和q2为非平凡且Δ1≠±Δ2时,复合数q1×q2(mod n)是非平凡的;它展现第三个分解。
三个数{q1,q2,q3}给出四个复合数{q1×q2,q1×q3,q2×q3q1×q2×q3(mod n)},即总共七个数;这样m个数给出2m-m-1个复合数,即总共2m-1个数。
让我们考虑一般使用的GQ2密钥的一个集合,包括i个基数和g1到gi及i个给出i个数q1到qi从而i个数Δ1到Δi的私人数Q1到Qi,Δ1到Δi是单位的平方根。让我们通过给出数qi+1从而根Δi+1的私人数Qi+1考虑另一基数gi+1
·总共2i+1-1个数包括以下两种情形每一个中那么多的非平凡数。
-根Δi+1是平凡的,且至少一个根Δ1到Δi是非平凡的。
-根Δi+1是非平凡的,且出现在2×i个根±Δ1到±Δi中。
·其中根Δi+1是非平凡的,且不出现在2×i个根±Δ1到±Δi中,每一出现qi+1的复合数是非平凡的。
于是,当m个数q1到qm中至少一个是非平凡的时,总共2m-1个数的多一半是非平凡的。
按定义,我们可以说,当2l-l-1对应的复合数的每一个是非平凡时,1<f个非平凡数{q1,q2...qi}是独立于模数n的,换言之,总共2l-1个数都是非平凡的。这时这些2l-1个数的每一个都展现模数n不同的分解。
当f个素因子不同时,有模数n的2f-1-1个分解。这时,如果f-1数q是独立的,则在2f-1-1个分解和包括f-1个独立数及2f-1-f个对应的复合数的总共2f-1-1个数之间有一个一一对应的关系。
中国余数-设两个数a和b是素数,它们之间有0<a<b,且两个数Xa从0到a-1及Xb从0到b-1;要确定从0到a×b-1唯一的一个数X使得Xa≡X(mod a)以及Xb≡X(mod b)。数α≡{b(moda)-1}(mod a)是中国余数的参数。以下是中国余数的基本运算。
x≡Xb(mod a)
y≡Xa-x;如果y是负数,则以y+a代替y
z≡α×y(mod a)
X=z×b+Xb
总之,我们写出:X=中国余数(Xa+Xb)
当f个素因子置于升序时,从最小的p1到最大的pf,中国余数的参数可以是如下(有一个小于素数因子,即f-1)。
第一个参数是α≡(p2(mod p1))-1(mod p1)。
第二个参数是β≡(p1×p2(mod p3))-1(mod p3)
第i个参数是λ≡(p1×...pi-1(mod p1))-1(mod p1)。
等等。
在f-1个基本运算中,数X是从0到n-1建立的,来自从X1到Xf任何f个分量的集合,其中Xf从0到pf-1;
-带有第一个参数的第一个结果(mod p1×p2),
-带有第二个参数的第一个结果(mod p1×p2×p3),
-直到带有最后参数的最后的结果(mod n=p1×p2×...pf)。
总之,给出的素因子p1到pf,整数模n的环的每一元素具有两个相等的表示:
-f个数X1到Xf,每一个素因子一个分量:Xj≡X(mod pj),
从0到n-1的一个数X,X=中国余数(X1,X2到Xf)。
CG(p)中数的秩设计它一奇素数p和小于p的数a,即0<a<p。按定义,a相对于p的秩是由{x1=a;然后对于i≥1,xi+1≡a×xi≡(mod p)}定义的流{X}的周期。借助于费马定理,我们获得:xi+p≡ap×xi≡a×xi≡xi+1(mod p)。于是,数a相对于素数p的秩是p-1或者p-1的除数。
例如,当(p-1)/2是一奇素数p’时,伽罗华域CG(p)包括秩为1的数:这数是1,秩序为2的数:这数是-1,秩为p’的p’-1个数,及秩为2×p’=p-1的p’-1个数。在CG(p)中,秩为p-1的任何数是一个“生成元”。分解是由于这样的事实,即CG(p)中一生成元顺序的幂,即对于从1到p-1的指数的流{X}的项,形成CG(p)的所有非零元素的一个置换。
设有一CG(p)的生成元y。让我们作为i和P-1的函数计算数yi(mod p)的秩。当i与p互素时,它是P-1。当i除尽p-1时,它是(p-1)/i。在所有的情形下,它是(p-1)/pgcd(p-1,i)。
按定义,欧拉函数(n)是小于n而与n互素的数。在CG(p)中,有(p-1)个生成元。
通过示例,秩给出对RSA的基础很好的理解。模数n是f个素因子p1到pf与f≥2的乘积。对从p1到pf的每一素因子pj公开指数e必须是与pj-1互素的。这时密钥<e,pj>遵从CG(pj)的元素的秩:它置换CG(pj)的元素;存在一个数dj,一般是可能的最小的,使得pj-1除尽e×dj-1。密钥<dj,pj>使CG(pj)的元素置换逆向。这些f个置换,CG(p1)到CG(pf)每一域中一个,在模n整数环中由公开密钥<e,n>相加的RSA置换表示。存在一般来说是最小可能的一个数d,使得ppcm(p1-1,p2-1,...pf-1)除尽d×e-1。对从p1到pf的每一素因子pj,我们有dj≡d(mod pj-1)。由公开密钥<e,n>相加的RSA置换是通过私人密钥<d,n>求逆。
CG(p)中的平方-让我们定义一个数t,使得p-1能够被2t除尽,但是不能被2t+1除尽。每一个大素数出现在一个类别中,并只出现在一个类别中:t=1,t=2,t=3,t=4等。如果考虑充分大个数的连续的素数,在p与3(mod 4)同余的第一类别中大约两个数中一个,在p与5(mod 8)同余的第二类别中四个数中一个,在p与9(mod 16)同余的第三类别中8个数中一个,在p与17(mod 32)同余的第四类别中16个数中一个,等等;平均在在p与2t+1(mod 2t+1)同余的第t类别中2t个数中有一个。
因为在CG(p)中x与p-x有相同的平方,<2,p>不会置换CG(p)。CG(p)中的“自乘平方”函数可由一有向图表示,其中域的每一非零元素出现。让我们根据每一元素的秩的奇偶性分析图在分支和循环中的结构。
- 零元素是固定的。它是0。对于没有其它元素与其连接的零元素不定义秩;零元素是孤立的。
- 单位元素是固定的。它是1,是唯一的秩为1的元素。单位在CG(p)中的所有的根在与1连接的分支中。设y是CG(p)的非二次剩余,这无所谓;密钥<(p-1)/2t,p>转换y为由b标记的-1的第2t-1个原根,我们有y(p-1)/2≡-1(mod p)。因而在CG(p)中,b对于从1到2t-1的指数的幂是单位的除去1之外的2t-1个根:它们组成与1连接的分支。
- 任何偶数秩元素的平方是其秩可由二除尽的另一元素。因而,偶数秩的每一元素位于一个分支中;每一分支包含一个可由二除尽但不能由四除尽的秩数,如果t≥2,则可由四但不可由八除尽的秩的两个数,然后,如果t≥3,则可由八但不可由十六除尽的秩的四个数,然后,如果t≥4,则可由十六但不可由32除尽的秩的八个数,等等。所有的分支类似于与1连接的分支;每一分支的2t-1个树叶是非二次剩余;每一分支包含2t-1个元素并连接到奇数秩的一个元素;有(p-1)/2t个分支都具有相同的长度t。
- 非单位元素的奇数秩的然后元素的平方是具有相同秩的另一元 。密钥<2,p>置换所有奇数秩的(p-1)/2t个元素。该置换分解为置换循环。循环的数目取决于(p-1)/2t的因子分解。对于(p-1)/2t的每一除数p’,有一包含秩为p’的(p’)个元素的循环。应当记住,按定义,欧拉函数(p’)是小于p’而与p’互素的数的个数。例如,当p’=(p-1)/2t是素数时,秩为p’的p’-1个数形成大的置换循环。
图1A到1D每一个表示对于分别与3(mod 4)同余,与5(mod 8)同余,与9(mod 16)同余,与17(mod 32)同余的p的图的片断。
-分支上的树叶由白色圆圈表示;这些是非二次剩余。
-分支中的结点由灰色圆圈表示;有偶数秩的二次元素。
-循环中的结点由黑色圆圈表示;有奇数秩的二次元素。
CG(p)中的平方根-已知a是CG(p)的二次剩余,我们来看如何计算方程式x2≡a(mod p)的解,即在CG(p)中“求平方根”。当然,有几种获得相同结果的方法:可参照由Henri Cohen的书a Course inComputational Algebraic Number Theory(计算代数数论教程)31到36页,作为Graduate Texts in Mathematics(数学研究生课本)(GTM138)丛书,卷138,1993年由Springer在柏林出版。
数s=(p-1+2t)/2t-1给出密钥<s,p>,其值为:
<p+1)/4,p>当p与3(mod 4)同余时,
<p+3)/8,p>当p与5(mod 8)同余时,
<p+7)/16,p>当p与9(mod 16)同余时,
<p+15)/32,p>当p与17(mod 32)同余时,
等等。
密钥<s,p>把一个循环中的任何元素转换为该循环中先前的元素。当a是奇数秩时,它是奇数的秩的解;我们称之为w。确实,在CG(p)中,w2/a的值是a自乘幂(2×(p-1+2t)/2t+1)=(p-1)/2t。其它解是偶数秩的;它是p-w。
一般,密钥<s,p>把任何二次剩余a转换为一个第一解近似,我们称之为r。由于a是二次剩余,密钥<2t-1,p>一定把r2/a转换为1。为了趋近a的平方根,让我们使r2/a自乘为幂2t-2(mod p)以获得+1或-1。如果结果是+1,则新的近似仍然是r,否则如果结果是-1则成为b×r(mod p),已知b表示1在域CG(p)中的任一第2t个原根。从而,密钥<2t-2,p>把新的近似转换为1。也能够使用密钥<2t- 3,p>并如必要乘以b2(mod p)等求取近似。
以下的算法是求解该方程式。它使用数以上所定义的数a,b,p,r和t及两个变量:c表示逐次校正,w表示逐次近似。在算法的开始,c=b及w=r。在计算的结束,两个解是w和p-w。
对于i从t-2到1,除重复以下的顺序:
-把密钥<2t,p>用于数w2/a(mod p)以获得+1或-1。
-当获得-1时,由w×c(mod p)代替w。
-由c2(mod p)代替c。
原理的可适用性-按定义,我们可以说,当方程式xv≡g2(modp),其中指数v的值为2k,在域CG(p)中对x有解时,参数k,基数g和素因子p是相容的。数k和g是小的整数并大于1。数p是大素数。
-当t=1,即p≡3(mod 4)时,方程式有两个解。
-当t=2,即p≡5(mod 8)时,根据g相对于p的勒让德记号,如果(g|p)=+1,方程式有四个解;如果(g|p)=-1,方程式无解。
-当t>2时,即p≡1(mod 8),设u是这样的数,使得2u相对于p除尽公开数G=g2,但2u+1不能除尽它;因而,u等于从0到t-1的数之一。如果u>0且k+u>t,则方程式没有解;如果k+u≤t,它有2k个解;如果u=0且k>t,则有2t个解。
因而根据G是在循环中还是在分支中适当的位置,有两个进入性的类型。
-当G在循环中时,即u=0不论k的值如何,在循环中有一奇数秩的解,并散布在与循环连接的α=min(k,t)相继分支中有偶数秩解,即总共2α个解。图2A表示这种k≥t=3情形,即与9(mod 16)同余的素因子,这使得u=0。
-当G在分支中适当的位置,即u>0且u+k≤t时,有2k个解,都是偶数解并在分支中。图2B表示这种情形。
给定一个参数k,于是根据t的值低于k还是高于或等于k而有两类素因子。
-对于任何使得t<k的素因子pj,每一Gi必定在一循环中,并在与Gi连接的分支中没有解。让我们定义一个数Δij,取决于是gi还是-gi在循环中,其值为+1或-1。对于m个数Δ1,j到Δm,j任何之一没有选择。图3A表示这样的情形t<k,Gi在有与9(mod 16)同余的素因子pj的循环中,即u=0,t=3使得k>3。
-对于任何使得t≥k的素因子pj,每一Gi必定使得u+k≤t,换言之,或者在u=0的循环中,或者在1≤u≤t-k的分支中适当的位置。让我们定义数Δij,取决于Gi,j是在与gi还是-gj连接的图的部分中,其值为+1或-1。对于m个数Δ1,j到Δm,j每一个有选择;每一数Δij可以从一个值向另一值个别变化。图3B表示t≥k的情形为:Gi在有与17(mod 32)同余的素因子p的分支中,即u=1,t=4使得k=3。
每一f个分量{Δi,1到Δi,f}的集合是在CG(Pj)中单位的平方根。根据f个分量是否相等,这根是平凡的或非平凡的。这时我们说,f个分量的集合是常量或变量,这表示qi是平凡的或非平凡的。因而,当数qi是非平凡时,f个分量{Δi,l到Δi, f}的集合使模的置换相加。然后在计算私人分量Qi,j时能够测试原理。
-当公开数Gi在素因子pj的循环中时,根据gi还是-gj在循环中,数Δi,j的值为+1或-1。当pj≡3(mod 4)时,它是勒让德记号:Δi,j=(gi|pj)。
-当公开数Gi在在素因子pj的分支中适当的位置时,在计算Qi,j之前,可以确定向Δij给定值。
密钥集合的产生-给定参数k,有两个策略。
-或者是生成元需要f个素因子以便确定m个基数。考察第一批素数:2,3,5,7...等,以便估计它们与f个素因子p1到pf的每一个的相容性。虽然g=2与p≡5(mod 8)不相容,但是2能够进入基数的组合。确实,当两个数在分支中类似的位置时,它们的乘积较接近循环,正如平方较接近循环那样。这样通过组成分别不是恰当的数能够获得基数。
-或者为了确定f≥2素因子,生成元需要m个基数及这样的模数特征,即位的长度(例如,512,768,1024,1536,2048)和1之后高阶位的一个数(例如,1,8,16,24,32)。由g1,g2...gm表示,基数一般出现在开始的素数:2,3,5,7,11...等之中,或者它们是这些开始的素数的组合。除非另外指出,这些是m个开始的素数:g1=2,g2=3,g3=5,g4=7...等。应当注意,p≡5(mod 8)与g=2是不相容的。模数n将是邻接长度的f个素因子的乘积即分配给由f除尽的模数的长度。
第一原理-参数k,从p1到pf的每一素因子p,以及从g1到gm的每一基数g必须是相容的。让我们定义一个数h,使得2h相对于p除尽g的秩的而2h+1不能除尽它。为了计算数h,以下过程使用勒让德记号(g|p)和数b,CG(p)中的第2t单位原根。
-如果(g|p)=+1且t=1,返回“h=0”。
-如果(g|p)=+1且t=-1,则向G施加密钥<(p-1+2t)/2t+1,p>,以获得称为w的结果。
-如果w=+g,则返回“h=0”。
-如果w=p-g,则返回“h=1”。
-如果不,则设c为b并对于从t-1到2的i,
-向w/g(mod p)施加密钥<2i,p>以获得±1,
-如果-1,则设h为i并由w×c(mod P)代替w,
-以c2(mod p)代替c。
-返回“h从2到t-1的值”。
-如果(g|p)=-1,返回“h=t”。
让我们回忆起,当u>0有k+u>t时,k,g和p是不相容的;当h=0或1时无论k值如何,且而且当h>1有k+h≤t+1时,它们是相容的。
第二个原理-三个以下过程对应于第二原理的不同的实现。在某些实现中,第二原理能够被加强到要求每一数q1到qm是非平凡的程度。这时基数的作用被平衡;平衡或不平衡的第二原理的事实对模式的安全性表现的某些方面有影响。最后当有f>2个不同的素因子时,在m个数{q1到qm}中,可能要求f-1个独立的数中有至少一个子单位。
三个过程使用如下定义的m×f数δi,j
-当pj使得t<k时,对于i从1到m,δi,j=Δi,j,即如果hi,j=0,则为+1,且如果hi,j=1,则为-1。
-当pj使得t≥k时,对于i从1到m,δi,j=0,这表明Δ1,j到Δm,j能够被选择作为第二原理的函数。
第一过程验证{δi,1到δi,f}至少一个集合是变量或零,换言之至少一个数q1到qm是非平凡的或可被选择为非平凡的。
-对于i从1到m和j从1到f,
-如果δi,j=0,或≠δi,1,则返回“成功”。
-返回“失败”
第二过程验证{δi,1到δi,f}每一个集合是变量或零,换言之至少一个数q1到qm是非平凡的或可被选择为非平凡的。
-对于i从1到m
-对于j从1到f,
-如果δi,j=0,或≠δi,1,则进到i的下一个值。
-返回“失败”
返回“成功”。
第三过程,对于每一对素因子pj1和pj2有1≤j1<j2≤f,验证{δi,1到δi,f}至少有一个集合,其中δi,j1是零或不同于δi,j2。当m小于f-1时它明显失败。当它成功时,在m个数q1到qm之中,至少有相对于f个素因子独立的f-1个数的一个集合。
-对于j1从1到f-1及对于j2从j1+1到f,
-对于i从1到m,
-如果δi,j1=0或≠δi,j2,则进到j1和j2的下一个值。
-返回“失败”
-返回“成功”。
当过程失败时,GQ2密钥集合的生成元遵循以下可能的两个策略中一个策略:
-选择m个基数之一同时保持f个素因子,
-改变f个素因子之一同时保持m个基数。
第三原理-以下过程确定所产生的GQ2密钥是否在产生的过程中或已经产生:
-GQ2基本密钥集合,换言之,2×m个数±g1到±gm都是非二次剩余,
-或者,GQ2互补密钥集合,换言之在2×m个数±g1到±gm中至少有一个二次剩余。
该过程对于i从1到m及对于j从1到f使用两个勒让德记号(gi|pj)和(-gi|pj)。
-对于i从1到m
-对于j从1到f,
-如果(gi|pj)=-1,则进到i的的下一个值。
-返回“GQ2互补密钥集合”
-对于j从1到f,
-如果(-gi|pj)=-1,则进到i的的下一个值。
-返回“GQ2互补密钥集合”。
-返回“GQ2互补密钥集合”。
私人分量-对于直接类型的方程式:xv≡gi 2(mod pj),以下计算建立了私人分量Qi,j的所有可能的值。两个最简单的和最普通的情形,即t=1和t=2,之后是最复杂的情形,即t>2。
对于t=1,即pj≡3(mod 4),密钥<(pj+1)/4,pj>给出CG(pj)中任何二次剩余的平方二次根。推导出一个数sj ≡((pj+1)/4)k(mod(pj-1)/2),这给出把G1转换为w≡G1 sj(mod pj)的密钥<sj,pj>。Qi,j等于w或等于pj-w。
对于t=2,即pj≡5(mod8),密钥<(pj+3)/8,pj>给出CG(pj)中任何奇数秩元素的奇数秩的平方根。推导出一个数sj≡((pj+3)/8)k(mod(pj-1)/4),这给出把Gi转换为w≡Gi sj(mod pj)的密钥<sj,pj>。应当观察到z≡2(pj-1)/4(mod pj)是-1的平方根,因为在CG(pj)中2是非二次剩余。Qi,j等于w,或等于pj-w,或等于w’≡w×z(mod pj),或等于pj-w’。
对于pj≡2t+1(modt+1)有t>2,密钥<pj-1+2t)/2t+1,pj>给出任何奇数秩元素的奇数秩的平方根。可k,g和p之间的相容性测试已经给出h的值,然后是u的值。
-当Gi在一循环中时(u=0,不论k的值如何),数sj≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t)被建立。密钥<sj,pj>把Gi转换为奇数秩的解Gi sj(mod pj)。存在偶数秩的解,它分布在捆绑在循环的min(k,t)相继分支中,我们说在α分支中。Qi,j等于w与CG(pj)中任何第2α个单位根的乘积。
-当Gi在分支(u>0,u+k≤t)中一适当的位置时,所有的解与Gi在相同的分支,即由Gi的第2u幂捆绑到一个循环的分支。数sj≡((pj-1+2t)/2t+1)k+u(mod(pj-1)/2t)被建立。密钥<sj,pj>把Gi的第2u幂转换为奇数秩w的一个数。w与CG(pj)中第2k+u单位原根的所有乘积包含Qi,j的2k个值。
当pj使得t≥k时,数bj是CG(pj)中第2t单位原根,存在CG(pj)中bj的第2t-u幂;它是第2k单位原根。以第2k单位原根乘以Qi,j的允许数Δi,j的值摆动。
对于逆类型的的方程式:1≡xv×gi 2(mod pj),只要以((pj-1)/2t)-sj代替密钥<sj,pj>中的数sj即可,它相当于插入在CG(pj)中Qi,j的值。
具有两个与5(mod8)同余的素因子密钥集合的例子
p1=E6C83BF428689AF8C35E07EDD06F9B39A659829A58B79CD894C
435C95F32BF25
p2=11BF8A68A0817BFCC00F15731C8B70CEF9204A34133A0DEF862
829B2EEA74873D
n=p1×p2=FFFF8263434F173D0F2E76B32D904F56F4A5A6A50008C43
D32B650E9AB9AAD2EB713CD4F9A97C4DBDA3828A3954F296458D5
F42C0126F5BD6B05478BE0A80ED1
这里是最开始一些素数的勒让德记号。
(2|p1)=-1;(3|p1)=-1;(5|p1)=+1;(7|p1)=-1;
(11|p1)=+1;(13|p1)=-1;(17|p1)=+1;
在CG(p1)中秩对于-5,-11和17是奇数。
(2|p2)=-1;(3|p2)=+1;(5|p2)=+1;(7|p2)=+1;
(11|p2)=+1;(13|p2)=-1;(17|p2)=-1;
在CG(p2)中秩对于3,-5,7和11是奇数。
Carmichael函数是λ(n)=ppcm((p1-1)/4,(p2-1)/4)。
λ(n)=33331A13DA4304A5CFD617BD6F834311642121543334F40C3D5
7A9C8558555D5BDAA2EF6AED17B9E3794F51A65A1B37239B18FA9
B0F618627D8C7E1D8499C1B
以k=9,数σ≡λ(n)-((1+λ(n))/2)9(modλ(n))作为私人指数,从而使用逆类型的一般方程式。
σ=01E66577BC997CAC273671E187A35EFD25373ABC9FE6770E7446
C0CCEF2C72AF6E89D0BE277CC6165F1007187AC58028BD2416D4CC
1121E7A7A8B6AE186BB4B0
数2,3,7,13和17不适于作为基数。
密钥<σ,n>把g1=5转换为表示没有分解的私人数Q1。确实,在两个域中,-5在一个循环上。
Q1=818C23AF3DE333FAECE88A71C4591A70553F91D6C0DD5538EC
0F2AAF909B5BDAD491FD8BF13F18E3DA3774CCE19D0097BC4BD4
7C5D6E0E7EBF6D89FE3DC5176C
密钥<σ,n>把g2=11转换为表示分解的私人数Q2。确实,11在两个域中在相同的位置。
Q2=25F9AFDF177993BE8652CE6E2C728AF31B6D66154D3935AC535
196B07C19080DC962E4E86ACF40D01FDC454F2565454F290050DA05
2089EEC96A1B7DEB92CCA7
密钥<σ,n>把g3=21=3×7转换为表示分解的私人数Q3
Q3=78A8A2F30FEB4A5233BC05541AF7B684C2406415EA1DD67D18
A0459A1254121E95D5CAD8A1FE3ECFE0685C96CC7EE86167D99532
B3A96B6BF9D93CAF8D4F6AF0
密钥<σ,n>把g4=26=2×13转换为表示分解的私人数Q4
Q4=6F1748A6280A200C38824CA34C939F97DD2941DAD300030E481
B738C62BF8C673731514D1978AF5655FE493D659514A6CE897AB76C
01E50B5488C5DAD12332E5
私人密钥可由两个素因子,中国余数的参数和八个私人分量静态地表示。
α≡p2(mod p1)-1(mod p1)=ADE4E77B703F5FDEAC5B9AAE825D649
E06692D15FBF0DF737B115DC4D012FD1D
Q1,1≡Q1(mod p1)=7751A9EE18A8F5CE44AD73D613A4F465E06C6F9
AF4D229949C74DD6C18D76FAF
Q1,2≡Q1(mod p2)=A9EB5FA1B2A981AA64CF88C382923DB64376F5F
D48152C08EEB6114F31B7665F
Q2,1≡Q2(mod p1)=D5A7D33C5FB75A033F2F0E8B20274B957FA3400
4ABB2C2AC1CA3F5320C5A9049
Q2,2≡Q2(mod p2)=76C9F5EFD066C73A2B5CE9758DB512DFC011F5B
5AF7DA8D39A961CC876F2DD8F
Q3,1≡Q3(mod p1)=2FEC0DC2DCA5BA7290B27BC8CC85C938A514B
8F5CFD55820A174FB5E6DF7B883
Q3,2≡Q3(mod p2)=010D488E6B0A38A1CC406CEE0D55DE59013389D
8549DE493413F34604A160C1369
Q4,1≡Q4(mod p1)=A2B32026B6F82B6959566FADD9517DB8ED85246
52145EE159DF3DC0C61FE3617
Q4,2≡Q4(mod p2)=011A3BB9B607F0BD71BBE25F52B305C224899E5
F1F8CDC2FE0D8F9FF62B3C9860F
GQ2私人密钥的同素异构性-GQ2私人密钥可能的不同表示证明是等价的:它们都回归到作为真正GQ2私人密钥的模数n的因子分解的知识。GQ2私人密钥的表示具有在证明实体内而不是在控制实体内计算操作的实现。这里有GQ2私人密钥的三个主要的可能的表示。1)GQ私人密钥传统的表示在于存储m个私人数Q1和公开验证密钥<v,n>;对于GQ2模式,这个表示与以下两个竞争。2)就工作负载而言最优的表示在于存储参数k,f个素因子pj,m×f个私人分量Qi,j及f-1个中国余数的参数。3)就私人密钥长度而言的最优表示在于参数k,m个基数,f个素因子pj,然后在于通过建立或者是m个私人数Qi及模数n以回到第一表示,或者m×f个私人分量Qi,j及f-1个中国余数的参数以回到第二表示。
因为动态鉴别或数字签字机制的安全性等价于模数的因子分解知识,GQ2模式不允许在使用相同模数的两个实体之间作简单的区分。一般来说,每一证明实体具有其自身的GQ2模数。然而,能够规定带有四个素因子的的GQ2模数,其中两个由一个实体知道我其它两个由另一实体知道。
动态鉴别-动态鉴别机制,这用来证明被称为控制器的实体,被称为演示器的另一实体的真实性,以及任何相关的消息M的真实性,使得控制器能够确认是实际的演示器并可能是他和演示器实际上说出关于相同的消息M。相关的消息M是可选的,这意味着它可以是空的。
动态鉴别机制是四个行动的一个序列:委托行动,查询行动,响应行动及检验行动。演示器执行委托和响应行动。控制器执行查询和控制行动。
在演示器内,证人可以是被隔离的,其方式是隔离演示器最敏感的参数和功能,换言之即委托和响应的产生。证人具有可供处理的参数和GQ2私人密钥,换言之,即根据上述三个表示之一的模数n的因子分解:·f个素因子和m个基数,·m×f个算分量,f个素因子和f-1个中国余数的参数,·m个私人数及模数n。
证人可以对应于一特定的实施例,例如,·连接到共同形成演示器的PC的芯片卡,或者又,·PC内特别被保护的程序,或者又,·芯片卡内特别被保护的程序。这样被隔离的证人类似于以下在签字人内所定义的证人。使用该机制的每一操作,证人产生一个或多个委托R,然后对查询d同样多的响应D。每一集合{R,d,D}构成一GQ2三元组。
演示器不仅包含证人,而且在必要时有可供处理的散列函数和消息M。
控制器有可供处理的模数n,例如来自公开密钥的目录或又来自公开密钥寄存器;必要时它还有可供处理的相同的散列函数和消息M’。GQ2公开参数,即k,m和g1到gm可通过演示器向控制器给出。控制器能够从任何查询d并从任何响应D恢复委托。参数k和m通知控制器。除非特别指出,来自g1到gm的m个基数是m个开始的素因子。每一查询d必须包含由从d1到dm标记的m个基本查询:每一基数一个。从d1到dm的每一基本查询是从0到2k-1-1的一个数(从v/2到v-1的数不使用)。一般,每一查询通过m次k-1位编码(而不是由m次k位)。例子是,K=5及m=4,基数5,11,21,26,每一查询包括四个四元组被传输的16位。当也有可能是(k-1)×m可能的查询时,数(k-1)×m确定由每一GQ2三元组所携带的安全性:按定义,不知道模数n的因子分解的欺骗者在2(k-1)×m中恰有1次成功的机会。当(k-1)×m的值从15到20时,一个三元组足以保证动态基本的安全。无论达到任何安全程度,可以并行地产生多个三元组:它们还可以按顺序产生,换言之,重复机制的操作。
1)委托行动包括以下操作。
当证人不使用中国余数时,有可供处理的参数k,从Q1到Qm的m个私人数和模数n;它是随机抽取的并是在私人数或更多的随机数r(0<r<n)中抽取;然后,通过k个相继自乘平方(mod n),它把每一随机数r转换为一委托R。
R≡rv(mod n)
这里有一例子,带有以前的密钥集合而没有中国余数。
r=5E94B894AC24AF843131F437C1B1797EF562CFA53AB8AD426C1
AC016F1C89CFDA13120719477C3E2FB4B4566088E10EF9C010E8F09
C60D981512198126091996
R=6BBF9FFA5D509778D0F93AE074D36A07D95FFC38F70C8D7E330
0EBF234FA0BC20A95152A8FB73DE81FAEE5BF4FD3EB7F5EE3E36D
7068D083EF7C93F6FDDF673A
当证人使用中国余数时,有可供给处理的参数k,从p1到pf的f个素因子,f-1个中国余数参数和m×f个私人分量Qi,j;它是随机抽取的并是在私人数或更多的r个随机数集中抽取;每一集包含每个素因子pi一个随机数ri(0<ri<pi);然后,通过k个相继自乘平方(modpi),它把每一随机数ri转换为一委托Ri
Ri≡rj(mod pi)
对于每一f个委托分量收集集,证人根据中国余数技术建立委托。存在与随机数收集集同样多的委托。
R=中国余数(R1,R2,到Rf)
这里有一例子,带有上述密钥集合和中国余数。
r1=5C6D37F0E97083C8D120719475E080BBBF9F7392F11F3E244FDF0
204E84D8CAE
R1=3DDF516EE3945CB86D20D9C49E0DA4D42281D07A76074DD4FE
C5C7C5E205DF66
r2=AC8F85034AC78112071947C457225E908E83A2621B0154ED15DB
FCB9A4915AC3
R2=01168CEC0F661EAA15157C2C287C6A5B34EE28F8EB4D8D34085
8079BCAE4ECB016
R=中国余数(R1,R2)=0AE51D90CB4FDC3DC757C56E063C9ED8
6BE153B71FC65F47C123C27F082BC3DD15273D4A923804718573F2F0
5E991487D17DAE0AAB7DF0D0FFA23E0FE59F95F0
在两种情形下,演示器都向控制器传输每一委托R的所有或部分,或者传输通过对每一委托R和消息M求散列而获得的散列代码H。
2)查询行动在于随机抽取一个或多个查询d,其每一个由m个基本查询d1,d2到dm组成;每一基本查询d1是从0到v/2-1数之一。
这里是关于查询的两个例子,换言之k=5,m=4。
d1=1011=11=‘B’;d2=0011=3;d3=0110=6;d4=1001=9,
d=d1‖d2‖d3‖d4=1011001101101001=B369
控制器向演示器传输每一查询d。
3)响应行动包括以下运算。
当证人不使用中国余数时,它有可供处理的参数k,从Q1到Qm的m个私人数和模数n;它使用委托行动的每一随机数r和私人数根据基本查询计算一个或多个响应D。
D≡r×Q1 d1×Q2 d2×...Qm dm(mod n)
这里有一系列没有中国余数的例子。
D=027E6E808425BF2B401FD00B15B642B1A8453BE8070D86C0A787
0E6C1940F7A6996C2D871EBE611812532AC5875E0E116CC8BA648FD
8E86BE0B2ABCC3CCBBBE4
当证人使用中国余数时,它有可供给处理的参数k,从p1到pf的f个素因子,f-1个中国余数参数和m×f个私人分量Qi,j;它使用委托行动的每一随机数收集集计算f个响应分量的一个或多个收集集:响应分量的每一收集集包括每素因子一个分量。
Di≡ri×Q1,i d1×Q2,i d2×...Qm,i dm(mod pi)
对响应分量的每一收集集,证人根据中国余数技术建立一个响应。存在与查询同样多的响应。
D=中国余数(D1,D2,到Df)
这里有带有中国余数的例子的系列。
D1=r1×Q1,1 d1×Q2,1 d2×Q3,1 d3×Q4,1 d4(mod p1)=
C71F86F6FD8F955E2EE434BFA7706E38E5E715375BC2CD2029A4BD
572A9EDEE6
D2=r2×Q1,2 d1×Q2,2 d2×Q3,2 d3×Q4,2 d4(mod p2)=
0BE022F4A20523F98E9F5DBEC0E10887902F3AA48C864A6C354693A
D0B59D85E
D=90CE7EA43CB8EA89ABDD0C814FB72ADE74F02FE6F098ABB98
C8577A660B9CFCEAECB93BE1BCC356811BF12DD667E2270134C907
3B9418CA5EBF5191218D3FDB3
在两种情形下,演示器都向控制器传输每一响应D。
4)检验行动在于检验每一三元组{R,d,D}对非零值验证以下类型的方程式,
R &times; &Pi; i = 1 m G i d i &equiv; D 2 k ( mod n ) R &equiv; D 2 k &times; &Pi; i = 1 m G i d i ( mod n )
或在重建每一委托中: 每一不能是零
R &prime; &equiv; D 2 k / &Pi; i = 1 m G i d i ( mod n ) R &prime; &equiv; D 2 k &times; &Pi; i = 1 m G i d i ( mod n )
然后控制器可能通过使每一重建的委托R’和消息M’散列而计算散列代码H’。当控制器这样恢复它在委托结束时收到的东西,换言之,即所有或部分的每一委托R或散列代码H时,动态鉴别是成功的。
例如,一个基本操作序列把响应D转换为委托R’。该序列包括通过基数的k-1个除法或乘法分开的k个平方(mod n)。对于在第i个平方和第i+1个平方之间进行的第i个除法或乘法,基本查询d1的第i位指出它是否必须使用g1,基本查询d2的第i位指出它是否必须使用g2,直到基本查询dm的第i位指出它是否必须使用gm
这里不使用中国余数的例子的结束。
D=027E6E808425BF2B401FD00B15B642B1A8453BE8070D86C0A787
0E6C1940F7A6996C2D871EBE611812532AC5875E0E116CC8BA648FD
8E86BE0B2ABCC3CCBBBE4
模n自乘为平方:
88BA681DD641D37D7A7D9818D0DBEA82174073997C6C32F7FCAB3
0380C4C6229B0706D1AF6EBD84617771C31B4243C2F0376CAF5DCE
B644F098FAF3B1EB49B39
以5乘26=130,即’82’模n:
6ECABA65A91C22431C413E4EC7C7B39FDE14C9782C94FD6FA3CA
AD7AFE192B9440C1113CB8DBC45619595D263C1067D3D0A840FDE0
08B415028AB3520A6AD49D
模n自乘为平方:
0236D25049A5217B13818B39AFB009E4D7D52B17486EBF844D64CF7
5C4F652031041328B29EBF0829D54E3BD17DAD218174A01E6E3AA65
0C6FD62CC274426607
乘以21,即’15’模n:
2E7F40960A8BBF1899A06BBB6970CFC5B47C88E8F115B5DA594504
A92834BA405559256A705ABAB6E7F6AE82F4F33BF9E91227F0ACFA
4A052C91ABF389725E93
模n自乘为平方:
B802171179648AD687E672D3A32640E2493BA2E82D5DC87DBA2B2C
C0325E7A71C50E8AE02E299EF868DD3FB916EBCBC0C5569B53D42
DAD49C956D8572E1285B0
以5乘以11乘以21=1155,即’483’模n:
3305560276310DEFEC1337EB5BB5810336FDB28E91B350D485B09188
E0C4F1D67E68E9590DB7F9F39C22BDB4533013625011248A8DC417C
667B419D27CB11F72
模n自乘为平方:
8871C494081ABD1AEB8656C38B9BAAB57DBA72A4BD4EF9029ECB
FFF540E55138C9F22923963151FD0753145DF70CE22E9D019990E41D
B6104005EEB7B1170559
以5乘以11乘以26=1430,即’596’模n:
2CF5F76EEBF128A0701B56F837FF68F81A6A5D175D0AD67A14DAE
C6FB68C362B1DC0ADD6CFC004FF5EEACDF794563BB09A17045EC
FFF88F5136C7FBC825BC50C
模n自乘为平方:
6BBF9FFA5D509778D0F93AE074D36A07D95FFC38F70C8D7E3300EB
F234FA0BC20A95152A8FB73DE81FAEE5BF4FD3EB7F5EE3E36D706
8D083EF7C93F6FDDF673A
找到委托R。鉴别成功。
这里是使用中国余数例子的结束。
D=90CE7EA43CB8EA89ABDD0C814FB72ADE74F02FE6F098ABB98
C8577A660B9CFCEAECB93BE1BCC356811BF12DD667E2270134C907
3B9418CA5EBF5191218D3FDB3
模n自乘为平方:
770192532E9CED554A8690B88F16D013010C903172B266C1133B136E
BE3EB5F13B170DD41F4ABE14736ADD3A70DFA43121B6FC5560CD
D4B4845395763C792A68
以5乘以26=130,即’82’模n:
6EE9BEF9E52713004971ABB9FBC31145318E2A703C8A2FB3E144E77
86397CD8D1910E70FA86262DB771AD1565303AD6E4CC6E90AE3646
B461D3521420E240FD4
模n自乘为平方:
D9840D9A8E80002C4D0329FF97D7AD163D8FA98F6AF8FE2B2160B2
126CBBDFC734E39F2C9A39983A426486BC477F20ED2CA59E664C23
CA0E04E84F2F0AD65340
乘以21,即’15’模n:
D7DD7516383F78944F2C90116E1BEE0CCDC8D7CEC5D7D1795ED33
BFE8623DB3D2E5B6C5F62A56A2DF4845A94F32BF3CAC360C7782B
5941924BB4BE91F86BD85F
模n自乘为平方:
DD34020DD0804C0757F29A0CBBD7B46A1BAF949214F74FDFE021B
626ADAFBAB5C3F1602095DA39D70270938AE362F2DAE0B91485531
0C7BCA328A4B2643DCCDF
以5乘以11乘以21=1155,即’483’模n:
038EF55B4C826D189C6A48EFDD9DADBD2B63A7D675A0587C85596
18EA2D83DF552D24EAF6BE983FB4AFB3DE7D4D2545190F1B1F946
D327A4E9CA258C73A98F57
模n自乘为平方:
D1232F50E30BC6B7365CC2712E5CAE079E47B971DA03185B33E918E
E6E99252DB3573CC87C604B327E5B20C7AB920FDF142A8909DBBA1
C04A6227FF18241C9FE
以5乘以11乘以26=1430,即’596’模n:
3CC768F12AEDFCD4662892B9174A21D1F0DD9127A54AB63C984019
BED9BF88247EF4CCB56D71E0FA30CFB0FF28B7CE45556F744C1FD7
51BFBCA040DC9CBAB744
模n自乘为平方:
0AE51D90CB4FDC3DC757C56E063C9ED86BE153B71FC65F47C123C
27F082BC3DD15273D4A923804718573F2F05E991487D17DAE0AAB7
DF0D0FFA23E0FE59F95F0
找到委托R。鉴别成功。
数字签字
数字签字机制允许称为签字人的实体产生签署的消息,且允许称为控制器的实体验证签署的消息。对消息M以邻接的签字附录签署,该签字包括一个或多个委托和/或查询,以及对应的响应。
控制器有供处理模数n,例如来自公开密钥目录或来自公开密钥寄存器;它还具有相同的散列函数。GQ2公开参数,即数K,m和g1到gm可以由演示器向控制器给出,例如通过把它们放入签字附录。
数k和m通知给控制器。一方面,从d1到dm的每一基本查询是从0到2k-1-1的一个数(数v/2到v-1不使用)。另一方面,每一查询d必定包含从d1到dm表示的与基数同样多的m个基本查询。此外,除非另外指出,从g1到gmm个基数是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),由d1,d2...dm表示的m个基本查询组成的查询d以及响应D(≠0)。
签字人具有可供处理的散列函数,参数k和GQ2私人密钥,换言之,就是根据上述三个表示之一的模数n的因子分解。在签字人内,能够隔离进行委托和响应行动的证人,其方式是隔离演示器最敏感的功能和参数。为了计算委托和响应,证人有可供处理的参数k和GQ2私人密钥,换言之,即根据上述三个表示之一的模数n的因子分解。被这样隔离证人与在演示器内定义证人类似。这可以对应于一个具体的实施例,例如·与共同形成签字人的PC连接的芯片卡,或·PC内特别被保护的程序,或·芯片卡内特别被保护的程序。
1)委托行动包括允许操作。
当证人具有可供处理的m个私人数Q1到Qm和模数n时,它随机并私人抽取一个或多个随机数r(0<r<n);然后,通过k个相继的自乘为平方(mod n),它把每一随机数r转换为委托R。
R≡rv(mod n)
当证人具有可供处理的f个素因子p1到pf,和m×f私人分量Qi,j时,它随机并私人抽取f个随机数的一个或多个收集集:  每一个收集集包含每素因子pi(0<ri<pi)一随机数ri;然后,通过k个相继的自乘为平方(mod pi),它把每一随机数ri转换为委托Ri
Ri≡ri v(mod pi)
对f个委托分量的每一个收集集,证人根据中国余数技术建立一委托。存在与随机数收集集同样多的委托。
R=中国余数(R1,R2,到Rf)
2)查询行动在于使所有委托R和消息散列为M以便获得散列代码,签字人由它们形成一个或多个查询,每一查询包含m个基本查询;每一基本查询是从0到v/2-1的一个数;例如,对于k=9和m=8,每一查询包含八个字节。存在与委托同样多的查询。
d=d1,d2,....dm,它们是从散列结果(M,R)抽取的
3)响应行动包括以下操作。
当证人具有可供处理的m个私人数Q1到Qm和模数n时,它使用委托行动的每一随机数r和私人数根据基本查询计算一个或多个响应D。
X≡Q1 d1×Q2 d2×到Qm dm(mod n)
D≡r×X(mod n)
当证人具有可供处理的f个素因子p1到pf,和m×f私人分量Qi,j时,它使用委托行动的随机数的每一个收集集计算f个响应分量的一个或多个收集集:响应分量的每一个收集集包含每素因子一随机数。
Xi≡Q1,i d1×Q2,i d2×到Qm,i dm(mod pi)
Di≡ri×Xi(mod pi)
对响应分量的每一个收集集,证人根据中国余数技术建立一响应。存在与查询同样多的响应。
D=中国余数(D1,D2,到Df)
签字人签署消息M将包括以下内容的签字人附录纳入其中:
-或者,每一GQ2三元组,即每一委托R,每一查询D和每一响应D,
-或者,每一委托R和每一对应的响应D,
-或者,每一查询d和每一对应的响应D。
验证操作的性能取决于签字附录的内容。可以在三种情形之间作出区别。
其中附录包含一个或多个三元组,控制操作包括两个独立的过程,其时序是不重要的。当且仅当以下两个条件被满足时控制器接收签署的消息。
一方面,每一三元组必须是相关的(必须验证以下类型适当的关系)和可接收的(必须对非零值作出比较)。
R &times; &Pi; i = 1 m G i d i &equiv; D 2 k ( mod n ) 或者 R &equiv; D 2 k &times; &Pi; i = 1 m G i d i ( mod n )
例如,响应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=d1d2...dm,等价于从散列结果(M,R)抽取的代码。
其中附录不包含查询,控制操作通过对所有委托R和消息M散列以一个或多个查询d’的表示开始。
d’=d’1d’2...d’m,从散列结果(M,R)抽取
然后,当且仅当每一三元组是相关的(以下类型适当的关系被验证)和可接收的(对非零值作出比较),控制器才接收签署的消息。
R &times; &Pi; i = 1 m G i d &prime; i &equiv; D 2 k ( mod n ) 或者 R &equiv; D 2 k &times; &Pi; i = 1 m G i d &prime; i ( mod n )
其中附录不包含委托,根据以下两个公式中适当的那一个,控制操作以一个或多个委托R’的重构开始。没有被重新建立的委托被动是零。
R &prime; &equiv; D 2 k / &Pi; i = 1 m G i d i ( mod n ) 或者 R &prime; &equiv; D 2 k &times; &Pi; i = 1 m G i d i ( mod n )
然后,控制器必须对所有委托R’和消息M散列,以便重构每一查询d。
d=d1d2...dm,等价于从散列结果(M,R’)抽取的代码
当且仅当每一被重构的查询等价于出现在附录中对应的查询,控制器才接受签署的消。

Claims (10)

1.使得能够产生在被设计来对控制器实体验证的协议中使用的f个素因子p1,p2,…pf和/或m个整数基数g1,g2,…gm的方法,所述对控制器实体验证具体为验证:
-实体的真实性和/或
-与这一实体相关的消息M的完整性;
所述协议实现:
-由所述f个素因子p1,p2,…pf的乘积构成的公开模数n,其中f大于或等于2,或实现f个素因子;
-所述m个不同的整数基数g1,g2,…gm,其中m大于或等于1,gi小于f个素因子p1,p2,…pf
-m对私人Q1,Q2,…Qm和公开G1,G2,…Gm值或从它们推导的参数,其中m大于或等于1;
所述模数和所述私人和公开值通过以下类型的关系式联系:
Gi·Qi v≡1·mod n或Gi≡Qi v mod n
所述公开值Gi是基数的平方gi 2,v表示以下形式的公开指数:
v=2k
其中k是大于1的安全性参数;
所述方法包括以满足以下条件的方式产生f个素因子p1,p2,…pf和/或m个基数g1,g2,…gm的步骤:
第一个条件:
根据第一个条件,每一方程式:
Xv≡gi 2 mod n    (1)
具有在模n整数环中x的解;
第二个条件:
这里Gi≡Qi v mod n,在通过使Qi自乘为平方模n—即秩的k-1倍而获得的m个数qi之中,它们中之一不同于±gi,换言之是非平凡的,
这里Gi·Qi v≡1 mod n,在通过使Qi的逆自乘为平方模n—即秩的k-1倍而获得的m个数qi之中,它们中之一不同于±gi,换言之是非平凡的,
第三个条件:
在以下2m个方程式中:
X2≡gi mod n    (2)
X2≡-gi mod n   (3)
至少它们之一具有模n整数的环中的x的解,
用于产生f个素因子p1,p2,…pf和/或m个基数g1,g2,…gm的所述方法包含首先选择以下各项的步骤:
·安全性参数k
·m个基数g1,g2,…gm和/或f个素因子p1,p2,…pf
2.根据权利要求1的方法,使得m个基数g1,g2,…gm是素数。
3.根据权利要求1或2的方法,使得安全性参数k是小于100的整数。
4.根据权利要求1到3任何之一的方法,使得模数n的大小为大于或等于512位。
5.根据权利要求1到4任何之一的方法,使得为了测试第一个条件,通过实现以下给出的算法验证数k,p,g的相容性:
-通过h表示一个数,该数使得2h除尽g的相对于p的秩而2h+1不能除尽它,
-h是从勒让德记号(g|p)及从等于CG(p)中第2t单位原根的数b计算的,
·  如果(g|p)=-1则h=t
·  如果(g|p)=+1且t=1,则h=0
·  如果(g|p)=+1且t>1,则密钥<(p-1+2t)/2t+1,p>施加于G,结果w这样获得:
· ·如果w=+g,则h=0
· ·如果w=p-g,则h=+1,
·  ·否则,通过使变量c初始化将值b赋予它,然后对于i从t-1到2的值叠代以下步骤来实施计算子模数:
步骤1:密钥<2i,p>施加于w/g(modp),
*如果所得结果等于+1,则进到步骤2,
*如果所得结果等于-1,则将值i赋予h,而w由w·c(modp)代替,
步骤2:c由c2(modp)代替,
所求的h的值是最后一次施加密钥<2i,p>根据步骤1产生等于-1的结果时获得的值,
其中:
-当h>1时并当k+h>t+1时,k,g,p是相容的,
-当h=0或1时,不论k的值如何,或者当h>1时并当k+h≤t+1时,k,g,p是相容的,
-t是使得p-1能被2t整除,但不能被2t+1整除的数;
-如果g是二次剩余(模p),则勒让德记号(g/p)等于+1;如果g是二次非剩余(模p),则勒让德记号(g/p)等于-1;如果p能除尽g,则勒让德记号(g/p)等于0,其中p为素数。
6.根据权利要求5的方法,使得为了测试第二个条件,进行一个检验,即至少一个集合{δi,1…δi,f}是变量或零,其中,当pj使得t<k时,若hi,j=0则δi,j等于+1,若hi,j=1则δi,j等于-1;当pj使得t≥k时,δi,j等于0,其中i为从1到m,j为从1到f。
7.根据权利要求6的方法,使得为了测试第三个条件,检验是否满足下列表达式之一:
从g1到gm有一个基数gi使得f个勒让德记号(gi|p1)到(gi|pf)都等于+1;
从gi到gm有一个基数gi使得f个勒让德记号(-gi|p1)到(-gi|pf)都等于+1。
8.根据权利要求1到7的任何之一的方法,使得为了计算私人值Q1,Q2,…Qm(Qi,j≡Qimod pj)的f·m私人分量Qi,j—其中Gi≡Qi v mod n,过程如下:
-如果t=1(即如果pj≡3(mod4)):
·  计算一个数sj使得sj≡((pj+1)/4)k(mod(pj-1)/2),
·  其密钥<sj,pj>被推导出,
·  密钥<sj,pj>施加于Gi
·  于是有:w≡Gi sj(modpj),
·Qi,j的两个可能的值是w,pj-w,
-如果t=2(即如果pj≡5(mod8)):
·  计算一个数sj使得sj≡((pj+3)/8)k(mod(pj-1)/4),
·  其密钥<si,pj>被推导出,
·  密钥<sj,pj>施加于Gi
·  于是有:w≡Gi sj(modpj),且w’≡w·z(mod pj),
·  Qi,j的四个可能的值是w,pj-w,w’,pj-w’
其中:
z≡α×y(mod a)(如果y为负,用y+α替换y);
α≡{b(mod a)}-1(mod a);
y≡Xa-γ;
x≡Xb(mod a);
a、b为相对素数,使得0<a<b;
Xa为从0到a-1的数;
Xb为从0到b-1的数;
-如果t>2(即如果pj≡2t+1(mod2t+1)),且如果h=0或h=1,
·  计算一个数sj使得sj≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t),
·  其密钥<sj,pj>被推导出,
·  密钥<sj,pj>施加于Gi
·  于是有:w≡Gi sj(modpj)。
·  Qi,j的2min(k,t)个可能的值等于w乘以CG(pj)中单位第2min(k,t)根任何之一的乘积,
-如果t>2(即如果pj≡2t+1(mod2t+1)),及如果h>1及如果h+k≤t+1,
·  计算sj使得sj≡((pj-1+2t)/2t+1)k+h_1(mod(pj-1)/2t),
·  其密钥<sj,pj>被推导出,
·  密钥<sj,pj>施加于2h-1次幂Gi
·  于是获得w,
·  Qi,j的2k个可能的值属于w乘以CG(pj)中单位第2k+h-1原根的所有乘积。
9.根据权利要求8的方法,使得为了计算私人分量Qi,j—其中Gi·Qi v≡1·mod n,在密钥<sj,pj>中sj由((pj-1)/2t)-sj代替。
10.应用根据权利要求1到7任何之一的方法以允许产生f个素因子p1,p2,…pf或m个基数g1,g2,…gm的方法,
所述方法是要验证控制器实体,具体地说是验证:
-实体的真实性和/或
-与这一实体相关的消息M的完整性,
借助于m对私人的Q1,Q2,…Qm和公开的G1,G2,…Gm值或从它们推导出的参数,特别是借助于私人分量Qi,j,其中m大于或等于1,执行下述过程:
根据以下步骤所述方法实现称为证人的实体;
所述证人实体具有:f个素因子pi,和/或素因子的中国余数值的参数,和/或公开模数n,和/或m个私人值Qi,和/或f·m个私人值Qi的私人分量Qi,j及公开指数v。
-证人计算在整数模n环中的委托R:每一委托通过以下计算:
·  或者通过进行以下类型的运算:
R≡rv mod n
其中r是随机数,其使得0<r<n,
·  或者
·  ·通过进行以下类型的运算:
Ri≡ri v mod pi
其中ri是与素因子pi相关的随机数,其使得0<ri<pi,每一ri属于随机数{r1,r2,…rf}的集合,
·  ·然后通过施加中国余数的方法;
-证人接收一个或多个查询d;每一查询d包括以下称为基本查询的m个整数di;证人从每一查询d计算一个响应D,
·  或者通过以下类型的运算:
D≡r.Q1 d1.Q2 d2…Qm dm mod n
·  或者
·  ·通过进行以下类型的运算:
Di≡r.Qi,1 d1.Qi,2 d2…Qi,m dm mod pi
·  ·然后施加中国余数的方法;
所述方法使得有与查询d及委托R同样多的响应D,每一组数R,d,D构成一个三元组,标记为{R,d,D}。
CN00815285.3A 1999-10-01 2000-09-29 用于证明实体真实性和消息完整性的专用密钥集 Expired - Fee Related CN1215678C (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
FR9912465A FR2788908B1 (fr) 1999-01-27 1999-10-01 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message
FR9912467A FR2788912B1 (fr) 1999-01-27 1999-10-01 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers
FR99/12468 1999-10-01
FR9912468A FR2824974B1 (fr) 1999-01-27 1999-10-01 Procede destine a prouver l'authenticite d'une entite ou l'integrite d'un message au moyen d'un exposant public egal a une puissance de deux.
FR99/12467 1999-10-01
FR99/12465 1999-10-01
FR00/09644 2000-07-21
FR0009644 2000-07-21

Publications (2)

Publication Number Publication Date
CN1387714A CN1387714A (zh) 2002-12-25
CN1215678C true CN1215678C (zh) 2005-08-17

Family

ID=27445921

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB008177309A Expired - Lifetime CN100380862C (zh) 1999-10-01 2000-09-29 验证实体真实性或消息完整性的方法、系统、设备
CN00815285.3A Expired - Fee Related CN1215678C (zh) 1999-10-01 2000-09-29 用于证明实体真实性和消息完整性的专用密钥集

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB008177309A Expired - Lifetime CN100380862C (zh) 1999-10-01 2000-09-29 验证实体真实性或消息完整性的方法、系统、设备

Country Status (8)

Country Link
US (1) US7080254B1 (zh)
EP (2) EP1216537B1 (zh)
JP (3) JP2003511899A (zh)
CN (2) CN100380862C (zh)
AT (1) ATE518327T1 (zh)
AU (2) AU766102B2 (zh)
CA (2) CA2388084A1 (zh)
WO (2) WO2001026279A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2842052B1 (fr) * 2002-07-05 2004-09-24 France Telecom Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
JP5328186B2 (ja) * 2008-03-21 2013-10-30 ルネサスエレクトロニクス株式会社 データ処理システム及びデータ処理方法
WO2010123116A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 情報生成装置、方法、プログラム及びその記録媒体
JP5593850B2 (ja) * 2010-05-31 2014-09-24 ソニー株式会社 認証装置、認証方法、プログラム、及び署名生成装置
JP5594034B2 (ja) * 2010-07-30 2014-09-24 ソニー株式会社 認証装置、認証方法、及びプログラム
JP5790287B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
EP2966803A1 (en) * 2014-07-11 2016-01-13 Thomson Licensing Method and device for cryptographic key generation
CN106304054B (zh) * 2016-08-29 2019-06-07 西安电子科技大学 一种lte系统中的保护数据完整性的方法及装置
CN110519051B (zh) * 2019-08-22 2021-06-01 武汉理工大学 r参数和秘密双乘积的SM9签名协同生成方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2620248B1 (fr) * 1987-09-07 1989-11-24 France Etat Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages
JP3102692B2 (ja) 1988-05-19 2000-10-23 エヌ・シー・アール・インターナショナル・インコーポレイテッド カードの真性を証明する方法
EP0381523A3 (en) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
FR2733379B1 (fr) 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
DE69704684T2 (de) 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip

Also Published As

Publication number Publication date
CN100380862C (zh) 2008-04-09
EP1216537A1 (fr) 2002-06-26
CA2386748C (en) 2008-11-25
WO2001026278A1 (fr) 2001-04-12
JP4809310B2 (ja) 2011-11-09
US7080254B1 (en) 2006-07-18
AU7670000A (en) 2001-05-10
WO2001026279A1 (fr) 2001-04-12
CA2388084A1 (en) 2001-04-12
AU765538B2 (en) 2003-09-18
JP2008048451A (ja) 2008-02-28
EP1216536A1 (fr) 2002-06-26
AU7669900A (en) 2001-05-10
ATE518327T1 (de) 2011-08-15
JP2003511899A (ja) 2003-03-25
CN1433609A (zh) 2003-07-30
CN1387714A (zh) 2002-12-25
AU766102B2 (en) 2003-10-09
JP2004527139A (ja) 2004-09-02
CA2386748A1 (en) 2001-04-12
EP1216537B1 (fr) 2011-07-27

Similar Documents

Publication Publication Date Title
CN1172474C (zh) 公用密钥密码系统方法及设备
CN1242587C (zh) 高速、灵活的加密系统的方法及设备
CN1531241A (zh) 密码重构方法、分散密码重构装置及密码重构系统
CN1186714C (zh) 高基除法器及方法
CN1148643C (zh) 模幂运算装置
CN1265280C (zh) 扩展整数的计算域的范围
CN1302408C (zh) 认证系统、认证装置、终端装置以及认证方法
CN1160940C (zh) 代码生成方法、检测方法及其设备、水印嵌入器和检测器
CN1099779C (zh) 通信设备和通信系统
CN1535451A (zh) 可证实的秘密洗牌及其对于电子表决的应用
CN1281064C (zh) 利用与像素块分类信息对应的映射系数的图像编码和解码
CN1726669A (zh) 数据分割方法和使用异或运算的装置
CN1215678C (zh) 用于证明实体真实性和消息完整性的专用密钥集
CN1312630A (zh) 基于分块加密方式的加密装置与方法及译码装置与方法
CN1922643A (zh) 加密系统、加密装置、解密装置、程序和集成电路
CN1460225A (zh) 数据处理系统、存储设备、数据处理装置、及数据处理方法、以及程序
CN1620756A (zh) 滤波装置、接收装置、发送装置、扩频调制装置、伪随机数序列的输出装置、滤波方法、接收方法、发送方法、扩频调制方法、伪随机数序列的输出方法及程序
CN1665185A (zh) 内容提供系统、用户系统、跟踪系统、装置及方法
CN1841443A (zh) 计算方法、计算设备以及计算机程序
CN101061526A (zh) 密码处理运算装置
CN1222799A (zh) 提高了安全性的密码处理装置等
CN1280726A (zh) 优化椭圆曲线密码计算的变换方法
CN1267816C (zh) 信息安全装置,质数生成装置,和质数生成方法
CN1918844A (zh) 基于保密共享方案的保密信息管理方案
CN1778066A (zh) 参数生成设备,加密系统,解密系统,加密设备,解密设备,加密方法,解密方法,及其程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee