CN116389164A - 数据的检测方法及装置 - Google Patents

数据的检测方法及装置 Download PDF

Info

Publication number
CN116389164A
CN116389164A CN202310603853.3A CN202310603853A CN116389164A CN 116389164 A CN116389164 A CN 116389164A CN 202310603853 A CN202310603853 A CN 202310603853A CN 116389164 A CN116389164 A CN 116389164A
Authority
CN
China
Prior art keywords
data
curve
detected
promise
curve data
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
CN202310603853.3A
Other languages
English (en)
Other versions
CN116389164B (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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202310603853.3A priority Critical patent/CN116389164B/zh
Publication of CN116389164A publication Critical patent/CN116389164A/zh
Application granted granted Critical
Publication of CN116389164B publication Critical patent/CN116389164B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Abstract

本发明公开了一种数据的检测方法及装置,涉及云计算、数据处理技术领域,其中该方法包括:获取数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,待检测曲线数据是将待检测数据映射到双线性椭圆曲线上得到的;获取数据证明方发送的待检测曲线数据与监管曲线数据的范围证明数据,范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;根据待检测曲线数据和第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。本发明可以在确保数据隐私不泄露的情况下,检测数据的合规性。

Description

数据的检测方法及装置
技术领域
本发明涉及云计算、数据处理技术领域,尤其涉及一种数据的检测方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,对金融行业和相关领域的数据使用和存储有着较高安全要求,在数据的存储和传输时需要采用保护措施进行处理,例如对原始数据进行加密、散列等。
普通的加密或散列算法,其目的都是确保数据隐私的绝对安全。但是,一旦数据进行了加密或散列处理,将无法对数据的合规性进行检测,无法确保待检测数据不属于监管的词汇或值。因此,亟需一种对数据的检测方案,在确保数据隐私不泄露的情况下,检测数据的合规性。
发明内容
本发明实施例提供一种数据的检测方法,用以在确保数据隐私不泄露的情况下,检测数据的合规性,该方法应用于数据验证方,该方法包括:
获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;
获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
本发明实施例还提供一种数据的检测方法,用以在确保数据隐私不泄露的情况下,检测数据的合规性,该方法应用于数据发送方,该方法包括:
将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;
将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
本发明实施例还提供一种数据的检测方法,用以在确保数据隐私不泄露的情况下,检测数据的合规性,该方法应用于数据证明方,该方法包括:
接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;
利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;
利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;
将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。
本发明实施例还提供一种数据的检测装置,用以在确保数据隐私不泄露的情况下,检测数据的合规性,该装置应用于数据验证方,该装置包括:
第一获取模块,用于获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;
第二获取模块,用于获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
验证模块,用于根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
本发明实施例还提供一种数据的检测装置,用以在确保数据隐私不泄露的情况下,检测数据的合规性,该装置应用于数据发送方,该装置包括:
映射模块,用于将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
承诺生成模块,用于利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;
第一发送模块,用于将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
第二发送模块,用于将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
本发明实施例还提供一种数据的检测装置,用以在确保数据隐私不泄露的情况下,检测数据的合规性,该装置应用于数据证明方,该装置包括:
接收模块,用于接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
第一承诺生成模块,用于利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;
证明模块,用于利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;
第二承诺生成模块,用于利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;
发送模块,用于将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据的检测方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据的检测方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据的检测方法。
本发明实施例中,数据验证方获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
本发明实施例中,数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
本发明实施例中,数据证明方接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种应用于数据验证方的数据的检测方法的流程图;
图2为本发明实施例中提供的一种应用于数据发送方的数据的检测方法的流程图;
图3为本发明实施例中提供的一种应用于数据证明方的数据的检测方法的流程图;
图4为本发明实施例中提供的一种应用于数据验证方的数据的检测装置的示意图;
图5为本发明实施例中提供的一种应用于数据发送方的数据的检测装置的示意图;
图6为本发明实施例中提供的一种应用于数据证明方的数据的检测装置的示意图;
图7为本发明实施例中计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
目前,对金融行业和相关领域的数据使用和存储有着较高安全要求,在数据的存储和传输时需要采用保护措施进行处理,例如对原始数据进行加密、散列等。
经研究发现,普通的加密或散列算法,其目的都是确保数据隐私的绝对安全。但是,一旦数据进行了加密或散列处理,将无法对数据的合规性进行检测,无法确保待检测数据不属于监管的词汇或值。因此,亟需一种对数据的检测方案,在确保数据隐私不泄露的情况下,检测数据的合规性。
针对上述研究,本发明实施例提供了数据检测方案,可以在确保数据隐私不泄露的情况下,验证该数据不等于某特定值,即验证数据的合规性。
本发明实施例提供的数据的检测方案,可以从数据发送方、数据验证方、数据证明方三个执行主体进行说明。
如图1所示,为本发明实施例提供的一种应用于数据验证方的数据的检测方法的流程图。该方法可以包括如下步骤:
步骤101,获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;
步骤102,获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
步骤103,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
本发明实施例中,数据验证方获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
在一个实施例中,上述步骤101中,待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的,具体可以包括:
所述待检测曲线数据是数据发送方将待检测数据转化为二进制编码格式;根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据,其中,双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
在一个实施例中,上述步骤102中,所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,具体可以包括:
所述不相等范围证明是数据证明方利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
在一个实施例中,上述范围证明数据还可以包括:公钥和签名信息;所述公钥是数据证明方利用预先定义的私钥,在第三椭圆曲线乘法循环群上计算得到;所述签名信息是数据证明方利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到的;
上述步骤103之前,还可以包括:
利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;
上述步骤103,具体可以包括:
在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
在一个实施例中,上述步骤103中,具体可以包括:
利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;
利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;
利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;
根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;
在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
如图2所示,为本发明实施例提供的一种应用于数据发送方的数据的检测方法的流程图。该方法可以包括如下步骤:
步骤201,将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
步骤202,利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;
步骤203,将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
步骤204,将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
本发明实施例中,数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
在一个实施例中,步骤201,具体可以包括:
将待检测数据转化为二进制编码格式;
根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;
根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据;其中,所述双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
在一个实施例中,上述步骤202,所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,具体可以包括:
所述不相等范围证明是数据证明方利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
在一个实施例中,所述范围证明数据还可以包括:公钥和签名信息;所述公钥是数据证明方利用预先定义的私钥,在第三椭圆曲线乘法循环群上计算得到;所述签名信息是数据证明方利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到的;
上述步骤202中,数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果之前,还可以包括:利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;
数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,具体可以包括:在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
在一个实施例中,上述步骤204中,数据验证方在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,具体可以包括:
数据验证方利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
如图3所示,为本发明实施例提供的一种应用于数据证明方的数据的检测方法的流程图。该方法可以包括如下步骤:
步骤301,接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
步骤302,利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;
步骤303,利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;
步骤304,利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;
步骤305,将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。
本发明实施例中,数据证明方接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
在一个实施例中,上述步骤301中,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的,具体可以包括:
所述待检测曲线数据是数据发送方将待检测数据转化为二进制编码格式;根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据;其中,双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
在一个实施例中,步骤301,具体可以包括:
利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
在一个实施例中,上述步骤305之前,还可以包括:
利用预先获取的私钥,在第三椭圆曲线乘法循环群上计算得到公钥;
利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到签名信息;
上述步骤305,具体可以包括:
将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明、待检测曲线数据的第二承诺、公钥和签名信息作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方。
在一个实施例中,步骤305中,所述数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明、第二承诺、公钥和签名信息,根据验证结果生成待检测数据的检测结果,具体可以包括:
数据验证方利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;对公钥和签名信息进行验证通过之后,利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
本发明实施例中,应用到了Pedersen承诺算法、双线性配对算法、范围证明算法、椭圆曲线数字签名算法。为了便于理解,首先对Pedersen承诺算法、双线性配对算法、范围证明算法、椭圆曲线数字签名算法进行简单介绍。
Pedersen承诺算法:
假设G是一个阶为质数q的椭圆曲线乘法循环群,g为椭圆曲线群G的生成元,h为随机椭圆曲线群元素,其与g的离散对数关系未知。
对于隐私数据a∈Zq的Pedersen承诺记为Com=g a h x ,其中
Figure SMS_1
称为混淆元. 基于离散对数问题的困难性,Pedersen 承诺具备以下性质:
1、隐藏性:任意(计算资源无限)的攻击者无法有效区分Com=g a h x Com =g a’ h x’
2、绑定性:任意PPT攻击者无法生成另外一个a 实现与Com之间的绑定关系Com= g a h x =g a’ h x’
双线性配对算法(Bilinear Pairing):
双线性配对定义了三个素数q阶的椭圆曲线乘法循环群G1,G2和GT。设g1为椭圆曲线群G1的生成元,g2为椭圆曲线群G2的生成元,gT为椭圆曲线群GT的生成元,定义在这三个群上的一个映射关系e:G1´G2>GT,并且满足以下的性质:
1、双线性:对于任意的g1∈G1,g2∈G2,a,b ∈Zq,均有e(g1 a,g2 b)=e(g1,g2ab成立;
2、非退化性:至少存在一组g1∈G1,g2∈G2, 满足e(g1,g2)≠1;
3、可计算性:存在有效的算法,对于任意g1∈G1,g2∈G2,均可计算e(g1,g2)的值;
如果G1=G2则称上述双线性配对是对称的,否则是非对称的。
范围证明算法:
范围证明有多种实现技术路径。这里以Bulletproofs为例进行说明。Bulletproofs范围证明算法基于Pedersen承诺技术和内积论据系统,将隐私数据a∈[0,2n-1]进行二进制展开,通过生成向量承诺以及执行相应
Figure SMS_2
协议的方式完成范围证明过程,并通过向量递归压缩的技术缩短至对数证明尺寸,最后利用批处理技术实现了多条隐私数据共同进行范围证明的功能。
椭圆曲线数字签名算法:
假G是一个阶为质数q的椭圆曲线乘法循环群,g为椭圆曲线群G的生成元。对于任意一对公私钥对(PK, sk)=(g x ,x∈Zq),PK为公钥,sk为私钥,可以进行数字签名sig= signature DSA (Msg,x);而任意获得公钥的第三方均可验证该数字签名的合法性b=verify DSA (Msg,sig, g x ),这里b∈{0,1},1表示验证通过,0表示验证失败。
由于图1、图2、图3中的数据验证方、数据发送方、数据证明方之间是相辅相成的,因此,下面结合图1、图2、图3对本发明实施例中的数据的检测方法进行详细的说明。
本发明实施例中,双线性椭圆曲线包括第一椭圆曲线乘法循环群G1、第二椭圆曲线乘法循环群G2和第三椭圆曲线乘法循环群GT。首先,需要确定双线性椭圆曲线的公共参数。具体的:
1、定义素数q阶的第一椭圆曲线乘法循环群G1、第二椭圆曲线乘法循环群G2和第三椭圆曲线乘法循环群GT,g1为G1的生成元,g2为G2的生成元,gT为GT的生成元。
2、定义秘密参数y∈Zq在G1上计算h1=g1 yI 1=g1 y2;在G2上计算h2=g2 yI 2=g2 y2;在GT上计算hT=gT yI T=gT y2。其中,h1I 1是G1的随机椭圆曲线群元素;h2I 2是G2的随机椭圆曲线群元素;hTI T是GT的随机椭圆曲线群元素。
3、根据双线性椭圆曲线的阶数,设置对数据的分组参数为u,设置范围限定参数为v;u和v需满足2u小于q,22v小于q。
4、生成公共参数pp=( G1, G2, GT, g1,g2,gT,h1, h2,hT,I 1, I 2, I T,u, v)。将公共参数pp公开给数据验证方、数据发送方、数据证明方。
具体实施时,数据发送方将待检测数据M映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据m。可以理解的是,将M映射到双线性椭圆曲线上,得到m,是对M进行加密的过程。具体的,可以通过如下方式将待检测数据M映射到预先定义的双线性椭圆曲线上:
1、数据发送方按照国际标准字符集Unicode类型对待检测数据M进行处理,如果M是汉字,可以采用UTF-8、GB2312等编码字符串规则将M转换为二进制编码格式。
2、如果二进制编码格式的待检测数据M的长度为l,利用分组参数u对M进行分组;例如,可以将二进制编码格式的M分为n组,即n=l/u,分组后得到m1,…,mn-1,mn一共n组二进制子数据。
需要说明的是,如果l不是u的整数倍,可以首先对M进行填充(padding)处理,padding的方式可以采用PKCS7 padding将二进制编码格式的M补齐到u的整数倍。
3、根据范围限定参数,将n组二进制子数据进行拼接计算,得到m。具体的,m= m1+2×m2+…+n×mnmod2 v ∈Zq。这里m i 每个前面乘以的系数i具有对二进制子数据保序的作用。以n=2为例说明其保序的作用,对于两个不同的字符串M1= [ m1|| m2] 和 M2= [m2|| m1],通过增加系数i,该确保其m计算的结果不同。
具体实施时,数据发送方还需要生成待检测曲线数据m的第一承诺。具体的,通过如下方式生成待检测曲线数据m的第一承诺:
1、生成随机数x∈Zq。
2、利用Pedersen承诺算法,在第一椭圆曲线乘法循环群G1上计算第一承诺:C=g1 mh1 x
3、得到(C,x)作为最终结果,将x 作为秘密揭开提示S,公开给数据验证方和数据证明方。数据发送方还将待检测曲线数据m和m的第一承诺C发送给数据验证方和数据证明方。
具体实施时,数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据。具体的,数据证明方通过如下方式生成待检测曲线数据与监管曲线数据的范围证明数据:
1、获取m对应的监管数据A,并将A映射到双线性椭圆曲线上,得到监管曲线数据a。
2、利用Pedersen承诺算法,在第三椭圆曲线乘法循环群GT上生成的待检测曲线数据与监管曲线数据的差值的承诺,即CT=gT -(m-a)(a-m)-1h1 2(m-a)x
3、利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,即使用范围证明算法,确定CT蕴含的隐私数据-(m-a)(a-m)-1属于范围区间[0,22v]的范围证明,不相等范围证明记为:πb(CT)。
4、利用Pedersen承诺算法和秘密揭开提示S(S=x),在第二椭圆曲线乘法循环群G2上计算第二承诺:C2=g2 mh2 x
5、另外,将x 2定义为私钥,以I T作为第三椭圆曲线乘法循环群GT的生成元,计算公钥C I ,即
Figure SMS_3
6、利用私钥x 2对第一差值承诺、不相等范围证明和第二承诺签名,得到签名信息记为:
Figure SMS_4
。/>
7、将待检测曲线数据与监管曲线数据的第一差值承诺、不相等范围证明、待检测曲线数据的第二承诺、公钥和签名信息作为待检测曲线数据与监管曲线数据的范围证明数据π(C),即π(C)={ CT, πb(CT), C I ,
Figure SMS_5
, C2}。将π(C)发送至数据验证方。
具体实施时,数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证第一差值承诺、不相等范围证明、第二承诺、公钥和签名信息,根据验证结果生成待检测数据的检测结果。具体的,数据验证方通过如下方式进行验证:
1、验证待检测曲线数据的第一承诺C的合法性。
具体的,利用秘密揭开提示S,在第一椭圆曲线乘法循环群G1上计算:
Figure SMS_6
,比较/>
Figure SMS_7
是否等于C,若等于,表示验证通过返回1;否则返回0。
2、验证公钥和签名信息。
具体的,利用椭圆曲线数字签名算法,对公钥和签名信息进行验证。
具体的,利用公钥C I ,在椭圆曲线乘法循环群GT上验证签名信息
Figure SMS_8
,此处C I 为公钥,将I T作为验证签名信息时的GT生成元。如果验证失败,返回验证结果为0,验证成功,返回验证结果为1。
3、验证C2的合法性。
具体的,数据验证方利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果。
具体的,利用第一承诺C,验证C2的合法性。验证方法为:验证e(C, g2) 是否等于 e(g1,C2);如果验证失败,返回第一验证结果为0,验证成功,返回第一验证结果为1。
这样,可以确保π(C)中提供的C2和第一承诺C是相同的,C2和C仅是一个承诺在不同椭圆曲线域上的表达。
4、验证第一差值承诺CT的合法性。
具体的,利用Pedersen承诺算法,在第一椭圆曲线乘法循环群G1上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺,即Ca1=C/ g1 a= g1 (m-a)h1 x
利用Pedersen承诺算法,在第二椭圆曲线乘法循环群G2上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺,即Ca2= g2 a/ C2= g2 (a-m)h2 -x
利用双线性配对算法、第二差值承诺Ca1、第三差值承诺Ca2和公钥,对第一差值承诺进行验证,具体的,验证:gT -1/ e(Ca1,Ca2)是否等于CT×C I
验证公式为:
Figure SMS_9
如果验证失败,返回第二验证结果为0,验证成功,返回第二验证结果为1。
5、验证不相等范围证明πb(CT)的正确性。
具体的,有如下规则:如果m≠a,必有:
(m-a)∈(0, 2v) 或者(m-a)∈(-2v,0);
(a-m) ∈(-2v, 0)或者(a-m)∈(0, 2v);
则-(m-a)(a-m) ∈(0, 22v)。
利用范围证明算法提供-(m-a)(a-m)-1∈(0, 22v)的范围证明,也就是-(m-a)(a-m)∈(1, 22v+1)的证明。如果m=a,那么-(m-a)(a-m)-1必为一个负数,不相等范围证明一定会失败。
在不相等范围证明验证失败时,第三验证结果为0;在不相等范围证明验证成功时,第三验证结果为1。
6、在上述验证全部通过时,即返回结果为1时,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
这样,通过上述数据的检测方法,如果数据发送方需要向任意第三方(数据验证方)证明自己掌握的数据与监管数据不相等,可以采用将数据映射到预先定义的双线性椭圆曲线上,然后,生成映射后的数据的承诺,由数据证明方提供映射后的数据与监管数据的范围证明,任意第三方均可对范围证明结果进行验证。进而可以实现在确保数据隐私不泄露的情况下,检测数据与监管数据的不相等。
上述数据的检测方法可以应用于联邦学习、加密数据库、区块链等场景中,对不可泄露隐私的数据进行检测,确保其值不属于某不合规的敏感值。
为了能更清楚理解本发明实施例提供的数据的检测方法,下面分别对在区块链、加密数据库的场景中,本方法的使用进行简述。
数据的检测方法在区块链的应用场景中的应用。
在真实的商业环境和商业实践中,数据是非常重要的生产要素,然而在传统的技术模式下,产业链上不同的商业公司通常只掌握产业环节中的和自己相关的一部分数据,这样就导致了大量的数据孤岛的产生。数据孤岛是一个业界难题,它使得数据的价值很难得到有效的发挥。区块链技术可以有效解决数据孤岛问题:在产业链不同环节的企业通过将自身数据上链,在区块链平台实现数据共享,由此可以实现产业链上的所有参与方都有机会利用不属于自己的数据创造产业价值。
但是,区块链技术也有巨大弊端:网络上的数据具有极强可复制性,一份数据的公开能使其在极短的时间内被大量复制和使用,这会导致数据拥有方几乎丧失对该数据的掌控能力。正是由于数据的这些特殊性,商业活动中的各类主体对于数据的处置都非常的敏感且谨慎,对自身数据的私密性和掌控能力有非常高的要求。
因此,区块链技术平台需要有一种方法:可以在不暴露数据本身的情况下(确保数据隐私),依然可以对其他企业提供数据的价值(数据可用而不可见)。
例如,银行企业征信平台的作用是查询某家企业的资质,如果该企业出现违规、债务危机等行为,该企业可能会被某家银行列为高风险企业,从而进入该银行的黑名单列表。但是因为各家银行之间存在竞争关系,各家银行之间的黑名单列表并不会实时同步给其他银行。因此存在某企业被银行A列入黑名单,然而在银行B中依然是优质企业的情况,这样的信息差会导致银行B向该企业贷款面临较大的风险。在此背景下,基于区块链技术的银行业企业征信平台——黑名单业务孕育而生。
在黑名单业务中,最重要的是数据相等和不相等的比对。出于对银行数据安全性的保护,存放在区块链上的数据都必须进行脱敏(加密)处理,这就引发了脱敏后的密文如何进行相等和不相等比对的技术难题。
采用本发明提供的数据的检测方法,在使用的流程上,可以基于如下简化流程:
1、某企业因为违规,被银行B列为黑名单企业,银行B通过将该企业的信息(监管数据)映射到双线性椭圆曲线上,得到企业的加密信息J1(监管曲线数据),将企业的加密信息J1存放至区块链上;其中,企业的信息可以包括企业的名称、企业组织机构代码等信息。
2、该企业向银行A发起贷款申请。
3、银行A(数据发送方)需要在区块链平台(数据验证方)中查询该企业是否被其他银行列入了黑名单,因此,银行A将该企业的待验证信息(待检测数据)映射到双线性椭圆曲线上,得到企业的加密信息J2(待检测曲线数据),在第一椭圆曲线乘法循环群上生成的J2的承诺;并通过数据证明方生成J2与J1的范围证明数据;向区块链发起申请,验证J2与J1的范围证明数据是否成立。这样,可以在确保数据隐私不泄露的情况下,检测数据与监管数据的不相等。
数据的检测方法在加密数据库的应用场景中的应用。
加密数据库在众多领域均有使用价值。以银行业为例,对数据使用和存储有着较高安全要求。在加密数据库中,其中的难点之一在于数据加密存储在数据库中,数据库中数据的查询如何解决。例如在mysql数据库中,我们可以通过select语句,查询所有不等于当前字符“C”的所有记录。但是,在存储密文的数据库中,数据库引擎无法直接完成比对工作,因此需要一种方法完成密文下的数据不相等比对。
采用本发明提供的数据的检测方法,在使用的流程上,可以基于如下简化流程:
1、数据存储方将数据映射到双线性椭圆曲线上,得到加密数据H1(监管曲线数据),将加密数据H1存放至加密数据库(数据验证方)中。
2、数据查询方(数据发送方)将当前字符“C”(待检测数据)映射到双线性椭圆曲线上,得到加密数据H2(待检测曲线数据),在第一椭圆曲线乘法循环群上生成的H2的承诺;并通过数据证明方生成H2与H1的范围证明数据;向加密数据库发起查询请求,通过验证H1与H2的范围证明数据是否成立,进而可以确定加密数据H1中与H2不相等的加密数据。
综上所述,本发明可以解决区块链和加密数据库场景下,加密数据的不相等验证。
本发明技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定
本发明实施例中还提供了一种数据的检测装置,如下面的实施例所述。由于该装置解决问题的原理与数据的检测方法相似,因此该装置的实施可以参见数据的检测方法的实施,重复之处不再赘述。
图4为本发明实施例中提供的一种应用于数据验证方的数据的检测装置的示意图,该装置包括:
第一获取模块401,用于获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;
第二获取模块402,用于获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
验证模块403,用于根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
在一个实施例中,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的,具体可以包括:
所述待检测曲线数据是数据发送方将待检测数据转化为二进制编码格式;根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据,其中,双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
在一个实施例中,所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,具体可以包括:
所述不相等范围证明是数据证明方利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
在一个实施例中,所述范围证明数据还可以包括:公钥和签名信息;所述公钥是数据证明方利用预先定义的私钥,在第三椭圆曲线乘法循环群上计算得到;所述签名信息是数据证明方利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到的;
图4所示的装置还可以包括签名密钥验证模块,用于在验证模块根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果之前:
利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;
验证模块,具体可以用于:
在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
在一个实施例中,验证模块,具体可以用于:
利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;
利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;
利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;
根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;
在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
图5为本发明实施例中提供的一种应用于数据发送方的数据的检测装置的示意图,该装置包括:
映射模块501,用于将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
承诺生成模块502,用于利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;
第一发送模块503,用于将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
第二发送模块504,用于将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
在一个实施例中,映射模块,具体可以用于:
将待检测数据转化为二进制编码格式;
根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;
根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据;其中,所述双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
在一个实施例中,所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,具体可以包括:
所述不相等范围证明是数据证明方利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
在一个实施例中,所述范围证明数据还可以包括:公钥和签名信息;所述公钥是数据证明方利用预先定义的私钥,在第三椭圆曲线乘法循环群上计算得到;所述签名信息是数据证明方利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到的;
数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果之前,还可以包括:利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;
数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,包括:在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
在一个实施例中,数据验证方在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,具体可以包括:
数据验证方利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
图6为本发明实施例中提供的一种应用于数据证明方的数据的检测装置的示意图,该装置包括:
接收模块601,用于接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
第一承诺生成模块602,用于利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;
证明模块603,用于利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;
第二承诺生成模块604,用于利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;
发送模块605,用于将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。
在一个实施例中,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的,具体可以包括:
所述待检测曲线数据是数据发送方将待检测数据转化为二进制编码格式;根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据;其中,双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
在一个实施例中,证明模块,具体可以用于:
利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
在一个实施例中,图6所示的装置还可以包括公钥生成和签名模块,用于在发送模块将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方之前:
利用预先获取的私钥,在第三椭圆曲线乘法循环群上计算得到公钥;
利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到签名信息;
发送模块,具体可以用于:
将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明、待检测曲线数据的第二承诺、公钥和签名信息作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方。
在一个实施例中,所述数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,具体可以包括:
数据验证方利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;对公钥和签名信息进行验证通过之后,利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
本发明实施例还提供一种计算机设备,图7为本发明实施例中计算机设备的示意图,所述计算机设备700包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现上述数据的检测方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据的检测方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据的检测方法。
本发明实施例中,数据验证方获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
本发明实施例中,数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
本发明实施例中,数据证明方接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。这样,通过将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,对待检测曲线数据进行承诺,可以保证待检测数据的隐私不被泄露,然后,通过数据证明方生成待检测曲线数据的范围证明数据,根据待检测曲线数据和待检测曲线数据第一承诺,对待检测曲线数据的范围证明数据进行验证,从而可以验证待检测曲线数据不等于监管曲线数据,实现在确保数据隐私不泄露的情况下,检测数据的合规性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种数据的检测方法,其特征在于,应用于数据验证方,包括:
获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;
获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
2.如权利要求1所述的方法,其特征在于,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的,包括:
所述待检测曲线数据是数据发送方将待检测数据转化为二进制编码格式;根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据,其中,双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
3.如权利要求1所述的方法,其特征在于,所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,包括:
所述不相等范围证明是数据证明方利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
4.如权利要求1所述的方法,其特征在于,所述范围证明数据还包括:公钥和签名信息;所述公钥是数据证明方利用预先定义的私钥,在第三椭圆曲线乘法循环群上计算得到;所述签名信息是数据证明方利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到的;
根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果之前,还包括:
利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;
根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,包括:
在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
5.如权利要求4所述的方法,其特征在于,在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,包括:
利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;
利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;
利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;
根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;
在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
6.一种数据的检测方法,其特征在于,应用于数据发送方,包括:
将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;
将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
7.如权利要求6所述的方法,其特征在于,将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据,包括:
将待检测数据转化为二进制编码格式;
根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;
根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据;其中,所述双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
8.如权利要求6所述的方法,其特征在于,所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明,包括:
所述不相等范围证明是数据证明方利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
9.如权利要求6所述的方法,其特征在于,所述范围证明数据还包括:公钥和签名信息;所述公钥是数据证明方利用预先定义的私钥,在第三椭圆曲线乘法循环群上计算得到;所述签名信息是数据证明方利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到的;
数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果之前,还包括:利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;
数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,包括:在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
10.如权利要求9所述的方法,其特征在于,数据验证方在对公钥和签名信息验证通过之后,根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,包括:
数据验证方利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
11.一种数据的检测方法,其特征在于,应用于数据证明方,包括:
接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;
利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;
利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;
将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。
12.如权利要求11所述的方法,其特征在于,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的,包括:
所述待检测曲线数据是数据发送方将待检测数据转化为二进制编码格式;根据预设的双线性椭圆曲线的分组参数对二进制编码格式的待检测数据进行分组,得到多个二进制子数据;根据预设的双线性椭圆曲线的范围限定参数,将多个二进制子数据进行拼接计算,得到待检测曲线数据;其中,双线性椭圆曲线的分组参数和范围限定参数是根据双线性椭圆曲线的阶数设置的。
13.如权利要求11所述的方法,其特征在于,利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明,包括:
利用范围证明算法和预设的范围区间,生成的第一差值承诺中的待检测曲线数据与监管曲线数据的差值属于所述范围区间的范围证明。
14.如权利要求11所述的方法,其特征在于,将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方之前,还包括:
利用预先获取的私钥,在第三椭圆曲线乘法循环群上计算得到公钥;
利用私钥对所述第一差值承诺、所述不相等范围证明和所述第二承诺签名得到签名信息;
将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,包括:
将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明、待检测曲线数据的第二承诺、公钥和签名信息作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方。
15.如权利要求14所述的方法,其特征在于,所述数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,包括:
数据验证方利用椭圆曲线数字签名算法,对公钥和签名信息进行验证;对公钥和签名信息进行验证通过之后,利用双线性配对算法和第一承诺,验证第二承诺和第一承诺的一致性,得到第一验证结果;利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第二差值承诺;利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的第三差值承诺;利用双线性配对算法、第二差值承诺、第三差值承诺和公钥,对第一差值承诺进行验证,得到第二验证结果;根据待检测曲线数据与监管曲线数据的差值和预设的范围区间,验证不相等范围证明的正确性,得到第三验证结果;在第一验证结果、第二验证结果和第三验证结果均为验证通过的情况下,生成待检测数据的检测结果为待检测曲线数据与监管曲线数据不相等。
16.一种数据的检测装置,其特征在于,应用于数据验证方,包括:
第一获取模块,用于获取待检测曲线数据和待检测曲线数据的第一承诺,所述待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;所述第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺;
第二获取模块,用于获取待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
验证模块,用于根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
17.一种数据的检测装置,其特征在于,应用于数据发送方,包括:
映射模块,用于将待检测数据映射到预先定义的双线性椭圆曲线上,得到待检测曲线数据;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
承诺生成模块,用于利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第一承诺;
第一发送模块,用于将待检测曲线数据发送至数据证明方,以使数据证明方生成待检测曲线数据与监管曲线数据的范围证明数据,所述范围证明数据包括:待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;所述第一差值承诺是数据证明方利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成的待检测曲线数据与监管曲线数据的差值的承诺;所述不相等范围证明是数据证明方利用范围证明算法生成的第一差值承诺中的待检测曲线数据与监管曲线数据不相等的范围证明;所述第二承诺是数据证明方在第二椭圆曲线乘法循环群生成的待检测曲线数据的承诺;
第二发送模块,用于将待检测曲线数据和待检测曲线数据的第一承诺发送至数据验证方,以使数据验证方根据待检测曲线数据和所述第一承诺,验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果。
18.一种数据的检测装置,其特征在于,应用于数据证明方,包括:
接收模块,用于接收数据发送方发送的待检测曲线数据;待检测曲线数据是数据发送方将待检测数据映射到预先定义的双线性椭圆曲线上得到的;所述双线性椭圆曲线包括第一椭圆曲线乘法循环群、第二椭圆曲线乘法循环群和第三椭圆曲线乘法循环群,第一椭圆曲线乘法循环群的生成元和第二椭圆曲线乘法循环群中的生成元生成第三椭圆曲线乘法循环群中的生成元;
第一承诺生成模块,用于利用Pedersen承诺算法,在第三椭圆曲线乘法循环群上生成待检测曲线数据与监管曲线数据的差值的承诺,得到待检测曲线数据与监管曲线数据的第一差值承诺;其中,监管曲线数据是将预先获取的监管数据映射到所述双线性椭圆曲线上得到的;
证明模块,用于利用范围证明算法,生成第一差值承诺中的待检测曲线数据与监管曲线数据的不相等范围证明;
第二承诺生成模块,用于利用Pedersen承诺算法,在第二椭圆曲线乘法循环群上生成待检测曲线数据的承诺,得到待检测曲线数据的第二承诺;
发送模块,用于将待检测曲线数据与监管曲线数据的第一差值承诺、待检测曲线数据与监管曲线数据的不相等范围证明和待检测曲线数据的第二承诺作为待检测曲线数据与监管曲线数据的范围证明数据发送至数据验证方,以使数据验证方根据数据发送方发送的待检测曲线数据和待检测曲线数据的第一承诺,验证验证第一差值承诺、不相等范围证明和第二承诺,根据验证结果生成待检测数据的检测结果,所述待检测曲线数据的第一承诺是数据发送方利用Pedersen承诺算法,在第一椭圆曲线乘法循环群上生成的待检测曲线数据的承诺。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至15任一所述方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至15任一所述方法。
21.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至15任一所述方法。
CN202310603853.3A 2023-05-26 2023-05-26 数据的检测方法及装置 Active CN116389164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310603853.3A CN116389164B (zh) 2023-05-26 2023-05-26 数据的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310603853.3A CN116389164B (zh) 2023-05-26 2023-05-26 数据的检测方法及装置

Publications (2)

Publication Number Publication Date
CN116389164A true CN116389164A (zh) 2023-07-04
CN116389164B CN116389164B (zh) 2023-09-12

Family

ID=86965956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310603853.3A Active CN116389164B (zh) 2023-05-26 2023-05-26 数据的检测方法及装置

Country Status (1)

Country Link
CN (1) CN116389164B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117407849A (zh) * 2023-12-14 2024-01-16 四川省电子产品监督检验所 一种基于工业互联网技术的工业数据安全保护方法及系统

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008716A (zh) * 2019-02-01 2019-07-12 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备、存储介质
US20190268312A1 (en) * 2018-11-27 2019-08-29 Alibaba Group Holding Limited System and method for information protection
CN110336674A (zh) * 2019-06-21 2019-10-15 矩阵元技术(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN111079190A (zh) * 2019-12-31 2020-04-28 深圳市网心科技有限公司 区块链供应链交易隐藏动态监管系统及方法
CN111161075A (zh) * 2019-12-31 2020-05-15 深圳市网心科技有限公司 区块链交易数据证明监管方法、系统及相关设备
CN111160908A (zh) * 2019-12-31 2020-05-15 深圳市网心科技有限公司 基于区块链的供应链交易隐私保护系统、方法及相关设备
JP2020078081A (ja) * 2020-01-14 2020-05-21 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーン機密トランザクションの管理
US20200219099A1 (en) * 2017-06-30 2020-07-09 Visa International Service Association Method, System, and Computer Program Product for Determining Solvency of a Digital Asset Exchange
CN111738857A (zh) * 2020-06-28 2020-10-02 深圳前海微众银行股份有限公司 应用于区块链的隐匿支付证明的生成与验证方法及装置
CN112132577A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 一种基于区块链的多重监管的交易处理方法及装置
US20210028939A1 (en) * 2018-03-23 2021-01-28 nChain Holdings Limited Computer-implemented system and method for enabling zero-knowledge proof
CN112789824A (zh) * 2019-09-09 2021-05-11 深圳市网心科技有限公司 区块链系统及信息传输方法、系统、装置、计算机介质
CN112785306A (zh) * 2021-01-28 2021-05-11 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN113221089A (zh) * 2021-03-15 2021-08-06 东北大学 基于可验证声明的隐私保护属性认证系统及方法
CN113379415A (zh) * 2020-03-10 2021-09-10 深圳市网心科技有限公司 区块链系统及信息处理方法、系统、装置、计算机介质
CN113486407A (zh) * 2021-07-05 2021-10-08 建信金融科技有限责任公司 基于区块链的存单管理系统和方法
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN114580029A (zh) * 2022-04-28 2022-06-03 浙江甲骨文超级码科技股份有限公司 一种区块链数字资产隐私保护方法、装置、设备及存储介质
US20220237322A1 (en) * 2021-01-28 2022-07-28 Jpmorgan Chase Bank , N.A. Systems and methods for privacy-preserving inventory matching with security against malicious adversaries
US11550952B1 (en) * 2021-09-22 2023-01-10 Zhejiang University Zero-knowledge proof method and electronic device
CN115883212A (zh) * 2022-11-30 2023-03-31 建信金融科技有限责任公司 信息处理方法、装置、电子设备和存储介质

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200219099A1 (en) * 2017-06-30 2020-07-09 Visa International Service Association Method, System, and Computer Program Product for Determining Solvency of a Digital Asset Exchange
US20210028939A1 (en) * 2018-03-23 2021-01-28 nChain Holdings Limited Computer-implemented system and method for enabling zero-knowledge proof
US20190268312A1 (en) * 2018-11-27 2019-08-29 Alibaba Group Holding Limited System and method for information protection
CN110008716A (zh) * 2019-02-01 2019-07-12 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备、存储介质
CN110336674A (zh) * 2019-06-21 2019-10-15 矩阵元技术(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN112789824A (zh) * 2019-09-09 2021-05-11 深圳市网心科技有限公司 区块链系统及信息传输方法、系统、装置、计算机介质
CN111160908A (zh) * 2019-12-31 2020-05-15 深圳市网心科技有限公司 基于区块链的供应链交易隐私保护系统、方法及相关设备
CN111161075A (zh) * 2019-12-31 2020-05-15 深圳市网心科技有限公司 区块链交易数据证明监管方法、系统及相关设备
CN111079190A (zh) * 2019-12-31 2020-04-28 深圳市网心科技有限公司 区块链供应链交易隐藏动态监管系统及方法
JP2020078081A (ja) * 2020-01-14 2020-05-21 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーン機密トランザクションの管理
CN113379415A (zh) * 2020-03-10 2021-09-10 深圳市网心科技有限公司 区块链系统及信息处理方法、系统、装置、计算机介质
CN111738857A (zh) * 2020-06-28 2020-10-02 深圳前海微众银行股份有限公司 应用于区块链的隐匿支付证明的生成与验证方法及装置
CN112132577A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 一种基于区块链的多重监管的交易处理方法及装置
US20220237322A1 (en) * 2021-01-28 2022-07-28 Jpmorgan Chase Bank , N.A. Systems and methods for privacy-preserving inventory matching with security against malicious adversaries
CN112785306A (zh) * 2021-01-28 2021-05-11 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN113221089A (zh) * 2021-03-15 2021-08-06 东北大学 基于可验证声明的隐私保护属性认证系统及方法
CN113486407A (zh) * 2021-07-05 2021-10-08 建信金融科技有限责任公司 基于区块链的存单管理系统和方法
US11550952B1 (en) * 2021-09-22 2023-01-10 Zhejiang University Zero-knowledge proof method and electronic device
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN114580029A (zh) * 2022-04-28 2022-06-03 浙江甲骨文超级码科技股份有限公司 一种区块链数字资产隐私保护方法、装置、设备及存储介质
CN115883212A (zh) * 2022-11-30 2023-03-31 建信金融科技有限责任公司 信息处理方法、装置、电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋焰;: "基于双线性群的同态承诺方案", 计算机研究与发展, no. 09 *
张凡;高胜;曾志强;刘?;: "一种高效的范围证明方案", 密码学报, no. 02 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117407849A (zh) * 2023-12-14 2024-01-16 四川省电子产品监督检验所 一种基于工业互联网技术的工业数据安全保护方法及系统
CN117407849B (zh) * 2023-12-14 2024-02-23 四川省电子产品监督检验所 一种基于工业互联网技术的工业数据安全保护方法及系统

Also Published As

Publication number Publication date
CN116389164B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN107579819B (zh) 一种sm9数字签名生成方法及系统
He et al. An efficient identity-based conditional privacy-preserving authentication scheme for vehicular ad hoc networks
US10887104B1 (en) Methods and systems for cryptographically secured decentralized testing
CN111342962B (zh) 一种验证密文消息范围的方法和系统
CN112600675B (zh) 基于群签名的电子投票方法及装置、电子设备、存储介质
US11409907B2 (en) Methods and systems for cryptographically secured decentralized testing
CN116389164B (zh) 数据的检测方法及装置
CN110505061B (zh) 一种数字签名算法及系统
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
CN112291062B (zh) 一种基于区块链的投票方法及装置
CN116049897B (zh) 基于线性同态哈希和签密的可验证隐私保护联邦学习方法
Luong et al. Privacy-preserving blockchain-based healthcare system for IoT devices using zk-SNARK
Yu et al. Public cloud data auditing with practical key update and zero knowledge privacy
CN112241434A (zh) 一种面向数据隐私保护的联盟区块链系统
CN115208628B (zh) 基于区块链的数据完整性验证方法
CN110932865B (zh) 一种基于sm2数字签名算法的可链接环签名生成方法
CN116455580A (zh) 消息签名方法、装置、设备及可读存储介质
CN116566626A (zh) 环签名方法和设备
Wang et al. A novel blockchain identity authentication scheme implemented in fog computing
CN115174037B (zh) 一种基于sm9签名的变色龙哈希函数的构造方法及装置
CN112837064B (zh) 联盟链的签名方法、签名验证方法及装置
CN114785510A (zh) 一种可验证的轻量化隐私保护联邦学习系统及方法
CN113326527A (zh) 一种基于区块链的可信数字签名系统及方法
Wang et al. A Quantum Concurrent Signature Scheme Based on the Quantum Finite Automata Signature Scheme
Krzywiecki et al. Deniable key establishment resistance against eKCI attacks

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