CN112765667A - 基于区块链的隐私保护方法、装置及系统 - Google Patents

基于区块链的隐私保护方法、装置及系统 Download PDF

Info

Publication number
CN112765667A
CN112765667A CN202110126067.XA CN202110126067A CN112765667A CN 112765667 A CN112765667 A CN 112765667A CN 202110126067 A CN202110126067 A CN 202110126067A CN 112765667 A CN112765667 A CN 112765667A
Authority
CN
China
Prior art keywords
ciphertext
user
public
amount
public key
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
CN202110126067.XA
Other languages
English (en)
Other versions
CN112765667B (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.)
BEIJING COMPUTING CENTER
Original Assignee
BEIJING COMPUTING CENTER
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 BEIJING COMPUTING CENTER filed Critical BEIJING COMPUTING CENTER
Priority to CN202110126067.XA priority Critical patent/CN112765667B/zh
Publication of CN112765667A publication Critical patent/CN112765667A/zh
Application granted granted Critical
Publication of CN112765667B publication Critical patent/CN112765667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明实施例提供基于区块链的隐私保护方法、装置及系统,其中,该方法包括:根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点基于共识机制,在不解密的情况下,对验证待上链数据进行且通过,将待上链数据添加至区块链中。本发明实施例提供的基于区块链的隐私保护方法、装置及系统,能降低安全风险,能提高安全性。

Description

基于区块链的隐私保护方法、装置及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的隐私保护方法、装置及系统。
背景技术
由于区块链具有透明性、不可篡改性、分布式等特性,区块链技术受到广泛关注和广泛应用。尤其是区块链的透明性,使得区块链技术在网络交易中得到广泛应用。在区块链系统中,任意用户均能够进行平等的交易,而不会因为买卖双方信息不对称导致巨大的经济损失。
在基于区块链技术的金融交易系统中,交易额的隐私保护至关重要。隐藏交易额等隐私信息,对普通用户而言,是基本的交易需求。如果用户的交易额被黑客盗取,则用户的财产安全、甚至生命安全会受到巨大威胁。但是,仅有不受任何监管的隐私保护也会带来信息安全问题。因此,需要在保护隐私的前提下,实现严格监管。
现有的兼顾监管的隐私保护方法,通常通过非对称加密的方式实现。但根据加密后的密文无法验证交易的相关数据,因而仍存在安全隐患。
发明内容
本发明实施例提供一种基于区块链的隐私保护方法、装置及系统,用以解决现有技术中的隐私保护存在安全隐患的缺陷,实现更安全的隐私保护。
本发明实施例提供一种基于区块链的隐私保护方法,包括:
根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;
根据所述第一密文、所述第二密文和所述第三密文,生成携带有所述第一密文及其对应的公钥、所述第二密文及其对应的公钥和所述第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至所述区块链中;
其中,所述监管方的数量至少为二个;所述第三密文是第三用户终端根据第三用户的私钥、所述第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的;所述第一用户的公钥、所述第二用户的公钥和各所述监管方的公钥,是基于预先生成的公共参数获得的。
根据本发明一个实施例的基于区块链的隐私保护方法,根据所述第一密文、所述第二密文和所述第三密文,生成携带有所述第一密文及其对应的公钥、所述第二密文及其对应的公钥和所述第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至所述区块链中之后,还包括:
根据所述新的区块,获取所述第一密文和所述第二密文;
基于所述第二用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额,并基于所述第一用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第二用户的公钥和所述各监管方的公钥,对所述第一密文进行解密,获取所述第一金额,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额。
根据本发明一个实施例的基于区块链的隐私保护方法,所述根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文之前,还包括:
接收所述公共参数;
接收所述第二用户的公钥和各监管方的公钥,并根据所述公共参数和随机数,生成所述第一用户的私钥和公钥;
其中,所述公共参数是基于目标椭圆曲线或目标群生成的。
本发明实施例还提供一种基于区块链的隐私保护方法,包括:
接收待上链数据;
若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至区块链中;
其中,所述待上链数据是基于如上述任一种所述隐私保护方法生成的。
本发明实施例还提供一种基于区块链的隐私保护装置,包括:
加密模块,用于根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;
签名模块,用于根据所述第一密文、所述第二密文和所述第三密文,生成携带有所述第一密文及其对应的公钥、所述第二密文及其对应的公钥和所述第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至所述区块链中;
其中,所述监管方的数量至少为二个;所述第三密文是第三用户终端根据第三用户的私钥、所述第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的;所述第一用户的公钥、所述第二用户的公钥和各所述监管方的公钥,是基于预先生成的公共参数获得的。
根据本发明一个实施例的基于区块链的隐私保护装置,还包括:
获取模块,用于根据所述新的区块,获取所述第一密文和所述第二密文;
解密模块,用于基于所述第二用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额,并基于所述第一用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第二用户的公钥和所述各监管方的公钥,对所述第一密文进行解密,获取所述第一金额,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额。
本发明实施例还提供一种基于区块链的隐私保护装置,包括:
接收模块,用于接收待上链数据;
共识模块,用于若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至区块链中;
其中,所述待上链数据是基于如上述任一种所述隐私保护方法生成的。
本发明实施例还提供一种基于区块链的隐私保护系统,包括如上述任一种所述的基于区块链的隐私保护装置,以及多个如上述任一种所述的基于区块链的隐私保护装置。
根据本发明一个实施例的基于区块链的隐私保护系统,还包括:
第二用户终端,用于根据区块链上的目标区块,获取第一密文;基于第二用户对应的解密算法,根据公共参数、所述第二用户的私钥、第一用户的公钥和各监管方的公钥,对所述第一密文进行解密,获取第一金额。
根据本发明一个实施例的基于区块链的隐私保护系统,还包括:多个监管终端;
所述监管终端用于根据所述目标区块,获取第一密文和第二密文;基于所述监管终端对应的监管方对应的解密算法,根据公共参数、所述监管终端对应的监管方的私钥和其他监管方的公钥,分别对所述第一密文和所述第二密文进行解密,获取第一金额和第二金额。
本发明实施例提供的基于区块链的隐私保护方法、装置及系统,通过交易发起方采用同态加密算法对交易涉及的各金额数据进行加密,使得共识节点可以根据密态的各金额数据进行验证和共识,将通过验证的密文数据存储在区块链中,能降低安全风险,能提高安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于区块链的隐私保护方法的流程示意图;
图2是本发明实施例提供的基于区块链的隐私保护方法的流程示意图;
图3是本发明实施例提供的基于区块链的隐私保护装置的结构示意图;
图4是本发明实施例提供的基于区块链的隐私保护装置的结构示意图;
图5是本发明实施例提供的基于区块链的隐私保护系统的结构示意图;
图6是本发明实施例提供的基于区块链的隐私保护系统的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明实施例的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明实施例中的具体含义。
为了克服现有技术的上述问题,本发明实施例提供一种隐私保护方法、装置及系统,其发明构思是,交易发起方采用同态加密算法对交易涉及的第一金额和第二金额进行加密,得到第一密文和第二密文,各共识节点可以在不解密的情况下,通过第一密文和第二密文,验证本次交易涉及金额的数据,从而能提高安全性。
第一用户、第二用户分别为本次交易中的交易发起方和交易接收方。第一金额、第二金额和第三金额分别为本次交易中的支付金额、找零金额和和花费金额。第一用户以花费金额支付本次交易,第二用户收到花费金额之后,以找零金额向第一用户找零,完成支付金额的交易。因而,第一金额、第二金额和第三金额应当满足第一金额与第二金额之和等于第三金额。
监管方可以为中央银行和交易管理机构等。监管方的数量大于或等于两个。
优选地,监管方的数量为两个。在本申请的以下各实施例中,以两个监管方(第一监管方和第二监管方)为例进行描述。
图1是本发明实施例提供的基于区块链的隐私保护方法的流程示意图。下面结合图1描述本发明实施例的基于区块链的隐私保护方法。如图1所示,该方法包括:步骤101、根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文。
其中,监管方的数量至少为二个;第三密文是第三用户终端根据第三用户的私钥、第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的;第一用户的公钥、第二用户的公钥和各监管方的公钥,是基于预先生成的公共参数获得的。
需要说明的是,本发明实施例提供的隐私保护方法的执行主体为第一用户终端。本发明实施例提供的隐私保护方法可以用于虚拟货币等网络交易中对金额等隐私数据进行保护,可以实现兼顾监管的隐私保护。
可以理解的是,本次交易之前,已根据预设的初始化方法进行初始化,生成公共参数,并基于上述公共参数,生成各用户的私钥和公钥,以及各监管方的私钥和公钥。
第一用户终端选择随机数x1∈Zn,作为第一用户的私钥,并采用初始化方法对应的密钥生成算法,根据第一用户的私钥x1生成第一用户的公钥X1,得到第一用户的私钥和公钥为(x1,X1)。
第二用户终端选择随机数x2∈Zn,作为第二用户的私钥,并采用上述密钥生成算法,根据第二用户的私钥x2生成第二用户的公钥X2,得到第一用户的私钥和公钥为(x2,X2)。
第一监管终端选择随机数x3∈Zn,作为第一监管方的私钥,并采用上述密钥生成算法,根据第一监管方的私钥x3生成第一监管方的公钥X3,得到第一监管方的私钥和公钥为(x3,X3)。
第二监管终端选择随机数x4∈Zn,作为第二监管方的私钥,并采用上述密钥生成算法,根据第二监管方的私钥x4生成第二监管方的公钥X4,得到第二监管方的私钥和公钥为(x4,X4)。
其中,Zn可以通过哈希函数H:{0,1}*→Zn得到;n是预设的参数,其取值已预先确定。
第一用户终端、第二用户终端、第一监管终端和第二监管终端,分别为第一用户、第二用户、第一监管方和第二监管方使用的终端。
第一用户终端选择随机数r1∈Zn,输入第一用户的私钥x1、第一金额v1、第二用户的公钥X2和两个监管方的公钥X3,X4,根据预设的同态加密算法,如下计算第一金额v1的同态密文C1
类似地,第一用户终端选择随机数r2∈Zn,输入第一用户的私钥x1、第二金额v2、第一用户的公钥X1和两个监管方的公钥X3,X4,根据上述同态加密算法,如下计算第二金额v2的同态密文C2
预设的同态加密算法,与进行初始化使用的方法对应。
需要说明的是,第一金额v1的同态密文C1为第一密文;第二金额v2的同态密文C2为第二密文。第一密文C1生成过程中嵌入了第二用户的公钥X2,但是第二密文C2生成过程中嵌入的是第一用户的公钥X1,是因为第二密文C2的交易接收方就是第一用户。
第一用户终端从区块链上读取第三金额v0的金额同态密文C0
第三金额v0的金额同态密文C0为第三密文,是第三用户终端根据的私钥、第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的。
第三用户终端为第三用户使用的终端,第三用户为上一交易的交易发起方,第一用户从第三用户获得第三金额。
步骤102、根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中。
具体地,第一用户终端可以选择随机数k←Zn,根据k、第一密文C1及其对应的公钥X2、第二密文C2及其对应的公钥X1和第三密文C0及其对应的公钥X1,基于预设的签名算法,获得签名σ。
签名σ的获得与m有关。其中,m=(C0,X1)||(C1,X2)||(C2,X1),||表示字符拼接。
获取签名σ之后,第一用户终端可以将(m,σ)作为待上链数据提交到由各共识节点构成的区块链系统。
共识节点,为区块链节点。
各共识节点可以基于共识机制对待上链数据(m,σ)进行验证。
若验证未通过,则拒绝将该待上链数据添加至区块链中进行存储;若验证通过,则接受该待上链数据,并将该待上链数据作为新的区块添加至区块链中进行存储。
每一共识节点对待上链数据的验证,可以包括根据待上链数据验证表明第一用户终端其知道金额的输入之和等于输出之和v0=v1+v2的零知识证据π1,还可以包括验证零知识证据π1和Bulletproofs范围证明证据π2
π2用于证明第一金额v1和第二金额v2均大于零v1≥0,v2≥0,即第一金额和第二金额范围均属于[0,264-1]范围。
共识节点,可以在不解密待上链数据(m,σ)的情况下,根据待上链数据(m,σ)验证表明第一用户终端其知道密态金额的输入之和等于输出之和v0=v1+v2的零知识证据π1和Bulletproofs范围证明证据π2
由于第一密文C1、第二密文C2和第三密文C0均为基于同态加密算法得到的,同态加密算法具有明文数据构成的相应等式,在将其中的明文数据替换为上述明文数据对应的密文数据的时候也成立,因此,共识节点可以根据第一密文、第二密文和第三密文中密态的第一金额、第二金额和第三金额,验证零知识证据π1和Bulletproofs范围证明证据π2,而不用从第一密文、第二密文和第三密文中解密出明文的第一金额、第二金额和第三金额来进行验证。
需要说明的是,新的区块被添加至区块链中之后,第二用户终端可以根据该区块,从接收方角度解密第一金额;任一监管终端可以根据该区块,解密第一金额和第二金额,以进行监管。
第二用户终端可以根据上述新的区块,获取第一密文。
第二用户终端可以基于第二用户对应的解密算法,根据公共参数、第二用户的私钥、第一用户的公钥和各监管方的公钥,对第一密文进行解密,获取第一金额。
任一监管终端可以根据上述新的区块,获取第一密文和第二密文。
监管终端可以基于该监管终端对应的监管方对应的解密算法,根据公共参数、该监管终端对应的监管方的私钥和其他监管方的公钥,分别对第一密文和第二密文进行解密,获取第一金额和第二金额。
本发明实施例通过交易发起方采用同态加密算法对交易涉及的各金额数据进行加密,使得共识节点可以根据密态的各金额数据进行验证和共识,将通过验证的密文数据存储在区块链中,能降低安全风险,能提高安全性。
基于上述任一实施例的内容,根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中之后,还包括:根据新的区块,获取第一密文和第二密文。
具体地,第一用户可以分别根据第二用户的公钥X2和自身的公钥X1,从区块链上读取第一密文C1和第二密文C2
基于第二用户对应的解密算法,根据公共参数、第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二密文进行解密,获取第二金额,并基于第一用户对应的解密算法,根据公共参数、第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一密文进行解密,获取第一金额,根据公共参数、第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二密文进行解密,获取第二金额。
具体地,第一用户终端从接收方角度解密第二金额,具体包括:
第一用户终端可以采用第二用户对应的解密算法Dec1,输入公共参数SP、自身的私钥x1和公钥X1、两个监管方的公钥X3,X4和第二密文C2进行计算,获取第二金额。
因此,第一用户终端可以解密所有第二金额,实现对第二金额的统计,并用于下一轮的支付。
第一用户终端还从发送方角度解密第一金额和第二金额。
第一用户终端从发送方角度解密第一金额具体包括:
第一用户终端获取第一密文C1之后,可以采用第一用户对应的解密算法Dec2,输入公共参数SP、自身的私钥x1、第二用户的公钥X2、两个监管方的公钥X3,X4和第一密文C1进行计算,获取第一金额。
因此,第一用户终端可以解密所有第一金额,查看所有第一金额记录,实现对第一金额的统计,并用于规划下一阶段的支付。
第一用户终端从发送方角度解密第二金额具体包括:
第一用户终端获取第二密文C2之后,可以采用第一用户对应的解密算法Dec2,输入公共参数SP、自身的私钥x1和公钥X1、两个监管方的公钥X3,X4和第二密文C2进行计算,获取第二金额。
因此,第一用户终端还可以解密所有的第二金额,查看所有第二金额,并用于规划下一阶段的支付。
本发明实施例通过第一用户终端从接收方角度解密第二金额并从发送方角度解密第一金额和第二金额,能降低安全风险,能提高安全性。
基于上述任一实施例的内容,根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文之前,还包括:接收公共参数。
其中,公共参数是基于目标椭圆曲线或目标群生成的。
具体地,第一用户终端可以接收初始化装置生成并发送的公共参数。
初始化方法可以采用基于椭圆曲线的初始化方法。
目标椭圆曲线的基域为Fq,目标椭圆曲线的方程为y2=x3+ax+b。该椭圆曲线上群
Figure BDA0002924082010000111
的生成元为P,其阶为大素数n,其中n>2191
Figure BDA0002924082010000112
为对称双线性映射
Figure BDA0002924082010000113
哈希函数H:{0,1}*→Zn,则公共参数SP为
Figure BDA0002924082010000114
初始化方法可以采用基于群的方法。
目标群
Figure BDA0002924082010000121
的生成元为g,其阶为大素数p;
Figure BDA0002924082010000122
为对称双线性映射
Figure BDA0002924082010000123
哈希函数H:{0,1}*→Zn,则公共参数SP为
Figure BDA0002924082010000124
优选地,群
Figure BDA0002924082010000125
为素数群。
接收第二用户的公钥和各监管方的公钥,并根据公共参数和随机数,生成第一用户的私钥和公钥。
具体地,在采用基于椭圆曲线的初始化方法的情况下,第一用户终端选择随机数x1∈Zn,作为第一用户的私钥,并进行如下计算获得第一用户的公钥X1
Figure BDA0002924082010000126
第二用户的私钥和公钥,以及每一监管方的私钥和公钥的获取方法,与第一用户的私钥和公钥的获取方法类似,此处不再赘述。
相应地,采用同态加密算法获取第一密文和第二密文的计算公式如下:
Figure BDA0002924082010000127
Figure BDA0002924082010000128
其中,随机数r1∈Zn;随机数r2∈Zn
Figure BDA0002924082010000129
其中,随机数r0∈Zn;x0为第三用户的私钥;X1为第一用户的公钥,也是上一交易中交易接收方的公钥。
需要说明的是,若采用基于椭圆曲线的初始化方法,签名σ的计算方法如下:
Figure BDA00029240820100001210
σ1←a1+SM3(m)modn,
σ2←(1+x1)-1·(k-σ1x1)modn
如果σ1=0或σ2=0,则重新选择随机数k并重新计算σ12,否则签名为σ=(σ12)。
SM3是一种密码散列函数标准,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。
在采用基于群的初始化方法的情况下,第一用户终端选择随机数x1∈Zn,作为第一用户的私钥,并进行如下计算获得第一用户的公钥X1
Figure BDA0002924082010000131
第二用户的私钥和公钥,以及每一监管方的私钥和公钥的获取方法,与第一用户的私钥和公钥的获取方法类似,此处不再赘述。
相应地,采用同态加密算法获取第一密文和第二密文的计算公式如下:
Figure BDA0002924082010000132
Figure BDA0002924082010000133
其中,随机数r1∈Zn;随机数r2∈Zn
Figure BDA0002924082010000134
其中,随机数r0∈Zn;x0为第三用户的私钥;X1为第一用户的公钥,也是上一交易中交易接收方的公钥。
需要说明的是,若采用基于群的初始化方法,签名σ的计算方法如下:
Figure BDA0002924082010000135
σ1←a1+SM3(m)modn,
σ2←(1+x1)-1·(k-σ1x1)mod n
如果σ1=0或σ2=0,则重新选择随机数k并重新计算σ12,否则签名为σ=(σ12)。
本发明实施例采用基于椭圆曲线的初始化方法进行初始化,初始化的效率更高,安全性更高;采用基于群的初始化方法进行初始化,算法应用范围更广泛,但是效率较低。
图2是本发明实施例提供的基于区块链的隐私保护方法的流程示意图。基于上述任一实施例的内容,如图2所示,该方法包括:步骤201、接收待上链数据。
需要说明的是,本发明实施例提供的隐私保护方法的执行主体为共识节点。共识节点为区块链节点
具体地,获取签名σ之后,第一用户终端可以将(m,σ)作为待上链数据提交到由各共识节点构成的区块链系统。
每一共识节点可以获取待上链数据。
步骤202、若基于共识机制,在不解密的情况下,对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中。
其中,待上链数据是基于上述任一隐私保护方法生成的。
具体地,每一共识节点可以基于共识机制对待上链数据(m,σ)进行验证。
在采用基于椭圆曲线的初始化方法的情况下,每一共识节点可以检查检查σ12是否属于[1,n-1];如果否,则验证不通过;如果是,则以σ1、σ2和公钥X1为输入,进行如下计算
(a1,b1)←σ2P+(σ12)X1
如果σ1=a1+SM3(m)modn,则确定无双重花费,且密态金额的输入之和等于输出之和的零知识证据π1以及Bulletproofs范围证明证据π2均验证成功。
在采用基于群的初始化方法的情况下,每一共识节点可以检查检查σ12是否属于[1,n-1];如果否,则验证不通过;如果是,则以σ1、σ2和公钥X1为输入,进行如下计算
Figure BDA0002924082010000141
如果σ1=a1+SM3(m)modn,则确定无双重花费,且密态金额的输入之和等于输出之和的零知识证据π1以及Bulletproofs范围证明证据π2均验证成功。
具体而言,第一用户采用零知识证明协议证明其知道H(r0,x0·X1)-H(r1,x1·X2)-H(r2,x1·X1),即满足以下离散对数关系
Figure BDA0002924082010000142
该离散对数等式中,第一用户无法知道上一交易单中交易发起方的私钥x0,但是,上述等式等价于以下等式:
Figure BDA0002924082010000143
因此,可以根据第一用户的私钥x1和公钥X1、上一交易中交易发起方的公钥X0、第二用户的公钥X2、U1,V1,W1,输出零知识证据。
优选地,可以用非交互式Sigma协议进行证明。
若验证未通过,则拒绝将该待上链数据添加至区块链中进行存储;若验证通过,则接受该待上链数据,并将该待上链数据作为新的区块添加至区块链中进行存储。
共识节点,可以在不解密待上链数据(m,σ)的情况下,根据待上链数据(m,σ)验证表明第一用户终端其知道密态金额的输入之和等于输出之和v0=v1+v2的零知识证据π1和Bulletproofs范围证明证据π2
由于第一密文C1、第二密文C2和第三密文C0均为基于同态加密算法得到的,同态加密算法具有明文数据构成的相应等式,在将其中的明文数据替换为上述明文数据对应的密文数据的时候也成立,因此,共识节点可以根据第一密文、第二密文和第三密文中密态的第一金额、第二金额和第三金额,验证零知识证据π1和Bulletproofs范围证明证据π2,而不用从第一密文、第二密文和第三密文中解密出明文的第一金额、第二金额和第三金额来进行验证。
本发明实施例通过交易发起方采用同态加密算法对交易涉及的各金额数据进行加密,使得共识节点可以根据密态的各金额数据进行验证和共识,将通过验证的密文数据存储在区块链中,能降低安全风险,能提高安全性。
下面对本发明实施例提供的隐私保护装置进行描述,下文描述的隐私保护装置与上文描述的隐私保护方法可相互对应参照。
图3是本发明实施例提供的基于区块链的隐私保护装置的结构示意图。基于上述任一实施例的内容,如图3所示,该装置包括加密模块301和签名模块302,其中:
加密模块301,用于根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;
签名模块302,用于根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中;
其中,监管方的数量至少为二个;第三密文是第三用户终端根据第三用户的私钥、第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的;第一用户的公钥、第二用户的公钥和各监管方的公钥,是基于预先生成的公共参数获得的。
需要说明的是,本发明实施例中的隐私保护装置为第一用户终端。
具体地,加密模块301和签名模块302电连接。
加密模块301选择随机数r1∈Zn,输入第一用户的私钥x1、第一金额v1、第二用户的公钥X2和两个监管方的公钥X3,X4,根据预设的同态加密算法,如下计算第一金额v1的同态密文C1
类似地,加密模块301选择随机数r2∈Zn,输入第一用户的私钥x1、第二金额v2、第一用户的公钥X1和两个监管方的公钥X3,X4,根据上述同态加密算法,如下计算第二金额v2的同态密文C2
加密模块301还从区块链上读取第三金额v0的金额同态密文C0
签名模块302,可以选择随机数k←Zn,根据k、第一密文C1及其对应的公钥X2、第二密文C2及其对应的公钥X1和第三密文C0及其对应的公钥X1,基于预设的签名算法,获得签名σ。
签名σ的获得与m有关。其中,m=(C0,X1)||(C1,X2)||(C2,X1),||表示字符拼接。
获取签名σ之后,第一用户终端可以将(m,σ)作为待上链数据提交到由各共识节点构成的区块链系统。
需要说明的是,该装置还可以包括密钥生成模块,用于接收公共参数;接收第二用户的公钥和各监管方的公钥,并根据公共参数和随机数,生成第一用户的私钥和公钥。
本发明实施例提供的隐私保护装置,用于执行本发明上述隐私保护方法,其实施方式与本发明提供的隐私保护方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
该隐私保护装置用于前述各实施例的隐私保护方法。因此,在前述各实施例中的隐私保护方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
本发明实施例通过交易发起方采用同态加密算法对交易涉及的各金额数据进行加密,使得共识节点可以根据密态的各金额数据进行验证和共识,将通过验证的密文数据存储在区块链中,能降低安全风险,能提高安全性。
基于上述任一实施例的内容,隐私保护装置还包括:获取模块,用于根据新的区块,获取第一密文和第二密文。
具体地,获取模块可以分别根据第二用户的公钥X2和自身的公钥X1,从区块链上读取第一密文C1和第二密文C2
隐私保护装置还包括:解密模块,用于基于第二用户对应的解密算法,根据公共参数、第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二密文进行解密,获取第二金额,并基于第一用户对应的解密算法,根据公共参数、第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一密文进行解密,获取第一金额,根据公共参数、第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二密文进行解密,获取第二金额。
具体地,解密模块从接收方角度解密第二金额,具体包括:
解密模块可以采用第二用户对应的解密算法Dec1,输入公共参数SP、自身的私钥x1和公钥X1、两个监管方的公钥X3,X4和第二密文C2进行计算,获取第二金额。
在采用基于椭圆曲线的初始化方法的情况下,第二金额的获取过程如下
Figure BDA0002924082010000171
在采用基于群的初始化方法的情况下,第二金额的获取过程如下
Figure BDA0002924082010000172
第一用户知道协商第二金额v2',则直接验证协商第二金额v2'是否与第二金额v2一致。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000173
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000181
如果一致,则接受;如果不一致,则拒绝。
解密模块还从发送方角度解密第一金额和第二金额。
解密模块从发送方角度解密第一金额具体包括:
解密模块获取第一密文C1之后,可以采用第一用户对应的解密算法Dec2,输入公共参数SP、自身的私钥x1、第二用户的公钥X2、两个监管方的公钥X3,X4和第一密文C1进行计算,获取第一金额。
在采用基于椭圆曲线的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000182
在采用基于群的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000183
第一用户知道协商第一金额v1',则直接验证协商第一金额v1'是否与第一金额v1一致。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000184
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000185
如果一致,则接受;如果不一致,则拒绝。
解密模块从发送方角度解密第二金额具体包括:
解密模块获取第二密文C2之后,可以采用第一用户对应的解密算法Dec2,输入公共参数SP、自身的私钥x1和公钥X1、两个监管方的公钥X3,X4和第二密文C2进行计算,获取第二金额。
在采用基于椭圆曲线的初始化方法的情况下,第二金额的获取过程如下
Figure BDA0002924082010000186
在采用基于群的初始化方法的情况下,第二金额的获取过程如下
Figure BDA0002924082010000187
本发明实施例通过第一用户终端从接收方角度解密第二金额并从发送方角度解密第一金额和第二金额,能降低安全风险,能提高安全性。
图4是本发明实施例提供的基于区块链的隐私保护装置的结构示意图。基于上述任一实施例的内容,如图4所示,该装置包括接收模块401和共识模块402,其中:
接收模块401,用于接收待上链数据;
共识模块402,用于若基于共识机制,在不解密的情况下,对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中;
其中,待上链数据是基于上述任一的隐私保护方法生成的。
需要说明的是,本发明实施例中的隐私保护装置为共识节点。
具体地,接收模块401与共识模块402电连接。
接收模块401可以获取待上链数据。
共识模块402基于共识机制,在不解密的情况下,对待上链数据(m,σ)进行验证。
若验证未通过,则拒绝将该待上链数据添加至区块链中进行存储;若验证通过,则接受该待上链数据,并将该待上链数据作为新的区块添加至区块链中进行存储。
本发明实施例提供的隐私保护装置,用于执行本发明上述隐私保护方法,其实施方式与本发明提供的隐私保护方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本发明实施例通过交易发起方采用同态加密算法对交易涉及的各金额数据进行加密,使得共识节点可以根据密态的各金额数据进行验证和共识,将通过验证的密文数据存储在区块链中,能降低安全风险,能提高安全性。
图5是本发明实施例提供的基于区块链的隐私保护系统的结构示意图。基于上述任一实施例的内容,如图5所示,该系统包括第一用户终端501和多个共识节点502。
具体地,第一用户终端501可以与各共识节点502组成的区块链系统进行通信。
各共识节点502之间可以进行通信。
第一用户终端501选择随机数r1∈Zn,输入第一用户的私钥x1、第一金额v1、第二用户的公钥X2和两个监管方的公钥X3,X4,根据预设的同态加密算法,如下计算第一金额v1的同态密文C1
类似地,第一用户终端501选择随机数r2∈Zn,输入第一用户的私钥x1、第二金额v2、第一用户的公钥X1和两个监管方的公钥X3,X4,根据上述同态加密算法,如下计算第二金额v2的同态密文C2
第一用户终端501可以选择随机数k←Zn,根据k、第一密文C1及其对应的公钥X2、第二密文C2及其对应的公钥X1和第三密文C0及其对应的公钥X1,基于预设的签名算法,获得签名σ。
签名σ的获得与m有关。其中,m=(C0,X1)||(C1,X2)||(C2,X1),||表示字符拼接。
获取签名σ之后,第一用户终端501可以将(m,σ)作为待上链数据提交到由各共识节点502构成的区块链系统。
各共识节点502基于共识机制,在不解密的情况下,对待上链数据(m,σ)进行验证。
若验证未通过,则拒绝将该待上链数据添加至区块链中进行存储;若验证通过,则接受该待上链数据,并将该待上链数据作为新的区块添加至区块链中进行存储。
需要说明的是,该系统还可以包括初始化装置,用于基于预设的初始化方法,生成公共参数。
第一用户终端、第二用户终端和每一监管方终端,可以基于预先生成的公共参数,分别生成第一用户的私钥和公钥、第二用户的私钥和公钥和该监管方的私钥和公钥。
本发明实施例提供的隐私保护系统,用于执行本发明上述各实施例提供的隐私保护方法,该隐私保护系统包括的各装置实现相应功能的具体方法和流程详见上述隐私保护方法的实施例,此处不再赘述。
该隐私保护系统用于前述各实施例的隐私保护方法。因此,在前述各实施例中的隐私保护方法中的描述和定义,可以用于本发明实施例中各装置的理解。
本发明实施例通过第一用户终端采用同态加密算法对交易涉及的各金额数据进行加密,使得共识节点可以根据密态的各金额数据进行验证和共识,将通过验证的密文数据存储在区块链中,能降低安全风险,能提高安全性。
图6是本发明实施例提供的基于区块链的隐私保护系统的结构示意图。基于上述任一实施例的内容,如图6所示,隐私保护系统还包括:第二用户终端601,用于根据区块链上的目标区块,获取第一密文;基于第二用户对应的解密算法,根据公共参数、第二用户的私钥、第一用户的公钥和各监管方的公钥,对第一密文进行解密,获取第一金额。
具体地,第二用户终端601可以与各共识节点602组成的区块链系统进行通信。
目标区块即上述新的区块。
上述待上链数据上链之后,第二用户终端601可以根据公钥PK2,从区块链上读取第一密文C1
第二用户终端601从接收方角度解密第一金额,具体包括:
第二用户终端601获取第一密文C1之后,可以采用第二用户对应的解密算法Dec1,输入公共参数SP、其私钥x2、第一用户的公钥X1、两个监管方的公钥X3,X4和第一密文C1进行计算,获取第一金额。
第二用户终端从接收方角度解密第一金额。具体包括:
第二用户终端获取第一密文C1之后,可以采用第二用户对应的解密算法Dec1,输入公共参数SP、其私钥x2、第一用户的公钥X1、两个监管方的公钥X3,X4和第一密文C1进行计算,获取第一金额。
在采用基于椭圆曲线的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000211
在采用基于群的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000212
第一用户和第二用户通常会事先或事后协商第一金额v1',则第二用户终端验证解密第一金额之后,验证协商第一金额v1'是否与第一金额v1一致。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000221
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000222
如果一致,则接受;如果不一致,则拒绝。
如果第一用户和第二用户没协商过第一金额v1',第一金额的范围较小,则第二用户终端可以采用查找法快速查找出第一金额v1'使得等式
Figure BDA0002924082010000223
成立,从而实现收款。
因此,第二用户终端可以解密所有收款金额,实现对收款金额的统计,并用于规划下一阶段的收款。
本发明实施例通过第二用户终端从接收方角度解密第一金额,能实现收款,能降低安全风险,能提高安全性。
基于上述任一实施例的内容,隐私保护系统还包括:多个监管终端602。
具体地,每一监管终端602可以与各共识节点602组成的区块链系统进行通信。
监管终端602用于根据目标区块,获取第一密文和第二密文;基于监管终端对应的监管方对应的解密算法,根据公共参数、监管终端对应的监管方的私钥和其他监管方的公钥,分别对第一密文和第二密文进行解密,获取第一金额和第二金额。
具体地,上述待上链数据上链之后,任一监管终端602均可以从区块链上读取第一密文C1和第二密文C2
监管终端602获取第一密文C1和第二密文C2之后,第一监管终端可以采用第一监管方对应的解密算法Dec3,输入公共参数SP、自身的私钥x3、第二监管方的公钥X4和第一密文C1进行计算,获取第一金额;第一监管终端可以采用第一监管方对应的解密算法Dec3,输入公共参数SP、自身的私钥x3、第二监管方的公钥X4和第二密文C2进行计算,获取第二金额;第二监管终端可以采用第二监管方对应的解密算法Dec4,输入公共参数SP、自身的私钥x4、第一监管方的公钥X3和第一密文C1进行计算,获取第一金额;第二监管终端可以采用第二监管方对应的解密算法Dec4,输入公共参数SP、自身的私钥x4、第一监管方的公钥X3和第二密文C2进行计算,获取第二金额。
第一监管终端可以采用第一监管方对应的解密算法Dec3,输入公共参数SP、自身的私钥x3、第二监管方的公钥X4和第一密文C1进行计算,获取第一金额。
在采用基于椭圆曲线的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000231
在采用基于群的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000232
第一监管方终端可以采用查找法快速查找出金额协商第一金额v1',验证协商第一金额v1'是否与第一金额v1一致,实现对第一金额v1的严格监管。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000233
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000234
第一监管终端可以采用第一监管方对应的解密算法Dec3,输入公共参数SP、自身的私钥x3、第二监管方的公钥X4和第二密文C2进行计算,获取第二金额。
在采用基于椭圆曲线的初始化方法的情况下,则第二金额的获取过程如下
Figure BDA0002924082010000235
在采用基于群的初始化方法的情况下,第二金额的获取过程如下
Figure BDA0002924082010000236
第一监管方终端可以采用查找法快速查找出金额协商第二金额v2',验证协商第二金额v2'是否与第二金额v2一致,实现对第二金额v2的严格监管。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000241
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000242
第二监管终端可以采用第二监管方对应的解密算法Dec4,输入公共参数SP、自身的私钥x4、第一监管方的公钥X3和第一密文C1进行计算,获取第一金额。
在采用基于椭圆曲线的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000243
在采用基于群的初始化方法的情况下,第一金额的获取过程如下
Figure BDA0002924082010000244
第二监管方终端可以采用查找法快速查找出金额协商第一金额v1',验证协商第一金额v1'是否与第一金额v1一致,实现对第一金额v1的严格监管。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000245
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000246
第二监管终端可以采用第二监管方对应的解密算法Dec4,输入公共参数SP、自身的私钥x4、第一监管方的公钥X3和第二密文C2进行计算,获取第二金额。
在采用基于椭圆曲线的初始化方法的情况下,则第二金额的获取过程如下
Figure BDA0002924082010000247
在采用基于群的初始化方法的情况下,第二金额的获取过程如下
Figure BDA0002924082010000248
第二监管方终端可以采用查找法快速查找出金额协商第二金额v2',验证协商第二金额v2'是否与第二金额v2一致,实现对第二金额v2的严格监管。
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000251
在采用基于椭圆曲线的初始化方法的情况下,验证如下等式
Figure BDA0002924082010000252
本发明实施例通过监管终端解密第一金额和第二金额,能实现交易金额隐私保护和多个监管方的独立监管,能降低安全风险,能提高安全性。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储在存储器730中并可在处理器710上运行的逻辑指令,以执行上述各方法实施例提供的隐私保护方法,该方法包括:根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供的电子设备中的处理器710可以调用存储器730中的逻辑指令,其实施方式与本发明提供的隐私保护方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的隐私保护方法,该方法包括:根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中。
本发明实施例提供的计算机程序产品被执行时,实现上述隐私保护方法,其具体的实施方式与前述方法的实施例中记载的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的隐私保护方法,该方法包括:根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据第一用户的私钥、第一用户的公钥和各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;根据第一密文、第二密文和第三密文,生成携带有第一密文及其对应的公钥、第二密文及其对应的公钥和第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对待上链数据进行验证且通过验证,则将待上链数据作为新的区块添加至区块链中。
本发明实施例提供的非暂态计算机可读存储介质上存储的计算机程序被执行时,实现上述隐私保护方法,其具体的实施方式与前述方法的实施例中记载的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于区块链的隐私保护方法,其特征在于,包括:
根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;
根据所述第一密文、所述第二密文和所述第三密文,生成携带有所述第一密文及其对应的公钥、所述第二密文及其对应的公钥和所述第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至所述区块链中;
其中,所述监管方的数量至少为二个;所述第三密文是第三用户终端根据第三用户的私钥、所述第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的;所述第一用户的公钥、所述第二用户的公钥和各所述监管方的公钥,是基于预先生成的公共参数获得的。
2.根据权利要求1所述的基于区块链的隐私保护方法,其特征在于,根据所述第一密文、所述第二密文和所述第三密文,生成携带有所述第一密文及其对应的公钥、所述第二密文及其对应的公钥和所述第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至所述区块链中之后,还包括:
根据所述新的区块,获取所述第一密文和所述第二密文;
基于所述第二用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额,并基于所述第一用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第二用户的公钥和所述各监管方的公钥,对所述第一密文进行解密,获取所述第一金额,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额。
3.根据权利要求1或2所述的基于区块链的隐私保护方法,其特征在于,所述根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文之前,还包括:
接收所述公共参数;
接收所述第二用户的公钥和各监管方的公钥,并根据所述公共参数和随机数,生成所述第一用户的私钥和公钥;
其中,所述公共参数是基于目标椭圆曲线或目标群生成的。
4.一种基于区块链的隐私保护方法,其特征在于,包括:
接收待上链数据;
若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至区块链中;
其中,所述待上链数据是基于如权利要求1至3任一所述的隐私保护方法生成的。
5.一种基于区块链的隐私保护装置,其特征在于,包括:
加密模块,用于根据第一用户的私钥、第二用户的公钥和各监管方的公钥,对第一金额进行同态加密,获取第一密文,根据所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对第二金额进行同态加密,获取第二密文,并从区块链上获取第三密文;
签名模块,用于根据所述第一密文、所述第二密文和所述第三密文,生成携带有所述第一密文及其对应的公钥、所述第二密文及其对应的公钥和所述第三密文及其对应的公钥的待上链数据,以使得各共识节点若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至所述区块链中;
其中,所述监管方的数量至少为二个;所述第三密文是第三用户终端根据第三用户的私钥、所述第一用户的公钥和各监管方的公钥,对第三金额进行同态加密后获得的;所述第一用户的公钥、所述第二用户的公钥和各所述监管方的公钥,是基于预先生成的公共参数获得的。
6.根据权利要求5所述的基于区块链的隐私保护装置,其特征在于,还包括:
获取模块,用于根据所述新的区块,获取所述第一密文和所述第二密文;
解密模块,用于基于所述第二用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额,并基于所述第一用户对应的解密算法,根据所述公共参数、所述第一用户的私钥、所述第二用户的公钥和所述各监管方的公钥,对所述第一密文进行解密,获取所述第一金额,根据所述公共参数、所述第一用户的私钥、所述第一用户的公钥和所述各监管方的公钥,对所述第二密文进行解密,获取所述第二金额。
7.一种基于区块链的隐私保护装置,其特征在于,包括:
接收模块,用于接收待上链数据;
共识模块,用于若基于共识机制,在不解密的情况下,对所述待上链数据进行验证且通过验证,则将所述待上链数据作为新的区块添加至区块链中;
其中,所述待上链数据是基于如权利要求1至3任一所述的隐私保护方法生成的。
8.一种基于区块链的隐私保护系统,其特征在于,包括如权利要求5或6所述的基于区块链的隐私保护装置,以及多个如权利要求7所述的基于区块链的隐私保护装置。
9.根据权利要求8所述的基于区块链的隐私保护系统,其特征在于,还包括:
第二用户终端,用于根据区块链上的目标区块,获取第一密文;基于第二用户对应的解密算法,根据公共参数、所述第二用户的私钥、第一用户的公钥和各监管方的公钥,对所述第一密文进行解密,获取第一金额。
10.根据权利要求9所述的基于区块链的隐私保护系统,其特征在于,还包括:多个监管终端;
所述监管终端用于根据所述目标区块,获取第一密文和第二密文;基于所述监管终端对应的监管方对应的解密算法,根据公共参数、所述监管终端对应的监管方的私钥和其他监管方的公钥,分别对所述第一密文和所述第二密文进行解密,获取第一金额和第二金额。
CN202110126067.XA 2021-01-29 2021-01-29 基于区块链的隐私保护方法、装置及系统 Active CN112765667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110126067.XA CN112765667B (zh) 2021-01-29 2021-01-29 基于区块链的隐私保护方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110126067.XA CN112765667B (zh) 2021-01-29 2021-01-29 基于区块链的隐私保护方法、装置及系统

Publications (2)

Publication Number Publication Date
CN112765667A true CN112765667A (zh) 2021-05-07
CN112765667B CN112765667B (zh) 2022-04-26

Family

ID=75703679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110126067.XA Active CN112765667B (zh) 2021-01-29 2021-01-29 基于区块链的隐私保护方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112765667B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567330A (zh) * 2022-12-07 2023-01-03 国网天津市电力公司培训中心 一种隐私信息加密方法、系统、设备及存储介质
CN115941230A (zh) * 2022-01-11 2023-04-07 浪潮云信息技术股份公司 一种基于区块链保护隐私的监管方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN110011781A (zh) * 2019-03-04 2019-07-12 华中科技大学 一种用于交易金额加密且支持零知识证明的同态加密方法
US20190327078A1 (en) * 2018-12-21 2019-10-24 Alibaba Group Holding Limited Blockchain data protection based on generic account model and homomorphic encryption
CN111277415A (zh) * 2020-01-20 2020-06-12 布比(北京)网络技术有限公司 基于区块链智能合约的隐私保护方法及装置
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20190327078A1 (en) * 2018-12-21 2019-10-24 Alibaba Group Holding Limited Blockchain data protection based on generic account model and homomorphic encryption
CN110011781A (zh) * 2019-03-04 2019-07-12 华中科技大学 一种用于交易金额加密且支持零知识证明的同态加密方法
CN111277415A (zh) * 2020-01-20 2020-06-12 布比(北京)网络技术有限公司 基于区块链智能合约的隐私保护方法及装置
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941230A (zh) * 2022-01-11 2023-04-07 浪潮云信息技术股份公司 一种基于区块链保护隐私的监管方法及系统
CN115567330A (zh) * 2022-12-07 2023-01-03 国网天津市电力公司培训中心 一种隐私信息加密方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN112765667B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US11936774B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
WO2021114819A1 (zh) 生成和执行智能合约交易的方法及装置
JP3560439B2 (ja) 暗号キーの回復を実行する装置
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
CN107483212A (zh) 一种双方协作生成数字签名的方法
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
CN105991285A (zh) 用于量子密钥分发过程的身份认证方法、装置及系统
WO2015195978A1 (en) Efficient methods for authenticated communication
US20210357914A1 (en) Constructing a Distributed Ledger Transaction on a Cold Hardware Wallet
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
CN105307165A (zh) 基于移动应用的通信方法、服务端和客户端
CN111429138A (zh) 区块链节点数据安全交互方法及第一交互节点
CN112765667B (zh) 基于区块链的隐私保护方法、装置及系统
CN112380584B (zh) 区块链数据更新方法、装置、电子设备和存储介质
CN111859446A (zh) 一种农产品溯源信息共享-隐私保护的方法及系统
CN103944724A (zh) 一种用户身份识别卡
CN114143117B (zh) 数据处理方法及设备
CN110505067A (zh) 区块链的处理方法、装置、设备及可读存储介质
CN110380845A (zh) 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备
CN105162585B (zh) 一种隐私保护的会话密钥协商方法
CN104253692B (zh) 基于se的密钥管理方法和装置
CN110809000B (zh) 基于区块链网络的业务交互方法、装置、设备及存储介质
CN108365952A (zh) 一种注册的方法、系统及智能密钥安全设备
CN111953489A (zh) 基于sm2算法的发电单元采集业务的密钥交换设备及方法
CN116703593A (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
CB02 Change of applicant information

Address after: Building 3, Beike industry, No. 7, Fengxian Middle Road, Yongfeng Industrial base, Haidian District, Beijing 100094

Applicant after: Beijing Computing Center Co.,Ltd.

Address before: Building 3, Beike industry, No. 7, Fengxian Middle Road, Yongfeng Industrial base, Haidian District, Beijing 100094

Applicant before: BEIJING COMPUTING CENTER

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant