CN1065055C - 用一个检验者鉴别至少一个受验者的方法 - Google Patents

用一个检验者鉴别至少一个受验者的方法 Download PDF

Info

Publication number
CN1065055C
CN1065055C CN94113492XA CN94113492A CN1065055C CN 1065055 C CN1065055 C CN 1065055C CN 94113492X A CN94113492X A CN 94113492XA CN 94113492 A CN94113492 A CN 94113492A CN 1065055 C CN1065055 C CN 1065055C
Authority
CN
China
Prior art keywords
proofer
subject
vector
accordance
random
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
CN94113492XA
Other languages
English (en)
Other versions
CN1120209A (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.)
Individual
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Publication of CN1120209A publication Critical patent/CN1120209A/zh
Application granted granted Critical
Publication of CN1065055C publication Critical patent/CN1065055C/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Abstract

本发明涉及用一个检验者去鉴别至少一个受验者的一种方法,该鉴别方法基于公开与秘密密匙密码技术,并利用零认识协议。此外,本协议是通过求解约束线性方程组问题建立的。本发明可用于密码技术。

Description

用一个检验者鉴别至少一个受验者的方法
本发明涉及用一台检验设备去鉴别至少一台识别设备的一种方法,本鉴别方法利用一种基于约束线性方程组(CLE)问题的零认识的协议。
CLE问题在于找出一些值,这些值满足一定数目的与某一素数d同余的线性方程组,此外,这些值又为一个规定集合X的成员。
本发明特别适用于所谓“受保护的”或“安全的”通信,其中两台设备,一台识别设备(通常称作受验者)与一台检验设备(通常的称作检验者),在一条其安全没有保证的信道上交换数据。在这种情况中,互相识别的手段是必不可少的。换言之,在给予一位用户访问数据或服务之前,必须使一位检验者能够鉴别该用户的身份。在许多情况下都需要这种受保护的通信手段。这类例子有传输金融业务的银行计算机、自动提款机、收费电视解码器及公用电话等。
对于这些应用,常用的鉴别方案是基于秘密密匙加密方法的。直到目前为止,这一直是可资利用的最简单的技术。在这些实例中,受验者(通常是一张潇洒卡(SMART-CARD))检验者(诸如读卡机,解码器或公用电话)共用同一个秘密密匙。其鉴别是用一种对称算法或一个单向运算函数完成的。
这些方法的缺点是双方(受验者与检验者)必须互相合作且对外保密。这一条件并不是永远可以验证的。例如,由于秘密密匙是在通信线路的两端,即在受验者与检验者之中存在的,因此伪造者可以购置其检验设备并分析它,以了解其内部操作并随后制造高性能的设备。
众所周知,迄今为止的用于克服已有传统方法缺点的方法中,零认识协议能提供最高的安全级。这些零认识协议的功能性特征在于下述事实:即使与检验者进行无数笔交易且对这一检验者本身进行全面分析,也不足以复制该设备。在以下Fiat等人的名义申请的美国专利4748668及以Shamir的名义申请的美国专利4932056中,值得注意地公布了零认识证明的描述。在后一专利中描述了一种基于所谓置换核心问题的称为“PKP”的鉴别方案。
本发明人研制了一种基于出错位组译码问题的新鉴别方案。这一问题在由Jacgues Stern在CRYPTO93会议上提出的名为“基于出错位组译码的一种新鉴别方案”的论文之中描述(该会议的报告集将在“计算机科学演讲笔记”中发表)。上述各种方法的缺点是受验者与检验者之间的信息交换较慢。此外,用在这些方法中的公开或秘密密匙通常是用非常大的位数编码的,需要可观的处理能力与存储器容量。
因此,本发明之目的在于提出一种使检验者能快速鉴别受验者并能采用中等大小的公开与秘密密匙的新鉴别方法,来克服上述缺点。
本发明之目的还在于采用一种根据秘密与公开密匙的密码技术的、由一个检验者鉴别至少一个受验者的方法,这一鉴别方法是用零认识协议完成的,其中的公开密匙是使用约束线性方程组建立的。这一方法最好包括下述步骤:
--为了启动受验者与检验者之间的对话,要建立一个秘密密匙,该秘密密匙由至少一个其坐标选自一固定集合X的n维矢量S构成;以及建立一个公开密匙,该公开密匙包括一个其系数随机地选自0至d-1整数值的m×n维矩阵m,其中d为接近一个数C的平方的素数;以及包括至少一个矢量P,使P=g(M(S)),其中g为一个由集合X及整数集合(1,2,…,d-1)的子群G所定义的函数,并且该函数将G的元素g(x)与矢量P的各坐标x联系起来,使得x被唯一地描述为g(x)与X的元素k(x)的积;
--受验者接收由检验者生成的一或多个随机数,然后将一个密码散列函数作用在是S、M与这些随机数的函数的参数上,把用这种方法得出的提交(commitment)返加给检证者;
--根据检验者所选择的随机数,检验者用接收的值与公开密匙检验该提交是否正确;
--根据所需的安全级,重复上述操作若干次。
在上述鉴别方案中,我们都使用一个所有用户公用的但随机地构造的m×n矩阵m。每一位用户收到一个其坐标选自一个固定集合X的n位字的秘密密匙S。这一集合X中包含c个元素,使得从1至d-1的所有整数都能被唯一地描述成G的一个元素与X的一个元素的积。在该情况下,该系统计算公开密匙P,使P=g(M(S))。
此外,该鉴别过程主要基于提交(commitment)的技术概念,如果U是二进制元素的一个序列,则U的提交是通过一个给定的密码散列函数生成的U的象。该提交将被用作一个单向函数,换言之,它是通过公布一个用以建立它的原始序列而公开的。散列函数本身可用诸如R.Rivest在CRYPTO90会议上所描述的“MD4”法得出(CPYPTO90报告集,计算机科学演讲笔记集,303-311页)。我们也可使用按照名为“MD5”的方法这一方法的、或者美国标准SHA(安全散列标准,联邦信息处理标准刊物,1992年10月30日提出)的变形。最后,也可以采用诸如DES(数据加密标准)的加密算法来代替散列函数,其中待散列的报文扮演密匙和/或要编码的明文的角色。但是我们建议迭代这种散列,使散列的压缩结果好具有128位。
受验者也采用一个随机排列发生器来置换二进制矢量。这种发生器可由一个数字化的白噪声源制成,例如由所谓的“肘弯”区中的一个反向极化的二极管制成,也可利用Gunter的美国专利4、817、147、或Aragon的4、649、419中所描述的软件方法来制成。
按照以本发明为基础的鉴别过程的第一实施例,在全部各种过程分有的第一步骤中,受验者均将其身份和/或签有其名的公开密匙透露给检验者,然后:
--在随机选取两个分别为m与n维并由从0至d-1的整数构成的矢量U与V及两个分别为m与n个元素的排列p与q之后,受验者计算那些通过散列函数H生成的提交h1、h2与h3,并将它们发送给检验者:
h1=H(p,q,MU+P*V)
h2=H(U,p,V·q)
h3=H((U+S).p,(V-T).q)
其中P*V表示与d同余的矢量P与V的分量的逐项积;而T则为矢量K(M(S)),它能被受验者作为S的一个函数计算出来,或者存储在该设备的存储器的一个物理上不可访问的部分中。
--检验者随机选择一个数字“b”,使0<b<4,并将它发送给受验者;
--受验者随即返回一个如下定义的答复r:
·如果b=1,则r由值p,q,U与V构成;
·如果b=2,则r由p,q,及矢量U’=(U+S)与V’=(V-T)构成;
·如果b=3,则r由矢量U.p,V.q,U″=(U+S).p及V″=(V-T).q构成;
--检验者接收答复r,并进行如下步骤:
·如果b=1,它便从接收到的元素(p,q,U与V)中计算值MU+P*V与V.p,如果答复正确的话,它们必定使:
h1=H(p,q,MU+P*V)
h2=H(U.p,V.q)
·如果b=2,它便从接收到的元素(p,q,及矢量U′与V′)中计算值MU′+P*V′,U′.p与V′.g,如果答复正确的话,它们必定使:
h1=H(p,q,MU′+P*V)
h3=H(U′.p,V′.q);
如果b=3,它便验证下式是否成立:
h2=H(U.p,V.q)
h3=H(U″,V″)
并且检验者还计算两个矢量U″-U.p及V″-V.q,并检验它们是否只由X的元素组成。
在按照本发明的鉴别过程的另一个优选实施例中,在所有各种过程公有的第一步骤中,受验者将其身份和/或其签名的公开密匙透露给检验者,然后:
--在随机选择两个分别为m与n维并由从0至d-1的整数构成的矢量U与V,及两个分别为m与n个元素的排列之后,受验者计算那些通过散列函数H生成的提交h1与h2,并将它们发送给检验者:
h1=H(p,q,MU+P*V)
h2=H(U.p,V.q)
其中P*V表示与d同余的矢量P与V的分量的逐项积;
--检验者从0至d-1中随机选择一个数“a”,并将其发送给受验者;
--然后,受验者计算下列矢量,并将它们发送给检验者:
Y=(aS+U).p
Z=(aT-V).q
其中T为矢量k(M(S)),受验者能将它作为S的函数计算出来,或将它存储在该设备的存储器的一个物理上不能访问部分中。
--检验者随机选择一位“b”(=0或1),并将它送至受验者:
--然后,受验者返回一个如下定义的答复r:
·如果b=0,则r由值p与q构成,
·如果b=1,则r由矢量U’=S.p与V’=Tq构成;
--检验者接收答复r并进行如下步骤:
·如果b=0,它便从接收到的元素(p,q)中计算矢量Y’与Z;使(Y)·p=Y及(Z’)·q=Z,然后计算矢量M(Y’)-P*Z’,如果答复是正确的,它必定使:
h1=H(p,q,M(Y’)-P*Z’);
·如果b=1,检验者计算矢量Y-aU’与aV’-Z,如果答复是正确的,它们必定使:h2=H(Y-aU′,aV′-Z);
并且检验者还检验矢量U’与V’是否只包含X的元素。
在下面参照附图作为非限制性实例所取的两个较佳实施例的描述中,本发明的其它特征与优点将是显而易见的。
图1是说明按照本发明的鉴别过程的第一实施例的图;
图2是说明按照本发明的鉴别过程的第二实施例的图。
本发明涉及利用零认识协议的一种新的鉴别方案。在这种情况下,过程的安全性是基于约束线性组(CLE)问题的。CLE问题在于找出n个值,这些值满足与一个素数d同余的一定数目的线性方程组,且又为一个规定集合X的成员。如果变量的数目是大的,则此问题非常难于用已知的计算方法求解。这里所描述的系统实际上对应于n+m个变量的m个方程的情况,其中m=n=20,这是极大地超出当今计算机能力的一种情况。
为了实现按照本发明的鉴别方案,有关当局选择并公布一个m×n维的矩阵M,其中最好m=n。这一矩阵包含一些从整数0至d-1中随机选出的系数,其中d通常为接近一个数c的平方的一个素数。最好d=267,即等于(16×16)+1。当局还选择n维矢量S的一个集合,其坐标是从一个集合X中随机选择的。该集合X是作为一个集合G的函数确定的,集合G是由与D同余的一个数的逐次幂级数构成的一个乘法群,这一集合被选择成使集合G中的元素个数为c。在这种情况下,便存在着一个也由c个元素构成的集合X,并且1与d-1之间的所有整数都可唯一地定义为,集合G中的一个元素与集合X中的一个元素的积。因此我们用g(u)来表示涉及在1与d-1之间的一个整数u的唯一分解的G的元素,并用k(u)表示X的对应元素。如果U是由1至d-1的整数组成的一个矢量,则g(u)是通过G由U的坐标的映象构成的,而k(u)也是类似地定义的。
将以这一方法所确定的秘密密匙分配给各受验者。此外,公布由矢量P=g(M(S))构成的所有公开密匙。在本发明的范围内,这一公开密匙与秘密密匙一样,可利用一张G与X的元素的表,只用少数字节编码。这样,如果d=257并且m=n=20,我们就得到10字节的密匙,这是本发明超过其它已知的零认识协议的一个优点。
下面描述为按照本发明的鉴别方案所特有的两个实施例。
第一过程参照图1描述,其中示意性地示出为了执行鉴别而用在受验者与检验者之间的通信协议。诸如潇洒卡或电子钥匙之类形式的受验者必须是物理上不可访问的。例如,在潇洒卡的情况下,必须是不能读取其内存的。另一方面,对检验者的工作环境不能施加任何要求。再者,受验者在其非易失性存储器中有其秘密密匙S,这就是n维的矢量S及m×n维的矩阵M;而检验者在其非易失性存储器中有用矢量P构成的所有公开密匙,或者有足够的数据来鉴别一个签名密匙P是否已由一个授权的当局产生。当受验者愿意与检验者通信时,这两个设备执行下述协议:
--首先,受验者向检验者透露其身份与/或签有其名的密匙;检验者确认其身份和P相符合;
--接着,受验者随机选择两个分别为m与n维的由0至d-1的整数构成的矢量U与V,其中最好m=n;加上两个分别为m与n个元素的随机排列p与q。然后,受验者计算下列提交并将它们送到检验者:
h1=H(p,q,MU+P*V)
h2=H(U.p,V.q)
h3=〔(U+S).p,(V-T).q〕
其中P*V指定与d同余的矢量P与V的分量的逐项积,而T为矢量k(M(S));
--检验者选择一个随机数“b”,使0<b<4,并将它送至验者;
--受验者将如下定义的一个答复r送给检验者:
·如果b=1,则r包含值p,q,U与V;
·如果b=2,则r包含p,q,及矢量U’=(U+S)与V’=(V-T);
·如果b=3,则r包含矢量U,p,V,q,V”=(U+S).p与V”=(V-T);---检验者接收答复r并进行如下步骤:
·如果b=1,它从所接收的元素(p,q,U与V)中计算MU+P*V,U·p与V.q的值;
如果答复是正确的,这些值应使:
h1=H(p,q,M+P*V)
h2=H(U.p,V,q)
·如果b=2,它从所接收的元素(p,q,与矢量U’及V’)中计算MU’+P*V’,U’·p与V’.q的值,如果答复正确,它们应使:
h1=H(p.q,MU′+P*V′)
h3=H(U′.p,V′.q)
·如果b=3,它验证下式是否成立:
h2=H(U.p,V.q)
h3=H(U″,V″)
并且检验者还计算两个矢量U″-U.p及V.q-S″,并检验它们是否只由X的元素构成。
如果上述测试全部成功,检验者便认为鉴别协议已成功地结束,并将一个控制信号发送到受保护系统的输入/输出接口,以启动一次业务;否则拒绝受验者
如果需要更高级别的安全性,检验者可重复上述步骤t遍。
在图1中概括了上述操作,其中左侧示出由受验者执行的操作,而右侧则为检验者执行的操作。
下面参照图2描述按照本发明的鉴别方案的另一个实施例。
第二实施例要求比前面一个作更多的计算,但更快地降低非法穿透该受保护系统的概率。这一实施例包含下述步骤,这些步骤概括在用与图1相同方式表示的图2中:
--首先,受验者向检验者透露其身份和/或其签名的密匙,象第一实施例一样;
--接着,受验者随机选择两个分别为m与n维(m可以等于n)的由0至d-1的整数构成的矢量U与V,加上两个分别为m与n个元素的随机排列p与q。然后受验者计算下述提交,并将它们送至检验者:
h1=H(p,q,MU+P*V)
h2=H(U.p,V.q)
其中P*V指定与d同余的矢量P与V的分量的逐项积,并且H为一个加密散列函数。
--检验者从0至d-1中选择一个随机数“a”,并将其送给受验者。
--受验者计算下列矢量,并将它们送至检验者:
Y=(aS+U).p
Z=(aT-V).q
其中T为矢量k(M(S)),它能被受验者作为S的一个函数计算出来,或者存储在该设备的存储器的一个物理上不可访问的部分中;
--检验者随机选择一位“b”(=0,1),并将其送至受验者;
--受验者返回如下定义的一个答复r:
·如果b=0,则r包含值p与q,
·如果b=1,则r包含矢量U’=S.p与V’=Tq;
--检验者接收答复r,并进行如下步骤:
·如果b=0,它从所接收的元素(p.q)中计算矢量Y’与Z’,使(Y’).p=Y及(Z’).q=Z,然后计算矢量M(Y’)-P*Z’,
如果答复正确,则矢量应使:
h1=H(p,q,M(Y’)-P*Z’);
·如果b=1,检验者计算矢量Y-aU’及aV’-Z,
如果答复正确,则该两个矢量应使:
h2=H(Y-aU’,aV’-Z);
并且检验者还检验矢量U’与V’,是否只包含X的元素。
如果关于b的测试是成功的,检验者便认为已成功地结束鉴别协议,并将一个控制信号送至受保护系统的输入/输出接口,以启动一次业务;否则拒绝受验者。
为了提高安全级别,受验者与检验者可重复上述步骤t遍,在这样的情况下,只有当所有遍数的测试都成功时才认为鉴别协议是成功的。最好的选择t使0<t<60。对于上述第一与第二实施例,值t=35与t=20分别在许多应用中提供满意的安全级别。
上述两个实施例不是限制性的,它们可用若干方法修正而仍保持在本发明的范围中。

Claims (12)

1、一种用于检验者根据使用秘密与公开密匙的密码技术去鉴别至少一个受验者的方法,本鉴定方法用一种零认识协议达到,其中的公开密钥是应用约束线性方程组建立的。
2、按照权利要求1所述的方法,包括下述步骤:
①为了启动一次受验者与检验者之间的对话,建立一个秘密密匙,它包含至少一个n维的其坐标选自一个固定集合X的矢量S;以及建立一个公开密匙,它包括含一个m×n维的其系数为随机选自0至d-1的整数值的矩阵M,其中d为接近一个数c的平方的一个素数;以及包含至少一个矢量P,使P=g(M(S)),其中g为一个由一集合X与整数(1,2,…d-1)集合的子群G所定义的函数,并且g将G的元素g(x)与矢量P的各坐标x相关联,使得x被唯一地描述成g(x)与X的元素k(x)的积;
②受验者接收由检验者生成的一个或多个随机数,然后向检验者返回一个提交,该提交是通过将一个密码散列函数作用在随S、M与该随机数而变的参数上而得出的;
③依据由检验者选择的随机数,检验者用所接收的值与公开密匙,检验该提交是否正确。
3、按照权利要求2所述的方法,其中重复这些步骤若干遍,以提供较高的安全级别。
4、按照权利要求2所述的方法,其中集合X由c个元素构成,使得从1至d-1的所有整数都能以唯一的方式被定义为G的一个元素与X的一个元素的积。
5、按照权利要求2所述的方法,其中的随机元素是用分别两个为m与n维的由0至d-1的整数组成的矢量,以及用两个分别为m与n个元素的排列p与q构成的。
6、按照权利要求2所述的方法,其中m=n。
7、按照权利要求2所述的方法,其中d=257及n=20。
8、按照权利要求2所述的方法,其中在各鉴别对话开始时,受验者向检验者透露其身份和/或其签名的公开密匙。
9、按照权利要求2所述的方法,其中,在受验者与检验者之间建立了对话并选定了随机元素之后:
①受验者计算通过一个散列函数H生成的提交h1与h2,并将它们发送至检验者:
h1=H(p,q,MU+P*V)
h2=H(U.p,V·q)
其中P*V指示与d同余的矢量P与V的分量的逐项积;
②检验者从0至d-1中随机选择一个数a并将它发送给受验者;
③受验者计算下列矢量并将它们发送给检验者:
Y=(aS+U).p
Z=(aT-V).q
其中T为矢量k(M(S));
④检验者随机选择一位“b”,其中b=0或1,并将它发送给受验者;
⑤受验者返回一个如下定义的答复r:
·如果b=0,则答复r由值p与q构成,
·如果b=1,则答复r由矢量U′=S.p及V′=T.q构成;
⑥检验者接收答复r,并进行如下步骤:
·如果b=0,则它从接收到的元素(p,q)中计算矢量Y’与Z’,使(Y’).p=Y及(Z’).q=Z,然后计算矢量M(Y’)-P*Z’,如果答复是正确的,应使:
h1=H(p,q,M(Y’)-P*Z’);
·如果b=1,则检验者从接收到的元素中计算矢量Y-aU’及aV’-Z,如果答复是正确的,应使:
h2=H(Y-aU’,aV’-Z)
并且检验者还检验矢量U’与V’中是否只包含X的元素。
10、按照权利要求2所述的方法,其中,在建立了受验者与检验者之间的对话,并且选定了随机元素之后:
①受验者计算通过一个散列函数H生成的提交h1、h2与h3,并将它们发送给检验者
h1=H(p,q,MU+P*V)
h2=H(U.p,V,q)
h3=H((U+S).P,(V-T).q)
其中P*V指定与d同余的矢量P与V的分量的逐项积,而T则为矢量k(M(S)),它能被受验者作为S的一个函数计算出来,或存储在受验者存储器的一个物理上不可访问的部分中;
②检验者随机选择一个数“b”,使0<b<4,并将其发送给受验者;
③受验者返回一个如下定义的答复r:
·如果b=1,则r由值p,q,U与V构成;
·如果b=2,则r由值p,q及矢量U′=(U+S)与V′=(V-T)构成;
·如果b=3,则r由值矢量U.p,V.q,U″=(U+S).p与V″=(V-T).q构成;
④检验者接收答复r,并进行如下步骤:
·如果b=1,则它从所接收的元素(p,q,U与V)中计算MU+P*V,U.p与V.q的值,如果答复是正确的,它们应使:
h1=H(P,q,MU+P*V)
h2=H(U.p,V,q);
·如果b=2,它从所接收的元素(p,q与矢量U′及V′)中计算MU′+P V′,U′.P与V′q的值,如果答复是正确的,它们应使:
h1=H(p,q,MU′+P*V′)
h3=H(U′.p,V′,q);
·如果b=3,它检验下式是否成立:
h2=H(U.p.V.q)
h3=H(U″,V″);
并且检验者还计算两个矢量U″-U.p及V″-V.q,并检验它们是否只由X的元素构成。
11、按照权利要求8所述的方法,其中鉴别操作的步骤被重复t遍,在此,t随所需的安全级别而增加,只有当所有遍次的测试都成功时,检验者才证实受验者。
12、按照权利要求9所述的方法,其中矢量k(M(S))是由受验者把它作为S的函数计算的,或者是存储在受验者存储器的一个物理上不可访问的部分中。
CN94113492XA 1993-12-30 1994-12-28 用一个检验者鉴别至少一个受验者的方法 Expired - Fee Related CN1065055C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9315879A FR2714780B1 (fr) 1993-12-30 1993-12-30 Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification.
FR9315879 1993-12-30

Publications (2)

Publication Number Publication Date
CN1120209A CN1120209A (zh) 1996-04-10
CN1065055C true CN1065055C (zh) 2001-04-25

Family

ID=9454581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94113492XA Expired - Fee Related CN1065055C (zh) 1993-12-30 1994-12-28 用一个检验者鉴别至少一个受验者的方法

Country Status (10)

Country Link
US (1) US5581615A (zh)
EP (1) EP0661846B1 (zh)
JP (1) JP3966912B2 (zh)
KR (1) KR100346084B1 (zh)
CN (1) CN1065055C (zh)
BR (1) BR9405297A (zh)
DE (1) DE69428769T2 (zh)
ES (1) ES2164694T3 (zh)
FR (1) FR2714780B1 (zh)
MY (1) MY118736A (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011848A (en) * 1994-03-07 2000-01-04 Nippon Telegraph And Telephone Corporation Method and system for message delivery utilizing zero knowledge interactive proof protocol
US5539828A (en) * 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
EP2270687A2 (en) 1995-04-11 2011-01-05 Kinetech, Inc. Identifying data in a data processing system
US5778072A (en) * 1995-07-07 1998-07-07 Sun Microsystems, Inc. System and method to transparently integrate private key operations from a smart card with host-based encryption services
US5757916A (en) * 1995-10-06 1998-05-26 International Series Research, Inc. Method and apparatus for authenticating the location of remote users of networked computing systems
JPH11514752A (ja) * 1995-11-03 1999-12-14 ブランズ,ステファヌス・アルフォンスス 命題論理から充足可能な論理式を証明するための暗号手段
US6320966B1 (en) 1996-10-23 2001-11-20 Stefanus A. Brands Cryptographic methods for demonstrating satisfiable formulas from propositional logic
AUPO799197A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
IL120720A (en) * 1997-04-24 1999-10-28 Israel Atomic Energy Comm Apparatus and method for signing and authenticating digital signatures
RU2153191C2 (ru) 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Способ изготовления вслепую цифровой rsa-подписи и устройство для его реализации (варианты)
RU2157001C2 (ru) 1998-11-25 2000-09-27 Закрытое акционерное общество "Алкорсофт" Способ проведения платежей (варианты)
US7171000B1 (en) 1999-06-10 2007-01-30 Message Secure Corp. Simplified addressing for private communications
AU3668800A (en) * 1999-04-08 2000-11-14 Cleartogo.Com Credit card security technique
US7006999B1 (en) 1999-05-13 2006-02-28 Xerox Corporation Method for enabling privacy and trust in electronic communities
US20020019932A1 (en) * 1999-06-10 2002-02-14 Eng-Whatt Toh Cryptographically secure network
US20020101998A1 (en) * 1999-06-10 2002-08-01 Chee-Hong Wong Fast escrow delivery
US6988199B2 (en) 2000-07-07 2006-01-17 Message Secure Secure and reliable document delivery
FR2810481B1 (fr) * 2000-06-20 2003-04-04 Gemplus Card Int Controle d'acces a un moyen de traitement de donnees
US7251728B2 (en) 2000-07-07 2007-07-31 Message Secure Corporation Secure and reliable document delivery using routing lists
US20020048372A1 (en) * 2000-10-19 2002-04-25 Eng-Whatt Toh Universal signature object for digital data
JP4284867B2 (ja) * 2001-01-18 2009-06-24 株式会社日立製作所 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法
GB2372414A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Timed-release cryptography
FR2822002B1 (fr) * 2001-03-12 2003-06-06 France Telecom Authentification cryptographique par modules ephemeres
US7110858B2 (en) * 2001-04-09 2006-09-19 Koninklijke Philips Electronics N.V. Object identification uses prediction of data in distributed network
US20030016819A1 (en) * 2001-07-20 2003-01-23 Lebin Cheng Secure socket layer (SSL) load generation with handshake replay
EP1293856A1 (fr) * 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US20040193923A1 (en) * 2003-01-16 2004-09-30 Hammond Frank J. Systems and methods for enterprise security with collaborative peer to peer architecture
US7444512B2 (en) * 2003-04-11 2008-10-28 Intel Corporation Establishing trust without revealing identity
US7184751B1 (en) 2003-08-29 2007-02-27 Davis Samuel D System for detecting, tracking, and translating changing identification codes
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
JP2008512060A (ja) * 2004-08-27 2008-04-17 株式会社エヌ・ティ・ティ・ドコモ 仮署名スキーム
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US7363492B2 (en) * 2005-02-25 2008-04-22 Motorola, Inc. Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices
CN1688122A (zh) * 2005-04-14 2005-10-26 慈孟夫 基于几何认证的密钥等动态分配管理方法
JP4940592B2 (ja) * 2005-08-11 2012-05-30 日本電気株式会社 否認可能零知識対話証明に適用される証明装置及び検証装置
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US7783041B2 (en) * 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
GB2434472A (en) * 2005-12-01 2007-07-25 Jonathan Geoffrey Milt Craymer Verification using one-time transaction codes
US20100169643A1 (en) * 2006-02-09 2010-07-01 Nec Corporation Proof verification system, proving device, verifying device, proof verification method, and program
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
KR101273465B1 (ko) * 2007-03-16 2013-06-14 재단법인서울대학교산학협력재단 집합 검증 장치 및 그 방법
FR2917920B1 (fr) * 2007-06-22 2009-10-09 Centre Nat Rech Scient Procede d'authentification utilisant un decodage de code correcteur d'erreurs a partir d'une matrice publique
JPWO2010067820A1 (ja) * 2008-12-11 2012-05-24 日本電気株式会社 ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム
CN103678254B (zh) * 2013-12-04 2017-02-08 四川理工学院 基于线性方程组的可验证随机数生成的方法
SG10201701044SA (en) * 2017-02-09 2018-09-27 Huawei Int Pte Ltd System and method for computing private keys for self certified identity based signature schemes
KR101978427B1 (ko) 2017-12-18 2019-08-28 대구대학교 산학협력단 축사시설 배출가스의 악취 및 분진 방제시스템
CN111784337B (zh) * 2019-04-04 2023-08-22 华控清交信息科技(北京)有限公司 权限验证方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748668A (en) * 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
US5218637A (en) * 1987-09-07 1993-06-08 L'etat Francais Represente Par Le Ministre Des Postes, Des Telecommunications Et De L'espace Method of transferring a secret, by the exchange of two certificates between two microcomputers which establish reciprocal authorization
US4926479A (en) * 1988-04-29 1990-05-15 Massachusetts Institute Of Technology Multiprover interactive verification system
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
JP2671649B2 (ja) * 1991-07-08 1997-10-29 三菱電機株式会社 認証方式
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
US5373558A (en) * 1993-05-25 1994-12-13 Chaum; David Desinated-confirmer signature systems

Also Published As

Publication number Publication date
FR2714780A1 (fr) 1995-07-07
CN1120209A (zh) 1996-04-10
MY118736A (en) 2005-01-31
DE69428769T2 (de) 2002-07-11
EP0661846B1 (fr) 2001-10-24
JP3966912B2 (ja) 2007-08-29
KR100346084B1 (ko) 2002-11-30
BR9405297A (pt) 1995-10-03
JPH07235922A (ja) 1995-09-05
ES2164694T3 (es) 2002-03-01
US5581615A (en) 1996-12-03
FR2714780B1 (fr) 1996-01-26
EP0661846A1 (fr) 1995-07-05
KR950022375A (ko) 1995-07-28
DE69428769D1 (de) 2001-11-29

Similar Documents

Publication Publication Date Title
CN1065055C (zh) 用一个检验者鉴别至少一个受验者的方法
US6385318B1 (en) Encrypting method, deciphering method and certifying method
US7656559B2 (en) System and method for generating a signed hardcopy document and authentication thereof
CN1166112C (zh) 单向数据变换装置及机器认证系统
CN1282325C (zh) 能快速解密的密码系统与方法
CN1902853A (zh) 一种公开密钥的可验证生成的方法和设备
CN1122213C (zh) 给对象签名和签章的方法和设备
US5719940A (en) Method for providing information security by exchanging authentication and signing an electronic signature and apparatus therefor
US9385872B2 (en) Reissue of cryptographic credentials
CN101075874A (zh) 认证方法和认证系统
DE59005851D1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem.
CN106530368A (zh) 一种素数域多门限渐进秘密图像分存及重构方法
CN1645442A (zh) 多段签名验证系统、电子签名给与装置、数据追加装置及电子签名验证装置
CN1934823A (zh) 匿名认证方法
CN1729646A (zh) 基于纠错码的消息认证码
CN1735007A (zh) 产生装置鉴别的密钥的方法和设备,装置鉴别方法和设备
CN1719765A (zh) 一种安全可靠的受控授权电子签名方法
CN1425231A (zh) 椭圆曲线上的密码学方法
US6971010B1 (en) Image and video authentication system
CN1268086C (zh) 基于环的签名方案
US6928163B1 (en) Methods, systems and computer program products for generating user-dependent RSA values without storing seeds
CN1737721A (zh) 一种基于椭圆曲线的可控授权电子签名方法
CN1798026A (zh) 一种增强计算机上使用电子签名工具安全性的方法
CN1175613C (zh) 生成防伪认证数据的方法与装置,其认证方法与装置及系统
CN112822011B (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20010425

Termination date: 20121228