CN110311776B - 范围证明方法、装置、计算机设备和存储介质 - Google Patents

范围证明方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110311776B
CN110311776B CN201910541541.8A CN201910541541A CN110311776B CN 110311776 B CN110311776 B CN 110311776B CN 201910541541 A CN201910541541 A CN 201910541541A CN 110311776 B CN110311776 B CN 110311776B
Authority
CN
China
Prior art keywords
user
preset
target object
private key
value
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.)
Active
Application number
CN201910541541.8A
Other languages
English (en)
Other versions
CN110311776A (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.)
Juzix Technology Shenzhen Co ltd
Wuhan University WHU
Original Assignee
Juzix Technology Shenzhen Co ltd
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 Juzix Technology Shenzhen Co ltd filed Critical Juzix Technology Shenzhen Co ltd
Priority to CN201910541541.8A priority Critical patent/CN110311776B/zh
Publication of CN110311776A publication Critical patent/CN110311776A/zh
Application granted granted Critical
Publication of CN110311776B publication Critical patent/CN110311776B/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/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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种范围证明方法、装置、计算机设备和存储介质,其中,该方法包括:将第一用户端的身份信息发送至密钥生成系统,并接收密钥生成系统返回的用户私钥,其中,用户私钥由密钥生成系统根据身份信息和系统主私钥生成;获取预设进制数,根据SM9签名算法和用户私钥对小于预设进制数的各自然数进行签名,并将得到的多个签名发送至第二用户端;接收第二用户端发送的承诺值,其中,承诺值由第二用户端根据目标对象生成;接收第二用户端返回的盲化值,其中,盲化值由第二用户端根据多个签名和目标对象生成,其中,系统主公钥由密钥生成系统生成;根据承诺值和盲化值对目标对象进行验证。上述方案避免了高昂的证书管理开销,有效降低了成本。

Description

范围证明方法、装置、计算机设备和存储介质
技术领域
本申请涉及信息安全技术领域,特别涉及一种范围证明方法、装置、计算机设备和存储介质。
背景技术
零知识证明协议能够在不向验证者提供任何有用的信息的情况下,对目标对象进行验证,使验证者相信某个论断是正确的,该协议被广泛应用于区块链隐私保护、电子现金系统、群签名方案、公开验证秘密共享方案等领域。
目前,最为广泛应用的对目标对象进行验证时所采用的方式是签名盲化的方式,但是目前该方式采用的是基于PKI(Public Key Infrastructure,公钥基础设施)体系的密码系统,需要CA(Certificate Authority,证书授权中心)维护管理用户公钥证书,主要包括证书的颁发、更新、撤销等。证书的管理开销随着用户数量增加而成线性增长,高昂的证书管理开销将限制该方法的使用。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理方法、装置、计算机设备和存储介质,以解决现有技术中实现对目标对象进行验证的方案中证书管理开销高的问题。
本申请实施例提供了一种数据处理方法,包括:第一用户端将第一用户端的身份信息发送至密钥生成系统,并接收密钥生成系统返回的用户私钥,其中,用户私钥由密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成;第一用户端获取预设进制数,根据SM9签名算法和用户私钥对小于预设进制数的多个自然数中的各自然数进行签名,并将得到的多个签名发送至第二用户端;第一用户端接收第二用户端发送的承诺值,其中,承诺值由第二用户端根据第二用户端获取的目标对象生成;第一用户端接收第二用户端返回的盲化值,其中,盲化值由第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成,其中,系统主公钥由密钥生成系统生成并公布;第一用户端根据承诺值和盲化值对目标对象进行验证。
在一个实施例中,密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成用户私钥,包括:生成SM9签名算法的系统参数和安全哈希函数;根据系统参数和安全哈希函数生成系统主私钥和系统主公钥,并公布系统主公钥;接收第一用户端发送的第一用户端的身份信息;根据系统参数、安全哈希函数、系统主私钥和身份信息生成用户私钥。
在一个实施例中,第二用户端根据第二用户端中获取的目标对象生成承诺值,包括:获取目标对象;从密钥生成系统获取系统参数;根据目标对象和系统参数生成承诺值。
在一个实施例中,第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成盲化值,包括:获取预设进制数和预设位数;根据预设进制数和预设位数表示目标对象,得到多个系数;从密钥生成系统获取系统主公钥,并根据系统主公钥验证接收到的多个签名是否有效;在验证多个签名有效的情况下,根据多个签名确定多个系数中各系数对应的签名;根据系统参数和各系数对应的签名生成盲化值。
在一个实施例中,第一用户端根据承诺值和盲化值对目标对象进行验证,包括:接收第二用户端发送的中间数据,其中,中间数据由第二用户端根据系统参数、预设进制数和预设位数确定;根据系统参数确定挑战值,并将挑战值发送至第二用户端;接收第二用户端返回的证明数据,其中,证明数据由第二用户端根据系统参数、挑战值和多个系数确定;根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内。
在一个实施例中,第二用户端按照以下公式生成承诺值:
C=σG+ρH;
其中,C为承诺值,σ为目标对象,G和H为群
Figure GDA0003354024600000021
的生成元,
Figure GDA0003354024600000022
为n阶循环群,n为大素数,
Figure GDA0003354024600000023
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n,
Figure GDA0003354024600000024
G,H为系统参数。
在一个实施例中,密钥生成系统根据系统参数和安全哈希函数生成系统主私钥和系统主公钥,包括按照以下公式生成系统主私钥和系统主公钥:
Figure GDA0003354024600000031
msk=s;
其中,mpk为系统主公钥,msk为系统主私钥,
Figure GDA0003354024600000032
为n阶循环群,
Figure GDA0003354024600000033
e为双线性对映射,G,H,P1为群
Figure GDA0003354024600000034
的生成元,P2为群
Figure GDA0003354024600000035
的生成元,Ppub=sP2,g=e(P1,Ppub),其中,
Figure GDA0003354024600000036
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n为大素数,hid=1;
Figure GDA0003354024600000037
Figure GDA0003354024600000038
为安全哈希函数,
Figure GDA0003354024600000039
Figure GDA00033540246000000310
n,
Figure GDA00033540246000000311
G,H,P1,P2,hid为系统参数。
在一个实施例中,密钥生成系统根据系统参数、安全哈希函数、系统主私钥和身份信息生成用户私钥,包括:
确定以下等式是否成立:
Figure GDA00033540246000000312
在确定以上等式成立的情况下,按照以下公式生成用户私钥:
Figure GDA00033540246000000313
其中,Dv为用户私钥,s为所述系统主私钥,
Figure GDA00033540246000000314
为集合{1,2,...,n}中与n互素的元素构成的集合,
Figure GDA00033540246000000315
为安全哈希函数,IDv为第一用户端的身份信息,hid=1,P1为群
Figure GDA00033540246000000316
的生成元,群
Figure GDA00033540246000000317
为n阶循环群,n为大素数,其中,n,
Figure GDA00033540246000000318
P1,hid为系统参数,mod为模运算。
在一个实施例中,第一用户端按照以下公式对小于预设进制数的多个自然数中的各自然数进行签名:
Figure GDA00033540246000000319
Figure GDA00033540246000000320
Si=li·Dv
其中,i=0,1,2,...,u-1,为小于预设进制数的多个自然数,u为预设进制数,(wi,hi,Si)为i对应的签名,
Figure GDA00033540246000000327
为安全哈希函数,li=(ri-hi)mod n,Dv为用户私钥,
Figure GDA00033540246000000321
为集合{1,2,...,n}中与n互素的元素构成的集合,n为大素数,g=e(P1,Ppub),其中,P1为群
Figure GDA00033540246000000322
的生成元,Ppub=sP2,P2为群
Figure GDA00033540246000000323
的生成元,
Figure GDA00033540246000000324
其中,e为双线性对映射,
Figure GDA00033540246000000325
为n阶循环群,
Figure GDA00033540246000000326
n,
Figure GDA0003354024600000041
P1,P2为系统参数,mod为模运算。
在一个实施例中,在根据系统主公钥验证接收到的多个签名有效的情况下,第二用户端按照以下公式生成盲化值:
Figure GDA0003354024600000042
Figure GDA0003354024600000043
Figure GDA0003354024600000044
Figure GDA0003354024600000045
Figure GDA0003354024600000046
其中,
Figure GDA0003354024600000047
是盲化值,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,为小于预设进制数的自然数,
Figure GDA0003354024600000048
其中,σ为目标对象,u为预设进制数,l为预设位数,j=0,1,2,...,l-1,
Figure GDA0003354024600000049
为多个签名中与σj对应的签名,
Figure GDA00033540246000000410
为集合{1,2,...,n}中与n互素的元素构成的集合,G和H为群
Figure GDA00033540246000000411
的生成元,
Figure GDA00033540246000000412
为n阶循环群,n为大素数,n,
Figure GDA00033540246000000413
G,H为系统参数,mod为模运算。
在一个实施例中,第二用户端按照以下公式生成中间数据:
Figure GDA00033540246000000414
Bj=m1,jG+m2,jH;
Dj=ejG+m3,jH;
Figure GDA00033540246000000415
Fj=ejCwj+ljG+tjH;
其中,(A,Bj,Dj,Ej,Fj)为中间数据,xj,y,m1,j,m2,j,m3,j,ej,lj,
Figure GDA00033540246000000416
其中,
Figure GDA00033540246000000417
为集合{1,2,...,n}中与n互素的元素构成的集合,j=0,1,2,...,l-1,u为预设进制数,l为预设位数,H和G为群
Figure GDA00033540246000000418
的生成元,Wj为群
Figure GDA00033540246000000419
上的元素,
Figure GDA00033540246000000420
为群
Figure GDA00033540246000000421
上的元素,
Figure GDA00033540246000000422
其中,e为双线性对映射,
Figure GDA00033540246000000423
为n阶循环群,其中,n,
Figure GDA00033540246000000424
G,H为系统参数。
在一个实施例中,第二用户端按照以下公式生成证明数据:
Figure GDA00033540246000000425
zy=y-ρ·c,
Figure GDA0003354024600000051
Figure GDA0003354024600000052
Figure GDA0003354024600000053
Figure GDA0003354024600000054
Figure GDA0003354024600000055
Figure GDA0003354024600000056
其中
Figure GDA0003354024600000057
为证明数据,j=0,1,2,...,l-1,l为预设位数;xj,y,ρ,m1,j,m2,j,m3,j1,j2,j3,j,ej,∈j,lj,
Figure GDA0003354024600000058
c为挑战值,
Figure GDA0003354024600000059
其中,
Figure GDA00033540246000000510
为集合{1,2,...,n}中与元素n互素的元素构成的集合,n为大素数,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,
Figure GDA00033540246000000511
其中,σ为目标对象,u为预设进制数,l为预设位数,γj是满足
Figure GDA00033540246000000512
的随机数,其中,H和G为群
Figure GDA00033540246000000513
的生成元,
Figure GDA00033540246000000514
为n阶循环群,
Figure GDA00033540246000000515
为群
Figure GDA00033540246000000516
上的元素,其中,n,
Figure GDA00033540246000000517
G,H为系统参数。
在一个实施例中,第一用户端根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内,包括:
确定以下五个等式是否均成立:
Figure GDA00033540246000000518
Figure GDA00033540246000000519
Figure GDA00033540246000000520
Figure GDA00033540246000000521
Figure GDA00033540246000000522
在确定以上五个等式均成立的情况下,确定目标对象在预设范围内,其中,预设范围为[0,ul);
其中,(A,Bj,Dj,Ej,Fj)为中间数据,
Figure GDA00033540246000000523
为证明数据,
Figure GDA00033540246000000524
是盲化值,j=0,1,2,...,l-1,u为预设进制数,l为预设位数;c为挑战值,C为承诺值;G,H,P1为群
Figure GDA00033540246000000525
的生成元,Ppub=sP2,其中,
Figure GDA00033540246000000526
为集合{1,2,...,n}中与n互素的元素构成的集合,P2为群
Figure GDA0003354024600000061
的生成元,n为大素数;其中,
Figure GDA0003354024600000062
为n阶循环群,e为双线性对映射,n,
Figure GDA0003354024600000063
G,H,P1,P2为系统参数,Qv是第一用户端的公开参数,Qv=hashvP2+Ppub,其中,
Figure GDA0003354024600000064
其中,IDv为第一用户端的身份信息,hid=1,
Figure GDA0003354024600000065
为安全哈希函数。
本申请实施例还提供了一种数据处理装置,位于第一用户端中,包括:发送模块,用于将第一用户端的身份信息发送至密钥生成系统,并接收密钥生成系统返回的用户私钥,其中,用户私钥由密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成;签名模块,用于获取预设进制数,根据SM9签名算法和用户私钥对小于预设进制数的多个自然数中的各自然数进行签名,并将得到的多个签名发送至第二用户端;第一接收模块,用于接收第二用户端发送的承诺值,其中,承诺值由第二用户端根据第二用户端获取的目标对象生成;第二接收模块,用于接收第二用户端返回的盲化值,其中,盲化值由第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成,其中,系统主公钥由密钥生成系统生成并公布;验证模块,用于根据承诺值和盲化值对目标对象进行验证。
本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的数据处理方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的数据处理方法的步骤。
在本申请实施例中,提供了一种数据处理方法,第一用户端将身份信息发送至密钥生成系统,并接收密钥生成系统返回的用户私钥,其中,用户私钥由密钥生成系统根据身份信息和系统主私钥生成;获取预设进制数,根据SM9签名算法和用户私钥对小于预设进制数的各自然数进行签名,并将得到的多个签名发送至第二用户端;接收第二用户端发送的承诺值,其中,承诺值由第二用户端根据目标对象生成;接收第二用户端返回的盲化值,其中,盲化值由第二用户端根据多个签名和目标对象生成,其中,系统主公钥由密钥生成系统生成;根据承诺值和盲化值对目标对象进行验证。上述方案中,通过采用SM9签名算法进行签名,由于SM9签名算法是基于双线性对的标识密码算法,可以生成系统主公钥和系统主私钥并利用系统主私钥和用户的身份信息生成用户私钥,使得第一用户端可以根据用户私钥进行签名,第二用户端可以根据系统主公钥来验证签名的有效性,所以采用SM9签名算法的方案不需要数字证书、证书库或密钥库,因此可以有效避免高昂的证书管理开销,有效降低验证成本;进一步地,根据承诺值以及基于签名生成的盲化值,第一用户端可以在不获取目标对象的情况下验证目标对象,有效保护了数据隐私和数据安全性;此外,上述方案还具有低通信带宽消耗和低计算开销的特点,能够适应云计算和大数据等领域的数据隐私保护安全需求。通过上述方案解决了现有的对目标对象进行验证的目前的数据验证方法中证书管理开销高的技术问题,达到了有效降低验证成本的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1示出了本申请一实施例中的数据处理方法的一种应用场景示意图;
图2示出了本申请一实施例中的数据处理方法的流程图;
图3示出了本申请一实施例中的数据处理方法的顺序图;
图4示出了本申请一实施例中的数据处理装置的示意图;
图5示出了本申请一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
考虑到目前对数据验证的方式采用的是基于PKI体系的密码系统,需要CA维护管理用户公钥证书,而证书的管理开销随着用户数量增加而成线性增长,带来高昂的证书管理开销,发明人经过研究发现可以基于SM9签名算法来实现对目标对象的验证。
本申请实施例提供了一种数据处理方法,图1示出了该数据处理方法的一种应用场景的示意图。在图1中,示意性地示出了密钥生成系统、第一用户端和第二用户端,其中,密钥生成系统可以用于生成签名算法所需的参数、系统主公钥、系统主私钥以及第一用户端的用户私钥,第一用户端可以从密钥生成系统获取签名算法所需的参数和用户私钥,第二用户端可以从密钥生成系统获取签名算法所需的参数以及系统主公钥。第一用户端和第二用户端之间通信连接,其中,第一用户端为验证者,第二用户端为证明者,第二用户端中存储有目标对象。基于SM9签名算法,密钥生成系统生成系统主公钥和系统主私钥并公布系统主公钥,密钥生成系统接收第一用户端发送的身份信息,并根据系统主私钥和第一用户端的身份信息生成第一用户端的用户私钥,使得第一用户端可以根据用户私钥进行签名,第二用户端可以根据系统主公钥验证签名的有效性,而不需要CA颁发公钥证书,因此可以降低对目标对象进行验证的证书管理开销。
其中,上述密钥生成系统可以是单一的服务器,也可以是服务器集群,或者是云服务器等都可以,只要可以生成SM9签名算法所需的参数、系统主公钥、系统主私钥以及用户私钥即可,具体的组成形成本申请不作限定。上述第一用户端和第二用户端可以是台式电脑、笔记本、手机终端、PDA等,只要是可以建立通信连接并具备计算能力的设备都可以,对于第一用户端和第二用户端的呈现形成,本申请也不作限定。
本申请实施例提供了一种数据处理方法,图2示出了本申请一实施例中数据处理方法的流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图2所示,本申请一种实施例提供的数据处理方法可以包括以下步骤:
步骤S201,第一用户端将第一用户端的身份信息发送至密钥生成系统,并接收密钥生成系统返回的用户私钥,其中,用户私钥由密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成。
具体地,第一用户端将第一用户端的身份信息发送至密钥生成系统。其中,第一用户端的身份信息是第一用户端对应的用户唯一标识,可以包括以下至少之一:姓名、住址、邮箱地址和手机号码等信息。密钥生成系统可以生成系统主私钥,并根据系统主私钥和第一用户端的身份信息生成第一用户端的用户私钥,并将生成的用户私钥发送至第一用户端。
步骤S202,第一用户端获取预设进制数,根据SM9签名算法和用户私钥对小于预设进制数的多个自然数中的各自然数进行签名,并将得到的多个签名发送至第二用户端。
其中,预设进制数可以由第一用户端和第二用户端根据实际情况共同设定,例如,预设进制数可以为2、8、10和16等。
具体地,第一用户端获取预设进制数,在获取预设进制数之后,第一用户端可以根据SM9签名算法和用户私钥对小于预设进制数的多个自然数中的各自然数进行签名。其中,小于预设进制数的多个自然数可以为{0,1,…,u-1},u为所述预设进制数。第一用户端根据SM9签名算法和用户私钥对{0,1,…,u-1}中的各个数进行签名,得到多个签名,并将得到的多个签名发送至第二用户端。
步骤S203,第一用户端接收第二用户端发送的承诺值,其中,承诺值由第二用户端根据第二用户端获取的目标对象生成。
为了在不获取目标对象的情况下对目标对象进行验证,第一用户端可以从第二用户端接收承诺值。具体地,第二用户端获取目标对象,根据目标对象生成承诺值,并将承诺值发送至第一用户端。
步骤S204,第一用户端接收第二用户端返回的盲化值,其中,盲化值由第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成,其中,系统主公钥由密钥生成系统生成并公布。
步骤S205,第一用户端根据承诺值和盲化值对目标对象进行验证。
密钥生成系统生成系统主公钥并公布所述系统主公钥,第二用户端可以从密钥生成系统获取系统主公钥。在第一用户端向第二用户端发送多个签名之后,第二用户端可以根据系统主公钥验证所述多个签名的有效性,并且在确定所述多个签名有效的情况下,根据所述多个签名和目标对象生成盲化值,即对目标对象和签名进行盲化,并将得到的盲化值发送至第一用户端。在第一用户端接收到第二用户端发送的承诺值和盲化值之后,可以根据承诺值和盲化值来对目标对象进行验证,即可以通过验证承诺值和盲化值是否一致来验证目标对象是否有效。
上述方案中,通过采用SM9签名算法进行签名,由于SM9签名算法是基于双线性对的标识密码算法,可以生成系统主公钥和系统主私钥并利用系统主私钥和用户的身份信息生成用户私钥,使得第一用户端可以根据用户私钥进行签名,第二用户端可以根据系统主公钥来验证签名的有效性,所以采用SM9签名算法的方案不需要数字证书、证书库或密钥库,因此可以有效避免高昂的证书管理开销,有效降低验证成本;进一步地,根据承诺值以及基于签名生成的盲化值,第一用户端可以在不获取目标对象的情况下验证目标对象,有效保护了数据隐私和数据安全性;此外,上述方案还具有低通信带宽消耗和低计算开销的特点,能够适应云计算和大数据等领域的数据隐私保护安全需求。
进一步地,在本申请一些实施例中,密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成用户私钥,可以包括:生成SM9签名算法的系统参数和安全哈希函数;根据系统参数和安全哈希函数生成系统主私钥和系统主公钥,并公布系统主公钥;接收第一用户端发送的第一用户端的身份信息;根据系统参数、安全哈希函数、系统主私钥和身份信息生成用户私钥。其中,系统参数可以包括椭圆曲线相关参数或者其他类型的参数(例如基于乘法群的参数等)。通过上述方式,密钥生成系统可以根据SM9签名算法的系统参数和安全哈希函数生成系统主公钥、系统主私钥,并根据系统主私钥和身份信息生成用户私钥。
进一步地,在本申请一些实施例中,第二用户端根据第二用户端中获取的目标对象生成承诺值,可以包括:获取目标对象;从密钥生成系统获取系统参数;根据目标对象和系统参数生成承诺值。通过上述方式,可以基于SM9签名算法的系统参数和目标对象生成承诺值。
进一步地,在本申请一些实施例中,第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成盲化值,可以包括:获取预设进制数和预设位数;根据预设进制数和预设位数表示目标对象,得到多个系数;从密钥生成系统获取系统主公钥,并根据系统主公钥验证接收到的多个签名是否有效;在验证多个签名有效的情况下,根据多个签名确定多个系数中各系数对应的签名;根据系统参数和各系数对应的签名生成盲化值。
具体地,第二用户端在获取预设进制数和预设位数之后,可以根据预设进制数和预设位数将目标对象表示为:
Figure GDA0003354024600000111
其中,σ为目标对象,u为预设进制数,l为预设位数,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,j=0,1,2,...,l-1。第二用户端从密钥生成系统获取系统主公钥,并根据系统主公钥验证第一用户端发送的多个签名是否有效,并且在验证多个签名有效的情况下,可以根据接收到的多个签名确定各个系数σj对应的签名。由于接收到的多个签名为小于预设进制数的多个自然数中各自然数对应的签名,而各个系数σj均为小于预设进制数的自然数,所以可以根据σj的数值确定σj对应的签名。在确定各系数σj对应的签名之后,第二用户端可以根据系统参数和各系数对应的签名生成盲化值,并将得到的盲化值发送至第一用户端。通过上述方式,第二用户端可以根据系统主公钥验证签名的有效性,并在验证签名有效的情况下根据系统参数、目标对象的系数和接收到的多个签名来生成盲化值。
考虑到范围证明协议是零知识证明的一种,允许证明者不提供具体元素的情况下,让验证者相信某一承诺值中的元素在指定的范围内。也就是说,给定元素σ的承诺值,证明者能够以零知识的方式让验证者相信σ在某一个数值范围内(比如,σ∈[0,232-1)),因此本申请一些实施例中提供的数据处理方法可以用于实现范围证明协议,即证明目标对象在预设范围内。因此,在本申请一些实施例中,第一用户端根据承诺值和盲化值对目标对象进行验证,可以包括:接收第二用户端发送的中间数据,其中,中间数据由第二用户端根据系统参数、预设进制数和预设位数确定;根据系统参数确定挑战值,并将挑战值发送至第二用户端;接收第二用户端返回的证明数据,其中,证明数据由第二用户端根据系统参数、挑战值和多个系数确定;根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内。通过上述方式,可以实现范围证明协议,使得在第二用户端不提供目标对象的情况下,让第一用户端相信某一承诺值对应的目标对象在预设范围内。
进一步地,在本申请一些实施例中,第二用户端可以按照以下公式生成承诺值:
C=σG+ρH;
其中,C为承诺值,σ为目标对象,G和H为群
Figure GDA0003354024600000112
的生成元,
Figure GDA0003354024600000113
为n阶循环群,n为大素数,
Figure GDA0003354024600000121
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n,
Figure GDA0003354024600000122
G,H为系统参数。
进一步地,在本申请一些实施例中,密钥生成系统根据系统参数和安全哈希函数生成系统主私钥和系统主公钥,可以包括按照以下公式生成系统主私钥和系统主公钥:
Figure GDA0003354024600000123
msk=s;
其中,mpk为系统主公钥,msk为系统主私钥,
Figure GDA0003354024600000124
为n阶循环群,
Figure GDA0003354024600000125
e为双线性对映射,G,H,P1为群
Figure GDA0003354024600000126
的生成元,P2为群
Figure GDA0003354024600000127
的生成元,Ppub=sP2,g=e(P1,Ppub),其中,
Figure GDA0003354024600000128
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n为大素数,hid=1;
Figure GDA0003354024600000129
Figure GDA00033540246000001210
为安全哈希函数,
Figure GDA00033540246000001211
Figure GDA00033540246000001212
n,
Figure GDA00033540246000001213
G,H,P1,P2,hid为系统参数。通过上述方式,密钥生成系统可以根据系统参数和哈希函数生成系统主公钥和系统主私钥。
进一步地,在本申请一些实施例中,密钥生成系统根据系统参数、安全哈希函数、系统主私钥和身份信息生成用户私钥,可以包括:
确定以下等式是否成立:
Figure GDA00033540246000001214
在确定以上等式成立的情况下,按照以下公式生成用户私钥:
Figure GDA00033540246000001215
其中,Dv为用户私钥,s为所述系统主私钥,
Figure GDA00033540246000001216
为集合{1,2,...,n}中与n互素的元素构成的集合,
Figure GDA00033540246000001217
为安全哈希函数,IDv为第一用户端的身份信息,hid=1,P1为群
Figure GDA00033540246000001218
的生成元,群
Figure GDA00033540246000001219
为n阶循环群,n为大素数,其中,n,
Figure GDA00033540246000001220
P1,hid为系统参数,mod为模运算。通过以上方式,密钥生成系统可以根据系统参数和第一用户端的身份信息生成第一用户端的用户私钥。
进一步地,在本申请一些实施例中,第一用户端可以按照以下公式对小于预设进制数的多个自然数中的各自然数进行签名:
Figure GDA00033540246000001221
Figure GDA00033540246000001222
Si=li·Dv
其中,i=0,1,2,...,u-1,为小于预设进制数的多个自然数,u为预设进制数,(wi,hi,Si)为i对应的签名,
Figure GDA00033540246000001328
为安全哈希函数,li=(ri-hi)mod n,Dv为用户私钥,
Figure GDA0003354024600000131
为集合{1,2,...,n}中与n互素的元素构成的集合,n为大素数,g=e(P1,Ppub),其中,P1为群
Figure GDA0003354024600000132
的生成元,Ppub=sP2,P2为群
Figure GDA0003354024600000133
的生成元,
Figure GDA0003354024600000134
其中,e为双线性对映射,
Figure GDA0003354024600000135
为n阶循环群,
Figure GDA0003354024600000136
n,
Figure GDA0003354024600000137
P1,P2为系统参数,mod为模运算。
进一步地,在本申请一些实施例中,在根据系统主公钥验证接收到的多个签名有效的情况下,第二用户端可以按照以下公式生成盲化值:
Figure GDA0003354024600000138
Figure GDA0003354024600000139
Figure GDA00033540246000001310
Figure GDA00033540246000001311
Figure GDA00033540246000001312
其中,
Figure GDA00033540246000001313
是盲化值,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,为小于预设进制数的自然数,
Figure GDA00033540246000001314
其中,σ为目标对象,u为预设进制数,l为预设位数,j=0,1,2,...,l-1,
Figure GDA00033540246000001315
为多个签名中与σj对应的签名,
Figure GDA00033540246000001316
为集合{1,2,...,n}中与n互素的元素构成的集合,G和H为群
Figure GDA00033540246000001317
的生成元,
Figure GDA00033540246000001318
为n阶循环群,n为大素数,n,
Figure GDA00033540246000001319
G,H为系统参数,mod为模运算。
进一步地,在本申请一些实施例中,第二用户端可以按照以下公式生成中间数据:
Figure GDA00033540246000001320
Bj=m1,jG+m2,jH;
Dj=ejG+m3,jH;
Figure GDA00033540246000001321
Figure GDA00033540246000001322
其中,(A,Bj,Dj,Ej,Fj)为中间数据,xj,y,m1,j,m2,j,m3,j,ej,lj,
Figure GDA00033540246000001323
其中,
Figure GDA00033540246000001324
为集合{1,2,...,n}中与n互素的元素构成的集合,j=0,1,2,...,l-1,u为预设进制数,l为预设位数,H和G为群
Figure GDA00033540246000001329
的生成元,Wj为群
Figure GDA00033540246000001325
上的元素,
Figure GDA00033540246000001326
为群
Figure GDA00033540246000001327
上的元素,
Figure GDA0003354024600000141
其中,e为双线性对映射,
Figure GDA0003354024600000142
为n阶循环群,其中,n,
Figure GDA0003354024600000143
G,H为系统参数。
进一步地,在本申请一些实施例中,第二用户端可以按照以下公式生成证明数据:
Figure GDA00033540246000001426
zy=y-ρ·c;
Figure GDA0003354024600000144
Figure GDA0003354024600000145
Figure GDA0003354024600000146
Figure GDA0003354024600000147
Figure GDA0003354024600000148
Figure GDA0003354024600000149
其中,
Figure GDA00033540246000001410
为证明数据,j=0,1,2,...,l-1,l为预设位数;xj,y,ρ,m1,j,m2,j,m3,j1,j2,j3,j,ej,∈j,lj,
Figure GDA00033540246000001411
c为挑战值,
Figure GDA00033540246000001412
其中,
Figure GDA00033540246000001413
为集合{1,2,...,n}中与元素n互素的元素构成的集合,n为大素数,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,
Figure GDA00033540246000001414
其中,σ为目标对象,u为预设进制数,l为预设位数,γj是满足
Figure GDA00033540246000001415
的随机数,其中,H和G为群
Figure GDA00033540246000001416
的生成元,
Figure GDA00033540246000001417
为n阶循环群,
Figure GDA00033540246000001418
为群
Figure GDA00033540246000001419
上的元素,其中,n,
Figure GDA00033540246000001420
G,H为系统参数。
进一步地,在本申请一些实施例中,第一用户端根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内,可以包括:
确定以下五个等式是否均成立:
Figure GDA00033540246000001421
Figure GDA00033540246000001422
Figure GDA00033540246000001423
Figure GDA00033540246000001424
Figure GDA00033540246000001425
在确定以上五个等式均成立的情况下,确定目标对象在预设范围内,其中,预设范围为[0,ul);
其中,(A,Bj,Dj,Ej,Fj)为中间数据,
Figure GDA0003354024600000151
为证明数据,
Figure GDA0003354024600000152
是盲化值,j=0,1,2,...,l-1,u为预设进制数,l为预设位数;c为挑战值,C为承诺值;G,H,P1为群
Figure GDA0003354024600000153
的生成元,Ppub=sP2,其中,
Figure GDA0003354024600000154
为集合{1,2,...,n}中与n互素的元素构成的集合,P2为群
Figure GDA0003354024600000155
的生成元,n为大素数;其中,
Figure GDA0003354024600000156
为n阶循环群,e为双线性对映射,n,
Figure GDA0003354024600000157
G,H,P1,P2为系统参数,Qv是第一用户端的公开参数,Qv=hashvP2+Ppub,其中,
Figure GDA0003354024600000158
其中,IDv为第一用户端的身份信息,hid=1,
Figure GDA0003354024600000159
为安全哈希函数。
在本申请的一些实施例中,上述数据处理方法不仅支持σ∈[0,ul)形式的范围证明,还可以扩展成一般形式
Figure GDA00033540246000001510
的范围证明,其中,a和b为非负整数。若ul-1<b<ul,则将σ∈[a,b]等价为σ-b+ul∈[0,ul]∧σ-a∈[0,ul);若a+ul-1<b,则将σ∈[a,b]等价为b-σ∈[0,ul-1]∨σ-a∈[0,ul-1)。因此,通过两次调用σ∈[0,ul)形式的范围证明,可以实现一般形式σ∈[a,b]的范围证明。
可以理解的是,本申请实施例提供的数据处理方法可以用于验证目标对象在预设范围内,但本申请并不限于此。例如,本申请实施例提供的方法还可以用于验证目标对象是否为真,等等。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
如图3所示,示出了将本申请实施例中提供的数据处理方法应用于实现范围证明协议的顺序图,该方法包括以下步骤:
步骤1,密钥生成系统生成SM9签名算法的系统参数和安全哈希函数,并根据系统参数和安全哈希函数生成系统主公钥和系统主私钥;具体地,输入安全参数λ,选取素数n阶循环群
Figure GDA00033540246000001511
和双线性对映射
Figure GDA00033540246000001512
Figure GDA00033540246000001513
中随机选取生成元
Figure GDA00033540246000001514
随机选取
Figure GDA00033540246000001515
计算Ppub=sP2和g=e(P1,Ppub);选取两个安全哈希函数
Figure GDA00033540246000001516
随机选取一个字节的附属信息hid,在SM9算法标准中,hid=1,
Figure GDA00033540246000001517
G,H,P1,P2,g,hid为系统参数,输出系统主公钥
Figure GDA0003354024600000161
和系统主私钥msk=s;
步骤2,第一用户端向密钥生成系统发送第一用户端的身份信息IDv
步骤3,密钥生成系统根据系统主私钥和第一用户端的身份信息生成用户私钥,具体地,密钥生成系统判断
Figure GDA0003354024600000162
是否成立,若成立,则重新生成主私钥;否则,计算第一用户端的用户私钥
Figure GDA0003354024600000163
步骤4,第一用户端从密钥生成系统获取系统参数、安全哈希函数和用户私钥,第二用户端从密钥生成系统获取系统参数和系统主公钥;
步骤5,第二用户端获取目标对象,并根据系统参数和目标对象生成承诺值,并将生成的承诺值发送给第一用户端,具体地,第二用户端随机选取
Figure GDA0003354024600000164
计算承诺C=σG+ρH,其中σ为第二用户端的目标对象,
Figure GDA0003354024600000165
为集合{1,2,...,n}中与n互素的元素构成的集合,n为大素数;
步骤6,第一用户端获取预设进制数u,并根据SM9签名算法和用户私钥对小于预设进制数的多个自然数种各自然数进行签名,得到多个签名,并将得到的多个签名发送至第二用户端,具体地,对于
Figure GDA0003354024600000166
为集合{0,1,2,...,u-1}中的u个元素,第一用户端随机选取
Figure GDA0003354024600000167
计算签名
Figure GDA0003354024600000168
和Si=li·Dv,其中,li=(ri-hi)modn,(wi,hi,Si)为i对应的签名,将(wi,hi,Si),
Figure GDA0003354024600000169
发送至第二用户端;
步骤7,第二用户端获取预设进制数u和预设位数l,并根据预设进制数u和预设位数l表示目标对象,得到多个系数,根据系统主公钥验证接收到的多个签名是否有效,在验证接收到的多个签名有效的情况下,根据接收到的多个签名确定多个系数中各系数对应的签名,根据系统参数和各系数对应的签名确定盲化值,将得到的盲化值返回至第一用户端,具体地,对于
Figure GDA00033540246000001610
为集合{0,1,2,...,l-1}中的l个元素,随机选取
Figure GDA00033540246000001611
计算
Figure GDA00033540246000001612
Figure GDA00033540246000001613
第一用户端将盲化值
Figure GDA00033540246000001614
发送给第二用户端;
步骤8,第二用户端根据系统参数、预设进制数和预设位数确定中间数据,并将中间数据发送至第一用户端,具体地,对于
Figure GDA00033540246000001615
第二用户端随机选取xj,y,m1,j,m2,j,m3,j,ej,lj
Figure GDA0003354024600000171
计算中间数据
Figure GDA0003354024600000172
Bj=m1,jG+m2,jH,Dj=ejG+m3,jH,
Figure GDA0003354024600000173
并将中间数据(A,Bj,Dj,Ej,Fj),
Figure GDA0003354024600000174
发送给第一用户端;
步骤9,第一用户端挑选挑战值,并将挑战值发送至第二用户端,具体地,随机选取挑战值
Figure GDA0003354024600000175
并将c发送给第二用户端;
步骤10,第二用户端根据系统参数、挑战值和多个系数确定证明数据,并将证明数据发送给第一用户端,具体地,对于
Figure GDA0003354024600000176
第二用户端计算
Figure GDA0003354024600000177
Figure GDA0003354024600000178
Figure GDA0003354024600000179
其中,γj是满足
Figure GDA00033540246000001715
的随机数,将证明数据
Figure GDA00033540246000001711
发送给第一用户端;
步骤11,第一用户端根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内,具体地,第一用户端验证者验证等式
Figure GDA00033540246000001712
Figure GDA00033540246000001713
Figure GDA00033540246000001714
是否均成立,若均成立,说明验证通过,σ∈[0,ul);否则,拒绝该证明。
上述实施例中的用于实现范围证明协议的数据处理方法,基于SM9签名算法,密钥生成系统生成系统主公钥和系统主私钥并公布系统主公钥,密钥生成系统接收第一用户端发送的身份信息,并根据系统主私钥和第一用户端的身份信息生成第一用户端的用户私钥,使得第一用户端可以根据用户私钥进行签名,第二用户端可以根据系统主公钥验证签名的有效性,而不需要CA颁发公钥证书,因此可以降低对目标对象进行验证的证书管理开销;第一用户端根据用户私钥对小于预设进制数的多个自然数进行签名,并将得到的多个签名发送给第二用户端;第二用户端根据系统参数和目标对象生成承诺值,将承诺值发送给第一用户端;第一用户端根据接收到的多个签名和目标对象生成多个盲化值,并将盲化值发送给第一用户端;第二用户端生成中间数据,并将中间数据发送至第一用户端,并根据第一用户端返回的挑战值生成证明数据,将证明数据发送给第一用户端,使得第一用户端可以根据系统参数、盲化值、承诺值、挑战值、中间数据和证明数据验证目标对象是否在预设范围内。即,上述方案在采用签名盲化的方式实现范围证明协议时,利用SM9数字签名算法进行构造,即作为验证者的第一用户端预先提供各元素的签名时采用SM9签名算法进行签名,不仅有效避免了高昂的证书管理开销,还具有低通信带宽消耗和低计算开销的特点,能够适应云计算和大数据等领域的数据隐私保护安全需求。
基于同一发明构思,本申请实施例中还提供了一种数据处理装置,如下面的实施例所述。由于数据处理装置解决问题的原理与数据处理方法相似,因此数据处理装置的实施可以参见数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本申请实施例的数据处理装置的一种结构框图,如图4所示,包括:发送模块401、签名模块402、第一接收模块403、第二接收模块404和验证模块405,下面对该结构进行说明。
发送模块401用于将第一用户端的身份信息发送至密钥生成系统,并接收密钥生成系统返回的用户私钥,其中,用户私钥由密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成。
签名模块402用于获取预设进制数,根据SM9签名算法和用户私钥对小于预设进制数的多个自然数中的各自然数进行签名,并将得到的多个签名发送至第二用户端。
第一接收模块403用于接收第二用户端发送的承诺值,其中,承诺值由第二用户端根据第二用户端获取的目标对象生成。
第二接收模块404用于接收第二用户端返回的盲化值,其中,盲化值由第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成,其中,系统主公钥由密钥生成系统生成并公布。
验证模块405用于根据承诺值和盲化值对目标对象进行验证。
在本申请一些实施例中,密钥生成系统根据身份信息和密钥生成系统生成的系统主私钥生成用户私钥,可以包括:生成SM9签名算法的系统参数和安全哈希函数;根据系统参数和安全哈希函数生成系统主私钥和系统主公钥,并公布系统主公钥;接收第一用户端发送的第一用户端的身份信息;根据系统参数、安全哈希函数、系统主私钥和身份信息生成用户私钥。
在本申请一些实施例中,第二用户端根据第二用户端中获取的目标对象生成承诺值,可以包括:获取目标对象;从密钥生成系统获取系统参数;根据目标对象和系统参数生成承诺值。
在本申请一些实施例中,第二用户端在根据系统主公钥验证接收到的多个签名有效的情况下根据多个签名和目标对象生成盲化值,可以包括:获取预设进制数和预设位数;根据预设进制数和预设位数表示目标对象,得到多个系数;从密钥生成系统获取系统主公钥,并根据系统主公钥验证接收到的多个签名是否有效;在验证多个签名有效的情况下,根据多个签名确定多个系数中各系数对应的签名;根据系统参数和各系数对应的签名生成盲化值。
在本申请一些实施例中,验证模块可以具体用于:接收第二用户端发送的中间数据,其中,中间数据由第二用户端根据系统参数、预设进制数和预设位数确定;根据系统参数确定挑战值,并将挑战值发送至第二用户端;接收第二用户端返回的证明数据,其中,证明数据由第二用户端根据系统参数、挑战值和多个系数确定;根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内。
在本申请一些实施例中,第二用户端可以按照以下公式生成承诺值:
C=σG+ρH;
其中,C为承诺值,σ为目标对象,G和H为群
Figure GDA0003354024600000191
的生成元,
Figure GDA0003354024600000192
为n阶循环群,n为大素数,
Figure GDA0003354024600000193
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n,
Figure GDA0003354024600000194
G,H为系统参数。
在本申请一些实施例中,密钥生成系统根据系统参数和安全哈希函数生成系统主私钥和系统主公钥,可以包括按照以下公式生成系统主私钥和系统主公钥:
Figure GDA0003354024600000195
msk=s;
其中,mpk为系统主公钥,msk为系统主私钥,
Figure GDA0003354024600000196
为n阶循环群,
Figure GDA0003354024600000197
e为双线性对映射,G,H,P1为群
Figure GDA0003354024600000198
的生成元,P2为群
Figure GDA0003354024600000199
的生成元,Ppub=sP2,g=e(P1,Ppub),其中,
Figure GDA00033540246000001910
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n为大素数,hid=1;
Figure GDA00033540246000001911
Figure GDA00033540246000001912
为安全哈希函数,
Figure GDA00033540246000001913
Figure GDA00033540246000001914
n,
Figure GDA00033540246000001915
G,H,P1,P2,hid为系统参数。
在本申请一些实施例中,密钥生成系统根据系统参数、安全哈希函数、系统主私钥和身份信息生成用户私钥,可以包括:
确定以下等式是否成立:
Figure GDA0003354024600000201
在确定以上等式成立的情况下,按照以下公式生成用户私钥:
Figure GDA0003354024600000202
其中,Dv为用户私钥,s为所述系统主私钥,
Figure GDA0003354024600000203
为集合{1,2,...,n}中与n互素的元素构成的集合,
Figure GDA0003354024600000204
为安全哈希函数,IDv为第一用户端的身份信息,hid=1,P1为群
Figure GDA0003354024600000205
的生成元,群
Figure GDA0003354024600000206
为n阶循环群,n为大素数,其中,n,
Figure GDA0003354024600000207
P1,hid为系统参数,mod为模运算。
在本申请一些实施例中,签名模块可以具体用于按照以下公式对小于预设进制数的多个自然数中的各自然数进行签名:
Figure GDA0003354024600000208
Figure GDA0003354024600000209
Si=li·Dv
其中,i=0,1,2,...,u-1,为小于预设进制数的多个自然数,u为预设进制数,(wi,hi,Si)为i对应的签名,
Figure GDA00033540246000002024
为安全哈希函数,li=(ri-hi)mod n,Dv为用户私钥,
Figure GDA00033540246000002010
为集合{1,2,...,n}中与n互素的元素构成的集合,n为大素数,g=e(P1,Ppub),其中,P1为群
Figure GDA00033540246000002011
的生成元,Ppub=sP2,P2为群
Figure GDA00033540246000002012
的生成元,
Figure GDA00033540246000002013
其中,e为双线性对映射,
Figure GDA00033540246000002014
为n阶循环群,
Figure GDA00033540246000002015
n,
Figure GDA00033540246000002016
P1,P2为系统参数,mod为模运算。
在本申请一些实施例中,在根据系统主公钥验证接收到的多个签名有效的情况下,第二用户端可以按照以下公式生成盲化值:
Figure GDA00033540246000002017
Figure GDA00033540246000002018
Figure GDA00033540246000002019
Figure GDA00033540246000002020
Figure GDA00033540246000002021
其中,
Figure GDA00033540246000002022
是盲化值,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,为小于预设进制数的自然数,
Figure GDA00033540246000002023
其中,σ为目标对象,u为预设进制数,l为预设位数,j=0,1,2,...,l-1,
Figure GDA0003354024600000211
为多个签名中与σj对应的签名,
Figure GDA0003354024600000212
为集合{1,2,...,n}中与n互素的元素构成的集合,G和H为群
Figure GDA0003354024600000213
的生成元,
Figure GDA0003354024600000214
为n阶循环群,n为大素数,n,
Figure GDA0003354024600000215
G,H为系统参数,mod为模运算。
在本申请一些实施例中,第二用户端可以按照以下公式生成中间数据:
Figure GDA0003354024600000216
Bj=m1,jG+m2,jH;
Dj=ejG+m3,jH;
Figure GDA0003354024600000217
Figure GDA0003354024600000218
其中,(A,Bj,Dj,Ej,Fj)为中间数据,xj,y,m1,j,m2,j,m3,j,ej,lj,
Figure GDA0003354024600000219
其中,
Figure GDA00033540246000002110
为集合{1,2,...,n}中与n互素的元素构成的集合,j=0,1,2,...,l-1,u为预设进制数,l为预设位数,H和G为群
Figure GDA00033540246000002111
的生成元,Wj为群
Figure GDA00033540246000002112
上的元素,
Figure GDA00033540246000002113
为群
Figure GDA00033540246000002114
上的元素,
Figure GDA00033540246000002115
其中,e为双线性对映射,
Figure GDA00033540246000002116
为n阶循环群,其中,n,
Figure GDA00033540246000002117
G,H为系统参数。
在本申请一些实施例中,第二用户端可以按照以下公式生成证明数据:
Figure GDA00033540246000002128
zy=y-ρ·c;
Figure GDA00033540246000002118
Figure GDA00033540246000002119
Figure GDA00033540246000002120
Figure GDA00033540246000002121
Figure GDA00033540246000002122
Figure GDA00033540246000002123
其中,
Figure GDA00033540246000002124
为证明数据,j=0,1,2,...,l-1,l为预设位数;xj,y,ρ,m1,j,m2,j,m3,j1,j2,j3,j,ej,∈j,lj,
Figure GDA00033540246000002125
c为挑战值,
Figure GDA00033540246000002126
其中,
Figure GDA00033540246000002127
为集合{1,2,...,n}中与元素n互素的元素构成的集合,n为大素数,σj为根据预设进制数和预设位数表示目标对象时得到的多个系数,
Figure GDA0003354024600000221
其中,σ为目标对象,u为预设进制数,l为预设位数,γj是满足
Figure GDA0003354024600000222
的随机数,其中,H和G为群
Figure GDA0003354024600000223
的生成元,
Figure GDA0003354024600000224
为n阶循环群,
Figure GDA0003354024600000225
为群
Figure GDA0003354024600000226
上的元素,其中,n,
Figure GDA0003354024600000227
G,H为系统参数。
在本申请一些实施例中,第一用户端根据用户私钥、盲化值、承诺值、中间数据、挑战值和证明数据验证目标对象是否在预设范围内,可以包括:
确定以下五个等式是否均成立:
Figure GDA0003354024600000228
Figure GDA0003354024600000229
Figure GDA00033540246000002210
Figure GDA00033540246000002211
Figure GDA00033540246000002212
在确定以上五个等式均成立的情况下,确定目标对象在预设范围内,其中,预设范围为[0,ul);
其中,(A,Bj,Dj,Ej,Fj)为中间数据,
Figure GDA00033540246000002213
为证明数据,
Figure GDA00033540246000002214
是盲化值,j=0,1,2,...,l-1,u为预设进制数,l为预设位数;c为挑战值,C为承诺值;G,H,P1为群
Figure GDA00033540246000002215
的生成元,Ppub=sP2,其中,
Figure GDA00033540246000002216
为集合{1,2,...,n}中与n互素的元素构成的集合,P2为群
Figure GDA00033540246000002217
的生成元,n为大素数;其中,
Figure GDA00033540246000002218
为n阶循环群,e为双线性对映射,n,
Figure GDA00033540246000002219
G,H,P1,P2为系统参数,Qv是第一用户端的公开参数,Qv=hashvP2+Ppub,其中,
Figure GDA00033540246000002220
其中,IDv为第一用户端的身份信息,hid=1,
Figure GDA00033540246000002221
为安全哈希函数。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:通过采用SM9签名算法进行签名,由于SM9签名算法是基于双线性对的标识密码算法,可以生成系统主公钥和系统主私钥并利用系统主私钥和用户的身份信息生成用户私钥,使得第一用户端可以根据用户私钥进行签名,第二用户端可以根据系统主公钥来验证签名的有效性,所以采用SM9签名算法的方案不需要数字证书、证书库或密钥库,因此可以有效避免高昂的证书管理开销,有效降低验证成本;进一步地,根据承诺值以及基于签名生成的盲化值,第一用户端可以在不获取目标对象的情况下验证目标对象,有效保护了数据隐私和数据安全性;此外,上述方案还具有低通信带宽消耗和低计算开销的特点,能够适应云计算和大数据等领域的数据隐私保护安全需求。通过上述方案解决了现有的对目标对象进行验证的目前的数据验证方法中证书管理开销高的技术问题,达到了有效降低验证成本的技术效果。
本申请实施方式还提供了一种计算机设备,具体可以参阅图5所示的基于本申请实施例提供的数据处理方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备51、处理器52、存储器53。其中,所述存储器53用于存储处理器可执行指令。所述处理器52执行所述指令时实现上述任意实施例中所述的数据处理方法的步骤。所述输入设备51具体可以用于输入预设进制数和预设位数等参数。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述数据处理方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种数据处理方法,其特征在于,所述方法包括:
第一用户端将所述第一用户端的身份信息发送至密钥生成系统,并接收所述密钥生成系统返回的用户私钥,其中,所述用户私钥由所述密钥生成系统根据所述身份信息和所述密钥生成系统生成的系统主私钥生成;
所述第一用户端获取预设进制数,根据SM9签名算法和所述用户私钥对小于所述预设进制数的多个自然数中的各自然数进行签名,并将得到的多个签名发送至第二用户端;
所述第一用户端接收所述第二用户端发送的承诺值,其中,所述承诺值由所述第二用户端根据所述第二用户端获取的目标对象生成;
所述第一用户端接收所述第二用户端返回的盲化值,其中,所述盲化值由所述第二用户端在根据系统主公钥验证接收到的所述多个签名有效的情况下根据所述多个签名和所述目标对象生成,其中,所述系统主公钥由所述密钥生成系统生成并公布;
所述第一用户端根据所述承诺值和所述盲化值对所述目标对象进行验证;
其中,所述第二用户端在根据系统主公钥验证接收到的所述多个签名有效的情况下根据所述多个签名和所述目标对象生成盲化值,包括:
获取所述预设进制数和预设位数;
根据所述预设进制数和所述预设位数表示所述目标对象,得到多个系数;
从所述密钥生成系统获取所述系统主公钥,并根据所述系统主公钥验证接收到的所述多个签名是否有效;
在验证所述多个签名有效的情况下,根据所述多个签名确定所述多个系数中各系数对应的签名;
根据所述SM9签名算法的系统参数和所述各系数对应的签名生成盲化值。
2.根据权利要求1所述的方法,其特征在于,所述密钥生成系统根据所述身份信息和所述密钥生成系统生成的系统主私钥生成所述用户私钥,包括:
生成SM9签名算法的系统参数和安全哈希函数;
根据所述系统参数和所述安全哈希函数生成系统主私钥和系统主公钥,并公布所述系统主公钥;
接收所述第一用户端发送的所述第一用户端的身份信息;
根据所述系统参数、所述安全哈希函数、所述系统主私钥和所述身份信息生成所述用户私钥。
3.根据权利要求2所述的方法,其特征在于,所述第二用户端根据所述第二用户端中获取的目标对象生成所述承诺值,包括:
获取所述目标对象;
从所述密钥生成系统获取所述系统参数;
根据所述目标对象和所述系统参数生成所述承诺值。
4.根据权利要求3所述的方法,其特征在于,所述第一用户端根据所述承诺值和所述盲化值对所述目标对象进行验证,包括:
接收所述第二用户端发送的中间数据,其中,所述中间数据由所述第二用户端根据所述系统参数、所述预设进制数和所述预设位数确定;
根据所述系统参数确定挑战值,并将所述挑战值发送至所述第二用户端;
接收所述第二用户端返回的证明数据,其中,所述证明数据由所述第二用户端根据所述系统参数、所述挑战值和所述多个系数确定;
根据所述用户私钥、所述盲化值、所述承诺值、所述中间数据、所述挑战值和所述证明数据验证所述目标对象是否在预设范围内。
5.根据权利要求3所述的方法,其特征在于,所述第二用户端按照以下公式生成所述承诺值:
C=σG+ρH;
其中,C为所述承诺值,σ为所述目标对象,G和H为群
Figure FDA0003462110860000021
的生成元,
Figure FDA0003462110860000022
为n阶循环群,n为大素数,
Figure FDA0003462110860000023
Figure FDA0003462110860000024
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n,
Figure FDA0003462110860000025
G,H为所述系统参数。
6.根据权利要求2所述的方法,其特征在于,所述密钥生成系统根据所述系统参数和所述安全哈希函数生成系统主私钥和系统主公钥,包括按照以下公式生成系统主私钥和系统主公钥:
Figure FDA0003462110860000026
msk=s;
其中,mpk为所述系统主公钥,msk为所述系统主私钥,
Figure FDA0003462110860000031
为n阶循环群,
Figure FDA0003462110860000032
e为双线性对映射,G,H,P1为群
Figure FDA0003462110860000033
的生成元,P2为群
Figure FDA0003462110860000034
的生成元,Ppub=sP2,g=e(P1,Ppub),其中,
Figure FDA0003462110860000035
Figure FDA0003462110860000036
为集合{1,2,...,n}中与n互素的元素构成的集合,其中,n为大素数,hid=1;
Figure FDA0003462110860000037
Figure FDA0003462110860000038
为所述安全哈希函数,
Figure FDA0003462110860000039
n,
Figure FDA00034621108600000310
G,H,P1,P2,hid为所述系统参数。
7.根据权利要求2所述的方法,其特征在于,所述密钥生成系统根据所述系统参数、所述安全哈希函数、所述系统主私钥和所述身份信息生成所述用户私钥,包括:
确定以下等式是否成立:
Figure FDA00034621108600000311
在确定以上等式成立的情况下,按照以下公式生成所述用户私钥:
Figure FDA00034621108600000312
其中,Dv为所述用户私钥,s为所述系统主私钥,
Figure FDA00034621108600000313
Figure FDA00034621108600000314
为集合{1,2,...,n}中与n互素的元素构成的集合,
Figure FDA00034621108600000315
为所述安全哈希函数,IDv为所述第一用户端的身份信息,hid=1,P1为群
Figure FDA00034621108600000316
的生成元,群
Figure FDA00034621108600000317
为n阶循环群,n为大素数,其中,n,
Figure FDA00034621108600000318
P1,hid为所述系统参数,mod为模运算。
8.根据权利要求2所述的方法,其特征在于,所述第一用户端按照以下公式对小于所述预设进制数的多个自然数中的各自然数进行签名:
Figure FDA00034621108600000319
Figure FDA00034621108600000320
Si=li·Dv
其中,i=0,1,2,...,u-1,为小于所述预设进制数的多个自然数,u为所述预设进制数,(wi,hi,Si)为i对应的签名,
Figure FDA00034621108600000321
为所述安全哈希函数,li=(ri-hi)mod n,Dv为所述用户私钥,
Figure FDA00034621108600000322
Figure FDA00034621108600000323
为集合{1,2,...,n}中与n互素的元素构成的集合,n为大素数,g=e(P1,Ppub),其中,P1为群
Figure FDA00034621108600000324
的生成元,Ppub=sP2,P2为群
Figure FDA00034621108600000325
的生成元,
Figure FDA00034621108600000326
其中,e为双线性对映射,
Figure FDA00034621108600000327
为n阶循环群,
Figure FDA00034621108600000328
n,
Figure FDA00034621108600000329
P1,P2为所述系统参数,mod为模运算。
9.根据权利要求1所述的方法,其特征在于,在根据所述系统主公钥验证接收到的所述多个签名有效的情况下,所述第二用户端按照以下公式生成所述盲化值:
Figure FDA00034621108600000330
Figure FDA0003462110860000041
Figure FDA0003462110860000042
Figure FDA0003462110860000043
Figure FDA0003462110860000044
其中,
Figure FDA0003462110860000045
是所述盲化值,σj为根据预设进制数和预设位数表示所述目标对象时得到的多个系数,为小于预设进制数的自然数,
Figure FDA0003462110860000046
其中,σ为所述目标对象,u为所述预设进制数,l为所述预设位数,j=0,1,2,...,l-1,
Figure FDA0003462110860000047
为所述多个签名中与σj对应的签名,
Figure FDA0003462110860000048
Figure FDA0003462110860000049
为集合{1,2,...,n}中与n互素的元素构成的集合;g=e(P1,Ppub),其中,Ppub=sP2,G、H和P1为群
Figure FDA00034621108600000410
的生成元,P2为群
Figure FDA00034621108600000411
的生成元,
Figure FDA00034621108600000412
其中,e为双线性对映射,
Figure FDA00034621108600000413
为n阶循环群,
Figure FDA00034621108600000414
n为大素数,n,
Figure FDA00034621108600000415
P1,P2,G,H为所述系统参数,mod为模运算。
10.根据权利要求4所述的方法,其特征在于,所述第二用户端按照以下公式生成所述中间数据:
Figure FDA00034621108600000416
Bj=m1,jG+m2,jH;
Dj=ejG+m3,jH;
Figure FDA00034621108600000417
Figure FDA00034621108600000418
其中,(A,Bj,Dj,Ej,Fj)为所述中间数据,
Figure FDA00034621108600000419
其中,
Figure FDA00034621108600000420
为集合{1,2,...,n}中与n互素的元素构成的集合,j=0,1,2,...,l-1,u为所述预设进制数,l为所述预设位数,g=e(P1,Ppub),其中,Ppub=sP2,P1、H和G为群
Figure FDA00034621108600000421
的生成元,P2为群
Figure FDA00034621108600000422
的生成元,
Figure FDA00034621108600000423
Wj为群
Figure FDA00034621108600000424
上的元素,
Figure FDA00034621108600000425
为群
Figure FDA00034621108600000426
上的元素,
Figure FDA00034621108600000427
其中,e为双线性对映射,
Figure FDA00034621108600000428
为n阶循环群,其中,n,
Figure FDA00034621108600000429
G,H为所述系统参数。
11.根据权利要求4所述的方法,其特征在于,所述第二用户端按照以下公式生成所述证明数据:
Figure FDA00034621108600000430
zy=y-ρ·c;
Figure FDA0003462110860000051
Figure FDA0003462110860000052
Figure FDA0003462110860000053
Figure FDA0003462110860000054
Figure FDA0003462110860000055
Figure FDA0003462110860000056
其中
Figure FDA0003462110860000057
为所述证明数据,j=0,1,2,...,l-1,l为所述预设位数;
Figure FDA0003462110860000058
c为所述挑战值,
Figure FDA0003462110860000059
其中,
Figure FDA00034621108600000510
为集合{1,2,...,n}中与元素n互素的元素构成的集合,n为大素数,σj为根据预设进制数和预设位数表示所述目标对象时得到的所述多个系数,
Figure FDA00034621108600000511
其中,σ为所述目标对象,u为所述预设进制数,l为所述预设位数,γj是满足
Figure FDA00034621108600000525
的随机数,其中,H和G为群
Figure FDA00034621108600000512
的生成元,
Figure FDA00034621108600000513
为n阶循环群,
Figure FDA00034621108600000514
为群
Figure FDA00034621108600000515
上的元素,Wj为群
Figure FDA00034621108600000516
上的元素,
Figure FDA00034621108600000517
其中,e为双线性对映射,
Figure FDA00034621108600000518
为n阶循环群,其中,n,
Figure FDA00034621108600000519
G,H为所述系统参数。
12.根据权利要求4所述的方法,其特征在于,所述第一用户端根据所述用户私钥、所述盲化值、所述承诺值、所述中间数据、所述挑战值和所述证明数据验证所述目标对象是否在预设范围内,包括:
确定以下五个等式是否均成立:
Figure FDA00034621108600000520
Figure FDA00034621108600000521
Figure FDA00034621108600000522
Figure FDA00034621108600000523
Figure FDA00034621108600000524
在确定以上五个等式均成立的情况下,确定所述目标对象在预设范围内,其中,所述预设范围为[0,ul);
其中,(A,Bj,Dj,Ej,Fj)为所述中间数据,
Figure FDA0003462110860000061
为所述证明数据,
Figure FDA0003462110860000062
是所述盲化值,j=0,1,2,...,l-1,u为所述预设进制数,l为所述预设位数,
Figure FDA0003462110860000063
σj为根据预设进制数和预设位数表示所述目标对象时得到的所述多个系数,
Figure FDA0003462110860000064
其中,σ为所述目标对象;c为所述挑战值,C为所述承诺值;g=e(P1,Ppub),G,H,P1为群
Figure FDA0003462110860000065
的生成元,Ppub=sP2,其中,
Figure FDA0003462110860000066
Figure FDA0003462110860000067
为集合{1,2,...,n}中与n互素的元素构成的集合,P2为群
Figure FDA0003462110860000068
的生成元,n为大素数;其中,
Figure FDA0003462110860000069
Figure FDA00034621108600000610
为n阶循环群,e为双线性对映射,n,
Figure FDA00034621108600000611
G,H,P1,P2为所述系统参数,Qv是所述第一用户端的公开参数,Qv=hashvP2+Ppub,其中,
Figure FDA00034621108600000612
其中,IDv为所述第一用户端的身份信息,hid=1,
Figure FDA00034621108600000613
为所述安全哈希函数。
13.一种数据处理装置,其特征在于,位于第一用户端中,所述装置包括:
发送模块,用于将所述第一用户端的身份信息发送至密钥生成系统,并接收所述密钥生成系统返回的用户私钥,其中,所述用户私钥由所述密钥生成系统根据所述身份信息和所述密钥生成系统生成的系统主私钥生成;
签名模块,用于获取预设进制数,根据SM9签名算法和所述用户私钥对小于所述预设进制数的多个自然数中的各自然数进行签名,并将得到的多个签名发送至第二用户端;
第一接收模块,用于接收所述第二用户端发送的承诺值,其中,所述承诺值由所述第二用户端根据所述第二用户端获取的目标对象生成;
第二接收模块,用于接收所述第二用户端返回的盲化值,其中,所述盲化值由所述第二用户端在根据系统主公钥验证接收到的所述多个签名有效的情况下根据所述多个签名和所述目标对象生成,其中,所述系统主公钥由所述密钥生成系统生成并公布;所述第二用户端在根据系统主公钥验证接收到的所述多个签名有效的情况下根据所述多个签名和所述目标对象生成盲化值,包括:获取所述预设进制数和预设位数;根据所述预设进制数和所述预设位数表示所述目标对象,得到多个系数;从所述密钥生成系统获取所述系统主公钥,并根据所述系统主公钥验证接收到的所述多个签名是否有效;在验证所述多个签名有效的情况下,根据所述多个签名确定所述多个系数中各系数对应的签名;根据所述SM9签名算法的系统参数和所述各系数对应的签名生成盲化值;
验证模块,用于根据所述承诺值和所述盲化值对所述目标对象进行验证。
14.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求1至12中任一项所述方法的步骤。
CN201910541541.8A 2019-06-21 2019-06-21 范围证明方法、装置、计算机设备和存储介质 Active CN110311776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910541541.8A CN110311776B (zh) 2019-06-21 2019-06-21 范围证明方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910541541.8A CN110311776B (zh) 2019-06-21 2019-06-21 范围证明方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110311776A CN110311776A (zh) 2019-10-08
CN110311776B true CN110311776B (zh) 2022-03-22

Family

ID=68077712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910541541.8A Active CN110311776B (zh) 2019-06-21 2019-06-21 范围证明方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110311776B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111342962B (zh) * 2020-04-01 2020-10-30 支付宝(杭州)信息技术有限公司 一种验证密文消息范围的方法和系统
CN112015814B (zh) * 2020-08-26 2022-10-04 深圳壹账通智能科技有限公司 基于区块链网络的数据生成方法、设备、节点及存储介质
CN112039891B (zh) * 2020-08-31 2024-04-09 深圳前海微众银行股份有限公司 一种区块链共享异常数据的方法及装置
CN112511566B (zh) * 2021-02-02 2022-08-26 北京信安世纪科技股份有限公司 Sm9算法无证书机制签名密钥生成方法、设备及存储介质
CN116484348A (zh) * 2022-01-17 2023-07-25 中兴通讯股份有限公司 云数据安全认证方法、系统和计算机可读存储介质
CN115001711B (zh) * 2022-06-10 2024-01-30 成都卫士通信息产业股份有限公司 信息签名方法、装置、电子设备及计算机可读存储介质
CN115242402B (zh) * 2022-07-12 2023-05-30 长春吉大正元信息技术股份有限公司 签名方法、验签方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834853A (zh) * 2010-04-02 2010-09-15 中国科学院软件研究所 匿名资源共享方法和系统
CN102387019A (zh) * 2011-10-19 2012-03-21 西安电子科技大学 无证书部分盲签名方法
CN106789019A (zh) * 2016-12-27 2017-05-31 深圳大学 一种无证书部分盲签名方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015398B2 (en) * 2007-12-06 2011-09-06 International Business Machines Corporation Set membership proofs in data processing systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834853A (zh) * 2010-04-02 2010-09-15 中国科学院软件研究所 匿名资源共享方法和系统
CN102387019A (zh) * 2011-10-19 2012-03-21 西安电子科技大学 无证书部分盲签名方法
CN106789019A (zh) * 2016-12-27 2017-05-31 深圳大学 一种无证书部分盲签名方法和装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Additive Combinatorics and Discrete Logarithm Based Range Protocols;Chaabouni etal.;《15th Australasian Conference, ACISP 2010》;20100707;全文 *
An efficient and provably-secure certificateless signature scheme without bilinear pairings;He Debiao etal.;《Int.J,commun. Syst.》;20111231;全文 *
Efficient protocols for set membership and range proofs;Jan Camenisch etal.;《ASIACRYPT 2008: Advances in Cryptology - ASIACRYPT 2008》;20081231;第5350卷;全文 *
SM9标识密码算法;国家密码管理局;《SM9标识密码算法》;20160328;第2部分 *
一个安全的基于身份的密钥分发解决方案;邓光;《计算机系统应用》;20090430(第4期);全文 *

Also Published As

Publication number Publication date
CN110311776A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110311776B (zh) 范围证明方法、装置、计算机设备和存储介质
US10326753B2 (en) Authentication via revocable signatures
CN110380862B (zh) 基于隐式证书的签名验证方法、装置和计算机设备
US20130326602A1 (en) Digital Signatures
US10263773B2 (en) Method for updating a public key
Zhao Practical aggregate signature from general elliptic curves, and applications to blockchain
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
WO2014068427A1 (en) Reissue of cryptographic credentials
CN112436938B (zh) 数字签名的生成方法、装置和服务器
Rastegari et al. Universal designated verifier signature scheme with non-delegatability in the standard model
Bellare et al. Deterring certificate subversion: efficient double-authentication-preventing signatures
CN111245625A (zh) 无证书聚合的数字签名方法
US20110064216A1 (en) Cryptographic message signature method having strengthened security, signature verification method, and corresponding devices and computer program products
Anada et al. RSA public keys with inside structure: Proofs of key generation and identities for web-of-trust
Islam et al. Certificateless strong designated verifier multisignature scheme using bilinear pairings
Chande et al. An improvement of a elliptic curve digital signature algorithm
CN110336674B (zh) 范围证明方法、装置、计算机设备和存储介质
KR102070061B1 (ko) 묶음 검증 방법 및 장치
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
CN112671712B (zh) 一种支持高效动态更新的云数据完整性验证方法及系统
CN111147254B (zh) 两方协同的EdDSA数字签名生成方法和装置
Lin et al. F2p-abs: A fast and secure attribute-based signature for mobile platforms
CN111064580B (zh) 隐式证书密钥扩展方法和装置
Amounas et al. Proposed Developments of Blind Signature Scheme Based on ECC
CN111181729B (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
TR01 Transfer of patent right

Effective date of registration: 20230331

Address after: 518061 room 304, block B, building 5, software industry base, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: JUZIX TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: WUHAN University

Address before: 518061 room 304, block B, building 5, software industry base, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: JUZIX TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right