CN112385181A - 用于证明公钥的可靠性的装置、方法及程序 - Google Patents

用于证明公钥的可靠性的装置、方法及程序 Download PDF

Info

Publication number
CN112385181A
CN112385181A CN201980045779.XA CN201980045779A CN112385181A CN 112385181 A CN112385181 A CN 112385181A CN 201980045779 A CN201980045779 A CN 201980045779A CN 112385181 A CN112385181 A CN 112385181A
Authority
CN
China
Prior art keywords
public key
key
data
request
certification
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.)
Granted
Application number
CN201980045779.XA
Other languages
English (en)
Other versions
CN112385181B (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.)
BitFlyer Blockchain Inc
Original Assignee
BitFlyer Blockchain Inc
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 BitFlyer Blockchain Inc filed Critical BitFlyer Blockchain Inc
Priority claimed from PCT/JP2019/018834 external-priority patent/WO2019216435A1/ja
Publication of CN112385181A publication Critical patent/CN112385181A/zh
Application granted granted Critical
Publication of CN112385181B publication Critical patent/CN112385181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

证明构成与第一密钥对相关联地生成的第二密钥对的第二公钥的可靠性。生成装置(210)在生成构成第二密钥对的第二公钥ax·g1时,计算并存储作为证明数据的x·H(n)和ax·H(n)(S301)。生成装置(210)将计算出的证明数据提供给接收装置(220)(S302)。接收到证明数据的接收装置(220)向证明装置(230)发送证明请求,请求证明装置(230)证明第二公钥ax·g1是由第一公钥a·g1的所有者生成的(S303)。证明装置230根据证明请求,计算证明数据的验证式,由此验证该证明数据(S304)。然后,证明装置230发送验证结果作为对来自接收装置(220)的证明请求的响应(S305)。

Description

用于证明公钥的可靠性的装置、方法及程序
技术领域
本发明的一个方面涉及用于证明公钥的可靠性的装置、方法以及用于该方法的程序。
背景技术
在因特网上的经济活动扩展的过程中,越来越需要可靠地识别这种活动的主体。
为了确保在因特网上发送的数据的可靠性,大多使用电子证书。电子证书认证与用于对发送的数据进行电子签名的私钥对应的公钥的所有者,由可靠的认证机构颁发。数据的接收者确认电子证书的正当性,并且通过公钥验证电子签名。
发明内容
发明要解决的问题
今后,预计在因特网上进行的交换中要求确实的可靠性的情况会增加,随之,对与用途对应的各种形式的电子认证的需求也会增大。
但是,以当前的认证机构为中心的公钥加密方式不容易灵活应对。
本发明是鉴于这样的问题点而完成的,其第一目的在于提供一种与由可靠的第一私钥和第一公钥构成的第一密钥对相关联地生成由第二私钥和第二公钥构成的第二密钥对的装置、方法以及用于该方法的程序。
本发明的第二目的在于提供一种用于证明构成与第一密钥对相关联地生成的第二密钥对的第二公钥的可靠性的装置、方法以及用于该方法的程序。
此外,本发明的第三目的在于提供一种用于对使用与第一密钥对相关联地生成的第二密钥电子签名进行执行或验证的装置、方法以及用于该方法的程序。
解决问题的技术手段
为了达到这样的目的,本发明的第一方式为一种与由第一私钥和第一公钥所构成的第一密钥对相关联地生成由第二私钥和第二公钥所构成的第二密钥对的方法,该方法的特征在于,将第一私钥设为a,将循环群G的生成元设为g,将第一公钥设为a·g,将第二私钥设为ax,将第二公钥设为ax·g,所述方法包括:决定整数x的步骤;将第一私钥a(a是整数)乘以所述x来计算并存储第二私钥ax的步骤;以及将所述第一公钥a·g乘以所述x或将所述第一私钥a乘以所述x和所述g来计算并存储所述第二公钥ax·g的步骤。
另外,本发明的第2方式为一种与由第一私钥和第一公钥所构成的第一密钥对相关联地生成由第二私钥和第二公钥所构成的第二密钥对的方法,该方法的特征在于,将第一私钥设为a、将循环群G的生成元设为g、将第一公钥设为a·g、将第二私钥设为ax、将第二公钥设为ax·g,所述方法包括:决定整数x的步骤;决定第二私钥ax(ax是整数)的步骤;以及将所述第一公钥a·g(a是整数)乘以所述x,将所述第一私钥a乘以所述x和所述g,或者将所述第二私钥ax乘以所述g以计算并存储所述第二公钥ax·g的步骤。
另外,本发明的第3方式的特征在于,在第1或第2方式中,所述循环群G的元是椭圆曲线的点。
另外,本发明的第4方式的特征在于,在第3方式中,基于所述第一密钥对的签名方式是椭圆曲线DSA。
另外,本发明的第5方式的特征在于,在第1至第4的任一方式中,还包括从计算出所述第二公钥ax·g的第一装置向所述第一装置以外的第二装置发送所述第一公钥a·g的步骤。
另外,本发明的第6方式的特征在于,在第1至第5的任一方式中,还包括从计算出所述第二公钥ax·g的第一装置向所述第一装置以外的第二装置发送所述第二公钥ax·g的步骤。
另外,本发明的第7方式的特征在于,在第1至第5的任一方式中,还包括在生成了所述第二公钥ax·g的第一装置的显示画面上显示所述第二公钥ax·g的步骤。
另外,本发明的第8方式的特征在于,在第1至第7的任一方式中,还包括向生成了所述第二公钥ax·g的第一装置以外的第二装置发送所述第二私钥ax的步骤。
另外,本发明的第9方式的特征在于,在第1至第7的任一方式中,还包括在生成了所述第二公钥ax·g的第一装置的显示画面上显示所述第二私钥ax的步骤。
另外,本发明的第10方式的特征在于,在第1至第7的任一方式中,在生成了所述第二私钥ax·g的第一装置以外的存储介质中存储所述第二私钥ax。
另外,本发明的第11方式的特征在于,在第1至第10的任一方式中,所述x是伪随机数。
另外,本发明的第12方式是一种程序,用于使计算机执行如下方法:与由第一私钥和第一公钥所构成的第一密钥对相关联地生成由第二私钥和第二公钥所构成的第二密钥对,所述程序的特征在于,所述方法将第一私钥设为a,将循环群G的生成元设为g,将第一公钥设为a·g,将第二私钥设为ax,将第二公钥设为ax·g,所述方法包括:决定整数x的步骤;决定第二私钥ax(ax是整数)的步骤;以及将所述第一公钥a·g(a是整数)乘以所述x,将所述第一私钥a乘以所述x和所述g,或者将所述第二私钥ax乘以所述g以计算并存储所述第二公钥ax·g的步骤。
另外,本发明的第13方式是一种用于与由第一私钥和第一公钥所构成的第一密钥对相关联地生成由第二私钥和第二公钥所构成的第二密钥对的装置,其特征在于,将第一私钥设为a,将循环群G的生成元设为g,将第一公钥设为a·g,将第二私钥设为ax,将第二公钥设为ax·g,决定整数x,决定第二私钥ax(ax为整数),将所述第一公钥a·g(a为整数)乘以所述x,将所述第一私钥a乘以所述x和所述g,或者将所述第二私钥ax乘以所述g,以计算并存储所述第二公钥ax·g。
另外,本发明的第14方式是一种用于证明第二公钥的可靠性的方法,该第二公钥构成与由第一私钥和第一公钥所构成的第一密钥对相关联地生成的第二密钥对,该方法的特征在于,将第一私钥设为a,将循环群G1的生成元设为g1,将第一公钥设为a·g1,将第二私钥设为ax,将第二公钥设为ax·g1、H(n1,n2,...nN)(N为1以上的整数)设为哈希函数,该方法包括:接收请求证明所述第二公钥ax·g1的可靠性的证明请求的步骤;根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据的步骤;以及发送所述验证结果作为对所述证明请求的响应的步骤。
[式1]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1)
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1至第N数据的组合向循环群G2的映射,n1为ax·g1
另外,本发明的第15方式的特征在于,在第14方式中,所述N为2以上,n2是表示赋予给所述第二密钥对的属性的数据。
另外,本发明的第16方式的特征在于,在第14或第15方式中,所述证明请求包含所述第二公钥ax·g1
另外,本发明的第17方式的特征在于,在第14或第15方式中,所述证明请求包含所述证明数据。
另外,本发明的第18方式为一种用于使计算机执行用于证明第二公钥的可靠性的方法的程序,所述第二公钥构成与由第一私钥和第一公钥所构成的第一密钥对相关联地生成的第二密钥对,所述方法将第一私钥设为a,将循环群G1的生成元设为g1,将第一公钥设为a·g1,将第二私钥设为ax,将第二公钥设为ax·g1、H(n1,n2,...nN)(N为1以上的整数)设为哈希函数,所述方法包括:接收请求证明所述第二公钥ax·g1的可靠性的证明请求的步骤;根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据的步骤;以及发送所述验证结果作为对所述证明请求的响应的步骤。
[式2]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1)
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1至第N数据的组合向循环群G2的映射,n1为ax·g1
另外,本发明的第19方式是一种用于证明第二公钥的可靠性的装置,该第二公钥构成与由第一私钥和第一公钥所构成的第一密钥对相关联地生成的第二密钥对,该装置的特征在于,将第一私钥设为a,将循环群G1的生成元设为g1,将第一公钥设为a·g1,将第二私钥设为ax,将第二公钥设为ax·g1、H(n1,n2,...nN)(N为1以上的整数)设为哈希函数,接收请求证明所述第二公钥ax·g1的可靠性的证明请求,根据所述证明请求,计算由式(1)表示的验证式,验证包含(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据,发送所述验证结果作为对所述证明请求的响应。
[式3]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1)
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1至第N数据的组合向循环群G2的映射,n1为ax·g1
另外,本发明的第20方式是用于证明与第一标识符相关联地生成的第二标识符的可靠性的方法,其特征在于,将第一常数设为a,将循环群G1的生成元设为g1,将第一标识符设为a·g1,将第二常数设为ax,将第二标识符设为ax·g1,将H(n1,n2,...nN)(N为1以上的整数)设为哈希函数,所述方法包括:接收请求证明所述第二标识符ax·g1的可靠性的证明请求的步骤;根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据的步骤;以及发送所述验证结果作为对所述证明请求的响应的步骤。
[式4]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1)
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1至第N数据的组合向循环群G2的映射,n1为ax·g1
发明的效果
根据本发明的一个方面,通过将第二密钥对定义为能够在数学上证明构成与第一密钥对相关联地生成的第二密钥对的第二公钥是构成第一密钥对的第一公钥的子密钥,由此,能够生成能够进行电子签名的第二密钥对,而不需要认证机构。
附图说明
图1是本发明的第1实施方式的、从第一密钥对生成第二密钥对的方法的流程图。
图2是示出本发明的第2实施方式的、用于证明构成从第一密钥对生成的第二密钥对的第二公钥的可靠性的系统的图。
图3是示出本发明的第2实施方式的、用于证明构成从第一密钥对生成的第二密钥对的第二公钥的可靠性的方法的流程的一例的图。
具体实施方式
以下,参照附图详细说明本发明的实施方式。
(第1实施方式)
图1示出了本发明的第1实施方式的、用于从第一密钥对生成第二密钥对的方法的流程图。密钥对的生成可以在能够执行以下说明的处理的任意装置中进行,作为例示,可以是智能手机、平板等便携设备。在生成第二密钥对时,并不是一定需要与因特网等计算机网络连接。
在该装置中,将G1定义为以g1为生成元的循环群,将G2定义为以g2为生成元的循环群,将GT定义为以gT为生成元的循环群,将映射e定义为从G1×G2到GT的映射,将哈希函数H’(m)定义为从任意的数据m到G2的映射,能够计算映射e和哈希函数H’(m)。此外,假定映射e满足由下式表示的双线性,其中a和b是任意整数。
[式5]
Figure BDA0002887256850000071
生成元g1、g2的位数优选为素数,作为一例,由各生成元生成的循环群G1、G2的元数优选为32字节,即256比特左右以上。这里,用加法记述循环群G1、G2中的运算,例如,将生成元g1重复相加a次的运算记为a·g1,称为“a乘以生成元g1”。另外,像ax那样整数的集合的元彼此的乘法也在本说明书中作为标记使用,但这与循环加法群中的乘法不同。在本说明书中,将循环群G1、G2表示为加法群,但即使表示为循环乘法群,也与本发明等价,属于其技术范围。
首先,作为第一密钥对,读出事先生成的第一私钥a和第一公钥a·g1(S101)。这里,a是整数,例如优选定为随机数。接着,决定整数x(S102)。在此,整数x例如可以定为随机数或伪随机数,优选为1以外。作为一例,可以将i作为整数、将a+i作为自变量的哈希值作为伪随机数x,这样一来,即使不存储第i个被决定的x,也可以适当地计算为第i个x。然后,作为第二密钥对,乘以x来计算并存储第二私钥ax和第二公钥ax·g1(S103)。
在本实施方式中,公钥a·g1可以通过以往的可靠的认证机构颁发的电子证书来认证其所有者。或者,可以以认证机构的认证以外的某种形式赋予可靠性。
在使用第一密钥对对任意的数据m进行电子签名的情况下,如果将a·H’(m)设为签名s,则数据m和签名s的接受者可以使用公开的生成元g1和第一公钥a·g1计算下式,通过左边和右边一致可以验证签名s,所以可知如上述那样确定的第一密钥对作为加密方式是成立的。
[式6]
e(a.g1,H'(m))=e(g1,a.H'(m))=e(g1,s)
同样地,可知第二密钥对也作为加密方式成立,但如果不能证明由被赋予了可靠性的第一公钥a·g1的所有者生成了第二公钥ax·g1,则基于第二密钥对的签名不能得到由第二私钥ax签名的可靠性以上的可靠性。关于这一点,将在第2实施方式中进行说明。
作为对任意的数据m的电子证明的加密方式,可以采用由生成元g1生成的循环群G1的元是椭圆曲线上的点,在各元之间成立已知的规定关系的情况下使用椭圆曲线DSA等椭圆曲线的加密方式。
这里,在上述说明中,事先决定并存储了第一私钥a和第一公钥a·g1,但也可以事先决定第一私钥a,根据需要计算第一公钥a·g1。另外,在上述的说明中,在决定了第一私钥a以及第一公钥a·g1之后决定整数x,但也可以在决定了整数x之后,决定第一私钥a,然后根据需要决定第一公钥a·g1。另外,也可以不直接决定第一私钥a,而将整数x和第二私钥ax分别决定为随机数或伪随机数并存储,根据这些值计算第一私钥a。换句话说,第二密钥对的生成包括与第一密钥对相关联地生成的各个方面。另外,也可以根据需要根据a的值和ax的值计算x的值。
第一私钥a为了备份可以考虑存储在外部存储介质或存储装置中,但是原则上是不对外部公开的数据。关于x,原则上也不是对外部公开的性质的数据。
本实施例的第二密钥对的生成的一个特征在于,第二私钥ax是与第一私钥a同样的整数集合的元,第二公钥ax·g是与第一公钥a·g同样的由生成元g生成的循环群G1的元,并且第二密钥对具有与第一密钥对相同的格式(format),因此可以重复地生成子密钥对,诸如从第二密钥对到第三密钥对、从第三密钥对到第四密钥对。
注意,如果没有“仅基于××”、“仅根据××”和“仅在××的情况下”这样的“仅”的记载,则在本说明书中可以考虑附加信息。另外,作为一例,需要注意的是,“在a的情况下进行b”的记载除了明示的情况以外,未必意味着“在a的情况下总是进行b”。
另外,在某些方法、程序、终端、装置、服务器或系统(以下称为“方法等”)中,即使有进行与本说明书中记述的动作不同的动作的方面,本发明的各方式也是以与本说明书中记述的动作的任一个相同的动作为对象的,存在与本说明书中记述的动作不同的动作并不会使该方法等在本发明的各方式的范围外。
(第2实施方式)
图2示出了本发明的第2实施方式的、用于证明构成从第一密钥对生成的第二密钥对的第二公钥的可靠性的系统。
系统200具备:发送装置210,其从第一密钥对生成第二密钥对,并发送用于构成第二密钥对的第二公钥;接收装置220,其接收第二公钥;以及证明装置203,其证明第二公钥的可靠性。发送装置210、接收装置220以及照明装置230能够经由计算机网络相互通信。
证明装置230是具备通信接口等通信部231、处理器、CPU等处理部232、包含存储器、硬盘等存储装置或存储介质的存储部233的计算机,通过执行规定的程序,能够实现以下说明的各处理。证明装置230可以包括一个或多个装置或服务器,并且程序可以包括一个或多个程序,并且可以记录在计算机可读存储介质上,以作为非瞬时程序产品。尽管未图示发送装置210和接收装置220,但是发送装置210和接收装置220可以具有同样的硬件构成。
在发送装置210中,对于构成通过第1实施方式中说明的方法生成的第二密钥对的第二公钥ax·g1,如果在接收到它的接收装置220中不能确认其可靠性,就不能起到识别其所有者的作用。因此,在本实施方式中,接收装置220向证明装置230请求证明第二公钥ax·g1的可靠性。
具体地,除了第二公钥ax·g1之外,证明装置230还经由接收装置220间接地或直接地从发送装置210接收x·H(n)和ax·H(n)作为证明数据。证明装置230可以使用以某种方式已知且可访问的生成元g1和第一公钥a·g1,计算下一个签名数据的验证式,根据三边一致的情况,证明第二公钥ax·g1是由第一公钥a·g1的所有者生成的。这里,n是ax·g1,H(n)是对G2的映射,可以与用于上述电子签名的H’(m)相同或不同。
[式7]
e(ax·g1,H(n))=e(a·g1,x·H(n))=e(g1,ax·H(n))
如果不知道整数x,则不能计算x·H(n),此外,如果不知道整数a,则不能计算ax·H(n),所以通过三边一致,在不知道a和x或a和ax的情况下,可证明x·H(n)和ax·H(n)的提供者是生成了第二公钥ax·g1的第一公钥ag1的所有者。
在上述的说明中,考虑了生成子密钥对的母密钥对是1组的情况,但在可能存在多个母密钥对的情况下,需要根据与构成哪个母密钥对的母公钥的关系来确定是否要进行是子公钥的证明。
另外,证明装置230也可以与接收装置220为同一装置,在这种情况下,能够自己证明第二公钥ax·g1的可靠性。另外,证明装置230也可以与发送装置210为同一装置,在这种情况下,第二公钥ax·g1的生成者自己证明其可靠性。
图3示出了在证明装置从生成装置接收证明数据的例子中证明第二公钥的可靠性的方法的流程。在上述说明中,使用了发送装置这一术语,但在图3中更一般化地使用生成装置这一术语。
生成装置210在生成构成第二密钥对的第二公钥ax·g1时或者其前后,计算并存储作为证明数据的x·H(n)以及ax·H(n)(S301)。生成装置210将计算出的证明数据提供给接收装置220(S302)。作为提供给接收装置220的方法,可以举出通过计算机网络向接收装置220的发送、存储证明数据的存储介质与接收装置220的连接、生成装置210的显示画面上显示的证明数据向接收装置220的输入、生成装置210的显示画面上显示的证明数据或与其对应的数据的接收装置220的摄像元件的读取等各种方式。从生成装置210向接收装置220或其它装置提供第一公钥a·g1和第二公钥ax·g1也可以举出各种方式。
证明数据可以包括H(n),同时H(n)可以根据需要在证明装置230中或者在向证明装置230提供证明数据的生成装置210中或接收装置220中计算。
接收到证明数据的接收装置220向证明装置230发送证明请求,请求证明装置230证明第二公钥ax·g1是由第一公钥a·g1的所有者生成的,换言之,第二公钥ax·g1与第一公钥ag1处于母子关系(S303)。
在该示例中,证明请求包括证明数据,但是在证明数据直接从生成装置210提供给证明装置230的示例中,证明请求不需要包括证明数据。如上所述,在生成装置210兼用作证明装置230的情况下,“提供”包括对自身的提供。此外,在接收装置220兼用作证明装置230的情况下,“证明请求”包括对自身的请求。
另外,证明请求可以包含作为证明对象的母子关系中的子密钥的第二公钥ax·g1,另外,可以包含作为该母子关系中的母密钥的第一公钥a·g1。母密钥和子密钥中的至少一个可以从生成装置210直接或间接地提供给证明装置230并预先存储在证明装置230中,不需要证明请求中的明示的指定。
证明装置230根据证明请求,计算证明数据的验证式,由此验证该证明数据(S304)。
然后,证明装置230发送验证结果作为对来自接收装置220的证明请求的响应(S305)。在接收装置220兼用作证明装置230的情况下,在自身的存储装置或存储介质中存储验证结果,但也可以将这样的处理包含在针对自身的“发送”的概念中。
在上述的说明中,将第一公钥a·g1和第二公钥ax·g1定位为“公钥”,但也可以定位为在因特网上进行某种活动的主体的“标识符”。具体地,本发明的精神可以理解为评价基于第一标识符或与第一标识符相关联地生成的第二标识符的可靠性的装置、方法以及用于该方法的程序。
(第3实施方式)
发送装置210能够对接收装置220隐匿第一私钥a,并且除了第二公钥ax·g1之外还传递第二私钥ax。作为第二私钥ax的提供方式,可以考虑与其他数据同样的各种方式。在这种情况下,接收装置220可以使用第二密钥对对数据m进行电子签名。然后,如果从发送装置210接收到包括x·H(n)和ax·H(n)的证明数据,则根据需要,将ax·g1、x·H(n)和ax·H(n)与数据m和对其的签名s一起传递给电子签名的接收者,该接收者能够表示该电子签名是由第一公钥a·g1的所有者生成的第二密钥对的电子签名。
接收装置220在此作为签名装置发挥功能,作为在数据m中附加了签名s的已签名数据的一部分,或者作为与该已签名数据不同的数据,将证明数据、以及根据需要将第一公钥a·g1和第二公钥ax·g1中的至少一方发送给其他装置。
此外,在接收装置220接收第二私钥ax的提供的情况下,可以生成由第三私钥axy和第三公钥axy·g1构成的第三密钥对,作为第二密钥对的子密钥对。在此,整数y可以确定为随机数或伪随机数,优选为1以外。
(第4实施方式)
在上述实施方式中,考虑将单一的参数n作为向G2的映射H(n)的自变量,但也可以是具有N个自变量的H(n1,n2,...nN)(N为1以上的整数)。
例如,在N=2的情况下,可以将n1设为第二公钥ax·g1,将n2设为任意的字符串str。作为字符串str的例子,可以举出第二密钥对的有效期的日期、第二公钥的接收者的邮件地址等ID。更一般地,n2可以是表示提供给第二密钥对的属性的任何数据。
此外,生成装置210可以在生成第二密钥对之前从接收装置220或其他装置接收第二密钥对的生成请求并开始生成,也可以将生成请求中包括的任何数据作为自变量n 2的值。
符号说明
200 系统
210 发送装置
220 接收装置
230 证明装置
231 通信部
232 处理部
233 存储部。

Claims (7)

1.一种用于证明第二公钥的可靠性的方法,该第二公钥构成与由第一私钥和第一公钥所构成的第一密钥对相关联地生成的第二密钥对,所述方法的特征在于,将第一私钥设为a,将循环群G1的生成元设为g1,将第一公钥设为a·g1,将第二私钥设为ax,将第二公钥设为ax·g1,将H(n1,n2,...nN)设为哈希函数,其中,N为1以上的整数,所述方法包括:
接收请求证明所述第二公钥ax·g1的可靠性的证明请求的步骤;
根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据的步骤;以及
发送验证结果作为对所述证明请求的响应,
[式1]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1),
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1数据至第N数据的组合向循环群G2的映射,n1为ax·g1
2.根据权利要求1所述的方法,其特征在于,
所述N为2以上,
n2是表示赋予给所述第二密钥对的属性的数据。
3.根据权利要求1或2所述的方法,其特征在于,
所述证明请求包括所述第二公钥ax·g1
4.根据权利要求1或2所述的方法,其特征在于,
所述证明请求包括所述证明数据。
5.一种用于使计算机执行用于证明第二公钥的可靠性的方法的程序,该第二公钥构成与由第一私钥和第一公钥所构成的第一密钥对相关联地生成的第二密钥对,所述程序的特征在于,
所述方法将第一私钥设为a,将循环群G1的生成元设为g1,将第一公钥设为a·g1,将第二私钥设为ax,将第二公钥设为ax·g1,将H(n1,n2,...nN)设为哈希函数,其中,N为1以上的整数,
所述方法包括:
接收请求证明所述第二公钥ax·g1的可靠性的证明请求的步骤;
根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据的步骤;以及
发送验证结果作为对所述证明请求的响应,
[式1]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1),
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1数据至第N数据的组合向循环群G2的映射,n1为ax·g1
6.一种用于证明第二公钥的可靠性的装置,该第二公钥构成与由第一私钥和第一公钥所构成的第一密钥对相关联地生成的第二密钥对,所述装置的特征在于,
将第一私钥设为a,将循环群G1的生成元设为g1,将第一公钥设为a·g1,将第二私钥设为ax,将第二公钥设为ax·g1,将H(n1,n2,...nN)设为哈希函数,其中,N为1以上的整数,
接收请求证明所述第二公钥ax·g1的可靠性的证明请求,
根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据,
发送验证结果作为对所述证明请求的响应,
[式1]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1),
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1数据至第N数据的组合向循环群G2的映射,n1为ax·g1
7.一种用于证明与第一标识符相关联地生成的第二标识符的可靠性的方法,其特征在于,将第一常数设为a,将循环群G1的生成元设为g1,将第一标识符设为a·g1,将第2常数设为ax,将第二标识符设为ax·g1,将H(n1,n2,...nN)设为哈希函数,其中,N为1以上的整数,所述方法包括:
接收请求证明所述第二标识符ax·g1的可靠性的证明请求的步骤;
根据所述证明请求,计算由式(1)表示的验证式,验证包含x·H(n1,n2,...nN)和ax·H(n1,n2,...nN)的证明数据的步骤;以及
发送验证结果作为对所述证明请求的响应,
[式1]
e(ax·g1,H)=e(a·g1,x·H)=e(g1,ax·H) (1),
这里,将G2设为以g2为生成元的循环群,将GT设为以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,能够将哈希函数H(n1,n2,...nN)定义为从任意的第1数据至第N数据的组合向循环群G2的映射,n1为ax·g1
CN201980045779.XA 2018-05-11 2019-05-10 用于证明公钥的可靠性的装置、方法及程序 Active CN112385181B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018-092618 2018-05-11
JP2018092618 2018-05-11
JP2019-007394 2019-01-19
JP2019007394A JP6634171B2 (ja) 2018-05-11 2019-01-19 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
PCT/JP2019/018834 WO2019216435A1 (ja) 2018-05-11 2019-05-10 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Publications (2)

Publication Number Publication Date
CN112385181A true CN112385181A (zh) 2021-02-19
CN112385181B CN112385181B (zh) 2024-05-31

Family

ID=68612377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980045779.XA Active CN112385181B (zh) 2018-05-11 2019-05-10 用于证明公钥的可靠性的装置、方法及程序

Country Status (3)

Country Link
US (1) US12003636B2 (zh)
JP (2) JP6634171B2 (zh)
CN (1) CN112385181B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005072648A (ja) * 2003-08-22 2005-03-17 Canon Inc 公開鍵証明書システム、発行装置、利用端末、公開鍵及び公開鍵証明書の更新方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体
US20110039592A1 (en) * 2009-08-13 2011-02-17 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
CN106713326A (zh) * 2016-12-28 2017-05-24 上海电机学院 一种车载网消息认证协议
CN106878322A (zh) * 2017-03-10 2017-06-20 北京科技大学 一种基于属性的定长密文与密钥的加密、解密方法
JP2017126943A (ja) * 2016-01-15 2017-07-20 富士通株式会社 相互認証方法、認証装置および認証プログラム
CN107947932A (zh) * 2018-01-09 2018-04-20 重庆邮电大学 基于非双线性映射无证书签名的车辆自组网络认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244551A (ja) * 2001-02-19 2002-08-30 Ntt Docomo Inc 公開鍵送付元証明デバイス、公開鍵送付元証明方法、公開鍵送付元証明プログラム及びコンピュータ読み取り可能な記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005072648A (ja) * 2003-08-22 2005-03-17 Canon Inc 公開鍵証明書システム、発行装置、利用端末、公開鍵及び公開鍵証明書の更新方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体
US20110039592A1 (en) * 2009-08-13 2011-02-17 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
JP2017126943A (ja) * 2016-01-15 2017-07-20 富士通株式会社 相互認証方法、認証装置および認証プログラム
CN106713326A (zh) * 2016-12-28 2017-05-24 上海电机学院 一种车载网消息认证协议
CN106878322A (zh) * 2017-03-10 2017-06-20 北京科技大学 一种基于属性的定长密文与密钥的加密、解密方法
CN107947932A (zh) * 2018-01-09 2018-04-20 重庆邮电大学 基于非双线性映射无证书签名的车辆自组网络认证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALESSANDRO BARENGHI 等: "A privacy-preserving encrypted OSN with stateless server interaction: The Snake design", 《COMPUTERS & SECURITY》 *
徐海峰;洪璇;: "可证明安全的单向可变门限代理重签名方案", 计算机工程, no. 04 *
杨小东 等: "基于门限代理重签名的车载自组网消息认证方案", 《计算机工程》 *

Also Published As

Publication number Publication date
US20210367779A1 (en) 2021-11-25
JP6634171B2 (ja) 2020-01-22
JP2020048221A (ja) 2020-03-26
US12003636B2 (en) 2024-06-04
CN112385181B (zh) 2024-05-31
JP2019201398A (ja) 2019-11-21

Similar Documents

Publication Publication Date Title
CN110505046B (zh) 多数据提供方加密数据跨平台零知识校验方法、装置及介质
Li et al. Privacy preserving cloud data auditing with efficient key update
US10326753B2 (en) Authentication via revocable signatures
CN109889497B (zh) 一种去信任的数据完整性验证方法
US8300811B2 (en) Method and device for processing data
CN113569294B (zh) 一种零知识证明方法及装置、电子设备、存储介质
EP3779792B1 (en) Two-dimensional code generation method, data processing method, apparatus, and server
JP5593850B2 (ja) 認証装置、認証方法、プログラム、及び署名生成装置
KR20140054151A (ko) 크레덴셜 검증
JP2001066989A (ja) 一方向性関数生成方法,一方向性関数値生成装置,証明装置,認証方法および認証装置
WO2019110399A1 (en) Two-party signature device and method
CN111245626B (zh) 零知识证明方法、装置及存储介质
CN116566626A (zh) 环签名方法和设备
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
CN112385181B (zh) 用于证明公钥的可靠性的装置、方法及程序
CN114128213B (zh) 用于验证公钥的可靠性的装置、方法以及其程序
CN115996127A (zh) 一种数字藏品盲盒的生成方法和装置
EP3917076A1 (en) A zero knowledge proof method for content engagement
JP6688933B1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
WO2019216435A1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
JP2010186003A (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
CN111552950A (zh) 一种软件授权方法、装置及计算机可读存储介质
CN116975936B (zh) 金融资质证明方法、金融资质验证方法
CN113972984B (zh) ElGamal密文等价判断方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant