CN111654366A - 一种安全的pki与ibc之间的双向异构强指定验证者签名方法 - Google Patents

一种安全的pki与ibc之间的双向异构强指定验证者签名方法 Download PDF

Info

Publication number
CN111654366A
CN111654366A CN202010385315.8A CN202010385315A CN111654366A CN 111654366 A CN111654366 A CN 111654366A CN 202010385315 A CN202010385315 A CN 202010385315A CN 111654366 A CN111654366 A CN 111654366A
Authority
CN
China
Prior art keywords
signature
verifier
signer
representing
user
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
CN202010385315.8A
Other languages
English (en)
Other versions
CN111654366B (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.)
South Central Minzu University
Original Assignee
South Central University for Nationalities
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 South Central University for Nationalities filed Critical South Central University for Nationalities
Priority to CN202010385315.8A priority Critical patent/CN111654366B/zh
Publication of CN111654366A publication Critical patent/CN111654366A/zh
Application granted granted Critical
Publication of CN111654366B publication Critical patent/CN111654366B/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/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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种安全的PKI与IBC之间的双向异构强指定验证者签名方法。本发明通过私钥生成中心生成***参数,并公开***参数;公钥基础设施环境的用户与基于身份加密环境的用户生成各自的公钥、私钥;公钥基础设施环境的用户为签名者,基于身份加密环境的用户为指定验证者,签名者生成签名,发送给指定验证者,指定验证者验证签名,进行消息接收判定;基于身份加密环境的用户为签名者,公钥基础设施环境的用户为指定验证者,签名者生成签名,发送给指定验证者,指定验证者验证签名,进行消息接收判定。本发明实现了公钥基础设施和基于身份加密环境的用户之间通信的安全性、正确性、不可伪造性、不可传递性、健壮性、非授权性、签名源的隐匿性。

Description

一种安全的PKI与IBC之间的双向异构强指定验证者签名方法
技术领域
本发明属于用户通信安全的技术领域,尤其涉及一种安全的PKI与IBC之间的双向异构强指定验证者签名方法。
背景技术
公钥密码设施(Public Key Infrasture,PKI),是当前部署传统的公钥密码***(Public Key Cryptography,PKC)的主要手段,用户的身份与证书绑定,一个用户的身份与其公钥之间的绑定关系是通过数字证书形式获得的,证书由可信的证书权威机构(Certificate Authority,CA)为用户颁发。所有的数据经证书权威机构用自己的私钥签名后就形成证书。证书权威机构在给用户发放证书之前,先验证该用户身份的真实性。任何一个通信方对证书权威机构信任,都可以通过验证对方数字证书上证书权威机构的数字签名来建立起与对方的信任关系,并且获得对方的公钥以备使用。因此,PKI中存在证书存储管理以及验证证书合法性问题。
基于身份加密(identity based cryptography,IBC),为了简化证书管理问题,Shamir于1984年首次提出了基于身份的公钥密码***(ID-PKC)的概念,指出关于公钥密码***中密钥真实性问题,可以不使用证书而得到解决。在ID-PKC中,每个用户都有一个身份信息ID,一个用户的公钥直接由他的身份信息ID导出,相应的私钥则由一个被称为私钥生成中心(Private Key Generation,PKG)的可信第三方利用其主密钥为该用户生成。私钥生成中心在证实了用户身份后,才会为他计算出相应的私钥并发送给他。这意味着用户获得了一种确保其身份和公钥之间捆绑关系的内在证明。与公钥基础设施环境相比,用户的密钥基于用户的身份,不存在证书存储管理以及验证证书合法性问题。
2010年前,用户基于同一种密码体制进行通信,基于公钥基础设施环境,或者基于身份环境,或者基于无证书环境,但是全世界的通信方采用不同的密码体制,因此,只在一种环境中通信,无法再满足用户的通信要求。2010年,Sun和Li提出异构签密思想,异构签密思想应用于不同密码***的通信,提出一种基于传统公钥密码体制和基于身份公钥密码体制之间的签密方案,实现了异构密码***之间的通信。2013年,Fu等构造了一个多接受者异构签密方案,同年,Li等提出新的IDPKC→TPKI型和TPKI→IDPKC型异构签密方案。2016年,张玉磊等提出CLPKC→TPKI异构签密方案,该方案满足密文匿名性,可以有效地保护收发双方的身份隐私,使用不同的密码***参数,更接近于实际应用环境,与已有异构签密方案相比,该方案的效率较高,适合于收发双方身份保密和带宽受限的应用需求。异构签密方案中的签密在一个签密步骤中,对应地,有一个解签密步骤,签密步骤与解签密步骤中运用点乘运算、异或运算、哈希函数、双线性对等知识。
异构签密方案,对消息进行异或运算,实现对消息的加密,此外,还对消息进行签名,在很多通信的场合,消息的发送者与接收者之间进行消息通信,只需要确定消息的来源是否为发送者,确定消息没有被篡改,不需要对消息做加密运算,也是异构通信技术中存在的问题。
名称为“一种安全的PKI与IBC之间的双向异构数字签名方法”的专利中首次提出异构数字签名的概念,与异构签密方案和传统的数字签名技术相比,一种安全的PKI与IBC之间的双向异构数字签名方法融合了异构签密和数字签名两种思想,在异构环境下,对消息的数字签名,实现了对消息的认证。在异构的环境下实现对消息的数字签名。
指定验证者,指签名者对消息签名时,添加特定的验证者的身份信息,后将签名发送给验证者,指定的验证者有资格可以验证签名,可以判断签名的来源是否为真实的签名者,验证者不可以将验证的资格转移给第三方。指定的验证者对签名进行验证,生成签名者生成的签名副本,与签名者生成的签名不可区分。强指定验证者签名,在此类签名中,验证者的私钥在验证算法中成为必需参数,这就使得第三方无法对签名进行验证。只有指定的验证者可以用自己的私钥验证签名。通用指定验证者,具有保护签名持有者隐私的特殊性质,即允许任何一个签名持有者(可以不是签名者)通过引入验证者的公钥将签名指定给他所期望的任意指定验证者,指定验证者能够验证签名有效性,但无法使其他人相信这个事实。2017年,葛丽霞等提出异构双向强指定验证者方案,实现PKI与IBC两个密码***的用户相互通信,保证签名者的隐私不被泄露。安全性分析表明,该异构方案满足正确性、不可伪造性、不可传递性、健壮性、签名源的隐匿性和非授权性。
与异构数字签名方案和指定的验证者签名方案相比,一种安全的PKI与IBC之间的双向异构强指定验证者签名方法融合了异构数字签名、指定验证者两种思想,在异构环境下,对消息的签名,实现了对消息的认证以及对签名源的隐匿。
因此,提出异构强指定验证者签名的概念,在异构的环境下实现对消息的签名,只有指定的验证者可以验证签名的真实性。提出一种安全的PKI与IBC之间的双向异构强指定验证者签名方法,是本领域技术人员需要解决的技术问题。
发明内容
发明目的:针对现有技术中存在的问题,本发明提供一种安全的PKI与IBC之间的双向异构强指定验证者签名方法,实现公钥基础设施环境与基于身份加密环境之间的双向异构强指定验证者签名,实现两种密码体制环境下用户的通信。
技术方案:一种安全的PKI与IBC之间的双向异构强指定验证者签名方法,包括以下步骤:
本发明在实现不可伪造性和签名源的隐匿性。考虑到公钥基础设施与基于身份加密环境中的计算资源,异构环境适合这样的特性,在异构强指定验证者方法中,通信的一方基于公钥基础设施环境,可以负担证书管理问题。通信的另一方基于基于身份加密环境,不存在证书管理问题。
本发明的主要益处在于:在异构环境下,实现对消息的指定验证者签名,不需要对消息做加密,即异或运算,减少了加密的运算量,同时利用哈希函数的特性:一个哈希函数的输入,对应一个哈希函数的输出,不存在两个不同的哈希函数输入对应一个哈希函数输出的情况。当攻击者参与签名过程时,哈希函数中双线性对和给定的消息,两个值中的一个值发生改变,验证签名的等式无法成立。只需要验证签名者的签名,可以认证消息,并且实现通信的安全性、正确性、不可伪造性、不可传递性、非授权性、签名源的隐匿性,达到一定的安全和隐私要求。
步骤1:私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对,定义两个无碰撞的哈希函数,设置主密钥以及主公钥,公开***参数;
步骤2:公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书,从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥,计算公钥基础设施环境中用户的公钥,基于身份加密环境中用户向私钥生成中心提交用户身份,计算基于身份加密环境中用户的私钥,再回传至基于身份加密环境中用户从而得到公钥;
步骤3:若公钥基础设施环境中的用户作为签名者用于生成签名,且基于身份加密环境中的用户作为指定验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算签名者双线性对的值,签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第二部分签名计算指定验证者双线性对的值,指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息,若验证通过,指定验证者生成签名副本的第一部分签名、第二部分签名,指定验证者生成签名副本时的双线性对的值,指定验证者生成签名副本时的双线性对的值,指定验证者生成指定验证者哈希函数副本、签名副本的第三部分签名,指定验证者模拟的签名副本满足验证等式:
步骤4:若基于身份加密环境中的用户作为签名者拥有生成签名,公钥基础设施环境中的用户作为指定验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算签名者双线性对的值,签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第一部分签名和签名者的私钥计算指定验证者双线性对的值,指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息,若验证通过,指定验证者生成指定验证者生成签名副本的第一部分签名、第二部分签名,指定验证者生成指定验证者生成哈希函数副本、指定验证者生成签名副本的第三部分签名,指定验证者模拟的签名副本满足验证等式;
作为优选,步骤1所述私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对为:
输入安全参数为k,私钥生成中心选择阶为素数q的循环加法群G1、阶为素数q的循环乘法群G2,P是G1的一个生成元;
所述双线性对为e:
e:G1×G1→G2
其中,e为双线性对,G1表示阶为素数q的循环加法群,G2表示阶为素数q的循环乘法群。
步骤1所述定义两个无碰撞的哈希函数为:
所述第一无碰撞的哈希函数为:
H1:{0,1}*→G1
其中,H1作用是把用户的身份信息映射到循环加法群G1上,{0,1}*表示长度为任意比特的二进制序列组合的集合;
所述第二无碰撞的哈希函数为:
Figure BDA0002483593120000031
其中,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000032
的无碰撞哈希函数即第二无碰撞哈希函数,{0,1}n表示长度为n比特的二进制序列组合的集合,
Figure BDA0002483593120000033
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000034
步骤1所述设置主密钥以及主公钥为:
私钥生成中心随机选取一个
Figure BDA0002483593120000035
s作为主密钥,主密钥s保密,设置主公钥为:Ppub=sP,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤1所述公开***参数为:
param={k,q,G1,G2,P,e,H1,H2,Ppub}
其中,param为***参数,k为输入安全参数,保留s,s为私钥生成中心的主密钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数即第一无碰撞哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000036
的无碰撞哈希函数即第二无碰撞哈希函数,Ppub为私钥生成中心的主公钥;
私钥生成中心保留主密钥s。
作为优选,步骤2所述公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书为:
公钥基础设施环境中的用户A向证书权威机构提交身份IDA,证书权威机构给用户A颁发证书;
步骤2所述从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥为:
用户A随机选取一个随机数
Figure BDA0002483593120000037
Figure BDA0002483593120000038
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000039
设置x作为用户A的私钥,SKA=x;
步骤2所述计算公钥基础设施环境中用户的公钥为:
用户A的公钥PKA=xP,用户A的密钥对为(PKA,SKA),
其中,公钥基础设施环境中用户A的私钥为SKA
Figure BDA00024835931200000310
表示x是整数群
Figure BDA00024835931200000311
中的一个元素,IDA为公钥基础设施环境中用户A的身份,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤2所述基于身份加密环境中用户向私钥生成中心提交用户身份为:
基于身份加密环境中的用户B向私钥生成中提交自己的身份IDB
步骤2所述计算基于身份加密环境中用户的私钥为:
Figure BDA0002483593120000041
PKB=(s+xB)P=(s+H1(IDB))P
其中,PKB为基于身份加密环境中的用户B的公钥,SKB为基于身份加密环境中用户B的私钥,s为私钥生成中心的主密钥,IDB为基于身份加密环境中用户B的身份,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群;
用户B的密钥对为(PKB,SKB)。
作为优选,步骤3所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名为:
签名者随机选择
Figure BDA0002483593120000042
计算R1=r1SKAPKB,R2=r2PKB
其中,
Figure BDA0002483593120000043
表示是从
Figure BDA0002483593120000044
中任意选取的元素,SKA表示签名者的私钥,PKB表示指定验证者的公钥,
Figure BDA0002483593120000045
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000046
步骤3所述签名者计算签名者双线性对的值为:
W1=e(r2P,P)
其中,W1表示签名者双线性对的值,r2表示是从
Figure BDA0002483593120000047
中任意选取的一个元素,P是G1的一个生成元,G1是阶为素数q的循环加法群,r2P是双线性对的第一个输入值,P是双线性对的第二个输入值;
步骤3所述签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名:
h1=H2(W1,m)
S=(r1h1SKA+r2)P
其中,h1表示签名者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000048
的无碰撞哈希函数,W1表示签名者双线性对的值,m表示给定消息,
Figure BDA0002483593120000049
表示是从
Figure BDA00024835931200000410
中任意选取的一个元素,SKA表示签名者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,S表示签名者生成签名的第三部分签名;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者:
所述签名者生成签名为:
σ=(R1,R2,S)
所述组合消息为:
δ=(σ,m)
其中,R1表示签名者生成签名的第一部分签名,R2表示签名者生成签名的第二部分签名,S表示签名者生成签名的第三部分签名,m表示给定的消息;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第二部分签名计算验证者双线性对的值:
W2=e(R2,SKB)
h2=H2(W2,m)
W2表示指定验证者双线性对的值,R2表示签名者生成签名的第二部分签名,SKB表示指定验证者的私钥,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA00024835931200000411
的无碰撞哈希函数,m表示给定的消息;
步骤3所述指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息:
双线性对的第一个验证值:
e(S,P)
其中,S表示签名者生成签名的第三部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
双线性对的第二个验证值:
Figure BDA00024835931200000516
其中,W2表示指定验证者双线性对的值,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000051
的无碰撞哈希函数,R1表示签名者生成签名的第一部分签名,SKB表示指定验证者的私钥;
验证等式
Figure BDA0002483593120000052
成立情况:
等式成立,接受消息,输出1;否则,拒绝消息,输出错误符号⊥;
步骤3所述若验证通过,指定验证者生成签名副本的第一部分签名、第二部分签名:
指定验证者随机选择
Figure BDA0002483593120000053
计算R1'=r2'P,R2'=r1'P。
其中,
Figure BDA0002483593120000054
表示是从
Figure BDA0002483593120000055
中任意选取的一个元素,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤3所述指定验证者生成签名副本时的双线性对的值:
W2'=e(R2',SKB)
其中,R2'表示指定验证者生成签名副本的第二部分签名,SKB表示指定验证者的私钥,W2'表示指定验证者生成签名副本时的双线性对的值;
步骤3所述指定验证者生成指定验证者哈希函数副本、指定验证者生成签名副本的第三部分签名:
h2'=H2(W2',m)
S'=(r1'h2'+r2')SKB
其中,h2'表示指定验证者哈希函数副本,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000056
的无碰撞哈希函数,W2'表示指定验证者生成签名副本时的双线性对的值,m表示给定消息,
Figure BDA0002483593120000057
表示是从
Figure BDA0002483593120000058
中任意选取的一个元素,SKB表示指定验证者的私钥;
步骤3所述指定验证者模拟的签名副本σ'=(R1',R2',S')满足验证等式
Figure BDA0002483593120000059
即满足等式
Figure BDA00024835931200000510
其中,σ'表示指定验证者生成签名副本,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,S'表示指定验证者生成签名副本的第三部分签名,W2表示指定验证者双线性对的值,h2表示指定验证者哈希函数,SKB表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2'表示指定验证者生成签名副本时的双线性对的值,h2'表示指定验证者哈希函数副本。
作为优选,步骤4所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名:
签名者随机选择
Figure BDA00024835931200000511
计算R1=r2PKA,R2=r1SKB
其中,
Figure BDA00024835931200000512
表示是从
Figure BDA00024835931200000513
中任意选取的一个元素,PKA表示指定验证者的公钥,SKB表示签名者的私钥,
Figure BDA00024835931200000514
表示阶为q的整数群除去0元素,
Figure BDA00024835931200000515
步骤4所述签名者计算签名者双线性对的值:
W1=e(r2PKB,SKB)=e(r2P,P)
其中,W1表示签名者双线性对的值,r2表示是从
Figure BDA0002483593120000061
中任意选取的一个元素,PKB表示签名者的公钥,SKB表示签名者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤4所述签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名:
h1=H2(W1,m)
S=r1h1SKB+r1PKA
其中,h1表示签名者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000062
的无碰撞哈希函数,W1表示签名者双线性对的值,m表示给定消息,r1表示是从
Figure BDA0002483593120000063
中任意选取的一个元素,SKB表示签名者的私钥,PKA表示指定验证者的公钥,S表示签名者生成签名的第三部分签名;
步骤4所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者:
所述签名者生成签名为:
σ=(R1,R2,S)
所述组合消息为:
δ=(σ,m)
其中,σ表示签名者生成签名,R1表示签名者生成签名的第一部分签名,R2表示签名者生成签名的第二部分签名,S表示签名者生成签名的第三部分签名,m表示给定的消息;
步骤4所述指定验证者通过组合消息中签名者生成签名的第一部分签名和签名者的私钥计算指定验证者双线性对的值:
Figure BDA0002483593120000064
h2=H2(W2,m)
其中,W2表示指定验证者双线性对的值,R1表示签名者生成签名的第一部分签名,SKA表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000065
的无碰撞哈希函数,m表示给定的消息;
步骤4所述指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息:
双线性对的第一个验证值:
e(S,P)
其中,S表示签名者生成签名的第三部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
双线性对的第二个验证值:
Figure BDA0002483593120000066
其中,R2表示签名者生成签名的第二部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2表示指定验证者双线性对的值,SKA表示指定验证者的私钥,h2表示指定验证者哈希函数;
步骤4所述验证
Figure BDA0002483593120000067
等式的成立情况:
若等式成立,接受m,输出正确提示符;否则拒绝接受m,输出错误提示符。
步骤4所述若验证通过,指定验证者生成验证者生成签名副本的第一部分签名、第二部分签名:
指定验证者随机选择
Figure BDA0002483593120000068
计算R1'=r2'PKA,R2'=r1'SKAPKB
其中,
Figure BDA0002483593120000069
表示是从
Figure BDA00024835931200000610
中任意选取的一个元素,SKA表示指定验证者的私钥,PKA表示指定验证者的公钥,PKB表示签名者的公钥,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名;
步骤4所述指定验证者生成签名副本时的双线性对的值:
Figure BDA0002483593120000071
其中,r1'表示是从
Figure BDA0002483593120000072
中任意选取的一个元素,W2'表示指定验证者生成签名副本时的双线性对的值,PKA表示指定验证者的公钥,SKA表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤4所述指定验证者生成指定验证者生成哈希函数副本、验证者生成签名副本的第三部分签名:
h2'=H2(W2',m)
S=r1'h2'SKAPKB+r2'PKA
其中,h2'表示指定验证者哈希函数副本,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000073
的无碰撞哈希函数,W2'表示指定验证者生成签名副本时的双线性对的值,m表示给定消息,SKA表示指定验证者的私钥,PKA表示指定验证者的公钥,PKB表示签名者的公钥,S'表示指定验证者生成签名副本的第三部分签名;
步骤4所述指定验证者模拟的签名副本σ'=(R1',R2',S')满足验证等式
Figure BDA0002483593120000074
即满足等式
Figure BDA0002483593120000075
其中,σ'表示指定验证者生成签名副本,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,S'表示指定验证者生成签名副本的第三部分签名,W2表示指定验证者双线性对的值,SKA表示指定验证者的私钥,h2表示指定验证者哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2'表示指定验证者生成签名副本时的双线性对的值,h2'表示指定验证者哈希函数副本;
本发明保护了签名者的签名不被泄露、篡改,认证消息,隐匿签名的来源,攻击者无法伪造有效的签名,达到了一定的安全和隐私要求;
本发明实现了公钥基础设施和基于身份加密环境的用户之间通信的安全性、正确性、不可伪造性、不可传递性、健壮性、非授权性、签名源的隐匿性。
附图说明
图1:本发明方法流程图。
图2:第一实施例的通信。
图3:第二实施例的通信。
图4:第一实施例的生成签名。
图5:第一实施例的验证签名。
图6:第一实施例的模拟签名副本。
图7:第二实施例的生成签名。
图8:第二实施例的验证签名。
图9:第二实施例的模拟签名副本。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面根据签名者和验证者的环境不同,结合两个具体实施例。
第一实施例为:若公钥基础设施环境中的用户为签名者,基于身份加密环境中的用户为指定的验证者;
第二实施例为:若基于身份加密环境中的用户为签名者,公钥基础设施环境中的用户为指定的验证者。
本发明涉及的第一实施例具体步骤为:
步骤1:私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对,定义两个无碰撞的哈希函数,设置主密钥以及主公钥,公开***参数;
步骤1所述私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对为:
输入安全参数为k,私钥生成中心选择阶为素数q的循环加法群G1、阶为素数q的循环乘法群G2,P是G1的一个生成元;
所述双线性对为e:
e:G1×G1→G2
其中,e为双线性对,G1表示阶为素数q的循环加法群,G2表示阶为素数q的循环乘法群。
步骤1所述定义两个无碰撞的哈希函数为:
所述第一无碰撞的哈希函数为:
H1:{0,1}*→G1
其中,H1作用是把用户的身份信息映射到循环加法群G1上,{0,1}*表示长度为任意比特的二进制序列组合的集合;
所述第二无碰撞的哈希函数为:
Figure BDA0002483593120000081
其中,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000082
的无碰撞哈希函数即第二无碰撞哈希函数,{0,1}n表示长度为n比特的二进制序列组合的集合,
Figure BDA0002483593120000083
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000084
步骤1所述设置主密钥以及主公钥为:
私钥生成中心随机选取一个
Figure BDA0002483593120000085
s作为主密钥,主密钥s保密,设置主公钥为:Ppub=sP,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤1所述公开***参数为:
param={k,q,G1,G2,P,e,H1,H2,Ppub}
其中,param为***参数,k为输入安全参数,保留s,s为私钥生成中心的主密钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数即第一无碰撞哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000086
的无碰撞哈希函数即第二无碰撞哈希函数,Ppub为私钥生成中心的主公钥;
私钥生成中心保留主密钥s。
步骤2:公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书,从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥,计算公钥基础设施环境中用户的公钥,基于身份加密环境中用户向私钥生成中心提交用户身份,计算基于身份加密环境中用户的私钥,再回传至基于身份加密环境中用户从而得到公钥;
步骤2所述公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书为:
公钥基础设施环境中的用户A向证书权威机构提交身份IDA,证书权威机构给用户A颁发证书;
步骤2所述从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥为:
用户A随机选取一个随机数
Figure BDA0002483593120000087
Figure BDA0002483593120000088
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000089
设置x作为用户A的私钥,SKA=x;
步骤2所述计算公钥基础设施环境中用户的公钥为:
用户A的公钥PKA=xP,用户A的密钥对为(PKA,SKA),
其中,公钥基础设施环境中用户A的私钥为SKA
Figure BDA00024835931200000810
表示x是整数群
Figure BDA00024835931200000811
中的一个元素,IDA为公钥基础设施环境中用户A的身份,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤2所述基于身份加密环境中用户向私钥生成中心提交用户身份为:
基于身份加密环境中的用户B向私钥生成中提交自己的身份IDB
步骤2所述计算基于身份加密环境中用户的私钥为:
Figure BDA0002483593120000091
PKB=(s+xB)P=(s+H1(IDB))P
其中,PKB为基于身份加密环境中的用户B的公钥,SKB为基于身份加密环境中用户B的私钥,s为私钥生成中心的主密钥,IDB为基于身份加密环境中用户B的身份,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群;
用户B的密钥对为(PKB,SKB);
步骤3:若公钥基础设施环境中的用户作为签名者用于生成签名,且基于身份加密环境中的用户作为指定验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算签名者双线性对的值,签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第二部分签名计算指定验证者双线性对的值,指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息,若验证通过,指定验证者生成签名副本的第一部分签名、第二部分签名,指定验证者生成签名副本时的双线性对的值,指定验证者生成签名副本时的双线性对的值,指定验证者生成指定验证者哈希函数副本、签名副本的第三部分签名,指定验证者模拟的签名副本满足验证等式:
步骤3所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名为:
签名者随机选择
Figure BDA0002483593120000092
计算R1=r1SKAPKB,R2=r2PKB
其中,
Figure BDA0002483593120000093
表示是从
Figure BDA0002483593120000094
中任意选取的元素,SKA表示签名者的私钥,PKB表示指定验证者的公钥,
Figure BDA0002483593120000095
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000096
步骤3所述签名者计算签名者双线性对的值为:
W1=e(r2P,P)
其中,W1表示签名者双线性对的值,r2表示是从
Figure BDA0002483593120000097
中任意选取的一个元素,P是G1的一个生成元,G1是阶为素数q的循环加法群,r2P是双线性对的第一个输入值,P是双线性对的第二个输入值;
步骤3所述签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名:
h1=H2(W1,m)
S=(r1h1SKA+r2)P
其中,h1表示签名者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000098
的无碰撞哈希函数,W1表示签名者双线性对的值,m表示给定消息,
Figure BDA0002483593120000099
表示是从
Figure BDA00024835931200000910
中任意选取的一个元素,SKA表示签名者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,S表示签名者生成签名的第三部分签名;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者:
所述签名者生成签名为:
σ=(R1,R2,S)
所述组合消息为:
δ=(σ,m)
其中,R1表示签名者生成签名的第一部分签名,R2表示签名者生成签名的第二部分签名,S表示签名者生成签名的第三部分签名,m表示给定的消息;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第二部分签名计算验证者双线性对的值:
W2=e(R2,SKB)
h2=H2(W2,m)
W2表示指定验证者双线性对的值,R2表示签名者生成签名的第二部分签名,SKB表示指定验证者的私钥,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000101
的无碰撞哈希函数,m表示给定的消息;
步骤3所述指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息:
双线性对的第一个验证值:
e(S,P)
其中,S表示签名者生成签名的第三部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
双线性对的第二个验证值:
Figure BDA0002483593120000102
其中,W2表示指定验证者双线性对的值,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000103
的无碰撞哈希函数,R1表示签名者生成签名的第一部分签名,SKB表示指定验证者的私钥;
验证等式
Figure BDA0002483593120000104
成立情况:
等式成立,接受消息,输出1;否则,拒绝消息,输出错误符号⊥;
步骤3所述若验证通过,指定验证者生成签名副本的第一部分签名、第二部分签名:
指定验证者随机选择
Figure BDA0002483593120000105
计算R1'=r2'P,R2'=r1'P。
其中,
Figure BDA0002483593120000106
表示是从
Figure BDA0002483593120000107
中任意选取的一个元素,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤3所述指定验证者生成签名副本时的双线性对的值:
W2'=e(R2',SKB)
其中,R2'表示指定验证者生成签名副本的第二部分签名,SKB表示指定验证者的私钥,W2'表示指定验证者生成签名副本时的双线性对的值;
步骤3所述指定验证者生成指定验证者哈希函数副本、指定验证者生成签名副本的第三部分签名:
h2'=H2(W2',m)
S'=(r1'h2'+r2')SKB
其中,h2'表示指定验证者哈希函数副本,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000108
的无碰撞哈希函数,W2'表示指定验证者生成签名副本时的双线性对的值,m表示给定消息,
Figure BDA0002483593120000109
表示是从
Figure BDA00024835931200001010
中任意选取的一个元素,SKB表示指定验证者的私钥;
步骤3所述指定验证者模拟的签名副本σ'=(R1',R2',S')满足验证等式
Figure BDA00024835931200001011
即满足等式
Figure BDA00024835931200001012
其中,σ'表示指定验证者生成签名副本,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,S'表示指定验证者生成签名副本的第三部分签名,W2表示指定验证者双线性对的值,h2表示指定验证者哈希函数,SKB表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2'表示指定验证者生成签名副本时的双线性对的值,h2'表示指定验证者哈希函数副本;
本发明涉及的第二实施例具体步骤为:
步骤1:私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对,定义两个无碰撞的哈希函数,设置主密钥以及主公钥,公开***参数;
步骤1所述私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对为:
输入安全参数为k,私钥生成中心选择阶为素数q的循环加法群G1、阶为素数q的循环乘法群G2,P是G1的一个生成元;
所述双线性对为e:
e:G1×G1→G2
其中,e为双线性对,G1表示阶为素数q的循环加法群,G2表示阶为素数q的循环乘法群。
步骤1所述定义两个无碰撞的哈希函数为:
所述第一无碰撞的哈希函数为:
H1:{0,1}*→G1
其中,H1作用是把用户的身份信息映射到循环加法群G1上,{0,1}*表示长度为任意比特的二进制序列组合的集合;
所述第二无碰撞的哈希函数为:
Figure BDA0002483593120000111
其中,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000112
的无碰撞哈希函数即第二无碰撞哈希函数,{0,1}n表示长度为n比特的二进制序列组合的集合,
Figure BDA0002483593120000113
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000114
步骤1所述设置主密钥以及主公钥为:
私钥生成中心随机选取一个
Figure BDA0002483593120000115
s作为主密钥,主密钥s保密,设置主公钥为:Ppub=sP,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤1所述公开***参数为:
param={k,q,G1,G2,P,e,H1,H2,Ppub}
其中,param为***参数,k为输入安全参数,保留s,s为私钥生成中心的主密钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数即第一无碰撞哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000116
的无碰撞哈希函数即第二无碰撞哈希函数,Ppub为私钥生成中心的主公钥;
私钥生成中心保留主密钥s。
步骤2:公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书,从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥,计算公钥基础设施环境中用户的公钥,基于身份加密环境中用户向私钥生成中心提交用户身份,计算基于身份加密环境中用户的私钥,再回传至基于身份加密环境中用户从而得到公钥;
步骤2所述公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书为:
公钥基础设施环境中的用户A向证书权威机构提交身份IDA,证书权威机构给用户A颁发证书;
步骤2所述从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥为:
用户A随机选取一个随机数
Figure BDA0002483593120000117
Figure BDA0002483593120000118
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000119
设置x作为用户A的私钥,SKA=x;
步骤2所述计算公钥基础设施环境中用户的公钥为:
用户A的公钥PKA=xP,用户A的密钥对为(PKA,SKA),
其中,公钥基础设施环境中用户A的私钥为SKA
Figure BDA0002483593120000121
表示x是整数群
Figure BDA0002483593120000122
中的一个元素,IDA为公钥基础设施环境中用户A的身份,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤2所述基于身份加密环境中用户向私钥生成中心提交用户身份为:
基于身份加密环境中的用户B向私钥生成中提交自己的身份IDB
步骤2所述计算基于身份加密环境中用户的私钥为:
Figure BDA0002483593120000123
PKB=(s+xB)P=(s+H1(IDB))P
其中,PKB为基于身份加密环境中的用户B的公钥,SKB为基于身份加密环境中用户B的私钥,s为私钥生成中心的主密钥,IDB为基于身份加密环境中用户B的身份,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群;
用户B的密钥对为(PKB,SKB);
步骤3:若基于身份加密环境中的用户作为签名者拥有生成签名,公钥基础设施环境中的用户作为指定验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算签名者双线性对的值,签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第一部分签名和签名者的私钥计算指定验证者双线性对的值,指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息,若验证通过,指定验证者生成指定验证者生成签名副本的第一部分签名、第二部分签名,指定验证者生成指定验证者生成哈希函数副本、指定验证者生成签名副本的第三部分签名,指定验证者模拟的签名副本满足验证等式:
步骤3所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名:
签名者随机选择
Figure BDA0002483593120000124
计算R1=r2PKA,R2=r1SKB
其中,
Figure BDA0002483593120000125
表示是从
Figure BDA0002483593120000126
中任意选取的一个元素,PKA表示指定验证者的公钥,SKB表示签名者的私钥,
Figure BDA0002483593120000127
表示阶为q的整数群除去0元素,
Figure BDA0002483593120000128
步骤3所述签名者计算签名者双线性对的值:
W1=e(r2PKB,SKB)=e(r2P,P)
其中,W1表示签名者双线性对的值,r2表示是从
Figure BDA0002483593120000129
中任意选取的一个元素,PKB表示签名者的公钥,SKB表示签名者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤3所述签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名:
h1=H2(W1,m)
S=r1h1SKB+r1PKA
其中,h1表示签名者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA00024835931200001210
的无碰撞哈希函数,W1表示签名者双线性对的值,m表示给定消息,r1表示是从
Figure BDA00024835931200001211
中任意选取的一个元素,SKB表示签名者的私钥,PKA表示指定验证者的公钥,S表示签名者生成签名的第三部分签名;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者:
所述签名者生成签名为:
σ=(R1,R2,S)
所述组合消息为:
δ=(σ,m)
其中,σ表示签名者生成签名,R1表示签名者生成签名的第一部分签名,R2表示签名者生成签名的第二部分签名,S表示签名者生成签名的第三部分签名,m表示给定的消息;
步骤3所述指定验证者通过组合消息中签名者生成签名的第一部分签名和签名者的私钥计算指定验证者双线性对的值:
Figure BDA0002483593120000131
h2=H2(W2,m)
其中,W2表示指定验证者双线性对的值,R1表示签名者生成签名的第一部分签名,SKA表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA0002483593120000132
的无碰撞哈希函数,m表示给定的消息;
步骤3所述指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息:
双线性对的第一个验证值:
e(S,P)
其中,S表示签名者生成签名的第三部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
双线性对的第二个验证值:
Figure BDA0002483593120000133
其中,R2表示签名者生成签名的第二部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2表示指定验证者双线性对的值,SKA表示指定验证者的私钥,h2表示指定验证者哈希函数;
步骤3所述验证
Figure BDA0002483593120000134
等式的成立情况:
若等式成立,接受m,输出正确提示符;否则拒绝接受m,输出错误提示符。
步骤3所述若验证通过,指定验证者生成验证者生成签名副本的第一部分签名、第二部分签名:
指定验证者随机选择
Figure BDA0002483593120000135
计算R1'=r2'PKA,R2'=r1'SKAPKB
其中,
Figure BDA0002483593120000136
表示是从
Figure BDA0002483593120000137
中任意选取的一个元素,SKA表示指定验证者的私钥,PKA表示指定验证者的公钥,PKB表示签名者的公钥,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名;
步骤3所述指定验证者生成签名副本时的双线性对的值:
Figure BDA0002483593120000138
其中,r1'表示是从
Figure BDA0002483593120000139
中任意选取的一个元素,W2'表示指定验证者生成签名副本时的双线性对的值,PKA表示指定验证者的公钥,SKA表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤3所述指定验证者生成指定验证者生成哈希函数副本、验证者生成签名副本的第三部分签名:
h2'=H2(W2',m)
S=r1'h2'SKAPKB+r2'PKA
其中,h2'表示指定验证者哈希函数副本,H2表示阶为素数q的循环乘法群映射到整数群
Figure BDA00024835931200001310
的无碰撞哈希函数,W2'表示指定验证者生成签名副本时的双线性对的值,m表示给定消息,SKA表示指定验证者的私钥,PKA表示指定验证者的公钥,PKB表示签名者的公钥,S'表示指定验证者生成签名副本的第三部分签名;
步骤3所述指定验证者模拟的签名副本σ'=(R1',R2',S')满足验证等式
Figure BDA0002483593120000141
即满足等式
Figure BDA0002483593120000142
其中,σ'表示指定验证者生成签名副本,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,S'表示指定验证者生成签名副本的第三部分签名,W2表示指定验证者双线性对的值,SKA表示指定验证者的私钥,h2表示指定验证者哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2'表示指定验证者生成签名副本时的双线性对的值,h2'表示指定验证者哈希函数副本;
本发明保护了签名者的签名不被泄露、篡改,认证消息,隐匿签名的来源,攻击者无法伪造有效的签名,达到了一定的安全和隐私要求,其说明如下:
安全性:方法是安全的,攻击者没有签名者的私钥,无法生成给定消息的签名。攻击者没有验证者的私钥,无法验证给定消息的签名。所以,本方法可以实现安全性。
正确性:理论是正确的,在正常通信的情况下,有效的签名者生成的签名能够通过验证等式的验证,指定验证者也可以生成一个与签名者生成的签名同样有效,即可以通过验证等式的验证的签名副本。所以,本方法可以实现正确性。
不可传递性:指定验证者用自己的私钥也能生成一个有效的签名,并且与签名者生成的签名不能被第三方辨别。所以,本方法可以实现不可传递性。
不可伪造性:利用公共的密钥以及公开的***参数等公开的信息无法与生成签名者的签名同样有效的签名,使得验证等式成立。除非掌握了签名人或被指定的那个验证者的私钥,否则,没有办法去生成一个有效签名。生成签名、验证签名的等式以及模拟签名副本的过程中都用到用户的私钥,哈希函数中包含给定的消息,私钥信息是用户私有的,其他用户无法得知,所以,本方法可以实现不可伪造性。
健壮性:验证签名有效性的时候需要验证者的私钥这个信息,没有验证者的私钥或只拥有签名者或验证者的私钥的衍生品,都不能检验签名是否真实合法。所以,本方法可以实现健壮性。
签名源的隐匿性:给定一个消息或者指定验证者签名,即使第三方知道签名者和指定验证者的私钥,也无法确定签名是由签名者还是指定验证者生成的。所以,本方法可以实现签名源的隐匿性。
非授权性:对于第三方来说,求出签名者的私钥是困难的,任意第三方得到关于签名者或验证者的私钥的衍生品,不能够生成一个真实有效的签名。所以,本方法可以实现非授权性。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可对所描述的具体实施例做修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (5)

1.一种安全的PKI与IBC之间的双向异构强指定验证者签名方法,其特征在于,包括以下步骤:
步骤1:私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对,定义两个无碰撞的哈希函数,设置主密钥以及主公钥,公开***参数;
步骤2:公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书,从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥,计算公钥基础设施环境中用户的公钥,基于身份加密环境中用户向私钥生成中心提交用户身份,计算基于身份加密环境中用户的私钥,再回传至基于身份加密环境中用户从而得到公钥;
步骤3:若公钥基础设施环境中的用户作为签名者用于生成签名,且基于身份加密环境中的用户作为指定验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算签名者双线性对的值,签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第二部分签名计算指定验证者双线性对的值,指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息,若验证通过,指定验证者生成签名副本的第一部分签名、第二部分签名,指定验证者生成签名副本时的双线性对的值,指定验证者生成签名副本时的双线性对的值,指定验证者生成指定验证者哈希函数副本、签名副本的第三部分签名,指定验证者模拟的签名副本满足验证等式:
步骤4:若基于身份加密环境中的用户作为签名者拥有生成签名,公钥基础设施环境中的用户作为指定验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算签名者双线性对的值,签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第一部分签名和签名者的私钥计算指定验证者双线性对的值,指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息,若验证通过,指定验证者生成指定验证者生成签名副本的第一部分签名、第二部分签名,指定验证者生成指定验证者生成哈希函数副本、指定验证者生成签名副本的第三部分签名,指定验证者模拟的签名副本满足验证等式。
2.根据权利要求1所述的安全的PKI与IBC之间的双向异构强指定验证者签名方法,其特征在于:
步骤1所述私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对为:
输入安全参数为k,私钥生成中心选择阶为素数q的循环加法群G1、阶为素数q的循环乘法群G2,P是G1的一个生成元;
所述双线性对为e:
e:G1×G1→G2
其中,e为双线性对,G1表示阶为素数q的循环加法群,G2表示阶为素数q的循环乘法群;
步骤1所述定义两个无碰撞的哈希函数为:
所述第一无碰撞的哈希函数为:
H1:{0,1}*→G1
其中,H1作用是把用户的身份信息映射到循环加法群G1上,{0,1}*表示长度为任意比特的二进制序列组合的集合;
所述第二无碰撞的哈希函数为:
Figure FDA0002483593110000011
其中,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA0002483593110000012
的无碰撞哈希函数即第二无碰撞哈希函数,{0,1}n表示长度为n比特的二进制序列组合的集合,
Figure FDA0002483593110000021
表示阶为q的整数群除去0元素,
Figure FDA0002483593110000022
步骤1所述设置主密钥以及主公钥为:
私钥生成中心随机选取一个
Figure FDA0002483593110000023
s作为主密钥,主密钥s保密,设置主公钥为:Ppub=sP,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤1所述公开***参数为:
param={k,q,G1,G2,P,e,H1,H2,Ppub}
其中,param为***参数,k为输入安全参数,保留s,s为私钥生成中心的主密钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数即第一无碰撞哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA00024835931100000215
的无碰撞哈希函数即第二无碰撞哈希函数,Ppub为私钥生成中心的主公钥;
私钥生成中心保留主密钥s。
3.根据权利要求1所述的安全的PKI与IBC之间的双向异构强指定验证者签名方法,其特征在于:
步骤2所述公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书为:
公钥基础设施环境中的用户A向证书权威机构提交身份IDA,证书权威机构给用户A颁发证书;
步骤2所述从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥为:
用户A随机选取一个随机数
Figure FDA0002483593110000024
Figure FDA0002483593110000025
表示阶为q的整数群除去0元素,
Figure FDA0002483593110000026
设置x作为用户A的私钥,SKA=x;
步骤2所述计算公钥基础设施环境中用户的公钥为:
用户A的公钥PKA=xP,用户A的密钥对为(PKA,SKA),
其中,公钥基础设施环境中用户A的私钥为SKA
Figure FDA0002483593110000027
表示x是整数群
Figure FDA0002483593110000028
中的一个元素,IDA为公钥基础设施环境中用户A的身份,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤2所述基于身份加密环境中用户向私钥生成中心提交用户身份为:
基于身份加密环境中的用户B向私钥生成中提交自己的身份IDB
步骤2所述计算基于身份加密环境中用户的私钥为:
Figure FDA0002483593110000029
PKB=(s+xB)P=(s+H1(IDB))P
其中,PKB为基于身份加密环境中的用户B的公钥,SKB为基于身份加密环境中用户B的私钥,s为私钥生成中心的主密钥,IDB为基于身份加密环境中用户B的身份,H1是把用户的身份信息映射到循环加法群G1上的无碰撞哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群;
用户B的密钥对为(PKB,SKB)。
4.根据权利要求1所述的安全的PKI与IBC之间的双向异构强指定验证者签名方法,其特征在于:
步骤3所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名为:
签名者随机选择r1,
Figure FDA00024835931100000210
计算R1=r1SKAPKB,R2=r2PKB
其中,r1,
Figure FDA00024835931100000211
表示是从
Figure FDA00024835931100000212
中任意选取的元素,SKA表示签名者的私钥,PKB表示指定验证者的公钥,
Figure FDA00024835931100000213
表示阶为q的整数群除去0元素,
Figure FDA00024835931100000214
步骤3所述签名者计算签名者双线性对的值为:
W1=e(r2P,P)
其中,W1表示签名者双线性对的值,r2表示是从
Figure FDA0002483593110000031
中任意选取的一个元素,P是G1的一个生成元,G1是阶为素数q的循环加法群,r2P是双线性对的第一个输入值,P是双线性对的第二个输入值;
步骤3所述签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名:
h1=H2(W1,m)
S=(r1h1SKA+r2)P
其中,h1表示签名者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA0002483593110000032
的无碰撞哈希函数,W1表示签名者双线性对的值,m表示给定消息,r1,
Figure FDA0002483593110000033
表示是从
Figure FDA0002483593110000034
中任意选取的一个元素,SKA表示签名者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,S表示签名者生成签名的第三部分签名;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者:
所述签名者生成签名为:
σ=(R1,R2,S)
所述组合消息为:
δ=(σ,m)
其中,R1表示签名者生成签名的第一部分签名,R2表示签名者生成签名的第二部分签名,S表示签名者生成签名的第三部分签名,m表示给定的消息;
步骤3所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者,指定验证者通过组合消息中签名者生成签名的第二部分签名计算验证者双线性对的值:
W2=e(R2,SKB)
h2=H2(W2,m)
W2表示指定验证者双线性对的值,R2表示签名者生成签名的第二部分签名,SKB表示指定验证者的私钥,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA00024835931100000311
的无碰撞哈希函数,m表示给定的消息;
步骤3所述指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息:
双线性对的第一个验证值:
e(S,P)
其中,S表示签名者生成签名的第三部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
双线性对的第二个验证值:
Figure FDA0002483593110000035
其中,W2表示指定验证者双线性对的值,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA0002483593110000036
的无碰撞哈希函数,R1表示签名者生成签名的第一部分签名,SKB表示指定验证者的私钥;
验证等式
Figure FDA0002483593110000037
成立情况:
等式成立,接受消息,输出1;否则,拒绝消息,输出错误符号⊥;
步骤3所述若验证通过,指定验证者生成签名副本的第一部分签名、第二部分签名:
指定验证者随机选择r1',
Figure FDA0002483593110000038
计算R1'=r2'P,R2'=r1'P;
其中,r1',
Figure FDA0002483593110000039
表示是从
Figure FDA00024835931100000310
中任意选取的一个元素,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤3所述指定验证者生成签名副本时的双线性对的值:
W2'=e(R2',SKB)
其中,R2'表示指定验证者生成签名副本的第二部分签名,SKB表示指定验证者的私钥,W2'表示指定验证者生成签名副本时的双线性对的值;
步骤3所述指定验证者生成指定验证者哈希函数副本、指定验证者生成签名副本的第三部分签名:
h2'=H2(W2',m)
S'=(r1'h2'+r2')SKB
其中,h2'表示指定验证者哈希函数副本,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA0002483593110000041
的无碰撞哈希函数,W2'表示指定验证者生成签名副本时的双线性对的值,m表示给定消息,r1',
Figure FDA0002483593110000042
表示是从
Figure FDA0002483593110000043
中任意选取的一个元素,SKB表示指定验证者的私钥;
步骤3所述指定验证者模拟的签名副本σ'=(R1',R2',S')满足验证等式
Figure FDA0002483593110000044
即满足等式
Figure FDA0002483593110000045
其中,σ'表示指定验证者生成签名副本,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,S'表示指定验证者生成签名副本的第三部分签名,W2表示指定验证者双线性对的值,h2表示指定验证者哈希函数,SKB表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2'表示指定验证者生成签名副本时的双线性对的值,h2'表示指定验证者哈希函数副本。
5.根据权利要求1所述的安全的PKI与IBC之间的双向异构强指定验证者签名方法,其特征在于:
步骤4所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名:
签名者随机选择r1,
Figure FDA0002483593110000046
计算R1=r2PKA,R2=r1SKB
其中,r1,
Figure FDA0002483593110000047
表示是从
Figure FDA0002483593110000048
中任意选取的一个元素,PKA表示指定验证者的公钥,SKB表示签名者的私钥,
Figure FDA0002483593110000049
表示阶为q的整数群除去0元素,
Figure FDA00024835931100000410
步骤4所述签名者计算签名者双线性对的值:
W1=e(r2PKB,SKB)=e(r2P,P)
其中,W1表示签名者双线性对的值,r2表示是从
Figure FDA00024835931100000411
中任意选取的一个元素,PKB表示签名者的公钥,SKB表示签名者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤4所述签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名:
h1=H2(W1,m)
S=r1h1SKB+r1PKA
其中,h1表示签名者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA00024835931100000412
的无碰撞哈希函数,W1表示签名者双线性对的值,m表示给定消息,r1表示是从
Figure FDA00024835931100000413
中任意选取的一个元素,SKB表示签名者的私钥,PKA表示指定验证者的公钥,S表示签名者生成签名的第三部分签名;
步骤4所述签名者通过签名者生成签名、给定的消息构建组合消息发送给指定验证者:
所述签名者生成签名为:
σ=(R1,R2,S)
所述组合消息为:
δ=(σ,m)
其中,σ表示签名者生成签名,R1表示签名者生成签名的第一部分签名,R2表示签名者生成签名的第二部分签名,S表示签名者生成签名的第三部分签名,m表示给定的消息;
步骤4所述指定验证者通过组合消息中签名者生成签名的第一部分签名和签名者的私钥计算指定验证者双线性对的值:
Figure FDA00024835931100000510
h2=H2(W2,m)
其中,W2表示指定验证者双线性对的值,R1表示签名者生成签名的第一部分签名,SKA表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群,h2表示指定验证者哈希函数,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA0002483593110000051
的无碰撞哈希函数,m表示给定的消息;
步骤4所述指定验证者将双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息:
双线性对的第一个验证值:
e(S,P)
其中,S表示签名者生成签名的第三部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群;
双线性对的第二个验证值:
Figure FDA0002483593110000052
其中,R2表示签名者生成签名的第二部分签名,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2表示指定验证者双线性对的值,SKA表示指定验证者的私钥,h2表示指定验证者哈希函数;
步骤4所述验证
Figure FDA0002483593110000053
等式的成立情况:
若等式成立,接受m,输出正确提示符;否则拒绝接受m,输出错误提示符;
步骤4所述若验证通过,指定验证者生成验证者生成签名副本的第一部分签名、第二部分签名:
指定验证者随机选择r1',
Figure FDA0002483593110000054
计算R1'=r2'PKA,R2'=r1'SKAPKB
其中,r1',
Figure FDA0002483593110000055
表示是从
Figure FDA0002483593110000056
中任意选取的一个元素,SKA表示指定验证者的私钥,PKA表示指定验证者的公钥,PKB表示签名者的公钥,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名;
步骤4所述指定验证者生成签名副本时的双线性对的值:
Figure FDA0002483593110000057
其中,r1'表示是从
Figure FDA0002483593110000058
中任意选取的一个元素,W2'表示指定验证者生成签名副本时的双线性对的值,PKA表示指定验证者的公钥,SKA表示指定验证者的私钥,P是G1的一个生成元,G1是阶为素数q的循环加法群;
步骤4所述指定验证者生成指定验证者生成哈希函数副本、验证者生成签名副本的第三部分签名:
h2'=H2(W2',m)
S=r1'h2'SKAPKB+r2'PKA
其中,h2'表示指定验证者哈希函数副本,H2表示阶为素数q的循环乘法群映射到整数群
Figure FDA0002483593110000059
的无碰撞哈希函数,W2'表示指定验证者生成签名副本时的双线性对的值,m表示给定消息,SKA表示指定验证者的私钥,PKA表示指定验证者的公钥,PKB表示签名者的公钥,S'表示指定验证者生成签名副本的第三部分签名;
步骤4所述指定验证者模拟的签名副本σ'=(R1',R2',S')满足验证等式
Figure FDA0002483593110000061
即满足等式
Figure FDA0002483593110000062
其中,σ'表示指定验证者生成签名副本,R1'表示指定验证者生成签名副本的第一部分签名,R2'表示指定验证者生成签名副本的第二部分签名,S'表示指定验证者生成签名副本的第三部分签名,W2表示指定验证者双线性对的值,SKA表示指定验证者的私钥,h2表示指定验证者哈希函数,P是G1的一个生成元,G1是阶为素数q的循环加法群,W2'表示指定验证者生成签名副本时的双线性对的值,h2'表示指定验证者哈希函数副本。
CN202010385315.8A 2020-05-09 2020-05-09 一种安全的pki与ibc之间的双向异构强指定验证者签名方法 Active CN111654366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010385315.8A CN111654366B (zh) 2020-05-09 2020-05-09 一种安全的pki与ibc之间的双向异构强指定验证者签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010385315.8A CN111654366B (zh) 2020-05-09 2020-05-09 一种安全的pki与ibc之间的双向异构强指定验证者签名方法

Publications (2)

Publication Number Publication Date
CN111654366A true CN111654366A (zh) 2020-09-11
CN111654366B CN111654366B (zh) 2023-04-07

Family

ID=72342930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010385315.8A Active CN111654366B (zh) 2020-05-09 2020-05-09 一种安全的pki与ibc之间的双向异构强指定验证者签名方法

Country Status (1)

Country Link
CN (1) CN111654366B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204796A (zh) * 2021-04-19 2021-08-03 中南民族大学 一种基于异构环境下委托股份证明协议的安全共识方法
CN113612603A (zh) * 2021-07-28 2021-11-05 上海第二工业大学 一种不可授权的强指定验证者签密方法
CN115037473A (zh) * 2022-04-11 2022-09-09 穆聪聪 一种适用于复杂物联网的跨域身份可信认证方法
CN117692150A (zh) * 2024-02-01 2024-03-12 深圳市纽创信安科技开发有限公司 一种签名生成、签名验证方法及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150039883A1 (en) * 2013-07-31 2015-02-05 Sds America, Inc. System and method for identity-based key management
CN106789042A (zh) * 2017-02-15 2017-05-31 西南交通大学 Ibc域内的用户访问pki域内的资源的认证密钥协商方法
CN108011715A (zh) * 2016-10-31 2018-05-08 华为技术有限公司 一种密钥的分发方法、相关设备和***
CN110120939A (zh) * 2019-04-08 2019-08-13 淮阴工学院 一种基于异构***的可否认认证的加密方法和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150039883A1 (en) * 2013-07-31 2015-02-05 Sds America, Inc. System and method for identity-based key management
CN104753917A (zh) * 2013-12-30 2015-07-01 三星Sds株式会社 基于id的密钥管理***及方法
CN108011715A (zh) * 2016-10-31 2018-05-08 华为技术有限公司 一种密钥的分发方法、相关设备和***
CN106789042A (zh) * 2017-02-15 2017-05-31 西南交通大学 Ibc域内的用户访问pki域内的资源的认证密钥协商方法
CN110120939A (zh) * 2019-04-08 2019-08-13 淮阴工学院 一种基于异构***的可否认认证的加密方法和***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204796A (zh) * 2021-04-19 2021-08-03 中南民族大学 一种基于异构环境下委托股份证明协议的安全共识方法
CN113204796B (zh) * 2021-04-19 2022-07-05 中南民族大学 一种基于异构环境下委托股份证明协议的安全共识方法
CN113612603A (zh) * 2021-07-28 2021-11-05 上海第二工业大学 一种不可授权的强指定验证者签密方法
CN113612603B (zh) * 2021-07-28 2023-10-27 上海第二工业大学 一种不可授权的强指定验证者签密方法
CN115037473A (zh) * 2022-04-11 2022-09-09 穆聪聪 一种适用于复杂物联网的跨域身份可信认证方法
CN117692150A (zh) * 2024-02-01 2024-03-12 深圳市纽创信安科技开发有限公司 一种签名生成、签名验证方法及计算机设备
CN117692150B (zh) * 2024-02-01 2024-05-24 深圳市纽创信安科技开发有限公司 一种签名生成、签名验证方法及计算机设备

Also Published As

Publication number Publication date
CN111654366B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN111342973B (zh) 一种安全的pki与ibc之间的双向异构数字签名方法
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及***
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及***
CN111654366B (zh) 一种安全的pki与ibc之间的双向异构强指定验证者签名方法
US9160530B2 (en) Method and apparatus for verifiable generation of public keys
CN108551392B (zh) 一种基于sm9数字签名的盲签名生成方法及***
JP3522447B2 (ja) 認証交換方法および付加型公衆電子署名方法
CN104821880B (zh) 一种无证书广义代理签密方法
CN101667913B (zh) 基于对称加密的认证加密方法及加密***
CN107682151B (zh) 一种gost数字签名生成方法及***
CN111010272B (zh) 一种标识私钥生成和数字签名方法及***和装置
CN103297241B (zh) 一种一次性公钥匿名签密的构造方法
US20150288527A1 (en) Verifiable Implicit Certificates
CN104079412B (zh) 基于智能电网身份安全的无可信pkg的门限代理签名方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
US20160352525A1 (en) Signature protocol
CN101951388A (zh) 一种可信计算环境中的远程证明方法
CN113300856B (zh) 一种可证安全的异构混合签密方法
CN110830236A (zh) 基于全域哈希的身份基加密方法
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
CN109887150A (zh) 支持投票***的代理重签密方法
CN111355582A (zh) 基于sm2算法的两方联合签名和解密的方法及***
US20150006900A1 (en) Signature protocol
CN114726546A (zh) 数字身份认证方法、装置、设备和存储介质

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200911

Assignee: Xiangyang Goode Cultural Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023980041350

Denomination of invention: A Secure Bidirectional Heterogeneous Strong Designated Verifier Signature Method between PKI and IBC

Granted publication date: 20230407

License type: Common License

Record date: 20230908

Application publication date: 20200911

Assignee: Hubei Fengyun Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023980041308

Denomination of invention: A Secure Bidirectional Heterogeneous Strong Designated Verifier Signature Method between PKI and IBC

Granted publication date: 20230407

License type: Common License

Record date: 20230908

EE01 Entry into force of recordation of patent licensing contract