在若干实体与设备间分布负荷的密码法的制作方法

文档序号:2407735阅读:367来源:国知局
专利名称:在若干实体与设备间分布负荷的密码法的制作方法
技术领域
本发明涉及密码技术领域,更准确地说涉及所谓的公共钥密码术。在此类密码术中,用户有一对供指定使用的钥,包括该用户保持的秘密的密钥和该用户可传给其它用户的相关公共钥。例如在专用于保密的一对钥情况下,公共钥用于加密数据,密钥用来译码,即用明文重建该数据。
公共钥密码术应用极广,它不像密钥密码术,建立安保通信时不要求对话者遵守同一秘密。但这一安全优点伴随着性能上的缺点,因为公共钥密码法(也称为公共钥方案)通常比密钥密码法(也称为密钥方案)要慢成百上千倍。因此,一大难题就是探索能迅速执行的公共钥密码法,以便能在资源有限的环境中诸如带或不带触点的普通微处理器卡中使用。
现有的大多数公共钥方案取决于算法领域的数学难题(即数论),因而RSA(Rivest,Shamir,Adlemom)数字特征与加密方案的安全性基于整数分解的难题给出一个通过把两个或更多差不多大小的质数秘密相乘所专门得出的极大整数(超过500位),目前尚无有效的方法恢复这些质数。
其它公共钥方案如EIGamal数字特征或加密方案,安全性依赖于所谓“离散对数问题。此问题可以其最普通的情况表达如下设E为利用运算所提供的集(即有两个单元a与b的函数同表示为“a,b”或“ab”而称为“a与b乘积”的单元相关联)。设g是E单元,设r是大的整数,并设y是由y=g’所定义的整数(即乘积g,g...g,g出现r次);故由g和y恢复r是不可行的。
本发明尤其涉及实体鉴定(也称“识别”)技术领域,而且涉及运用公共钥密码技术的消息及其数字特征鉴定的技术领域。在此类方法中,称为“证人”的被鉴定实体拥有一密钥或专用钥和一关联的公共钥。证人用密钥生成鉴定值。称为“核对员”的鉴定实体只需要证人的公共钥就可核对鉴定值。
本发明特别涉及称为“零知识公开”的鉴定方法。这意味着运用某种协议作鉴定,协议以验证方式不透露被鉴定实体的密钥,但要使用多次。由这种方案可知,可用普通技术推导出鉴定消息及其数字特征的方案。
本发明甚至还涉及安全性依赖于整数因式分解和离散对数两个难题的方法。
本发明适用于用公共钥密码保护其单元和/或业务安全性的任何系统,尤其适用于各团体执行的一些运算构成至少一个团体的临界参数的系统,或是因为没有专用于密码运算的协同处理器(常称为密码处理器)来加快运算,或者例如在中央服务器的情况下或因其它原因,能同时执行大量运算。
一种典型的应用是用银行卡或电子财务作电子付款。在就近付款时,付款终端位于公共场所,便于应用公共钥密码法,不用存贮主控钥。为了减少这种系统的总成本,希望卡是一种普通的微处理器卡,即不配备秘密处理器的卡,或者终端自身所含的保密微处理器系普通类型,或者是二者。根据情况和采用的密码法,当前的现有技术在遵循系统的约束条件时,可实现诸目标之一,但不易同时实现两个目标。一例这样的约束条件是,要在不到一秒时间内付款,或在不接触交易时在小于150毫秒内付款,或在公路收费门甚至以几毫秒付款。
迄今已知的所有密码法,一个局限性是各团体必须执行的运算数量由方法本身固定且不能修正,尤其是不能在证人与第三方之间改变运算分配而不必计及置信度,以致适应这种环境,因而防止了同一方法被用于约束条件不同的多种环境。
本发明的目的规定了若干公共钥密码法,能在至少有关的两个实体之间分配大量运算,而这一分配不改变所述方法所提供的安全度。在公共钥数字特征或鉴定方法中,本发明尤其适于通过减少要执行的运算数量来减轻证人的任务。本发明能把某些运算委托给另一方,无须计及另一方的置信度。通常,本发明以满足与指定应用关联的约束条件的方式,使所有或某些运算在若干有关实体之间以任何方式分配。
考虑一种密码法,其中由第一实体运用其密钥保持秘密产生由第二实体可用与所述密钥关联的公共钥所验证的证明,本发明方法的优点在于包括一步骤。其中至少一个证明单元至少是部分通过对不让所述密钥恢复的数据项作公开数字处理而产生的。
“公开数字处理”指不得益于对可能侵入的特定保护的数字处理操作。公开数字处理操作可由任一方执行。上述的数据项,例如是一所述密钥的图像。
这种分布负荷的可能性允许一种或同一种密码法应用于多种有极大量约束条件的场合与环境,尤其可用计算量有限的码片,在更短时间内进行交易。
已知诸密码法应用了有限组一特征,有限组包含例如n个整数,而且配有一内部组成法如乘法。实际上无法恢复某个乘幂的原始指数,在n为包括至少两个极大质数的数时尤其如此。
具体而言,本发明方法包括第一步骤第一实体用其单一随机数保持秘密产生第一证明单元;第二步骤产生一个或多个与第一证明单元关联的所谓的公约数,使第一和第二实体都知道所述公约数;第三步骤第一实体通过组合至少第一密钥整数与第一随机数和至少一个所述公约数,产生所述密钥的图像;第四步骤通过对所述密钥图像应用可由任一实体执行的公开数字处理操作而产生第二证明单元,允许第二实体通过对第二证明单元应用所述公共钥的第一部分而对至少一个所述公约数应用至少所述公共钥的第二部分,来验证第一证明单元与第二证明单元相符。
“产生与第一证明单元关联的公约数”可理解为指产生一对有必须预先知道第一证明单元的公约数。这种产生可以纯粹是随机的,而且与第一证明单元无关或有关。利用这一关联,在产生公约数时,就不能回到第一证明单元。
更具体地说在第一步骤中,第一实体产生第一随机数r,它比包含在第一实体的密钥保持的秘密里的任何第一整数s大得多,而且第一实体还产生在将第一整数G自乘到幂模n后得到的第一证明单元,G可以或可以不包含在所述公共钥中,其指数就是第一随机数r;在第三步骤中,第一实体通过线性组合第一随机数r与至少第一密钥整数s而产生所述密钥图像y,所述线性组合的至少一个乘法系数是所述公约数或公约数之一;在第四步骤中,产生的第二证明单元y等于第二整数g的幂模n,g可以或可以不包含在所述公共钥中,其指数是密钥图像y,第二整数g使得第一公共钥整数G是第二整数g的幂模n,而作为指数的第三整数e可以或可以不包含在所述公共钥中。
首先要指出,第三步骤所产生的密钥图像资料并不提供有关该密钥的信息,因后者通过与第一随机数的线性组合而被遮蔽了,其第一证明单元不说明什么。其次,第一证明单元和公共钥的资料不允许在不知道密钥图像时产生第二证明单元,在第二步骤中,只有单独掌握密钥与随机数的第二实体才能产生第二证明单元。第一实体可以具有执行第五步骤的有限的计算资源,因为第三整数和公约数相对小的值足以可靠地验证与第一证明单元的匹配。
第四步骤可由第一实体执行,但因指数值大,要考虑第四步骤中计算幂的成本。
第四步骤由接收来自第一实体的密钥图像y的任一实体来执行是有利的。如上所述,任一实体的密钥图像资料并不危及该方法的安全性。第四步骤由任一第一实体以外的实体执行,减轻了第一实体的负担。该任一实体可选用第二实体或中间实体。
而且,第四步骤有利地包括第一分步骤,其中第一实体把图像y分解成第一局部图像y1与第二局部图像y11,前者用代表图像y的数据字的u个低位表示,后者用所述数据字的剩余高位表示;在第一分步骤中,第一实体产生第二证明单元的第一分量y1与第二分量g1,所述分量为y1=gy1模ng1=g2n模n而且第一实体把第一分量y1、第二分量g1与第二局部图像y11送到中间实体;第二分步骤其中任一实体通过把第一分量y1乘上指数为第二局部图像y11的第二分量g1的幂而产生第二证明单元y,而且该实体把第二证明单元y送给第二实体。
因此在第二实体产生第一和第二分量y1与g1时,小于y值的y1值只需要有限的计算资源。因第二局部图像和两个分量y1与g1足以让任一实体在不完全掌握密钥图像的情况下产生第二证明单元,故提高了该方法的安全性。
尤其在用该密码法鉴别第一与第二实体间的对话时,第二步骤由第二实体执行,为接收自第二实体的第一证明单元以安全的间隔选择至少一个公约数,并把所述公约数送给第一实体。
这样能让第二实体相信,第一实体收到了该公约数,可产生在对话内与第一证明单元相配的第二证明单元。
尤其在第五步骤中,当第一证明单元x等于第二证明单元y的幂(其指数为第三整数e)与包含在所述公共钥里的第四整数v的幂(其指数是所述公约数c)的乘积模n时,匹配被验证。
尤其不同的是,在对话包括第一实体发送消息M时,在第五步骤中,当第一证明单元等于带第一证明单元的数字消息M与第二证明单元y的幂(其指数是第三整数e)和包含在所述公共钥里的第四整数v的幂(其指数为所述公约数c)的乘积模n的函数时,匹配被验证。
尤其不同的是,在对消息特征M应用该密码法时,第二步骤由第一实体执行,根据第一证明单元和带所述公约数的数字消息M产生至少一个公约数。
尤其在第五步骤中,当该公约数等于数字消息M和第二证明单元y的幂(其指数是第三整数e)与包含在所述公共钥里的第四整数v的幂(其指数是所述公约数c)的乘积模n的函数时,匹配被验证。
本发明的主题也是设计成执行该密码法的证人设备、验证人设备与中间人设备。
现在研究一下证人设备,它备有密钥保持的秘密并防止任何侵入,用于产生证明,其应用与所述密钥关联的公共钥的验证能保证该证人设备是所述证明的起源,证人设备的价值在于包括计算装置设计成根据证人设备里的第一随机数保持的秘密产生第一证明单元,并通过组合至少第一密钥整数与第一随机数和若干与第一证明单元关联的公约数中的至少一个,产生所述密钥的图像,其方法是对所述密钥图像作公共的数字处理操作而产生第二证明单元,使它能通过对第二证明单元应用所述公共钥的第一部分而对至少一个所述公约数应用至少所述公共钥的第二部分,来验证第一与第二证明单元的匹配;设计成发送至少所述第一证明单元的通信装置。
有利的是,在证人设备中另将计算装置设计成产生比包含在密钥保持的秘密里的任何第一整数s大得多的第一随机数r,并通过使可能或可能不包含在所述公共钥里的第一整数G以第一随机数r为指数自乘到幂模n,产生第一证明单元;而计算装置还设计成通过线性组合第一随机数r与至少一第一密钥整数s而产生所述密钥图像y,所述线性组合的至少一个乘法系数是所述公约数或公约数之一。
根据实施法的型式,证人设备有各种修正。
例如,通信装置还设计成在发送了第一证明单元后接收所述公约数。较佳地,通信装置设计成发送密钥图像。
计算装置还可设计成产生第二证明单元。
有利的是,计算装置设计成把图像y分解成由代表图像y的数据字的u个低位表示的第一局部图像y1和由所述数据字剩余的高位表示的第二局部图像y11,并产生第二证明单元的第一分量y1与第二分量g1,所述分量为y1=gy1模ng1=g2u模n式中g是第二整数,因而第一公共钥整数G是第二整数g的幂模n,指数为包含在所述公共钥里的第三整数e,通信装置设计成发送第一分量y1、第二分量g1与第二局部图像y11。
在特定的消息特征情况下,计算装置设计成根据第一证明单元和带所述公约数的数字消息M,产生至少一个公约数。
根据诸替代实施例,计算装置设计成通过使第一整数G自乘至幂模n而产生第一证明单元,G可以或可以不包含在所述公共钥里,其指数是第一随机数r。
根据第一替代实施例,第一公共钥整数G与第四公共钥v分别为G=ge模nV=G-s模n根据第二替代实施例,第一公共钥整数G与第四公共钥整数v分别为G=ge模nV=Gs模n根据第三替代实施例,第一公共钥整数G与第四公共钥整数v分别为G=g-e模nV=G-s模n根据第四替代实施例,计算装置设计成按下式线性组合两个公约数a与b而产生密钥图像yY=ar+bs根据第五替代实施例,当密钥包括若干秘密数S1、S2等时计算装置设计成产生许多与第一证明单元x关联的公约数C1、C2等;计算装置设计成按下式作线性组合而产生密钥图像Y=r+c1.s1+c2.s2+......
根据第六替代实施例,当公共钥特地包括模n,而其质数是证人设备里保持的秘密时,计算装置(37)就设计成用称为孙子剩余的技术计算乘幂。
当公共钥包括第一证明单元x预先计算值的量K时,计算装置设计成对每个执行作K次迭代,每次迭代用不同的第一证明单元值。
或者,第一证明单元为第一整数G的幂模n的函数f,G可以或可以不包含在所述公共钥里,其指数为第一随机数r。
现在研究验证人设备,该设备用与密钥关联的公共钥验证某一证明已由证人设备发出,而证人设备备有其所述密钥保持的秘密,验证人设备最好包括设计成接收第一和第二证明单元的通信装置;设计成验证第一与第二证明单元相匹配的计算装置,验证时对第二证明单元应用所述公共钥的第一部分,对若干结合第一证明单元产生的公约数中的至少一个应用所述公共钥的至少第二部分。
在验证人设备中,有利的是把计算装置设计成验证第一证明单元匹配于第二证明单元y的幂(其指数是第三整数e)与第四整数v的幂(其指数是所述公约数c)的乘积模n,第三和第四整数都包含在所述公共钥里。
同样有利的是,把计算装置设计成在接收了第一证明单元后的一安全间隔内选择至少一个公约数,而将通信装置设计成发射所述公约数。
具体而言,当第一证明单元x等于第二证明单元y的幂(其指数是第三整数e)与包含在所述公共钥里的第四整数v的幂(其指数是所述公约数c)的乘积模n时,计算装置设计成宣布匹配被证实。
更具体地说,当第一证明单元为带第一证明单元的数字消息M和第二证明单元y的幂(其指数是第三整数e)与包含在所述公共钥里的第四整数v的幂(其指数是所述公约数c)的乘积模n的函数时,计算装置设计成宣布匹配被证实。
不同的是,当该公约数为数字消息M和第二证明单元y的幂(其指数是第三整数e)与包含在所述公共钥里的第四整数v的幂(其指数是所述公约数c)的乘积模n的函数时,计算装置设计成宣布匹配被证实。
由下列公式在验证人设备中验证等式x=yevc模n;或用公式ye=vcx模n;或用公式yex=vc模n;或用等式来验证匹配yevb=xa模n
当密钥包括若干秘密数S1、S2等时,计算装置(38)设计成对第一证明单元x选择许多公约数c1、c2等,还设计成用以下述等式用多个第四公共钥整数v1、v2等来验证匹配yev1c2v2c2等=x模n在一验证人设备的替代实施例中,计算装置在存储器中包括至少一个被视为公共钥组成部分的预先计算的第一证明单元x值。
具体地说,计算装置在存储器中包括量为K的预先计算的第一证明单元x的值,通信装置设计成接收K个第二证明单元,而计算装置设计成验证收到的各第二证明单元与第一证明单元一不同值的匹配。
在验证人设备的另一替代实施例中,当第一证明单元为第一整数G的幂模n的函数f时,计算装置设计成验证该函数的结果;所述整数G可以或可以不包含在所述公共钥里,其指数是第一随机数r。
现在研究一位于证人设备下游的中间人设备,该设备根据证人设备的密钥保持的秘密产生一证明,所述证明可用与所述密钥关联的公共钥验证,中间人设备包括的计算装置通过对所述密钥图像作公开数字处理而产生至少一个证明单元,所述密钥图像不允许恢复所述密钥。具体而言,该设备包括设计成接收所述密钥图像y的通信装置。
根据一可能的替代实施例,计算装置设计成通过使第二整数g自乘到幂模n而产生第二证明单元y,g包含在所述公共钥里,其指数是密钥图像y。
根据另一可能的替代实施例,中间人设备包括的通信装置设计成接收密钥的第一局部图像y1和第二证明单元的第一分量y1与第二分量g1,而计算装置设计成通过把第一分量y1乘上指数为第二局部图像y11的第二分量g1的幂,产生第二证明单元y。
较佳地,中间人设备的通信装置设计成向验证人设备发送该第二证明单元y。
通过以下参照附图对示例性实例的描述,能更清楚地理解本发明,其中

图1示出本发明用第一实体鉴定第二实体的鉴定法的步骤;图2示出涉及中间实体的鉴定法的第一替代实施例;图3示出涉及中间实体的鉴定法的第二替代实施例;图4示出本发明消息鉴定法的步骤;和图5示出本发明用于消息特征的方法步骤。
下述的实施方式是一种实体鉴定或识别法,使证人A确信验证人B的真实性。该法可以转换为鉴定消息或消息数字特征的方法,其安全性依赖于大整数因式分解的联合难度。
根据上述的目的和结果,该法包括两种选择,具体取决于若干实体间计算的分布方式。设n是大的构成整数,五个正整数e、g、G、S和V为正且小于n,因而G=ge(模n)和V=G-S(模n)因此,证人的公共钥全部或部分由五重态(n,e,g,G,v)构成,具体取决于所选的选项,而密钥由至少证人的整数S保持的秘密构成。公共钥本身分解为若干证人公用的一般部分和每个证人不同的专用部分。
还定义了两个正整数k与t,称为安全参数。在所有选项中,假定第一实体(验证人B)已经知道了验证第二实体(证人A)给出的证明所必需的所有公共参数,即它的身份、公共钥、公共钥证件等。
根据第一选项,公共钥为三重态(n,e,v),实体B对实体A鉴定时对参照图1所述的协议作K次迭代。
在第一步骤9,实体A产生比S大得多的第一随机数r,计算X=Gr(模n),并将X送到实体B。众所周知,实体A与B为计算机类型或码片卡类型。“(模n)”指模n,即计算结果为有关操作结果用整数n作整数除法的余数,n一般称为模。这里的整数x构成第一证明单元,因为只有产生随机数r的实体才能产生数x。产生随机数r的实体不传送r。根据已知的数论,对于已知的第一整数G与模n,数r选成大得足以不能由数x恢复它。若第一整数G包含在公共钥中,则该第一证明单元不足以成为任何实体可用任一随机数产生的单元。应指出,在参照图1所述的方法中,整数G不一定包含在公共钥。
实体B收到第一证明单元x就使过渡10生效,后者激励第二步骤11。
在步骤11,实体B在称为安全间隔的间隔
内任选一整数C,并把C送到实体A,因而实体B结合第一证明单元产生的数C为实体A和B共有,也为任何其它渗入实体A与B之间对话的实体共有。
实体A收到公约数C就使过渡12生效,后者激励第三步骤13。
在步骤13,实体A计算y=r+sc。这样,实体A以数r与s线性组合的形式产生密钥图像y,乘法系数是公约数C。因随机数r很大而且不传送,故图像y的资料不允许乘积sc被恢复,因而防止了恢复密钥数s,保持了实体A保持的秘密。因为只有实体A知道数s,故只有实体A才能产生集成了公约数C的图像。
紧接着步骤13激励第四步骤15。在步骤15中,实体A计算y=gr(模n),并向B送Y,因而实体A产生第二证明单元Y。应指出,第二整数g不一定包含在公共钥中。
实体B收到第二证明单元Y就使过渡16生效,后者激励第五步骤17。
在步骤17,实体B验证Yerc=x(模n)。由上述可见,虽然第二证明单元不传送密钥的信息,但第二证明单元Y为Y=gr+sc(模n)因此,使第二证明单元Y自乘到一幂,其指数为公共钥的第三整数e,得Ye=g(r+sc)e=Gr+sc(模n)另按照数论,虽然第四整数V不传送密钥信息,但所述整数实际上为Vc=G-sc(模n)因而在任何时候都不传送r,等式YeVc=Gr=x(模n)证明了单独知道s,c的实体A。
现在研究作为试图冒充成A的实体的捐税人(imposter),不知道秘密s,因而不检测该捐税人的概率为1/kt。对于众多应用,乘积kc可选得相对小,如为216量级。
较佳地K=1,t=e,此时上面定义的概率为1/e,只有一个验证公式可用。若e等于比如216则验证相对快,因为指数e与c相对小。在步骤11结束或之前预先计算。
z=Vc(模n)甚至可加快验证。因而在第四步骤中,B只要验证Yez=x(模n)。其它k与t值也行。
优化该基本协议可用多种不同的方法,如V=G-s(模n)可用V=Gs(模n)代替,此时验证公式变为Ye=xvc(模n)。
另外,比如可用G=g-e(模n)代替G=ge(模n)此时验证公式变为XYe=Vc(模n)。
而且,例如可用一对正或负的整数(a,b)代替c,用y=ar+bs代替y=r+sc,此时验证公式变为yevb=xa(模n)。
还有,例如可以选择若干秘密数S1,S2等,若干公共钥V1,V2等和若干整数C1,C2等,并用Y=r+s1c1+s2c2+...代替y=r+sc,此时验证公式变为yev1c1vcc2=x(模n)。
若n包含在公共钥特定部分里而且A知道n的质数系数,就可用所谓的“孙子余数”技术加快第一步骤。
第一步骤可以预先执行。此外,x的k值可以构成A的公共钥部分,此时协议直接从第二步骤开始。
数x可用值f(x)代替,f是一函数,例如等于(或包括)一密码混列函数,此时验证公式变为f(yevc(模n))=x。可以组合上述全部或部分修正。
显然,A以外的任一实体也可计算Y,这样做不会损失任何安全性。在此情况下,A只计算Y,并对该实体提供Y。首先,Y资料无s的信息,因为乘积sc被随机数r“遮蔽”了。其次,骗子实际上无法根据所有片数造出Y,因为给出n,e,v,x与c后,若因式分解是一难题,就无法求出满足第四步骤验证公式的Y值。
根据参照图2说明的第二选项,公共钥为四重态(n,e,g,v),实体B对遵循的协议迭代K次而鉴定实体A,其中C指A以外的任一实体。
该法的执行方法与参照图1所述的方法一直到步骤13都一样。参照图2,步骤13被修正为实体A向中间实体C发送密钥图像Y。如前所见,图像Y不给出该密钥的信息。
实体C收到图像Y使过渡14生效,后者再激励第四步骤15。
在步骤15,此时中间实体C计算第二证明单元Y=gy(模n),并把Y送到B。
本方法再继续通过过渡16与步骤17,做法与参照图1描述的一样。
从物理上讲,中间实体C例如埋置在不一定保密的芯片里,而是包含在芯片卡之类的证人的安全设备里,在验证人的安全设备如付款终端或另一设备如计算机中。安全性依赖于这样的事实在实体C自己无法求出合适的那满足验证公式的值Y。
在参照图3描述的第三选项中,在实体A与C之间分开计算Y。分提这一计算的方法很多。这里在步骤13之前,用参照图1所描述的方式执行该方法。在步骤13,按下式分解图像Y较有利Y=y1+2uy11式中u是一正整数,Y1是小于2u的整数。分解很方便。在代表图像Y的数据字中,第一局部图像Y1用该字的u个低位表示,第二局部图像用该字的剩余高位表示。
计算第二证明单元的第四步骤,此时分解成两个分步骤18与25。
第一分步骤18在步骤13之后由实体A直接执行。在分步骤18,实体A按下式计算第二证明单元的第一分量Y1Y1=Gy1(模n)计算第一分量Y1要求比完全计算第二证明单元少得多的资源,因为第一局部图像Y1的值远远小于图像Y,其方法是选用相对低的u值,如在8或16的量级。
在分步骤18,实体A按下式计算第二证明单元的第二分量g1g1=g2u(模n)计算第二分量g1要求很少的计算资源,因为只要作u乘方,先对第二整数g作第一乘方,然后对下一乘方模n结果依次乘方。
分步骤18结束时,实体A向中间实体C发送两个分量g1、Y1和第二局部图像Y11。由于完全不传送密钥图像,故加强了安全性。由于实体A完全不计算第二证明单元,故减小了其计算负担。因此,实体C收到两个分量g1、Y1和第二局部图像Y11,使过渡14生效而激励中间实体C中的第二分步骤25。
在分步骤25,实体C计算Y=Y1g1Y11(模n),并向实体B发送如此产生的第二证明单元。
然后,操作以参照图1所述的同一方法继续通过过渡16和步骤17。
在过渡16生效前,实体B先执行步骤19是有利的,其中为便于在步骤17计算V,用下式算出数zz=Vc(模n)在过渡16之前,也可把步骤19引入图1、2和4的实例中。
同样要指出,还可在实体C与验证人B之间分担Y1的计算。
上述的协议可以转换成消息鉴定协议或数字特征方案。
图4示出一方法的步骤,该法能鉴定第一实体B收到的消息M由第二实体A发送。在第一步骤20,像在步骤9一样,实体A产生远远大于S的第一随机数r,计算x=Gr(模n)。实体A不向实体B发送x,而提供第一证明单元x1,方法是对消息M连同数x应用一函数h,例如一密码混列函数或包含一密码混列函数,因而
x1=h(x,M)接着,实体A向实体B发送消息M和第一证明单元x1。
实体B收到第一证明单元x使过渡21生效,后者再激励第二步骤11,然后此程序以参照图1~3之一描述的方式继续下去。在步骤11,实体B在
安全间隔内随机选一整数c并把它送到实体A,因而实体B结合第一证明单元产生的数c为实体A和B共有,也为渗入实体A与B之间对话的任一其它实体共有。
实体A收到公约数c使过渡12生效,后者再激励第三步骤13。
在步骤13,实体A计算y=r+sc,因而实体A以数r与s线性组合的形式产生密钥图像y,线性组合的乘法系数是公约数c。因随机数r极大且不传送,故图像y资料不允许乘积sc被恢复,因而不允许恢复实体A保持了保持的秘密的密钥数s。因为只有实体A知道数s,故只有A才能产生结合了公约数c的图像。在图4实例中,实体A向中间实体C发送密钥图像Y。前面已看到,图像Y并不给出密钥信息。实体C收到图像Y使过渡14生效,后者再激励第四步骤15。
在步骤15,此时中间实体C计算第二证明单元y=gy(模n),并向B发送y。
实体B收到第二证明单元Y使过渡16生效,后者再激励第五步骤22。
在步骤22,像步骤17一样,实体B用下式计算验证值VV=YeVc(模n)然后用下列验证公式验证第二与第一证明单元的匹配h(V,M)=x1在运用函数f另一个实施方法中,验证公式成为h(fc(yeVc(模n)),M)=x1。
与消息鉴定不同,消息特征与发送者无关。若实体B接收来自任一其它实体的消息M,则实体A发出的消息M的特征保持有效。
参照图5,在第一步骤1,像步骤9一样,实体A产生比s大得多的第一随机数r,计算x=G’(模n)。如此产生的第一证明单元x不需要送给实体B,因为不必为了验证特征而去鉴定实体A与B间的对话。
在紧接步骤1之后的第二步骤23,实体A产生公约数c1,方法是对消息M连同数x应用函数n,如一密码混列函数或包含一密码混列函数,使得c1=h(x,M)在紧接步骤23的第三步骤24,实体A计算y=r+sc,这样实体A以数r与s线性组合的形式产生密钥图像y,乘法系数为公约数c。由于随机数r很大且不传送,知道图像y并不能使乘积sc被恢复,因而不能恢复密钥数s,因此保持了实体A保持的秘密。因只有实体A知道数s,故只有实体A才能产生给合了公约数c’的图像。由上可见,图像y不给出密钥信息,对(c’,y)构成消息M的特征,因该对汇集了消息M和保证实体A为该特征源的密钥单元。
然后,实体A向实体B或任何其它实体发送消息M与特征(c’y)。
实体B从实体A或任一其之实体收到消息M及其特征(c’,y),使过渡2生效。
实体C收到图像y使过渡4生效,后者再激励第四步骤5。
在步骤5,此时中间实体C计算第二证明单元y=gy(模n),并向B发送Y。
实体B收到第二证明单元Y使过渡7生效,后者再激励第五步骤8。
在步骤8,像步骤17一样,实体B用下式计算验证值VV=YeVc1(模n)接着,用下述验证公式验证第二与第一证明单元匹配h(V,M)=c1此时,与第一证明单元的匹配由该等式验证,因为步骤23产生的公约数c’本身与第一证明单元匹配。
在应用函数f的替代实施法中,验证公式变为h(f(YeVc(模n)),M)=x1。
实体C收到图像Y使过渡4生效,这可以是收到来自实体A或任一其它实体的消息M及其特征(c’,y)的结果。参照图5,实体C收到图像Y是过渡2激励的步骤3造成的。在步骤3,实体B从该特征中取出图像送给实体C。
在过渡7生效之前执行的步骤6中,为得到等于Vc1的数z以便于在步骤8计算V,实体B从特征中取出公约数c1。
参照图6,上述实体A、B、C在物理上分别是证人设备30、验证人设备31和中间设备32。证人设备比如是微处理器卡如信贷卡,或者是移动电话用户识别卡。验证人设备31例如是银行终端或电子设备服务器,或是移动电信操作器硬件。中间设备32例如是微处理器卡扩展件、信贷卡阅读终端或电子移动电话卡。
证人设备30包括通信装置34和计算装置37,可防侵入。在准备实施的方法型式中,通信装置34设计成发送第一证明单元x(如参照图1~3描述的步骤9)、密钥图像y(如参照图2和4描述的步骤13)、第二证明单元Y(如参照图1描述的步骤15)、带两个密钥图像分量g’与y”的第一局部图像y’(如参照图3描述的步骤18)、消息M(如参照图4与5描述的步骤20或24)或公约数c(如参照图5描述的步骤24)。在实施的方法型式对应于鉴定时,通信装置34还设计成在参照图1~4描述的过渡12接收公约数c。实施方法型式对应于特征时,不必把通信装置34设计为接收公约数c。根据实施方法型式,计算装置37设计成执行图1的步骤9、13和15,图2的步骤9和13,图3的步骤9、13和18,图4的步骤20和13,或图5的步骤1、23和24。众所周知,计算装置37包括微处理器与微程序或上述计算专用的组合电路。
验证人设备31包括通信装置35和计算装置38。在实施方法型式对应于鉴定时通信装置35设计成发送一个或多个公约数c,如图1~4的步骤11。实施方法型式对应于特征时,不必把通信装置35设计成发送公约数c。通信装置35还设计成接收两个证明单元x与y(如图1~3的过渡10和16)、带第一证明单元x’和第二证明单元y的消息M(如图4的过渡21和16)或者第二证明单元和带一个或多个公约数c’与密钥图像y的消息M(如图5的过渡2和8)。或者,实施方法型式对应于特征时,通信装置35设计成再发送密钥图像Y,如图5的步骤3。
根据实施方法型式,计算装置38设计成执行图1~3的步骤11、17与19、图4的步骤11与22或图5的步骤6与8。众所周知,计算装置38包括微处理器和微程序或上述计算专用的组合电路。
中间设备32包括通信装置36和计算装置39,前者设计成发送第二证明单元Y,如图2和4的步骤15、图2和4的步骤15、图3的步骤25或图5的步骤5。通信装置36还设计成接收密钥图像Y(如图2和4的过渡14)、密钥图像Y(如图5的过渡4)或密钥局部图像y”与第二证明单元的两个分量g’与y’(如图3的过渡14)。
根据实施方法型式,计算装置39设计成执行图2或4的步骤15、图3的步骤25或图5的步骤5。众所周知,计算装置39包括微处理器和微程序或上述计算专用的组合电路。
作为过程的改进,上述的计算与通信两个装置都设计成对上述诸步骤重复执行K次,每次第一与第二证明单元不同。
权利要求
1.一种密码法,其中第一实体(A)利用其密钥保持的秘密产生一可被第二实体(B)用与所述密钥关联的公共钥验证的证明,其特征在于包括步骤(5,15),其中至少一个证明单元至少部分地通过对不允许所述密钥被恢复的数据项作公开数字处理而产生。
2.如权利要求1所述的密码法,其特征在于包括第一步骤(1、9、20)第一实体(A)利用其第一随机数保持的秘密产生第一证明单元;第二步骤(11、23)结合第一证明单元产生一个或多个所谓的公约数,使第一实体(A)与第二实体(B)都知道所述的公约数;第三步骤(13、24)第一实体(A)通过把至少第一密钥整数与第一随机数和至少一个所述公约数组合起来,产生所述密钥的图像;第四步骤(5、15)通过对所述密钥图像应用任一实体(C)可执行的公开数字处理操作,产生第二证明单元,使第二实体(B)通过对第二证明单元应用所述公共钥第一部分而对至少一个所述公约数应用至少所述公共钥第二部分,来验证第一与第二证明单元的匹配。
3.如权利要求2所述的密码法,其特征在于在第一步骤(1、9、20)中,第一实体(A)产生和第一随机数r,它比包含在第一实体(A)的密钥保持的秘密里的任一第一整数s大得多,而且第一实体(A)产生使第一整数G自乘到幂模n后得到的第一证明单元,所述第一整数G可以或可以不包含在所述保持的秘密里,其指数为第一随机数r;在第三步骤(13、24)中,第一实体(A)通过线性组合第一随机数r和至少第一密钥整数s而产生所述密钥的图像y,所述线性组合的至少一个乘法系数是所述公约数或所述公约数之一;在第四步骤(5,15)中,产生的第二证明单元y为第二整数g的幂模n,g可以或可以不包含在所述公共钥里,其指数是密钥图像Y,第二整数g使第一整数G为第二整数g的幂模n,指数第三整数e可以或可以不包含在所述公共钥里。
4.如权利要求3所述的密码法,其特征在于,在第四步骤中,把第二证明单元Y送到第二实体(B),而且包括第五步骤(8、17、22),其中第二实体(B)验明第一证明单元匹配于第二证明单元y的幂(指数为第三整数)与包含在所述公共钥里的第四整数V的幂(指数为所述公约数c)的乘积模n。
5.如权利要求2~4之一所述的密码法,其特征在于,第四步骤(5,15)由第一实体(A)以外接收来自第一实体(A)的密钥图像的任一实体(c)执行。
6.如权利要求2~4之一所述的密码法,其特征在于,第四步骤(15)由第一实体(A)执行。
7.如权利要求2~4之一所述的密码法,其特征在于第四步骤包括第一分步骤(1,9,20)第一实体(A)把图像Y分解为第一分第二局部图像y’与y”,前者由代表图像Y的数据字的u个低位表示,后者由所述数据字的剩余高位表示,而且第一实体(A)产生第二证明单元的第一分量y’与第二分量g’,所述分量使y1=gy1模ng1=g2u模n而且在分步骤中,第一实体(A)向中间实体(C)发送第一分量y1、第二分量g1和第二局部图像y11;第二分步骤25中间实体(C)通过把第一分量y1与指数为第二局部图像y11的第二分量g1的幂相乘而产生第二证明单元y,而且中间实体(c)还向第一实体(B)发送第二证明单元y。
8.如权利要求2~7之一所述的密码法,其特征在于,第二步骤(11)由第二实体(B)执行,第二实体(B)在安全间隔内对接收自第一实体(A)的第一证明单元选择至少一个公约数,并把所述公约数发给第一实体(A)。
9.如权利要求2~7之一所述的密码法,其特征在于,第二步骤(23)由第一实体(A)执行,第一实体(A)根据第一证明单元和带一个公约数的数字消息M产生至少该公约数。
10.如权利要求4所述的密码法,其特征在于,在第五步骤(17)中,当第一证明单元等于指数为第三整数e的第二证明单元y的幂与包含在所述公共钥里指数为所述公约数c的第四整数V的幂的乘积模n时,验证为匹配。
11.如权利要求4所述的密码法,其特征在于,在第五步骤(22)中,当第一证明单元为带第一证明单元的数字消息M和指数为第三整数e的第二证明单元y的幂与包含在所述公共钥里指数为所述公约数c的第四整数V的幂的乘积模n的函数时,验证为匹配。
12.如权利要求4所述的密码法,其特征在于,在第五步骤(8)中,当公约数数字消息M和指数为第三整数e的第二证明单元y的幂与包含在所述公共钥里指数为所述公约数c的第四整数V的幂的乘积模n的函数时,验证为匹配。
13.如权利要求3所述的密码法,其特征在于,第一证明单元等于可以或可以不包含在所述公共钥里指数为第一随机数r的第一整数G的幂模n。
14.如权利要求13所述的密码法,其特征在于,第一整数G和第四公共钥整数V分别为G=ge模nV=G-s模n且等式由下式验证x=yevc模n
15.如权利要求13所述的密码法,其特征在于,第四公共钥整数V由下列公式给出G=ge模nV=Gs模n且等式由下式验证Ye=VcX模n
16.如权利要求13所述的密码法,其特征在于,第一公共钥整数G和第四公共钥整数V分别为G=g-e模nV=G-s模n且等式由下式验证Yex=Ve模n
17.如权利要求13所述的密码法,其特征在于,在第二步骤中,对第一证明单元x产生两个公约数a和b;在第三步骤中,线性组合公式为y=ar+bs在第五步骤中,由下式验证匹配yevb=xa模n
18.如权利要求13所述的密码法,其特征在于,当密钥包括若干秘密数s1、s2等时在第二步骤,对第一证明单元x产生多个公约数c1、c2等;在第三步骤,线性组合公式为y=r+c1.s1+c2.s2+……;在第五步骤,通过下列等式用多个第四公共钥整数v1、v2等验证匹配yevc1v2c2等=x模n
19.如权利要求13所述的密码法,其特征在于,当公共钥特地包括可从第一实体(A)知道其质数的模n时,用所谓的孙子余数技术加速第一步骤。
20.如权利要求2所述的密码法,其特征在于,公共钥包括至少一个预先计算的第一证明单元x值,使本方法在第二二步骤开始。
21.如权利要求20所述的密码法,其特征在于,公共钥包括量为K个预先计算的第一证明单元x值,第二到第五步骤的执行迭代K次,每次迭代用不同的第一证明单元值。
22.如权利要求2所述的密码法,其特征在于,第一证明单元为可以或可以不包含在所述公共钥里指数为第一随机数r的第一整数G幂模n的函数,并对该函数的结果验证第五步骤。
23.一种备有密钥保持的秘密并防止任何侵入的证人设备(30),用于产生一证明,该证明用与所述密钥关联的公共钥验证,使它能保证设备(30)为所述证明的起源,其特征在于它包括计算装置(37),设计成根据设备(30)里第一随机数保持的秘密产生第一证明单元,并以某一方式把至少第一密钥整数与第一随机数和至少若干与第一证明单元关联的公约数之一组合起来,产生所述密钥的图像,从而能通过对所述密钥图像作公开数字处理操作而产生第二证明单元,使它能通过对第二证明单元应用所述公共钥第一部分,对至少一个所述公约数应用至少所述公共钥第二部分,来验证第一与第二证明单元的匹配;通信装置(34),设计成发送至少所述的第一证明单元。
24.如权利要求23所述的证人设备(30),其特征在于一方面把计算装置(37)设计成产生第一随机数r,它比包含在密钥保持的秘密里的任一第一整数s大得多,并通过使可以或可以不包含在所述公共钥里的第一整数G自乘到幂模n(指数为第一随机数r),产生第一证明单元;另一方面把计算装置(37)设计成通过线性组合第一随机数r与至少第一密钥整数s而产生所述密钥图像y,所述线性组合的至少一个乘法系数是所述公约数或所述公约数之一。
25.如权利要求23或24所述的证人设备(30),其特征在于,通信装置(34)设计成在发射了第一证明单元后接收所述公约数。
26.如权利要求23~25之一所述的证人设备(30),其特征在于,通信装置(34)设计成发送密钥图像。
27.如权利要求23~25之一所述的证人设备(30),其特征在于,计算装置(37)设计成产生第二证明单元。
28.如权利要求24~25之一所述的证人设备(30),其特征在于计算装置(37)设计成把图像y分解成第一与第二局部图像y1与y11,前者由代表图像Y的数据字中u个低位表示,后者由所述数据字的剩余高位表示,并且产生第二证明单元的第一分量y1与第二分量g1,所述分量为y1=gy1模ng1=g2u模n式中g是第二整数,因而第一公共钥整数G是第二整数g的幂模n,指数为包含在所述公共钥里的第三整数e;通信装置(34)设计成发送第一分量y1、第二分量g1与第二局部图像y11。
29.如权利要求23或24所述的证人设备(30),其特征在于,计算装置(37)设计成根据第一证明单元与带一公约数的数字消息M,产生至少所述公约数。
30.如权利要求23所述的证人设备(30),其特征在于,计算装置(37)设计成通过使第一整数G自乘到幂模n而产生第一证明单元,第一整数G可以或可以不包含在所述公共钥里,其指数为第一随机数r。
31.如权利要求30所述的证人设备(30)。其特征在于,第一公共钥整数G和第四公共钥整数V分别为G=ge模nV=G-s模n
32.如权利要求30所述的证人设备(30),其特征在于,第一公共钥整数G与第四公共钥整数V分别为G=ge模nV=Gs模n
33.如权利要求30所述的证人设备(30),其特征在于,第一公共钥整数G与第四公共钥整数V分别为G=g-e模nV=G-s模n
34.如权利要求30所述的证人设备(30),其特征在于,计算装置设计成按下式线性组合两个公约数a与b而产生密钥图像yy=ar+bs
35.如权利要求30所述的证人设备(30)其特征在于,当密钥包括若干秘密数31、32等时计算装置(37)设计成产生多个与第一证明单元x关联的公约数c1、c2等;计算装置(37)设计成按下式线性组合而产生密钥图像y=r+c1.s1+c2.s2+……
36.如权利要求24所述的证人设备(30),其特征在于,当公共钥特地包括其质数是证人设备中保持的秘密的模n时,计算装置(37)设计成用所谓的孙子余数技术计算乘幂。
37.如权利要求23所述的证人设备(30),其特征在于,当公共钥包括量为K个预先计算的第一证明单元x值时,计算装置(37)设计成迭代K次,每次迭代用不同的第一证明单元值。
38.如权利要求23所述的证人设备(30),其特征在于,第一证明单元为第一整数G幂数n的函数f,第一整数G可以或可以不包含在所述公共钥里,其指数为第一随机数r。
39.一种用与密钥关联的公共钥验证备有证人设备的所述密钥保持的秘密的证人设备所发出证明的验证人设备(31),其特征在于它包括通信装置(35),设计成接收第一证明单元与第二证明单元;计算装置(38),设计成验证第一与第二证明单元的匹配,方法是对第二证明单元应用所述公共钥的第一部分,对若干与第一证明单元关联地产生的公约数中至少一个应用所述公共钥的至少第二部分。
40.如权利要求39所述的验证人设备(31),其特征在于,计算装置(38)设计成验证第一证明单元匹配于指数为第三整数e的第二证明单元Y的幂与指数为所述公约数c的第四整数V的幂的乘积模n,第三与第四整数均包含在所述公共钥里。
41.如权利要求39或40所述的验证人设备(31),其特征在于,计算装置(38)设计成在接收第一证明单元后的安全间隔内选择至少一个公约数,而通信装置(35)设计成发送所述公约数。
42.如权利要求40所述的验证人设备(31),其特征在于,计算装置(38)设计成在第一证明单元x等于指数为第三整数e的第二证明单元y的幂与包含在所述公共钥里指数为所述公约数c的第四整数V的幂的乘积模n时,宣布匹配被验证。
43.如权利要求40所述的验证人设备(31),其特征在于,计算装置(38)设计成在第一证明单元为带第一证明单元的数字消息M和第二证明单元y的幂(指数是第三整数e)与包含在所述公共钥里指数为所述公约数c的第四整数V的幂的乘积模n的函数时,宣布匹配被证实。
44.如权利要求40所述的验证人设备(31),其特征在于,计算装置(38)设计成在公约数为数字消息M与指数为第三整数e的第二证明单元y幂与包含在所述公共钥里指数为所述公约数c的第四整数V幂的乘积模n的函数时,宣布匹配被证实。
45.如权利要求42所述的验证人设备(31),其特征在于,该等式由下式验证x=yevc模n
46.如权利要求42所述的验证人设备(31),其特征在于,该等式由下式验证Ye=Vcx模n
47.如权利要求42所述的验证人设备(31),其特征在于,该等式由下式验证Yex=vc模n
48.如权利要求42所述的验证人设备(31),其特征在于,匹配由下式验证YeVb=xa模n
49.如权利要求41所述的验证人设备(31),其特征在于,当密钥包括若干的秘密数s1、s2等时计算装置(38)设计成对第一证明单元x选择多个公约数c1、c2等;计算装置(38)设计成用多个第四公共钥整数v1、v2等按下式验证匹配Yev1c2v2c2等=x模n
50.如权利要求39所述的验证人设备(31),其特征在于,计算装置(38)在存储器中包括至少一个预先计算的作为公共钥组成部分的第一证明单元x的值。
51.如权利要求50所述的验证人设备(31),其特征在于,计算装置(38)在存储器中包括量为K个预先计算的第一证明单元x的值,通信装置设计成接收K个第二证明单元,计算装置(38)设计成验证收到的各第二证明单元与一不同的第一证明单元值的匹配。
52.如权利要求40所述的验证人设备(31),其特征在于,当第一证明单元为可以或可以不包含在所述公共钥里指数为第一随机数r的第一整数G的幂模n的函数时,计算装置(38)设计成验证该函数结果。
53.一种位于证人设备下游根据证人设备的密钥保持的秘密产生证明的中间设备(32),所述证明可用与所述密钥关联的公共钥验证,其特征在于,它包括对所述密钥图像作公开数字处理而产生至少一个证明单元的计算装置(39),所述密钥图像不让所述密钥被恢复。
54.如权利要求53所述的中间设备(32),其特征在于,它包括设计成接收所述密钥图像Y的通信装置(36)。
55.如权利要求54所述的中间设备(32),其特征在于,计算装置(39)设计成通过使第二整数g自乘至幂模n而产生第二证明单元Y,第二整数g包含在所述公共钥里,其指数为密钥图像Y。
56.如权利要求53所述的中间设备(32),其特征在于,它包括设计成接收密钥第一局部图像y1、第二证明单元的第一分量y1与第二分量g1的通信装置(36),计算装置(39)设计成通过把第一分量y1乘上指数为第二局部图像y11的第二分量g1的幂而产生第二证明单元y。
57.如权利要求55或56所述的中间设备(32),其特征在于,通信装置(36)设计成向验证人设备发送第二证明单元y。
全文摘要
本发明涉及一密码法,第二实体(B)运用一公共钥以验证第一实体(A)提供的证明。第一实体(A)包括产生第一随机数r,它比包含在第一实体(A)的密钥保持的秘密里的任一第一整数大得多。第一实体(A)产生由第一整数G的模n乘幂得到的第一证明单元,G包含或不包含在所述公共钥里,其指数为第一随机数r。结合第一证明单元产生所谓的公约数,使第二实体(B)和第一实体(A)都知道该公约数。第一实体(A)通过线性组合第一随机数r与至少第一密钥整数s,产生所述密钥的图像y。至少一个线性组合的乘法系数是所述公约数。任一实体产生等于第二整数G幂模n的第二证明单元y,G包含或不包含在所述密钥里,其指数为所述公约数的图像y,并把第二证明单元y送到第一实体(A)。第二实体(B)验证第一证明单元是否符合指数为第三整数e的第二证明单元y的幂与包含在所述公共钥里指数为所述公约数c的第四整数v的幂的乘积模n。
文档编号G09C1/00GK1618200SQ02827791
公开日2005年5月18日 申请日期2002年12月16日 优先权日2001年12月21日
发明者M·吉劳尔特, J·-J·硅斯块特 申请人:法国电信局, 里兹克·马特
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1