CN111080296B - Verification method and device based on blockchain system - Google Patents

Verification method and device based on blockchain system Download PDF

Info

Publication number
CN111080296B
CN111080296B CN201911235411.8A CN201911235411A CN111080296B CN 111080296 B CN111080296 B CN 111080296B CN 201911235411 A CN201911235411 A CN 201911235411A CN 111080296 B CN111080296 B CN 111080296B
Authority
CN
China
Prior art keywords
information
verified
verification
node
pieces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911235411.8A
Other languages
Chinese (zh)
Other versions
CN111080296A (en
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.)
Xidian University
WeBank Co Ltd
Original Assignee
Xidian University
WeBank 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 Xidian University, WeBank Co Ltd filed Critical Xidian University
Priority to CN201911235411.8A priority Critical patent/CN111080296B/en
Publication of CN111080296A publication Critical patent/CN111080296A/en
Priority to PCT/CN2020/120923 priority patent/WO2021109718A1/en
Application granted granted Critical
Publication of CN111080296B publication Critical patent/CN111080296B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

The embodiment of the invention discloses a verification method and a verification device based on a blockchain system, wherein a node to be verified generates at least two pieces of data to be verified corresponding to information to be verified based on an elliptic curve encryption algorithm, the data to be verified is sent to the verification node, the verification node calculates first information and at least two pieces of second information in the data to be verified by using a decryption algorithm corresponding to the elliptic curve encryption algorithm, third information is obtained, and whether the data to be verified passes verification is determined according to the third information and the first information. The data to be verified is obtained through an elliptic curve encryption algorithm, so that the verification difficulty is reduced, and meanwhile, the verification accuracy is improved; in addition, the data to be verified in the scheme is generated by two or more pieces of information to be verified, so that the verification node can complete verification of the two or more pieces of information to be verified in the node to be verified through one verification process, and the verification efficiency is improved.

Description

Verification method and device based on blockchain system
Technical Field
The present invention relates to the field of financial technology (Fintech), and in particular, to a method and apparatus for verifying based on a blockchain system.
Background
With the development of computer technology, more and more technologies are applied in the financial field, and the traditional financial industry is gradually changed to the financial technology (Fintech), but due to the requirements of safety and real-time performance of the financial industry, higher requirements are also put on the technologies.
At present, the public key cryptosystem RSA is an asymmetric encryption algorithm commonly used in a blockchain system, the key length generated by the RSA encryption algorithm is between 512 bits and 2048 bits, and although the RSA encryption algorithm can ensure the security of information to be verified, a longer key deepens the difficulty of verifying the encrypted information by a node, so that the efficiency of verifying the information to be verified is lower.
In summary, there is a need for a blockchain system-based authentication method to solve the technical problem of low authentication efficiency caused by encrypting information to be authenticated by using an RSA encryption algorithm in the prior art.
Disclosure of Invention
The embodiment of the invention provides a verification method and device based on a block chain system, which are used for solving the technical problem of low verification efficiency caused by encrypting information to be verified by adopting an RSA encryption algorithm in the prior art.
In a first aspect, an embodiment of the present invention provides a blockchain system-based verification method, including:
Generating to-be-verified data corresponding to at least two pieces of to-be-verified information by a node to be verified in the blockchain system based on an elliptic curve encryption algorithm, wherein the to-be-verified data comprises first information and at least two pieces of second information, the at least two pieces of second information are respectively in one-to-one correspondence with the at least two pieces of to-be-verified information, and the at least two pieces of second information are used for determining third information by the verification node; further, the node to be verified sends the data to be verified to a verification node, so that the verification node determines a verification result of the data to be verified through the first information and the third information.
In the embodiment of the invention, the elliptic curve encryption algorithm can use a shorter secret key to realize the security equivalent to or higher than that of an RSA encryption algorithm, so that the method can improve the verification accuracy on the basis of reducing the verification difficulty; in addition, the data to be verified in the scheme is generated by two or more pieces of information to be verified, so that the verification node can verify the two or more pieces of information to be verified in the node to be verified through one verification process without verifying each piece of information to be verified, unnecessary operation steps can be saved, and verification efficiency is improved.
In one possible implementation manner, the node to be verified in the blockchain system generates data to be verified corresponding to at least two pieces of information to be verified based on an elliptic curve cryptography algorithm, including: the node to be verified sets a corresponding random blind key for each piece of information to be verified, and obtains the first information based on the random blind key corresponding to each piece of information to be verified and elliptic curve points corresponding to each piece of information to be verified; the elliptic curve points corresponding to the information to be verified are obtained by negotiating the nodes to be verified and the verification nodes in advance; further, for any information to be verified, the node to be verified generates second information corresponding to the information to be verified according to the information to be verified, a random blind key corresponding to the information to be verified and the first information, and constructs the data to be verified according to the first information and the second information corresponding to each information to be verified.
In the implementation manner, each piece of information to be verified is covered by using the random blind key, and the association relation between the first information, each piece of second information, each piece of random blind key and each piece of information to be verified is designed, so that the verification node can reconstruct the first information based on the association relation under the condition that each piece of information to be verified is not leaked by the node to be verified, and therefore the verification node can accurately verify two or more pieces of information to be verified.
In one possible implementation, the first information satisfies the following form: z is Z 1 =Hash(a 1 *G 1 +a 2 *G 2 +……a n *G n ) The method comprises the steps of carrying out a first treatment on the surface of the Wherein Z is 1 For the first information, a 1 、a 2 ……、a n Respectively random blind keys corresponding to n pieces of information to be verified, G 1 、G 2 ……、G n Respectively corresponding elliptic curve points of n pieces of information to be verified, wherein n is an integer greater than or equal to 2.
In the implementation manner, the hash algorithm is used for encrypting the discrete logarithm connected value obtained by constructing each random blind key, so that the verification node cannot decrypt and obtain the random blind key corresponding to each piece of information to be verified based on the first information, a non-interactive verification mode can be realized between the node to be verified and the verification node, and the security of each piece of information to be verified is improved.
In one possible implementation manner, the second information corresponding to any information to be verified satisfies the following form: z is Z 2i =a i -Z 1 *r i The method comprises the steps of carrying out a first treatment on the surface of the Wherein Z is 2i A is the second information corresponding to the ith information to be verified, a i R is a random blind key corresponding to the ith information to be verified i I is an integer greater than 0 and less than n, and is the i-th information to be verified.
In a second aspect, an embodiment of the present invention provides a blockchain system-based verification method, where the method includes:
the verification node receives data to be verified, which is sent by the node to be verified; the data to be verified is obtained by encrypting at least two pieces of information to be verified by the node to be verified through an elliptic curve encryption algorithm, and the data to be verified comprises first information and at least two pieces of second information; the at least two pieces of second information are in one-to-one correspondence with the at least two pieces of information to be verified; further, the verification node calculates third information by using a decryption algorithm corresponding to the elliptic curve encryption algorithm according to the first information and the at least two pieces of second information in the data to be verified, and determines whether the data to be verified passes verification according to the third information and the first information.
In one possible implementation manner, the verifying node calculates, according to the first information and the at least two second information in the data to be verified, third information by using a decryption algorithm corresponding to the elliptic curve encryption algorithm, where the third information includes: the verification node acquires elliptic curve points and verification points corresponding to the information to be verified; the elliptic curve points and the verification points corresponding to the information to be verified are obtained by pre-negotiating the nodes to be verified and the verification nodes; further, the verification node obtains the third information according to the first information, the second information corresponding to each piece of information to be verified, the elliptic curve point corresponding to each piece of information to be verified and the verification point.
In one possible implementation, the third information satisfies the following form: z is Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 * Y); wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 And Y is a verification point for the first information.
In a third aspect, an embodiment of the present invention provides a blockchain system-based verification device, where the device includes:
the generating module is used for generating to-be-verified data corresponding to at least two to-be-verified information based on an elliptic curve encryption algorithm; the data to be verified comprises first information and at least two pieces of second information, the at least two pieces of second information are respectively corresponding to the at least two pieces of information to be verified one by one, and the at least two pieces of second information are used for determining third information by a verification node;
And the receiving and transmitting module is used for transmitting the data to be verified to the verification node so that the verification node can determine a verification result of the data to be verified through the first information and the third information.
In one possible implementation manner, the generating module is specifically configured to: setting a corresponding random blind key for each piece of information to be verified, and obtaining the first information based on the random blind key corresponding to each piece of information to be verified and elliptic curve points corresponding to each piece of information to be verified; the elliptic curve points corresponding to the information to be verified are obtained by negotiating a node to be verified with the verification node in advance; further, for any information to be verified, generating second information corresponding to the information to be verified according to the information to be verified, the random blind key corresponding to the information to be verified and the first information, and constructing and obtaining the data to be verified according to the first information and the second information corresponding to each piece of information to be verified.
In one possible implementation, the first information satisfies the following form: z is Z 1 =Hash(a 1 *G 1 +a 2 *G 2 +……a n *G n ) The method comprises the steps of carrying out a first treatment on the surface of the Wherein Z is 1 For the first information, a 1 、a 2 ……、a n Respectively random blind keys corresponding to n pieces of information to be verified, G 1 、G 2 ……、G n Respectively corresponding elliptic curve points of n pieces of information to be verified, wherein n is an integer greater than or equal to 2.
In one possible implementation manner, the second information corresponding to any information to be verified satisfies the following form: z is Z 2i =a i -Z 1 *r i The method comprises the steps of carrying out a first treatment on the surface of the Wherein Z is 2i A is the second information corresponding to the ith information to be verified, a i R is a random blind key corresponding to the ith information to be verified i I is an integer greater than 0 and less than n, and is the i-th information to be verified.
In a fourth aspect, an embodiment of the present invention provides a blockchain system-based verification device, where the device includes:
the receiving and transmitting module is used for receiving the data to be verified sent by the node to be verified; the data to be verified is obtained by encrypting at least two pieces of information to be verified by the node to be verified through an elliptic curve encryption algorithm, and the data to be verified comprises first information and at least two pieces of second information; the at least two pieces of second information are in one-to-one correspondence with the at least two pieces of information to be verified;
the processing module is used for calculating third information by using a decryption algorithm corresponding to the elliptic curve encryption algorithm according to the first information and the at least two pieces of second information in the data to be verified;
and the verification module is used for determining whether the data to be verified passes verification according to the third information and the first information.
In one possible implementation manner, the processing module is specifically configured to: obtaining elliptic curve points and verification points corresponding to each piece of information to be verified; the elliptic curve points and the verification points corresponding to the information to be verified are obtained by negotiating the nodes to be verified and the verification nodes in advance; further, the third information is obtained according to the first information, the second information corresponding to each piece of information to be verified, the elliptic curve point corresponding to each piece of information to be verified and the verification point.
In one possible implementation, the third information satisfies the following form: z is Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 * Y); wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 And Y is a verification point for the first information.
In a fifth aspect, an embodiment of the present invention provides a computing device, including at least one processor and at least one memory, where the memory stores a computer program that, when executed by the processor, causes the processor to perform the blockchain system-based verification method of any of the first or second aspects.
In a sixth aspect, an embodiment of the present invention provides a computer readable storage medium storing a computer program executable by a computing device, where the program, when executed on the computing device, causes the computing device to perform the blockchain system-based verification method of any of the first or second aspects.
These and other aspects of the invention will be more readily apparent from the following description of the embodiments.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the description of the embodiments will be briefly described below, it will be apparent that the drawings in the following description are only some embodiments of the present invention, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block chain system architecture diagram according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart of a verification method based on a blockchain system according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a block chain system-based verification device according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a block chain system based authentication device according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a computing device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail below with reference to the accompanying drawings, and it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The technical field of financial science (Fintech) generally relates to various transactions, for example, a transaction of a bank may include a card selling transaction, a deposit transaction, a loan transaction, an insurance transaction, a financial transaction, etc., and the daily transaction amount of the bank may reach thousands or even tens of thousands. With the development of blockchain technology, the financial science and technology field can also use blockchain technology to process transactions, for example, if related transactions are related among a plurality of banks, related transactions can be synchronously processed by setting a alliance chain, or courts, clients and the like can be simultaneously and uplink to jointly maintain the security and stability of the alliance chain.
The blockchain system may be a point-To-point (P2P) network consisting of a plurality of nodes. P2P is an application layer protocol running on top of the transmission control protocol (Transmission Control Protocol, TCP), nodes in a blockchain system may peer to each other, there is no central node in the system, and each node may therefore randomly connect to other nodes. In the blockchain system, a preset database can be arranged in each node, each node maintains a public account book in the blockchain system through the preset database, and the preset database in the node can store the block data in the blockchain system; the block data comprises a block header and a block body, the block header comprises information such as a hash value of the previous block, a hash value of the current block, a block height of the current block, a time stamp and the like, and the block body comprises transaction data, such as transaction data generated by processing a transaction to be processed in the process of carrying out consensus on the block by a node in a block chain system.
Fig. 1 is a schematic diagram of a block chain system according to an embodiment of the present invention, where, as shown in fig. 1, the block chain system may include one or more nodes, such as a node 101, a node 102, a node 103, and a node 104, and any two of the nodes 101 to 104 may be communicatively connected, so as to jointly maintain the block chain system. Any two nodes may be connected by a wired manner or may also be connected by a wireless manner, which is not particularly limited.
In the embodiment of the invention, the nodes in the blockchain system can have various functions, such as a routing function, a transaction function, a blockchain function, a consensus function and the like. Specifically, the nodes in the blockchain system can transmit the transaction data and other information transmitted by other nodes to more nodes so as to realize the communication between the nodes; alternatively, nodes in the blockchain system may be used to support transactions by users; alternatively, nodes in the blockchain system may be used to record all transactions historically; alternatively, nodes in the blockchain system may generate new blocks in the blockchain by validating and recording transactions. In practice, the routing function is a function that each node in the blockchain system must have, and other functions can be set by those skilled in the art according to actual needs.
It should be noted that a node in the blockchain system may be on a physical machine (server), and a node may specifically refer to a process or a series of processes running in the server. For example, node 101 in the blockchain network may be a process running on a server, or may refer to a server, which is not limited in particular.
As shown in fig. 1, a client 200 may also be included in the system architecture, where the client 200 may connect with any node in the blockchain system through an access blockchain network. In particular implementations, the client 200 may send a transaction to any node in the blockchain system, and a node in the blockchain system may synchronize the transaction to other nodes in the blockchain system after receiving the transaction. After synchronous transaction, the node can store the transaction in a transaction pool inside the node; accordingly, other nodes may also store transactions in a transaction pool internal to the other nodes after receiving the node synchronized transactions. Thus, if a certain node determines to process a plurality of transactions, the plurality of transactions can be obtained from the internal transaction pool, and further subsequent transaction processing and block consensus can be performed.
Wherein the transactions may be stored in a transaction pool in a stack; thus, if a certain node determines to process a plurality of transactions, the earliest stacked plurality of transactions can be obtained from the internal transaction pool to carry out subsequent processing and consensus process.
Based on the system architecture illustrated in fig. 1, fig. 2 is a flow chart corresponding to a data processing method based on a blockchain system according to an embodiment of the present invention, where the method is applied to any node in the blockchain system, such as node 101, node 102, node 103 or node 104, and the method includes:
Step 201, the node to be verified generates at least two pieces of data to be verified corresponding to the information to be verified based on elliptic curve cryptography.
The data to be verified comprises first information and at least two pieces of second information, and the at least two pieces of second information are respectively in one-to-one correspondence with the at least two pieces of information to be verified.
In the verification field of the block chain system, a node to be verified and a verification node can negotiate a verification format in advance, wherein the verification format is a format which needs to be met by at least two pieces of information to be verified; if the node to be verified wants to prove that at least two pieces of information to be verified exist in the node to be verified to the verification node, the node to be verified can prove that the at least two pieces of information to be verified do exist in the node to be verified only by proving that the at least two pieces of information to be verified in the node to be verified to the verification node meet the verification format.
The verification format may be set empirically by those skilled in the art, and is not particularly limited.
In the embodiment of the invention, the verification format may be determined based on an elliptic curve encryption algorithm, for example, may be a continuous addition form of elliptic curve discrete logarithms of at least two pieces of information to be verified, or may also be a continuous multiplication form of elliptic curve discrete logarithms of at least two pieces of information to be verified, or may also be a mixed form of continuous addition and continuous multiplication of elliptic curve discrete logarithms of at least two pieces of information to be verified, and is not limited.
Taking the continuous addition form of the elliptic curve discrete logarithm of at least two pieces of information to be verified as an example, the nodes to be verified and the verification node can negotiate in advance to set an elliptic curve, and in order to ensure the security of verification, the elliptic curve can be set to be a large prime number (namely, greater than 2 256 ) Is an elliptic curve of (a); correspondingly, the node to be verified and the verification node can also select elliptic curve points corresponding to each piece of information to be verified from the set elliptic curve in advance, and select verification points from the set elliptic curve.
In one example, the validation format may be satisfied as follows:
Y=r 1 *G 1 +r 2 *G 2 +……+r n *G n
wherein r is 1 、r 2 、……、r n N pieces of information to be verified, n is an integer greater than or equal to 2, Y is a verification point on an elliptic curve with the order of large prime number q, G 1 、G 2 、……、G n For the information r to be verified 1 、r 2 、……、r n Respectively corresponding elliptic curve points.
In the embodiment of the invention, in order to ensure the consistency of verification of each node, each elliptic curve point (namely G 1 、G 2 、……、G n ) The verification point Y can be determined by each node negotiation in the block chain system in advance, so that each node to be verified can encrypt the respective information to be verified by using the same elliptic curve to obtain data to be verified, and the verification node can verify the data to be verified of each node to be verified by using the same verification method, thereby ensuring the verification consistency of each node to be verified and improving the verification accuracy.
For example, if the node 1 needs to verify the node 2 and the node 3 simultaneously, the node 1 can obtain the data to be verified sent by the node 2 and the data to be verified sent by the node 3 respectively, and based on the same elliptic curve point G 1 、G 2 、……、G n Verifying the data to be verified sent by the node 2 and the data to be verified of the node 3 with the elliptic curve point Y; if both the node 2 and the node 3 pass the verification, the node 1 can determine that the information to be verified, which is stated by the node 2, exists in the node 2, and the information to be verified, which is stated by the node 3, exists in the node 3, so that the node 1 can execute subsequent operations based on the verification results of the node 2 and the node 3, such as obtaining the sum, the difference, the product and the like of the information to be verified in the node 2 and the information to be verified of the node 3 based on the data to be verified of the node 2 and the data to be verified of the node 3; if the verification of the node 2 is not passed, the node 1 can determine that the information to be verified, which is said by the node 2, does not exist in the node 2, and the node 2 has the behavior of forging information.
In the embodiment of the present invention, the elliptic curve encryption algorithm is obtained by calculating discrete logarithms of elliptic curves, so that the elliptic curve encryption algorithm is called an elliptic curve encryption algorithm, which can be set by a person skilled in the art according to experience, and is not particularly limited.
In one possible implementation, the node to be verified may be configured to obtain the data to be verified by:
step one, a node to be verified sets a corresponding random blind key for each piece of information to be verified; the random blind key corresponding to each piece of information to be verified can be an integer with a larger value and is smaller than the order of setting the elliptic curve.
And step two, the node to be verified obtains first information based on the random blind key corresponding to each piece of information to be verified and the elliptic curve point corresponding to each piece of information to be verified.
And thirdly, aiming at any information to be verified, the node to be verified generates second information corresponding to the information to be verified according to the information to be verified, the random blind key corresponding to the information to be verified and the first information.
And step four, the node to be verified constructs data to be verified corresponding to each piece of information to be verified according to the first information and the second information corresponding to each piece of information to be verified.
It should be noted that, each operator in the above steps needs to modulo the order q of the elliptic curve, and for convenience of description, the embodiment of the present invention does not describe the operation of modulo the order q of the elliptic curve.
In one example, the first information may satisfy the form:
Z 1 =Hash(a 1 *G1+a 2 *G2+……a n *G n )
Wherein Z is 1 A is the first information, a 1 、a 2 ……、a n Respectively the information r to be verified 1 、r 2 、……、r n A corresponding random blind key.
Accordingly, the second information corresponding to any one of the information to be verified may satisfy the following form:
Z 2i =a i -Z 1 *r i
wherein Z is 2i R is second information corresponding to the ith information to be verified i I is an integer greater than 0 and less than n, and is the i-th information to be verified.
In the example, the hash algorithm is used for encrypting the discrete logarithm connected value obtained by constructing each random blind key, so that the verification node cannot decrypt and obtain the random blind key corresponding to each piece of information to be verified based on the first information, non-interactive verification can be realized between the node to be verified and the verification node, and the security of each piece of information to be verified is ensured.
For easy understanding, the first information r to be verified is as follows 1 And second information r to be verified 2 For example, a specific implementation process of obtaining to-be-verified data corresponding to two to-be-verified information is described.
In specific implementation, the node to be verified can randomly select an integer a with larger value from integers smaller than q 1 And integer a 2 Will be an integer a 1 As first information r to be verified 1 Corresponding random blind key and will be integer a 2 As the second information r to be verified 2 Corresponding random blind key, then based on the first information r to be verified 1 Corresponding random blind key a 1 First information r to be verified 1 Corresponding elliptic curve point G 1 Second information r to be verified 2 Corresponding random blind key a 2 And second information r to be verified 2 Corresponding elliptic curve point G 2 Constructing to obtain first information Z 1
Z 1 =Hash(a 1 *G1+a 2 *G2)
Further, for the first information r to be verified 1 The node to be verified can be according to the first information r to be verified 1 First information r to be verified 1 Corresponding random blind key a 1 And first information Z 1 Generating first information r to be verified 1 Corresponding second information Z 21
Z 21 =a 1 -Z 1 *r 1
Accordingly, for the second information r to be verified 2 The node to be verified can be verified according to the second information r to be verified 2 Second information r to be verified 2 Corresponding random blind key a 2 And first information Z 1 Generating second information r to be verified 2 Corresponding second information Z 22
Z 22 =a 2 -Z 1 *r 2
In this way, the node to be verified can be based on the first information Z 1 First information r to be verified 1 Corresponding second information Z 21 And second information r to be verified 2 Corresponding second information Z 22 Constructing to-be-verified data, for example, the node to be verified can send the first information Z 1 First information r to be verified 1 Corresponding second information Z 21 And second information r to be verified 2 Corresponding second information Z 22 The vector obtained by splicing is used as data to be verified, or the first information Z can also be used 1 First information r to be verified 1 Corresponding second information Z 21 And second information r to be verified 2 Corresponding second information Z 22 The built array is used as the data to be verified, and the array can be an array [ Z ] of three rows and one column 1 ,Z 21 ,Z 22 ] T Or can be an array [ Z ] of three columns and one row 1 ,Z 21 ,Z 22 ]And is not limited thereto.
It should be noted that the foregoing is merely an exemplary simple description and is not meant to limit the present solution, and in a specific implementation, the node to be verified may also obtain the first information and the second information according to other manners, for example, may also set the first information as Z 1 =K 1 Hash(a 1 *G1+a 2 *G2+……a n *G n ) Or set the first information as Z 1 =K 1 (a 1 *G1+a 2 *G2+……a n *G n ) Correspondingly, the second information can also be set as Z 2i =K 2 a i -Z 1 *r i Or set the second information as Z 2i =a i -K 2 Z 1 *r i ,K 1 、K 2 Is normalA number.
Step 202, the node to be verified sends to the verification node the data to be verified corresponding to at least two pieces of information to be verified.
In a specific implementation, the node to be verified can broadcast data to be verified to each node in the blockchain system, and for each node in the blockchain system, after the node receives the data to be verified, the node determines whether the node is a verification node corresponding to the node to be verified, if so, the data to be verified can be obtained, and if not, the node does not need to be processed.
Step 203, after receiving the data to be verified, the verification node calculates third information by using a decryption algorithm corresponding to an elliptic curve encryption algorithm according to the first information and at least two second information in the data to be verified.
The decryption algorithm corresponding to the elliptic curve encryption algorithm can be realized based on an inverse solution process of the elliptic curve encryption algorithm, and the decryption algorithm corresponding to the elliptic curve encryption algorithm can be set by a person skilled in the art according to experience, so long as the third information calculated by using the algorithm is consistent with the first information sent by the node to be verified.
In one example, by setting a decryption algorithm corresponding to the elliptic curve cryptography algorithm, the third information may be obtained by the following formula:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively the information r to be verified 1 、r 2 、……、r n Corresponding second information G 1 、G 2 、……、G n Respectively the information r to be verified 1 、r 2 、……、r n Corresponding elliptic curve point, Z 1 And Y is a verification point for the first information.
For ease of understanding, a verification process is given below in which the third information is identical to the first information:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
=Hash((a 1 -Z 1 *r 1 )*G 1 +(a 2 -Z 1 *r 2 )*G 2 +……+(a n -Z 1 *r n )*G n +Z 1 *(r 1 *G 1 +r 2 *G 2 +……+r n *G n ))
=Hash(a 1 *G 1 -Z 1 *r 1 *G 1 +a 2 *G 2 -Z 1 *r 2 *G 2 +……+a n *G n -Z 1 *r n *G n +Z 1 *r 1 *G 1 +Z 1 *r 2 *G 2 +……+Z 1 *r n *G n )
=Hash(a 1 *G 1 +a 2 *G 2 +……+a n *G n )=Z 1
obviously, the decryption algorithm corresponding to the elliptic curve encryption algorithm set in the above example may use the first information encrypted by the elliptic curve encryption algorithm and each second information to obtain third information consistent with the first information, so that the decryption algorithm has a corresponding relationship with the elliptic curve encryption algorithm, and the accuracy of the verification process can be ensured.
In a specific implementation, if the verification node receives to-be-verified data sent by the to-be-verified node, each piece of information pre-negotiated with the to-be-verified node, such as an elliptic curve point and a verification point corresponding to each piece of to-be-verified information, may be obtained first, and then each piece of pre-negotiated information, first information and each piece of second information in the to-be-verified data are calculated according to the formula in the above example, so as to obtain third information.
Step 204, the verification node determines whether the third information is the same as the first information, if so, step 205 is performed, and if not, step 206 is performed.
Step 205, the verification node determines that the data to be verified passes verification, and the at least two pieces of information to be verified are confirmed to exist in the node to be verified.
Step 206, the verification node determines that the data to be verified passes verification, and the at least two pieces of information to be verified do not exist in the node to be verified.
In a specific implementation, after the third information is calculated by the verification node, the third information and the first information can be compared, if the third information is the same as the first information, the data to be verified passes verification, that is, the at least two pieces of information to be verified actually exist in the node to be verified, and if the third information is different from the first information, the data to be verified does not pass verification, that is, the at least two pieces of information to be verified do not exist in the node to be verified, and the node to be verified is counterfeited.
In one example, if the verification node determines that the node to be verified is faked, the node to be verified can also be alarmed, for example, alarm information is generated according to the identification of the node to be verified, the comparison result of the third information and the first information, and the alarm information is pushed to a manager of the blockchain system through nailing, micro-messaging, qq, mailbox, short message and the like, so that the manager can maintain the safety of the blockchain system conveniently.
In the above embodiment of the present invention, a node to be verified in a blockchain system generates at least two pieces of data to be verified corresponding to information to be verified based on an elliptic curve encryption algorithm, and sends the data to be verified to a verification node, and after the verification node receives the data to be verified sent by the node to be verified, the verification node calculates to obtain third information according to the first information and the at least two pieces of second information in the data to be verified by using a decryption algorithm corresponding to the elliptic curve encryption algorithm, and determines whether the data to be verified passes verification according to the third information and the first information. In the embodiment of the invention, the data to be verified is obtained by using the elliptic curve encryption algorithm, and the security equivalent to or higher than that of the RSA encryption algorithm can be realized by using a shorter key, so that the verification accuracy can be improved on the basis of reducing the verification difficulty; in addition, the data to be verified in the scheme is generated by two or more pieces of information to be verified, so that the verification node can verify the two or more pieces of information to be verified in the node to be verified through one verification process without verifying each piece of information to be verified, unnecessary operation steps can be saved, and verification efficiency is improved.
For the above method flow, the embodiment of the invention also provides a verification device based on the blockchain system, and the specific content of the device can be implemented by referring to the above method.
Fig. 3 is a schematic structural diagram of a verification device based on a blockchain system according to an embodiment of the present invention, including:
the generating module 301 is configured to generate to-be-verified data corresponding to at least two to-be-verified information based on an elliptic curve encryption algorithm; the data to be verified comprises first information and at least two pieces of second information, the at least two pieces of second information are respectively corresponding to the at least two pieces of information to be verified one by one, and the at least two pieces of second information are used for determining third information by a verification node;
and the transceiver module 302 is configured to send the data to be verified to the verification node, so that the verification node determines a verification result of the data to be verified according to the first information and the third information.
Optionally, the generating module 301 is specifically configured to:
setting a corresponding random blind key for each piece of information to be verified;
obtaining the first information based on random blind keys corresponding to each piece of information to be verified and elliptic curve points corresponding to each piece of information to be verified; the elliptic curve points corresponding to the information to be verified are obtained by negotiating a node to be verified with the verification node in advance;
For any information to be verified, generating second information corresponding to the information to be verified according to the information to be verified, a random blind key corresponding to the information to be verified and the first information;
and constructing and obtaining the data to be verified according to the first information and the second information corresponding to each piece of information to be verified.
Optionally, the first information satisfies the following form:
Z 1 =Hash(a 1 *G 1 +a 2 *G 2 +……a n *G n )
wherein Z is 1 For the first information, a 1 、a 2 ……、a n Respectively random blind keys corresponding to n pieces of information to be verified, G 1 、G 2 ……、G n Respectively corresponding elliptic curve points of n pieces of information to be verified, wherein n is an integer greater than or equal to 2.
Optionally, the second information corresponding to any information to be verified satisfies the following form:
Z 2i =a i -Z 1 *r i
wherein Z is 2i A is the second information corresponding to the ith information to be verified, a i R is a random blind key corresponding to the ith information to be verified i I is an integer greater than 0 and less than n, and is the i-th information to be verified.
Fig. 4 is a schematic structural diagram of a verification device based on a blockchain system according to an embodiment of the present invention, including:
a transceiver module 401, configured to receive data to be verified sent by a node to be verified; the data to be verified is obtained by encrypting at least two pieces of information to be verified by the node to be verified through an elliptic curve encryption algorithm, and the data to be verified comprises first information and at least two pieces of second information; the at least two pieces of second information are in one-to-one correspondence with the at least two pieces of information to be verified;
A processing module 402, configured to calculate, according to the first information and the at least two second information in the data to be verified, third information by using a decryption algorithm corresponding to the elliptic curve encryption algorithm;
and the verification module 403 is configured to determine whether the data to be verified passes verification according to the third information and the first information.
Optionally, the processing module 402 is specifically configured to:
obtaining elliptic curve points and verification points corresponding to each piece of information to be verified; the elliptic curve points and the verification points corresponding to the information to be verified are obtained by negotiating the nodes to be verified and the verification nodes in advance;
and obtaining the third information according to the first information, the second information corresponding to each piece of information to be verified, the elliptic curve point corresponding to each piece of information to be verified and the verification point.
Optionally, the third information satisfies the following form:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 And Y is a verification point for the first information.
From the above, it can be seen that: in the above embodiment of the present invention, a node to be verified in a blockchain system generates at least two pieces of data to be verified corresponding to information to be verified based on an elliptic curve encryption algorithm, and sends the data to be verified to a verification node, and after the verification node receives the data to be verified sent by the node to be verified, the verification node calculates to obtain third information according to the first information and the at least two pieces of second information in the data to be verified by using a decryption algorithm corresponding to the elliptic curve encryption algorithm, and determines whether the data to be verified passes verification according to the third information and the first information. In the embodiment of the invention, the data to be verified is obtained by using the elliptic curve encryption algorithm, and the security equivalent to or higher than that of the RSA encryption algorithm can be realized by using a shorter key, so that the verification accuracy can be improved on the basis of reducing the verification difficulty; in addition, the data to be verified in the scheme is generated by two or more pieces of information to be verified, so that the verification node can verify the two or more pieces of information to be verified in the node to be verified through one verification process without verifying each piece of information to be verified, unnecessary operation steps can be saved, and verification efficiency is improved.
Based on the same inventive concept, an embodiment of the present invention further provides a computing device, as shown in fig. 5, including at least one processor 501 and a memory 502 connected to the at least one processor, where in the embodiment of the present invention, a specific connection medium between the processor 501 and the memory 502 is not limited, and in fig. 5, the processor 501 and the memory 502 are connected by a bus, for example. The buses may be divided into address buses, data buses, control buses, etc.
In an embodiment of the present invention, the memory 502 stores instructions executable by the at least one processor 501, and the at least one processor 501 may perform the steps included in the blockchain-based system verification method described above by executing the instructions stored in the memory 502.
Where the processor 501 is a control center of a computing device, various interfaces and lines may be utilized to connect various portions of the computing device, and to implement data processing by executing or executing instructions stored in the memory 502 and invoking data stored in the memory 502. Alternatively, the processor 501 may include one or more processing units, and the processor 501 may integrate an application processor and a modem processor, where the application processor primarily processes an operating system, a user interface, an application program, and the like, and the modem processor primarily processes instructions issued by an operator. It will be appreciated that the modem processor described above may not be integrated into the processor 501. In some embodiments, processor 501 and memory 502 may be implemented on the same chip, or they may be implemented separately on separate chips in some embodiments.
The processor 501 may be a general purpose processor such as a Central Processing Unit (CPU), digital signal processor, application specific integrated circuit (Application Specific Integrated Circuit, ASIC), field programmable gate array or other programmable logic device, discrete gate or transistor logic, discrete hardware components, and may implement or perform the methods, steps, and logic blocks disclosed in embodiments of the present invention. The general purpose processor may be a microprocessor or any conventional processor or the like. The steps of a method disclosed in connection with a blockchain-based system verification embodiment may be embodied directly in hardware processor execution or in a combination of hardware and software modules in a processor.
The memory 502, as a non-volatile computer readable storage medium, may be used to store non-volatile software programs, non-volatile computer executable programs, and modules. The Memory 502 may include at least one type of storage medium, and may include, for example, flash Memory, hard disk, multimedia card, card Memory, random access Memory (Random Access Memory, RAM), static random access Memory (Static Random Access Memory, SRAM), programmable Read-Only Memory (Programmable Read Only Memory, PROM), read-Only Memory (ROM), charged erasable programmable Read-Only Memory (Electrically Erasable Programmable Read-Only Memory), magnetic Memory, magnetic disk, optical disk, and the like. Memory 502 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory 502 in embodiments of the present invention may also be circuitry or any other device capable of performing storage functions for storing program instructions and/or data.
Based on the same inventive concept, embodiments of the present invention also provide a computer-readable storage medium storing a computer program executable by a computing device, which when run on the computing device, causes the computing device to perform any of the blockchain system-based verification methods described in fig. 2.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, or as a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (6)

1. A blockchain system-based authentication method, the method comprising:
the node to be verified in the blockchain system sets a corresponding random blind key for each piece of information to be verified in at least two pieces of information to be verified, and calculates first information according to the random blind key corresponding to the at least two pieces of information to be verified and elliptic curve points corresponding to the at least two pieces of information to be verified, wherein the first information is calculated according to the following formula:
Z 1 =Hash(a 1 *G 1 +a 2 *G 2 +……a n *G n )
wherein Z is 1 For the first information, a 1 、a 2 ……、a n Respectively random blind keys corresponding to n pieces of information to be verified, G 1 、G 2 ……、G n Respectively obtaining n elliptic curve points corresponding to the information to be verified, wherein the n elliptic curve points corresponding to the information to be verified are obtained by pre-negotiating the node to be verified and the verification node, and n is an integer greater than or equal to 2;
the node to be verified calculates second information corresponding to the information to be verified according to the information to be verified, a random blind key corresponding to the information to be verified and the first information according to the following formula for each piece of information to be verified in the at least two pieces of information to be verified:
Z 2i =a i -Z 1 *r i
Wherein Z is 2i A is the second information corresponding to the ith information to be verified, a i R is a random blind key corresponding to the ith information to be verified i I is the i-th information to be verified, i is an integer greater than 0 and less than n;
the node to be verified uses the first information and at least two pieces of second information corresponding to the at least two pieces of information to be verified as data to be verified, and sends the data to be verified to the verification node, so that the verification node performs the following operations:
receiving data to be verified sent by the node to be verified;
obtaining elliptic curve points and verification points corresponding to each piece of information to be verified; the verification point is obtained by negotiating the node to be verified and the verification node in advance;
according to the first information, the second information corresponding to each piece of information to be verified, the elliptic curve point corresponding to each piece of information to be verified and the verification point, calculating to obtain third information according to the following formula:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 Y is a verification point;
comparing the third information with the first information, if the third information is the same as the first information, determining that the data to be verified passes verification, and if the third information is different from the first information, determining that the data to be verified does not pass verification.
2. A blockchain system-based authentication method, the method comprising:
the verification node receives to-be-verified data sent by the to-be-verified node according to a block chain system-based verification method in claim 1; the data to be verified comprises first information and at least two pieces of second information, and the at least two pieces of second information correspond to the at least two pieces of information to be verified one by one;
the verification node acquires elliptic curve points and verification points corresponding to the information to be verified; the elliptic curve points and the verification points corresponding to the information to be verified are obtained by pre-negotiating the nodes to be verified and the verification nodes;
the verification node calculates third information according to the first information, second information corresponding to each piece of information to be verified, elliptic curve points corresponding to each piece of information to be verified and verification points according to the following formula:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 Y is a verification point;
the verification node compares the third information with the first information, if the third information is the same as the first information, the data to be verified is determined to pass verification, and if the third information is different from the first information, the data to be verified is determined to not pass verification.
3. A blockchain system-based authentication device, the device comprising:
the generation module is used for setting a corresponding random blind key for each piece of information to be verified in at least two pieces of information to be verified, and calculating to obtain first information according to the following formula according to the random blind keys corresponding to the at least two pieces of information to be verified and elliptic curve points corresponding to the at least two pieces of information to be verified:
Z 1 =Hash(a 1 *G 1 +a 2 *G 2 +……a n *G n )
wherein Z is 1 For the first information, a 1 、a 2 ……、a n Respectively random blind keys corresponding to n pieces of information to be verified, G 1 、G 2 ……、G n Respectively corresponding elliptic curve points of n pieces of information to be verified, wherein the n pieces of elliptic curve points correspond to the information to be verifiedThe round curve points are obtained by pre-negotiating a node to be verified and the verification node, and n is an integer greater than or equal to 2;
and for each piece of information to be verified in the at least two pieces of information to be verified, according to the information to be verified, the random blind key corresponding to the information to be verified and the first information, calculating to obtain second information corresponding to the information to be verified according to the following formula:
Z 2i =a i -Z 1 *r i
wherein Z is 2i A is the second information corresponding to the ith information to be verified, a i R is a random blind key corresponding to the ith information to be verified i I is the i-th information to be verified, i is an integer greater than 0 and less than n;
and the at least two second information corresponding to the first information and the at least two information to be verified are used as data to be verified;
the receiving and transmitting module is used for transmitting the data to be verified to the verification node so that the verification node can execute the following operations:
receiving data to be verified sent by the node to be verified;
obtaining elliptic curve points and verification points corresponding to each piece of information to be verified; the verification point is obtained by negotiating the node to be verified and the verification node in advance;
according to the first information, the second information corresponding to each piece of information to be verified, the elliptic curve point corresponding to each piece of information to be verified and the verification point, calculating to obtain third information according to the following formula:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 Y is the verification point;
Comparing the third information with the first information, if the third information is the same as the first information, determining that the data to be verified passes verification, and if the third information is different from the first information, determining that the data to be verified does not pass verification.
4. A blockchain system-based authentication device, the device comprising:
the receiving and transmitting module is used for receiving to-be-verified data sent by the node to be verified in the following mode:
the node to be verified sets a corresponding random blind key for each piece of information to be verified in at least two pieces of information to be verified, and calculates first information according to the random blind keys corresponding to the at least two pieces of information to be verified and elliptic curve points corresponding to the at least two pieces of information to be verified, and the first information is calculated according to the following formula:
Z 1 =Hash(a 1 *G 1 +a 2 *G 2 +……a n *G n )
wherein Z is 1 For the first information, a 1 、a 2 ……、a n Respectively random blind keys corresponding to n pieces of information to be verified, G 1 、G 2 ……、G n Respectively obtaining n elliptic curve points corresponding to the information to be verified, wherein the n elliptic curve points corresponding to the information to be verified are obtained by negotiating a node to be verified with a verification device based on a blockchain system in advance, and n is an integer greater than or equal to 2;
the node to be verified is used for generating second information corresponding to the information to be verified according to the information to be verified, a random blind key corresponding to the information to be verified and the first information by aiming at each piece of information to be verified in the at least two pieces of information to be verified, and the second information corresponding to the information to be verified is calculated according to the following formula:
Z 2i =a i -Z 1 *r i
Wherein Z is 2i A is the second information corresponding to the ith information to be verified, a i For the ith information pair to be verifiedRandom blind key, r i I is the i-th information to be verified, i is an integer greater than 0 and less than n;
the node to be verified takes the first information and at least two pieces of second information corresponding to the at least two pieces of information to be verified as data to be verified, and sends the data to be verified to the verification device based on the blockchain system;
the processing module is used for acquiring elliptic curve points and verification points corresponding to the information to be verified; elliptic curve points and verification points corresponding to the information to be verified are obtained by negotiating the nodes to be verified with a verification device based on a block chain system in advance; and calculating third information according to the first information, the second information corresponding to each piece of information to be verified, the elliptic curve point corresponding to each piece of information to be verified and the verification point according to the following formula:
Z 3 =Hash(Z 21 *G 1 +Z 22 *G 2 +……+Z 2n *G n +Z 1 *Y)
wherein Z is 3 Z is the third information 21 、Z 22 、……、Z 2n Respectively corresponding to n pieces of second information G 1 、G 2 、……、G n Respectively are elliptic curve points corresponding to n pieces of information to be verified, Z 1 Y is a verification point;
and the verification module is used for comparing the third information with the first information, if the third information is the same as the first information, determining that the data to be verified passes verification, and if the third information is different from the first information, determining that the data to be verified does not pass verification.
5. A computing device comprising at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the method of claim 1 or 2.
6. A computer readable storage medium, characterized in that it stores a computer program executable by a computing device, which when run on the computing device, causes the computing device to perform the method of claim 1 or 2.
CN201911235411.8A 2019-12-05 2019-12-05 Verification method and device based on blockchain system Active CN111080296B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911235411.8A CN111080296B (en) 2019-12-05 2019-12-05 Verification method and device based on blockchain system
PCT/CN2020/120923 WO2021109718A1 (en) 2019-12-05 2020-10-14 Verification method and apparatus based on block chain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911235411.8A CN111080296B (en) 2019-12-05 2019-12-05 Verification method and device based on blockchain system

Publications (2)

Publication Number Publication Date
CN111080296A CN111080296A (en) 2020-04-28
CN111080296B true CN111080296B (en) 2023-12-01

Family

ID=70313139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911235411.8A Active CN111080296B (en) 2019-12-05 2019-12-05 Verification method and device based on blockchain system

Country Status (2)

Country Link
CN (1) CN111080296B (en)
WO (1) WO2021109718A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111080296B (en) * 2019-12-05 2023-12-01 深圳前海微众银行股份有限公司 Verification method and device based on blockchain system
CN113656842B (en) * 2021-08-10 2024-02-02 支付宝(杭州)信息技术有限公司 Data verification method, device and equipment
CN113904869B (en) * 2021-11-10 2024-04-19 深圳前海微众银行股份有限公司 Method for detecting malicious nodes in blockchain and blockchain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10116443B1 (en) * 2018-02-02 2018-10-30 ISARA Corporation Pairing verification in supersingular isogeny-based cryptographic protocols
CN109361508A (en) * 2018-10-11 2019-02-19 深圳市捷恩斯威科技有限公司 Data transmission method, electronic equipment and computer readable storage medium
CN110188550A (en) * 2019-05-17 2019-08-30 深圳前海微众银行股份有限公司 A kind of data verification method and device of block chain
CN110336673A (en) * 2019-06-03 2019-10-15 江苏科技大学 A kind of block chain design method based on secret protection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106251144A (en) * 2015-06-05 2016-12-21 地气股份有限公司 Electronic money management method and electronic money node apparatus
CN107196900B (en) * 2017-03-24 2020-04-24 创新先进技术有限公司 Consensus checking method and device
CN108737106B (en) * 2018-05-09 2021-06-01 深圳壹账通智能科技有限公司 User authentication method and device on block chain system, terminal equipment and storage medium
CN110059494B (en) * 2019-04-17 2020-11-03 深圳启元信息服务有限公司 Privacy protection method for block chain transaction data and block chain system
CN110222538B (en) * 2019-06-17 2020-09-08 北京瑞策科技有限公司 Verification method and device related to block chain
CN111080296B (en) * 2019-12-05 2023-12-01 深圳前海微众银行股份有限公司 Verification method and device based on blockchain system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10116443B1 (en) * 2018-02-02 2018-10-30 ISARA Corporation Pairing verification in supersingular isogeny-based cryptographic protocols
CN109361508A (en) * 2018-10-11 2019-02-19 深圳市捷恩斯威科技有限公司 Data transmission method, electronic equipment and computer readable storage medium
CN110188550A (en) * 2019-05-17 2019-08-30 深圳前海微众银行股份有限公司 A kind of data verification method and device of block chain
CN110336673A (en) * 2019-06-03 2019-10-15 江苏科技大学 A kind of block chain design method based on secret protection

Also Published As

Publication number Publication date
CN111080296A (en) 2020-04-28
WO2021109718A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
US11842317B2 (en) Blockchain-based authentication and authorization
EP3850786B1 (en) System and method for secure multi-party computation based blockchain transactions
EP3859647A1 (en) Blockchain transaction generation method and device
CN111080296B (en) Verification method and device based on blockchain system
CN111066285A (en) Method for recovering public key based on SM2 signature
US9882890B2 (en) Reissue of cryptographic credentials
US9705683B2 (en) Verifiable implicit certificates
US20200213125A1 (en) Computer-implemented system and method enabling secure storage of a large blockchain over a plurality of storage nodes
CN110336779B (en) Block chain construction method and device and electronic equipment
CN113326525B (en) Data processing method and device based on intelligent contract
CN111325535A (en) Block chain private key management method, system and storage medium based on elliptic curve migration
JP5264450B2 (en) Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program
CN110716724B (en) Method and device for realizing privacy block chain based on FPGA
CN113988831A (en) Transfer method based on alliance chain
CN111404685B (en) Attribute-based signature method and system
CN113242219A (en) Data transmission method, block chain network and storage medium
CN111769945B (en) Auction processing method based on block chain and block chain link point
CN116996229A (en) Digital certificate generation method and related device
WO2023070831A1 (en) Block confirmation method and device
KR20240045231A (en) Creation of digitally signed shares
CN111523892B (en) Block chain cross-chain transaction method and device
US20220303122A1 (en) System and method of cryptographic key management in a plurality of blockchain based computer networks
CN112837064A (en) Signature method, signature verification method and device of alliance chain
CN111784338A (en) Information processing method, device, system and storage medium
CN112784314B (en) Data integrity detection method and device, electronic equipment and storage medium

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