WO2021135695A1 - 一种适用于区块链的验证方法及装置 - Google Patents

一种适用于区块链的验证方法及装置 Download PDF

Info

Publication number
WO2021135695A1
WO2021135695A1 PCT/CN2020/129482 CN2020129482W WO2021135695A1 WO 2021135695 A1 WO2021135695 A1 WO 2021135695A1 CN 2020129482 W CN2020129482 W CN 2020129482W WO 2021135695 A1 WO2021135695 A1 WO 2021135695A1
Authority
WO
WIPO (PCT)
Prior art keywords
decryption
sub
node
ciphertext
plaintext
Prior art date
Application number
PCT/CN2020/129482
Other languages
English (en)
French (fr)
Inventor
王朝阳
严强
李昊轩
李辉忠
张开翔
范瑞彬
刘雪峰
裴庆祺
Original Assignee
深圳前海微众银行股份有限公司
西安电子科技大学
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 深圳前海微众银行股份有限公司, 西安电子科技大学 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2021135695A1 publication Critical patent/WO2021135695A1/zh

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/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/3236Cryptographic 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 using cryptographic hash functions
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention relates to the field of financial technology (Fintech) and computer software, and in particular to a verification method and device suitable for blockchain.
  • each decryptor has a shared private key. After decrypting the ciphertext with the shared private key, only a decrypted plaintext is obtained. To verify the correctness of the ciphertext decryption, you need Obtain the private key shared by the decryptor, which will undoubtedly reveal the shared private key. Therefore, in the prior art, the correctness of the ciphertext decryption process cannot be verified without revealing the shared private key.
  • the embodiments of the present application provide a verification method and device suitable for blockchain, which solves the problem in the prior art that the correctness of the ciphertext decryption process cannot be verified without revealing the shared private key.
  • an embodiment of the present application provides a verification method suitable for a blockchain, including: a first decryption node obtains an encrypted ciphertext from a blockchain; the encrypted ciphertext includes N+1 sub-ciphertexts; The first decryption node is any one of the decryption nodes; each of the decryption nodes corresponds to a decryption private key; N is a positive integer; the encrypted ciphertext is the encryption node according to the preset
  • the encryption algorithm is obtained by encrypting the information to be encrypted through the master public key, N encryption interference values, and different generators in the q-order cyclic group; q is a prime number; the first decryption node is based on the first decryption node The private key and the sub-ciphertext in the N+1 sub-ciphertexts, determine the decryption intermediate result of the encrypted ciphertext on the first decryption node, and store the decryption intermediate result on the first decrypt
  • E is the encrypted ciphertext
  • C1, C2...Cn+1 are N+1 sub-ciphertexts
  • m is the plaintext
  • r1, r2...rn are the N encryptions Interference value
  • n is equal to N.
  • the sub-ciphertext in the N+1 sub-ciphertexts is C2; the first decryption node according to the private key of the first decryption node and the sub-ciphertext in the N+1 sub-ciphertexts
  • the ciphertext, which determines the intermediate result of the decryption of the encrypted ciphertext on the first decryption node includes:
  • the intermediate result of decryption of the encrypted ciphertext on the first decryption node is r1*H.
  • N 1
  • the first decryption node performs a hash operation on the N+1 replacement sub-ciphertexts according to a preset hash algorithm to obtain an initial verification value, which includes:
  • c is the initial verification value
  • t1_p and t2_p are the N+1 substitute sub-ciphertexts
  • a is the substitute plaintext
  • Hash is the hash algorithm.
  • the first decryption node for each replacement sub-ciphertext, the first decryption node generates the replacement sub-ciphertext according to the initial verification value, the replacement plaintext, and the private key of the first decryption node
  • the sub-verification value of includes:
  • Z1 and Z2 are the sub-verification values of the replacement sub-ciphertext; x_1 is the private key of the first decryption node, and x_1' is the first decryption node used when decrypting the encrypted ciphertext Private key.
  • the present application provides a verification device suitable for blockchain, including: an acquisition module for acquiring encrypted ciphertext from the blockchain; the encrypted ciphertext includes N+1 sub-ciphertexts; the device Is the verification device of the first decryption node; the first decryption node is any one of the decryption nodes; each of the decryption nodes corresponds to a decryption private key; N is a positive integer;
  • the encrypted ciphertext is obtained by the encryption node according to a preset encryption algorithm, using the master public key, N encryption interference values, and different generators in the q-order cyclic group to encrypt the information to be encrypted; q is a prime number; processing Module, used to determine the intermediate result of decryption of the encrypted ciphertext on the first decryption node according to the private key of the first decryption node and the sub-ciphertexts in the N+1 sub-ciphertexts, and The intermediate result of the decryption on
  • E is the encrypted ciphertext
  • C1, C2...Cn+1 are N+1 sub-ciphertexts
  • m is the plaintext
  • r1, r2...rn are the N encrypted ciphertexts Interference value
  • n is equal to N.
  • the sub-ciphertext in the N+1 sub-ciphertexts is C2; the processing module is specifically used for: x_1*C2+x_2*C2+...+x_n*C2
  • the intermediate result of decryption of the encrypted ciphertext on the first decryption node is r1*H.
  • c is the initial verification value
  • t1_p and t2_p are the N+1 substitute sub-ciphertexts
  • a is the substitute plaintext
  • Hash is the hash algorithm.
  • the verification module is specifically configured to:
  • Z1 and Z2 are the sub-verification values of the replacement sub-ciphertext; x_1 is the private key of the first decryption node, and x_1' is the first decryption node used when decrypting the encrypted ciphertext Private key.
  • an embodiment of the present application provides a computer device, including a program or instruction, when the program or instruction is executed, it is used to execute the method of the first aspect and the embodiments of the first aspect.
  • an embodiment of the present application provides a storage medium including a program or instruction, and when the program or instruction is executed, the method of the foregoing first aspect and each embodiment of the first aspect is executed.
  • the embodiment of the application provides a verification method and device used in the blockchain.
  • the first decryption node uses the private key of the first decryption node.
  • the sub-ciphertext in the N+1 sub-ciphertexts obtains the intermediate result of the decryption of the encrypted ciphertext on the first decryption node, and the encrypted ciphertext is obtained on each decryption node to obtain the decryption node
  • Decrypt the intermediate result, and the obtained decryption intermediate result is stored on the blockchain, so the first decryption node combines the decryption intermediate results of each decryption node to obtain the plaintext of the encrypted ciphertext;
  • the first decryption node generates a replacement ciphertext again according to another replacement plaintext of the plaintext to obtain an initial verification value, and then generates a sub-verification value of the replacement sub-ciphertext, and finally generates a sub-ver
  • Figure 1 is a schematic diagram of the structure of the blockchain
  • FIG. 2 is a schematic diagram of the process flow of a verification method suitable for blockchain according to an embodiment of the application
  • FIG. 3 is a schematic structural diagram of a verification device suitable for blockchain according to an embodiment of the application.
  • Block chain As shown in Figure 1, a block chain is a chain composed of a series of blocks. In addition to recording the data of this block, each block also records the hash value of the previous block. In this way, a block is formed. chain.
  • Node Each participant in the network is a node, and the node participates in network formation and data exchange.
  • a node refers to a participant with a unique identity.
  • the node has a complete copy of the ledger and has the ability to participate in the consensus of the blockchain network and the maintenance of the ledger.
  • Zero-knowledge proof means that the prover can convince the verifier that a certain assertion is correct without providing any useful information to the verifier.
  • Zero-knowledge proof is essentially an agreement involving two or more parties, that is, a series of steps that two or more parties need to take to complete a task. The prover proves to the verifier and makes it believe that he knows or possesses a certain message, but the certification process cannot disclose any information about the certified message to the verifier.
  • each decryptor has a shared private key. To verify the correctness of the decryption of the ciphertext, it is necessary to obtain the private key shared by the decryptor, which will undoubtedly reveal the shared private key. This situation does not meet the needs of banks and other financial institutions, and cannot guarantee the efficient operation of various businesses of financial institutions.
  • this application provides a verification method suitable for blockchain.
  • Step 201 The first decryption node obtains the encrypted ciphertext from the blockchain.
  • Step 202 The first decryption node determines that the encrypted ciphertext is in the middle of decryption on the first decryption node according to the private key of the first decryption node and the sub-ciphertext in the N+1 sub-ciphertexts As a result, the intermediate result of the decryption on the first decryption node is stored on the blockchain.
  • the encrypted ciphertext obtains the decryption intermediate results of the decryption nodes on the decryption nodes at the same time, and the obtained decryption intermediate results are stored on the blockchain.
  • Step 203 The first decryption node obtains the plaintext of the encrypted ciphertext according to the intermediate decryption results of the decryption nodes.
  • Step 204 The first decryption node determines a substitute plaintext for the plaintext and N substitute encrypted interference values corresponding to the N encrypted interference values.
  • Step 205 The first decryption node generates a substitute ciphertext through the substitute plaintext, the N substitute encryption interference values, and the generator, and the substitute ciphertext includes N+1 substitute sub-ciphertexts.
  • Step 206 The first decryption node performs a hash operation on the N+1 replacement sub-ciphertexts according to a preset hash algorithm to obtain an initial verification value.
  • Step 207 For each replacement sub-ciphertext, the first decryption node generates a sub-verification value of the replacement sub-ciphertext according to the initial verification value, the replacement plaintext, and the private key of the first decryption node.
  • Step 208 The first decryption node uploads the plaintext and decryption key certificate to the blockchain, and the decryption key certificate includes the initial verification value and the sub-verification value of each replacement sub-ciphertext.
  • the decryption key certificate is used to verify that the plaintext is obtained by decrypting according to the private key of the first decryption node.
  • the encrypted ciphertext includes N+1 sub-ciphertexts; the first decryption node is any decryption node in each decryption node; each decryption node in each decryption node corresponds to a decryption private key ; N is a positive integer; the encrypted ciphertext is obtained by encrypting the encrypted information by the encryption node according to the preset encryption algorithm through the master public key, N encryption interference values, and different generators in the q-order cyclic group ; Q is a prime number.
  • q can be a large prime number, which refers to a prime number of the order of 2 ⁇ 256 bits.
  • the q-order cyclic group may be the q-order elliptic curve cyclic group.
  • step 201 the following initialization process may be performed:
  • All decryption nodes have an elliptic curve cyclic group G of order q, where q is a large prime number, and the cyclic group G can be regarded as a set of q elliptic curve points.
  • each decryption node needs to randomly choose a number from ⁇ 1,2,...q-1 ⁇ as its own sub-ciphertext x_i; each decryption node calculates (x_i*G2)mod q, as Part of the master public key H is sent to the blockchain.
  • q is the modulo operation.
  • x_i*G represents the dot product operation of the scalar x_i and any point G2 of the q-order elliptic curve.
  • All decryption nodes publish public keys: G1, G2, H, and retain the sub-ciphertext x_i as the private key of each decryption node.
  • the N+1 sub-ciphertexts are specifically:
  • E is the encrypted ciphertext
  • C1, C2...Cn+1 are N+1 sub-ciphertexts
  • m is the plaintext
  • r1, r2...rn are the N encrypted ciphertexts Interference value
  • n is equal to N.
  • N encryption interference values are a random number r, and the foregoing optional implementation manner may be:
  • the encryption node P determines the message m to be encrypted.
  • the encryption node P selects a random number r from ⁇ 1,2,...q-1 ⁇ .
  • G1 and G2 are q in the initialization process
  • Two generators of the order cyclic group G, H is the master public key in the initialization process.
  • step 202 may specifically be:
  • the intermediate result of decryption of the encrypted ciphertext on the first decryption node is r1*H.
  • step 203 may specifically be:
  • the foregoing implementation manner is applicable to the scenario after the first decryption node decrypts the encrypted ciphertext, and a zero-knowledge discrete logarithmic element equality proof equality_proof is required to prove the correctness of the decryption operation of each decryption node.
  • the specific proof content of equality_proof is "the key x_i used by each decryption node for joint decryption is indeed the key x_i that it actually owns in the initialization", which is used to prove the correctness of each decryption node's vote counting process.
  • N is 1, and step 206 may specifically be:
  • c is the initial verification value
  • t1_p and t2_p are the N+1 substitute sub-ciphertexts
  • a is the substitute plaintext
  • Hash is the hash algorithm.
  • step 207 may specifically be:
  • the first decryption node For each replacement sub-ciphertext, the first decryption node generates the sub-verification value of the replacement sub-ciphertext according to the initial verification value, the replacement plaintext, and the private key of the first decryption node, including:
  • Z1 and Z2 are the sub-verification values of the replacement sub-ciphertext; x_1 is the private key of the first decryption node, and x_1' is the first decryption node used when decrypting the encrypted ciphertext Private key.
  • the first decryption node publishes the equality_proof of the plaintext m and the discrete logarithmic elements on the blockchain, and all verifiers can verify the correctness of the decryption process under the premise of ensuring the privacy of the private key x_1 of the first decryption node of the message, that is, guarantee x_1 is equal to x_1'.
  • the verifier queries the blockchain to obtain the decryption result m and the discrete logarithm element equality proof equality_proof, and verifies whether the decryption result m published by the decryptor is correct through the discrete logarithm element equality proof verification algorithm.
  • the method of decryption node verification is as follows, and the following verification values are constructed: t1_v, t2_v.
  • t1_v c*C1+z1*G1;
  • the present application provides a verification device suitable for blockchain, including: an obtaining module 301, configured to obtain encrypted ciphertext from the blockchain; the encrypted ciphertext includes N+1 sub-ciphertexts;
  • the device is a verification device of the first decryption node; the first decryption node is any one of the decryption nodes; each of the decryption nodes corresponds to a decryption private key; N is A positive integer;
  • the encrypted ciphertext is obtained by the encryption node according to a preset encryption algorithm, through the master public key, N encryption interference values, and different generators in the q-order cyclic group to encrypt the information to be encrypted;
  • q is A prime number;
  • a processing module 302 configured to determine the intermediate result of decryption of the encrypted ciphertext on the first decryption node according to the private key of the first decryption node and the sub-ciphertext in the N+1 sub-ciphertexts , And store the
  • E is the encrypted ciphertext
  • C1, C2...Cn+1 are N+1 sub-ciphertexts
  • m is the plaintext
  • r1, r2...rn are the N encrypted ciphertexts Interference value
  • n is equal to N.
  • the sub-ciphertext in the N+1 sub-ciphertexts is C2; the processing module 302 is specifically configured to: x_1*C2+x_2*C2+...+x_n*C2
  • the intermediate result of decryption of the encrypted ciphertext on the first decryption node is r1*H.
  • c is the initial verification value
  • t1_p and t2_p are the N+1 substitute sub-ciphertexts
  • a is the substitute plaintext
  • Hash is the hash algorithm.
  • the verification module 303 is specifically configured to:
  • Z1 and Z2 are the sub-verification values of the replacement sub-ciphertext; x_1 is the private key of the first decryption node, and x_1' is the first decryption node used when decrypting the encrypted ciphertext Private key.
  • An embodiment of the application provides a computer device, including a program or instruction, when the program or instruction is executed, it is used to execute a verification method and any optional method suitable for blockchain provided by the embodiment of the application .
  • the embodiment of the application provides a storage medium, including a program or instruction, when the program or instruction is executed, it is used to execute a verification method and any optional method applicable to the blockchain provided by the embodiment of the application .
  • this application can be provided as methods, systems, or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, optical storage, etc.) containing computer-usable program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种适用于区块链的验证方法及装置,其中方法为:第一解密节点从区块链获取加密密文;所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果;所述第一解密节点根据所述各解密节点的解密中间结果,得到所述加密密文的明文;所述第一解密节点将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。上述方法应用于金融科技(Fintech)时,不会暴露第一解密节点的私钥,且能够验证所述明文是根据所述第一解密节点的私钥解密获得的。

Description

一种适用于区块链的验证方法及装置
相关申请的交叉引用
本申请要求在2019年12月30日提交中国专利局、申请号为201911399367.4、申请名称为“一种适用于区块链的验证方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及金融科技(Fintech)领域和计算机软件领域,尤其涉及一种适用于区块链的验证方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链(Blockchain)、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变。目前,金融数据的安全至关重要,所以在传输过程中需要对金融数据进行加密并解密。
现有技术中,各解密者拥有一个共享的私钥,通过共享的私钥对密文解密后,最终得到的仅是一条解密后的明文,若要验证对密文解密的正确性,则需要获取解密者共享的私钥,这无疑会泄露共享的私钥。因此,现有技术中,不能在不泄露共享的私钥的前提下,验证密文解密过程的正确性。
发明内容
本申请实施例提供一种适用于区块链的验证方法及装置,解决了现有技术中不能在不泄露共享的私钥的前提下,验证密文解密过程的正确性的问题。
第一方面,本申请实施例提供一种适用于区块链的验证方法,包括:第一解密节点从区块链获取加密密文;所述加密密文包括N+1个子密文;所述第一解密节点为各解密节点中任一解密节点;所述各解密节点中每个解密节点 都与一个解密私钥对应;N为正整数;所述加密密文是所述加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的;q为素数;所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,并将所述第一解密节点上的解密中间结果存放于所述区块链上;所述加密密文同时在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上;所述第一解密节点根据所述各解密节点的解密中间结果,得到所述加密密文的明文;所述第一解密节点确定所述明文的替代明文及所述N个加密干扰值对应的N个替代加密干扰值;所述第一解密节点通过所述替代明文、所述N个替代加密干扰值和所述生成元生成替代密文,所述替代密文包括N+1个替代子密文;所述第一解密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;所述第一解密节点针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值;所述第一解密节点将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明包括所述初始验证值和每个替代子密文的子验证值;所述解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。
一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数;所述N+1个子密文具体为:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1 个子密文;m为所述明文;r1、r2……rn为所述N个加密干扰值;n等于N。
一种可选实施方式中,所述N+1个子密文中的子密文为C2;所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,包括:
x_1*C2+x_2*C2+…+x_n*C2
=x_1*(r1*G2)+x_2*(r1*G2)+…+x_n*(r1*G2)
=r1*(x_1*G2)+r1*(x_2*G2)+…+r1*(x_n*G2)
=r1*H;
所述加密密文在所述第一解密节点上的解密中间结果为r1*H。
一种可选实施方式中,N为1,所述第一解密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值,包括:
c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1)mod q;
t2_p=(a*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p为所述N+1个替代子密文;a为所述替代明文;Hash为所述哈希算法。
一种可选实施方式中,所述第一解密节点针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值,包括:
Z1=(a-c*x_1)mod q;
Z2=(a-c*x_1’)mod q;
其中,Z1、Z2为所述替代子密文的子验证值;x_1为所述第一解密节点的私钥,x_1’为所述第一解密节点在对所述加密密文解密时所使用的私钥。
第二方面,本申请提供一种适用于区块链的验证装置,包括:获取模块,用于从区块链获取加密密文;所述加密密文包括N+1个子密文;所述装置为所述第一解密节点的验证装置;所述第一解密节点为各解密节点中任一解密节点;所述各解密节点中每个解密节点都与一个解密私钥对应;N为正整数;所 述加密密文是所述加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的;q为素数;处理模块,用于根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,并将所述第一解密节点上的解密中间结果存放于所述区块链上;所述加密密文同时在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上;根据所述各解密节点的解密中间结果,得到所述加密密文的明文;所述处理模块,还用于确定所述明文的替代明文及所述N个加密干扰值对应的N个替代加密干扰值;通过所述替代明文、所述N个替代加密干扰值和所述生成元生成替代密文,所述替代密文包括N+1个替代子密文;验证模块,用于按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值;所述验证模块,还用于将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明包括所述初始验证值和每个替代子密文的子验证值;所述解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。
一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数;所述N+1个子密文具体为:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述明文;r1、r2……rn为所述N个加密干扰值;n等于N。
一种可选实施方式中,所述N+1个子密文中的子密文为C2;所述处理模块具体用于:x_1*C2+x_2*C2+…+x_n*C2
=x_1*(r1*G2)+x_2*(r1*G2)+…+x_n*(r1*G2)
=r1*(x_1*G2)+r1*(x_2*G2)+…+r1*(x_n*G2)
=r1*H;
所述加密密文在所述第一解密节点上的解密中间结果为r1*H。
一种可选实施方式中,N为1,所述验证模块具体用于:c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1)mod q;
t2_p=(a*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p为所述N+1个替代子密文;a为所述替代明文;Hash为所述哈希算法。
一种可选实施方式中,所述验证模块具体用于:
Z1=(a-c*x_1)mod q;
Z2=(a-c*x_1’)mod q;
其中,Z1、Z2为所述替代子密文的子验证值;x_1为所述第一解密节点的私钥,x_1’为所述第一解密节点在对所述加密密文解密时所使用的私钥。
上述第二方面及第二方面各个实施例的有益效果,可以参考上述第一方面及第一方面各个实施例的有益效果,这里不再赘述。
第三方面,本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个实施例的方法。
第四方面,本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个实施例的方法。
本申请实施例提供一种是用于区块链的验证方法及装置中,第一解密节点从区块链获取加密密文后,所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文得到所述加密密文在所述第一解密节点 上的解密中间结果,同时加密密文在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上,因此所述第一解密节点结合所述各解密节点的解密中间结果,即可得到所述加密密文的明文;而所述第一解密节点重新根据所述明文的另一份替代明文,生成替代密文,得到初始验证值,进而生成所述替代子密文的子验证值,最终生成可以验证所述明文是根据所述第一解密节点的私钥解密获得的的解密密钥证明,可以在不暴露待第一解密节点的私钥的基础上,验证加密密文的解密正确性。
附图说明
图1为区块链的结构示意图;
图2为本申请实施例提供的一种适用于区块链的验证方法的步骤流程示意图;
图3为本申请实施例提供的一种适用于区块链的验证装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
下面首先解释本申请实施例中出现的名词。
区块链:如图1所示,区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的哈希值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。
节点:网络中的每一个参与者就是一个节点,节点参与网络组建和数据交换。在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点 具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
零知识证明:零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,金融数据的安全至关重要,所以在传输过程中需要对金融数据进行加密。目前各解密者拥有一个共享的私钥,若要验证对密文解密的正确性,则需要获取解密者共享的私钥,这无疑会泄露共享的私钥。这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。
为此,如图2所示,根据零知识证明的性质,本申请提供一种适用于区块链的验证方法。
步骤201:第一解密节点从区块链获取加密密文。
步骤202:所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,并将所述第一解密节点上的解密中间结果存放于所述区块链上。
所述加密密文同时在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上。
步骤203:所述第一解密节点根据所述各解密节点的解密中间结果,得到所述加密密文的明文。
步骤204:所述第一解密节点确定所述明文的替代明文及所述N个加密干扰值对应的N个替代加密干扰值。
步骤205:所述第一解密节点通过所述替代明文、所述N个替代加密干扰值和所述生成元生成替代密文,所述替代密文包括N+1个替代子密文。
步骤206:所述第一解密节点按照预设的哈希算法对所述N+1个替代子密 文进行哈希运算,得到初始验证值。
步骤207:所述第一解密节点针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值。
步骤208:所述第一解密节点将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明包括所述初始验证值和每个替代子密文的子验证值。
所述解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。
步骤201中,所述加密密文包括N+1个子密文;所述第一解密节点为各解密节点中任一解密节点;所述各解密节点中每个解密节点都与一个解密私钥对应;N为正整数;所述加密密文是所述加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的;q为素数。其中,如果为了保证q中的整数足够多,不至于随机取数时容易出现重复,q可以为大素数,大素数指2^256位的数量级的素数。q阶循环群可以为q阶椭圆曲线循环群。
具体来说,可以在步骤201之前,进行如下初始化流程:
(1)所有解密节点拥有一个q阶椭圆曲线循环群G,其中q为大素数,循环群G可看作q个椭圆曲线点的集合。
(2)所有解密节点需要在循环群G中随机选择两个独立的椭圆曲线点作为生成元G1、G2。
(3)所以每个解密节点都需要从{1,2,…q-1}中随机选择一个数,作为自己的一个子密文x_i;每个解密节点计算(x_i*G2)mod q,作为主公钥H的一部分,发送到区块链。其中,q为取模运算。其中,x_i*G:表示标量x_i与q阶椭圆曲线的任一点G2的点乘运算。
(4)所以主公钥H需组合构造,即每个解密节点计算(Σx_i*G2)mod q=(x*G2)mod q=H,其中主秘密x为所有子密文x_i之和。
(5)所有解密节点公布公钥:G1、G2、H,保留子密文x_i作为每个解密节点的私钥。
需要说明的是,步骤201中的所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数。
所述N+1个子密文具体为:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述明文;r1、r2……rn为所述N个加密干扰值;n等于N。
特别地,N为1时,即n也为1时,N个加密干扰值为一个随机数r,上述可选实施方式可以为:
(1)加密节点P确定待加密消息m。
(2)加密节点P从{1,2,…q-1}中选择随机数r。
(3)加密节点P利用Elgamal加密算法加密待加密消息m得到加密密文E=(C1,C2)=(m*G1+r*H,r*G2),其中G1、G2为初始化流程中q阶循环群G的两个生成元,H为初始化流程中的主公钥。
所述N+1个子密文中的子密文为C2;步骤202的一种可选实施方式中,步骤202具体可以为:
x_1*C2+x_2*C2+…+x_n*C2
=x_1*(r1*G2)+x_2*(r1*G2)+…+x_n*(r1*G2)
=r1*(x_1*G2)+r1*(x_2*G2)+…+r1*(x_n*G2)
=r1*H;
所述加密密文在所述第一解密节点上的解密中间结果为r1*H。
进一步地,当N为1时,步骤203具体可以为:
通过(C1-r*H)mod q=(m*G1+r*H-r*H)mod q,得到(m*G1)mod q,第一 解密节点对(m*G1)mod q,求解离散对数问题,即遍历得m,即明文。
上述实施方式适用于第一解密节点对加密密文解密后的场景,还需附上一个零知识的离散对数元素相等证明equality_proof,用于证明各解密节点解密操作的正确性。其中equality_proof的具体证明内容为“各解密节点联合解密时使用的密钥x_i确实是其在初始化中真实拥有的密钥x_i”,用于证明每个各解密节点计票过程的正确性。
具体来说,N为1,步骤206具体可以为:
c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1)mod q;
t2_p=(a*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p为所述N+1个替代子密文;a为所述替代明文;Hash为所述哈希算法。
步骤207的一种可选实施方式中,步骤207具体可以为:
所述第一解密节点针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值,包括:
Z1=(a-c*x_1)mod q;
Z2=(a-c*x_1’)mod q;
其中,Z1、Z2为所述替代子密文的子验证值;x_1为所述第一解密节点的私钥,x_1’为所述第一解密节点在对所述加密密文解密时所使用的私钥。
解密密钥证明具体可以为equality_proof=(c,Z1,Z2)。
第一解密节点将明文m及离散对数元素相等证明equality_proof公布于区块链上,在保证消息第一解密节点的私钥x_1隐私的前提下供所有验证者验证解密过程的正确性,即保证x_1与x_1’相等。
验证者在区块链上查询得到解密结果m及离散对数元素相等证明equality_proof,通过离散对数元素相等证明验证算法验证解密者公布的解密结果m是否正确。具体来说,解密节点验证的方式如下,构造以下验证值:t1_v,t2_v。
t1_v=c*C1+z1*G1;
t2_v=c*C2+z2*G2。
检验c=?Hash(t1_v,t2_v);其中,=?表示判断是否相等,c为所述初始验证值,若相等,则确定明文的解密过程确实是根据各解密节点的私钥联合解密得到的。若通过验证,则验证者就认为第一解密节点的解密操作是正确的,即公布的明文消息m是正确的,且在此过程中没有获得关于第一解密节点的私钥的任何信息,实现隐私下的可验证。
如图3所示,本申请提供一种适用于区块链的验证装置,包括:获取模块301,用于从区块链获取加密密文;所述加密密文包括N+1个子密文;所述装置为所述第一解密节点的验证装置;所述第一解密节点为各解密节点中任一解密节点;所述各解密节点中每个解密节点都与一个解密私钥对应;N为正整数;所述加密密文是所述加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的;q为素数;处理模块302,用于根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,并将所述第一解密节点上的解密中间结果存放于所述区块链上;所述加密密文同时在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上;根据所述各解密节点的解密中间结果,得到所述加密密文的明文;所述处理模块302,还用于确定所述明文的替代明文及所述N个加密干扰值对应的N个替代加密干扰值;通过所述替代明文、所述N个替代加密干扰值和所述生成元生成替代密文,所述替代密文包括N+1个替代子密文;验证模块303,用于按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值;所述验证模块303,还用于将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明包括所述初始验证值和每个替代子密文的子验证值;所述解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。
一种可选实施方式中,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数;所述N+1个子密文具体为:
C1=(m*G1+(r1+r2+……+rn)*H)mod q;
C2=(r1*G2)mod q;
……
Cn+1=(rn*G2)mod q;
E=(C1,C2,……Cn+1);
其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述明文;r1、r2……rn为所述N个加密干扰值;n等于N。
一种可选实施方式中,所述N+1个子密文中的子密文为C2;所述处理模块302具体用于:x_1*C2+x_2*C2+…+x_n*C2
=x_1*(r1*G2)+x_2*(r1*G2)+…+x_n*(r1*G2)
=r1*(x_1*G2)+r1*(x_2*G2)+…+r1*(x_n*G2)
=r1*H;
所述加密密文在所述第一解密节点上的解密中间结果为r1*H。
一种可选实施方式中,N为1,所述验证模块303具体用于:c=Hash(t1_p,t2_p,……tn+1_p);其中,
t1_p=(a*G1)mod q;
t2_p=(a*G2)mod q;
其中,c为所述初始验证值;t1_p、t2_p为所述N+1个替代子密文;a为所述替代明文;Hash为所述哈希算法。
一种可选实施方式中,所述验证模块303具体用于:
Z1=(a-c*x_1)mod q;
Z2=(a-c*x_1’)mod q;
其中,Z1、Z2为所述替代子密文的子验证值;x_1为所述第一解密节点的 私钥,x_1’为所述第一解密节点在对所述加密密文解密时所使用的私钥。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种适用于区块链的验证方法及任一可选方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种适用于区块链的验证方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

  1. 一种适用于区块链的验证方法,其特征在于,包括:
    第一解密节点从区块链获取加密密文;所述加密密文包括N+1个子密文;所述第一解密节点为各解密节点中任一解密节点;所述各解密节点中每个解密节点都与一个解密私钥对应;N为正整数;所述加密密文是所述加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的;q为素数;
    所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,并将所述第一解密节点上的解密中间结果存放于所述区块链上;所述加密密文同时在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上;
    所述第一解密节点根据所述各解密节点的解密中间结果,得到所述加密密文的明文;
    所述第一解密节点确定所述明文的替代明文及所述N个加密干扰值对应的N个替代加密干扰值;所述第一解密节点通过所述替代明文、所述N个替代加密干扰值和所述生成元生成替代密文,所述替代密文包括N+1个替代子密文;
    所述第一解密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;所述第一解密节点针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值;
    所述第一解密节点将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明包括所述初始验证值和每个替代子密文的子验证值;所述解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。
  2. 如权利要求1所述的方法,其特征在于,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上 的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数;所述N+1个子密文具体为:
    C1=(m*G1+(r1+r2+……+rn)*H)mod q;
    C2=(r1*G2)mod q;
    ……
    Cn+1=(rn*G2)mod q;
    E=(C1,C2,……Cn+1);
    其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述明文;r1、r2……rn为所述N个加密干扰值;n等于N。
  3. 如权利要求2所述的方法,其特征在于,所述N+1个子密文中的子密文为C2;所述第一解密节点根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,包括:
    x_1*C2+x_2*C2+…+x_n*C2
    =x_1*(r1*G2)+x_2*(r1*G2)+…+x_n*(r1*G2)
    =r1*(x_1*G2)+r1*(x_2*G2)+…+r1*(x_n*G2)
    =r1*H;
    所述加密密文在所述第一解密节点上的解密中间结果为r1*H。
  4. 如权利要求3所述的方法,其特征在于,N为1,所述第一解密节点按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值,包括:
    c=Hash(t1_p,t2_p,……tn+1_p);其中,
    t1_p=(a*G1)mod q;
    t2_p=(a*G2)mod q;
    其中,c为所述初始验证值;t1_p、t2_p为所述N+1个替代子密文;a为所述替代明文;Hash为所述哈希算法。
  5. 如权利要求4所述的方法,其特征在于,所述第一解密节点针对每个 替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值,包括:
    Z1=(a-c*x_1)mod q;
    Z2=(a-c*x_1’)mod q;
    其中,Z1、Z2为所述替代子密文的子验证值;x_1为所述第一解密节点的私钥,x_1’为所述第一解密节点在对所述加密密文解密时所使用的私钥。
  6. 一种适用于区块链的验证装置,其特征在于,包括:
    获取模块,用于从区块链获取加密密文;所述加密密文包括N+1个子密文;所述装置为所述第一解密节点的验证装置;所述第一解密节点为各解密节点中任一解密节点;所述各解密节点中每个解密节点都与一个解密私钥对应;N为正整数;所述加密密文是所述加密节点按照预设的加密算法,通过主公钥、N个加密干扰值和q阶循环群中不同的生成元对待加密信息进行加密得到的;q为素数;
    处理模块,用于根据所述第一解密节点的私钥以及所述N+1个子密文中的子密文,确定所述加密密文在所述第一解密节点上的解密中间结果,并将所述第一解密节点上的解密中间结果存放于所述区块链上;所述加密密文同时在所述各解密节点上得到所述各解密节点的解密中间结果,且得到的解密中间结果存放于所述区块链上;根据所述各解密节点的解密中间结果,得到所述加密密文的明文;
    所述处理模块,还用于确定所述明文的替代明文及所述N个加密干扰值对应的N个替代加密干扰值;通过所述替代明文、所述N个替代加密干扰值和所述生成元生成替代密文,所述替代密文包括N+1个替代子密文;
    验证模块,用于按照预设的哈希算法对所述N+1个替代子密文进行哈希运算,得到初始验证值;针对每个替代子密文,根据所述初始验证值、所述替代明文、所述第一解密节点的私钥生成所述替代子密文的子验证值;
    所述验证模块,还用于将所述明文和解密密钥证明上传至所述区块链,所述解密密钥证明包括所述初始验证值和每个替代子密文的子验证值;所述 解密密钥证明用于验证所述明文是根据所述第一解密节点的私钥解密获得的。
  7. 如权利要求6所述的装置,其特征在于,所述N个加密干扰值为从1至q-1的q-1个整数中随机选择的N个不同的整数;所述生成元包括q阶椭圆曲线上的两个生成元G1和G2;所述主公钥H=Σx_i*G2,x_i为第i个解密节点的私钥;i为正整数;所述N+1个子密文具体为:
    C1=(m*G1+(r1+r2+……+rn)*H)mod q;
    C2=(r1*G2)mod q;
    ……
    Cn+1=(rn*G2)mod q;
    E=(C1,C2,……Cn+1);
    其中,mod表示取模运算,E为所述加密密文;C1、C2……Cn+1为N+1个子密文;m为所述明文;r1、r2……rn为所述N个加密干扰值;n等于N。
  8. 如权利要求7所述的装置,其特征在于,所述处理模块具体用于:
    x_1*C2+x_2*C2+…+x_n*C2
    =x_1*(r1*G2)+x_2*(r1*G2)+…+x_n*(r1*G2)
    =r1*(x_1*G2)+r1*(x_2*G2)+…+r1*(x_n*G2)
    =r1*H;
    所述加密密文在所述第一解密节点上的解密中间结果为r1*H。
  9. 一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至5中任意一项所述的方法被执行。
  10. 一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至5中任意一项所述的方法被执行。
PCT/CN2020/129482 2019-12-30 2020-11-17 一种适用于区块链的验证方法及装置 WO2021135695A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911399367.4A CN111162912B (zh) 2019-12-30 2019-12-30 一种适用于区块链的验证方法、装置及存储介质
CN201911399367.4 2019-12-30

Publications (1)

Publication Number Publication Date
WO2021135695A1 true WO2021135695A1 (zh) 2021-07-08

Family

ID=70559365

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/129482 WO2021135695A1 (zh) 2019-12-30 2020-11-17 一种适用于区块链的验证方法及装置

Country Status (2)

Country Link
CN (1) CN111162912B (zh)
WO (1) WO2021135695A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114185993A (zh) * 2021-12-21 2022-03-15 北京理工大学 一种基于区块链的可审计数据共享方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111162912B (zh) * 2019-12-30 2021-06-15 深圳前海微众银行股份有限公司 一种适用于区块链的验证方法、装置及存储介质
CN111737748B (zh) * 2020-06-24 2021-09-07 深圳前海微众银行股份有限公司 一种应用于区块链的数据解密方法、装置及存储介质
CN113794570B (zh) * 2021-09-14 2023-06-06 广州蚁比特区块链科技有限公司 一种基于零知识证明的私钥管理方法及系统
CN113992325B (zh) * 2021-10-09 2023-07-11 深圳前海微众银行股份有限公司 一种隐私数据共享方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690551A (zh) * 2018-08-24 2019-04-26 区链通网络有限公司 区块链数据保护方法、装置、系统及计算机可读存储介质
CN110620658A (zh) * 2019-08-26 2019-12-27 广州易波区块链技术有限公司 安全保存区块链私钥的方法及装置
CN111162912A (zh) * 2019-12-30 2020-05-15 深圳前海微众银行股份有限公司 一种适用于区块链的验证方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158611B2 (en) * 2016-11-17 2018-12-18 Bank Of America Corporation System for multiplexing and demultiplexing blockchain ledgers via a cryptographic hash
CN108650077B (zh) * 2018-05-17 2021-05-28 深圳前海微众银行股份有限公司 基于区块链的信息传输方法、终端、设备及可读存储介质
CN109067719B (zh) * 2018-07-23 2020-12-22 黄文佳 区块链应用中提高数据处理效率的方法
CN110351096B (zh) * 2019-07-24 2022-02-01 深圳壹账通智能科技有限公司 多重签名方法、签名中心、程序介质及电子设备
CN110519274B (zh) * 2019-08-28 2020-07-24 腾讯科技(深圳)有限公司 区块链信息传输方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690551A (zh) * 2018-08-24 2019-04-26 区链通网络有限公司 区块链数据保护方法、装置、系统及计算机可读存储介质
CN110620658A (zh) * 2019-08-26 2019-12-27 广州易波区块链技术有限公司 安全保存区块链私钥的方法及装置
CN111162912A (zh) * 2019-12-30 2020-05-15 深圳前海微众银行股份有限公司 一种适用于区块链的验证方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114185993A (zh) * 2021-12-21 2022-03-15 北京理工大学 一种基于区块链的可审计数据共享方法
CN114185993B (zh) * 2021-12-21 2023-02-03 北京理工大学 一种基于区块链的可审计数据共享方法

Also Published As

Publication number Publication date
CN111162912A (zh) 2020-05-15
CN111162912B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
WO2021135695A1 (zh) 一种适用于区块链的验证方法及装置
JP7301039B2 (ja) 閾値デジタル署名方法及びシステム
CN110740033B (zh) 一种基于秘密共享技术的区块链多方数据共享方法
WO2021135694A1 (zh) 一种适用于区块链的验证方法及装置
Libert et al. Born and raised distributively: Fully distributed non-interactive adaptively-secure threshold signatures with short shares
Ning et al. White-box traceable ciphertext-policy attribute-based encryption supporting flexible attributes
WO2019101134A1 (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法
JP2023024683A (ja) 閾ボールトを生成する、コンピュータにより実施される方法
JP2020502856A5 (zh)
CN110011781A (zh) 一种用于交易金额加密且支持零知识证明的同态加密方法
WO2013031533A1 (ja) 情報処理装置、情報処理方法、及びプログラム
Nguyen-Van et al. Scalable distributed random number generation based on homomorphic encryption
US11438152B2 (en) Distributed symmetric encryption
CN109547209A (zh) 一种两方sm2数字签名生成方法
TW202318833A (zh) 臨界簽章方案
TWI511517B (zh) Information processing apparatus, information processing method, program and recording medium
CN113992325B (zh) 一种隐私数据共享方法及装置
Saračević et al. Source and channel models for secret-key agreement based on Catalan numbers and the lattice path combinatorial approach
CN112580071A (zh) 一种数据处理方法及装置
Al Housani et al. Survey on certificateless public key cryptography
CN110798313A (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统
Battagliola et al. A provably-unforgeable threshold eddsa with an offline recovery party
CN111737748B (zh) 一种应用于区块链的数据解密方法、装置及存储介质
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20908935

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20908935

Country of ref document: EP

Kind code of ref document: A1