A method and system for verifying data, a data providing end and a data verifying end

By employing key processing mechanisms at both the data provider and verification ends, and utilizing multiple primary keys and unintentional transmission protocols, the problem of business relationship leakage during transactions is resolved, thereby enhancing transaction security.

CN114429347BActive Publication Date: 2026-05-01XIAMEN HEYUE INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XIAMEN HEYUE INFORMATION TECH CO LTD
Filing Date
2020-10-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

During electronic transactions, the business dealings between the transaction initiator and the transaction acceptor can be easily disclosed to third parties, leading to a decrease in transaction security.

Method used

The data provider determines multiple first keys for each bit of the data to be verified, and selects the first key corresponding to its value as the first ciphertext, which is sent to the data verification end for verification through an unintentional transmission protocol. The data verification end generates verification feedback based on the first key and the verification data.

Benefits of technology

This ensures the smooth operation of transactions while reducing the risk of leakage of business relationships between the transacting parties, thus improving transaction security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114429347B_ABST
    Figure CN114429347B_ABST
Patent Text Reader

Abstract

The application discloses a kind of verification data method and system, data providing end, data verification end, it is related to computer technical field.The specific embodiment of the method includes: receiving transaction request, wherein, transaction request includes: transaction data and one or more data to be verified;For each bit of the data to be verified, respectively determine the corresponding multiple first keys;For each bit of the data to be verified: from the multiple first keys corresponding to the data to be verified, select the first key corresponding to the value of the data to be verified as the first ciphertext;Data verification request and the multiple first keys corresponding to each bit of the data to be verified are sent to data verification end, wherein, data verification request contains first ciphertext;The analysis of the verification feedback of data verification end is carried out, when the data to be verified is correct, according to transaction data, execute transaction request.The embodiment reduces the risk that the business relationship of both sides of transaction is disclosed, improves the security of transaction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method and system for verifying data, a data providing end, and a data verification end. Background Technology

[0002] In the process of electronic transactions, when initiating a transaction, the party initiating the transaction needs to send proof of their identity data to the transaction acceptor. After receiving the proof data, the transaction acceptor will verify it with a qualified third party that issued the proof data. When the verification is successful, it means that the proof data is authentic and reliable, and the transaction acceptor will then accept the transaction initiated by the party initiating the transaction.

[0003] In the process of realizing this invention, the inventors discovered at least the following problems in the prior art:

[0004] In practice, the business information between the transaction initiator and the transaction acceptor often needs to be kept confidential and cannot or does not want to be known by third parties. However, when the transaction acceptor requests a third party to verify the transaction initiator's proof data, the third party will know that the transaction initiator is the transaction acceptor's customer and that the two are conducting business. This puts the business relationship between the two parties at risk of being leaked and reduces the security of their transaction. Summary of the Invention

[0005] In view of this, embodiments of the present invention provide a method and system for verifying data, a data provider, and a data verification end. The data provider can determine multiple first keys corresponding to each bit of the data to be verified included in the transaction request, and select the first key corresponding to the value of each bit of the data to be verified as the first ciphertext. The data provider packages the first ciphertext into the data verification request and sends it together with the multiple first keys to the data verification end, so that the data verification end can verify the first ciphertext according to the first keys and verification data. The data provider then determines whether to execute the transaction request based on the verification feedback from the data verification end. This allows the data verification end to provide verification feedback on the correctness of the data to be verified even without knowing the customer information of the transaction with the data provider, ensuring the normal progress of the transaction, reducing the risk of leakage of the business relationship between the transacting parties, and improving the security of the transaction.

[0006] To achieve the above objectives, according to one aspect of the present invention, a method for verifying data is provided.

[0007] An embodiment of the present invention provides a method for verifying data applied at a data provider, comprising:

[0008] Receive a transaction request, wherein the transaction request includes: transaction data and one or more digits of data to be verified;

[0009] For each bit of the data to be verified, a number of corresponding first keys are determined; the number of first keys corresponding to each bit of the data to be verified is related to its own base.

[0010] For each piece of data to be verified: select the first key corresponding to the value of the data to be verified from multiple first keys corresponding to the data to be verified as the first ciphertext;

[0011] Send a data verification request and multiple first keys corresponding to each piece of data to be verified to the data verification end. The data verification request contains first ciphertext, so that the data verification end can verify the first ciphertext based on the first key and the verification data.

[0012] The verification feedback from the data verification end is parsed to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is found to be correct, the transaction request is executed based on the transaction data.

[0013] Optionally,

[0014] Multiple first keys corresponding to each piece of data to be verified are sent to the data verification end via an unintentional transmission protocol, so that the data verification end can obtain at least one second ciphertext corresponding to the verification data from the multiple first keys, and verify the first ciphertext based on the second ciphertext.

[0015] Optionally,

[0016] The data verification request also includes: multiple second keys corresponding to the verification result; when the verification feedback is a verification result encrypted with the second key, the verification feedback from the data verification end is parsed to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is found to be correct, a transaction request is executed based on the transaction data, including:

[0017] The verification feedback from the data verification end is parsed, and the verification feedback contains a second key;

[0018] Determine whether the verification result corresponding to the second key indicates that the data to be verified is correct. If the second key indicates that the data to be verified is correct, execute the transaction request.

[0019] Optionally,

[0020] When the verification feedback is the second key corresponding to the verification result, determine whether the verification result corresponding to the second key indicates that the data to be verified is correct, including:

[0021] Based on a pre-stored truth table, determine whether the verification result corresponding to the second key indicates that the data to be verified is correct. The truth table contains the second key, the verification result, and the correspondence between the second key and the verification result.

[0022] To achieve the above objectives, according to another aspect of the present invention, a method for verifying data is provided.

[0023] An embodiment of the present invention provides a method for verifying data applied at a data verification end, comprising:

[0024] The receiver receives a data verification request from the data provider and multiple first keys corresponding to each bit of data to be verified, wherein the data verification request contains a first ciphertext;

[0025] The first ciphertext is verified based on the first key and verification data, and verification feedback is generated, wherein the verification feedback indicates whether the data to be verified is correct.

[0026] Return verification feedback to the data provider.

[0027] Optionally,

[0028] The first ciphertext is verified using the first key and verification data through a computing circuit, generating verification feedback.

[0029] Optionally,

[0030] The method also includes:

[0031] The truth table sent by the data provider is received so that the computing circuit can obtain a second key for generating verification feedback based on the truth table.

[0032] Optionally,

[0033] The data verification request received from the data provider and the multiple first keys corresponding to each bit of data to be verified include:

[0034] By using an unintentional transmission protocol, a first key corresponding to the verification data is received from multiple first keys, and at least one second ciphertext corresponding to the verification data is generated.

[0035] Optionally,

[0036] At least one second ciphertext and one first ciphertext are input into the computing circuit so that the computing circuit compares each second ciphertext with the first ciphertext bit by bit.

[0037] Verification feedback is generated based on the output of the computing circuit.

[0038] Optionally,

[0039] The verification feedback output by the computing circuit is generated based on the second key.

[0040] Optionally,

[0041] The calculation circuit includes: an addition circuit and an equivalent circuit; the calculation circuit compares each bit of the second ciphertext with the first ciphertext, including:

[0042] A1: Determine the current second ciphertext from the second ciphertext that has never been compared before;

[0043] A2: Use the first digit of the first ciphertext and the current second ciphertext as the current comparison bit;

[0044] A3: For the current comparison bit, use the addition circuit to calculate the difference between the values ​​corresponding to the current comparison bit;

[0045] A4: Use the equivalent circuit to determine whether the output of the adder circuit is the first preset value; if yes, execute A5; otherwise, execute A1.

[0046] A5: Determine if the current comparison bit is the last bit of the first ciphertext or the current second ciphertext; if yes, generate verification feedback based on the second key; if no, take the next bit of the current comparison bit as the current comparison bit and execute A3.

[0047] To achieve the above objectives, according to another aspect of the present invention, a data provider is provided.

[0048] An embodiment of the present invention provides a data provider comprising a request receiving module, a key determination module, a ciphertext generation module, a key sending module, and a transaction execution module; wherein:

[0049] The request receiving module is used to receive transaction requests, wherein the transaction request includes: transaction data and one or more digits of data to be verified;

[0050] The key determination module is used to determine multiple first keys for each bit of the data to be verified received by the request receiving module; wherein the number of first keys corresponding to each bit of the data to be verified is related to its own base.

[0051] The ciphertext generation module is used to select, for each bit of data to be verified, the first key corresponding to the value of the data to be verified from multiple first keys determined by the key determination module as the first ciphertext.

[0052] The key sending module is used to send a data verification request and multiple first keys corresponding to each bit of data to be verified to the data verification end. The data verification request includes the first ciphertext generated by the ciphertext generation module, so that the data verification end can verify the first ciphertext according to the first key and the verification data.

[0053] The transaction execution module is used to parse the verification feedback from the data verification end to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is correct, the transaction request is executed according to the transaction data received by the request receiving module.

[0054] To achieve the above objectives, according to another aspect of the present invention, a data verification terminal is provided.

[0055] An embodiment of the present invention provides a data verification terminal comprising a key receiving module, a ciphertext verification module, and a feedback return module; wherein:

[0056] The key receiving module is used to receive data verification requests and multiple first keys corresponding to each bit of data to be verified from the data provider. The data verification request contains first ciphertext.

[0057] The ciphertext verification module is used to verify the first ciphertext based on the first key and verification data received by the key receiving module, and generate verification feedback, wherein the verification feedback indicates whether the data to be verified is correct;

[0058] The feedback return module is used to return the verification feedback generated by the encrypted verification module to the data provider.

[0059] To achieve the above objectives, according to another aspect of the present invention, a system for verifying data is provided.

[0060] A system for verifying data according to an embodiment of the present invention includes: a data providing terminal and a data verification terminal provided in the above embodiments of the invention.

[0061] To achieve the above objectives, according to another aspect of the present invention, an electronic device for verifying data is provided.

[0062] An electronic device for verifying data according to an embodiment of the present invention includes: one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement a method for verifying data according to an embodiment of the present invention.

[0063] To achieve the above objectives, according to another aspect of the present invention, a computer-readable storage medium is provided.

[0064] An embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a method for verifying data according to an embodiment of the present invention.

[0065] One embodiment of the above invention has the following advantages or beneficial effects:

[0066] 1. The data provider can determine multiple corresponding first keys for each bit of the data to be verified included in the transaction request, and select the first key corresponding to each bit of the data to be verified as the first ciphertext. The data provider packages this first ciphertext into a data verification request and sends it along with the multiple first keys to the data verification end, so that the data verification end can verify the first ciphertext based on the first keys and verification data. The data provider then determines whether to execute the transaction request based on the verification feedback from the data verification end. This allows the data verification end to provide verification feedback on the correctness of the data to be verified even without knowing the customer information of the transacting party, ensuring the normal progress of the transaction, reducing the risk of leakage of the business relationship between the transacting parties, and improving the security of the transaction.

[0067] 2. After receiving a data verification request containing the first ciphertext from the data provider, along with multiple first keys corresponding to each piece of data to be verified, the data verification end verifies the first ciphertext based on the first keys and its own verification data. It generates verification feedback indicating whether the data to be verified is correct and returns this feedback to the data provider, enabling the data provider to determine whether to execute the transaction request. This allows the data verification end to provide verification feedback on the correctness of the data to be verified even without knowing the customer information of the transaction with the data provider. This ensures the normal progress of the transaction, reduces the risk of leakage of the business relationship between the two parties, and improves the security of the transaction.

[0068] The further effects of the aforementioned unconventional alternative methods will be explained below in conjunction with specific implementation methods. Attached Figure Description

[0069] The accompanying drawings are provided to better understand the invention and are not intended to unduly limit the scope of the invention. Wherein:

[0070] Figure 1 This is a schematic diagram of the main steps of a method for verifying data applied to a data provider according to an embodiment of the present invention;

[0071] Figure 2 This is a schematic diagram of the main steps of a method for verifying data applied to a data verification terminal according to an embodiment of the present invention;

[0072] Figure 3 This is a schematic diagram of the main steps of a method for a computing circuit to perform bit-by-bit comparison between each second ciphertext and the first ciphertext according to an embodiment of the present invention;

[0073] Figure 4 This is a schematic diagram of the main modules of a data providing terminal according to an embodiment of the present invention;

[0074] Figure 5This is a schematic diagram of the main modules of a data verification terminal according to an embodiment of the present invention;

[0075] Figure 6 This is a schematic diagram of the main modules of a data verification system according to an embodiment of the present invention;

[0076] Figure 7 This is an exemplary system architecture diagram in which embodiments of the present invention can be applied;

[0077] Figure 8 This is a schematic diagram of the structure of a computer system suitable for implementing terminal devices or servers of the present invention. Detailed Implementation

[0078] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention, including various details to aid understanding. These details should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0079] It should be noted that, unless otherwise specified, the embodiments of the present invention and the technical features thereof can be combined with each other.

[0080] Figure 1 This is a schematic diagram of the main steps of a method for verifying data applied to a data provider according to an embodiment of the present invention.

[0081] like Figure 1 As shown, a method for verifying data applied to a data provider according to an embodiment of the present invention mainly includes the following steps:

[0082] Step S101: Receive a transaction request, wherein the transaction request includes: transaction data and one or more bits of data to be verified.

[0083] In this embodiment of the invention, the transaction request is sent by the transaction initiator, and the data to be verified is the proof data used by the transaction initiator to prove its identity, such as the transaction initiator's own digital certificate, electronic social security card, electronic ID card, etc. The data to be verified can be data in any base. Since data is transmitted in binary form over the network, in a preferred embodiment of the invention, the data to be verified is binary data.

[0084] Step S102: For each bit of the data to be verified, determine the corresponding multiple first keys; wherein, the number of first keys corresponding to each bit of the data to be verified is related to its own base.

[0085] For example, suppose the data to be verified is 10 in binary. This data has two bits. The data provider will determine multiple first keys for each bit of the data to be verified, based on the binary representation. Specifically, the data provider generates two first keys, k0 and k1, for the first data bit containing a "1". k0 is the first key when the value of the first data bit is 0, and k1 is the first key when the value of the first data bit is 1. The data provider also generates two first keys, k0' and k1', for the second data bit containing a "0". k0' is the first key when the value of the second data bit is 0, and k1' is the first key when the value of the second data bit is 1. Furthermore, k0, k1, k0', and k1' are four distinct first keys.

[0086] Similarly, assuming the data to be verified is 101 in binary, the data provider will generate six distinct first keys for these three bits: m0, m1, m0', m1', m0”, and m1”. When the data to be verified has more bits, the method for generating the first keys follows the same logic, and will not be elaborated further here.

[0087] In this embodiment of the invention, the first key may be generated in real time by the data provider or selected from a pre-generated key library; this solution does not specifically limit this.

[0088] Step S103: For each bit of data to be verified: Select the first key corresponding to the value of the data to be verified from the multiple first keys corresponding to the data to be verified as the first ciphertext.

[0089] In this embodiment of the invention, the data provider does not directly send the data to be verified to the data verification end. Instead, it generates a first ciphertext based on the data to be verified and then sends the first ciphertext to the data verification end for verification. This makes it impossible for the data verification end to know the proof data and thus impossible to know who the transaction initiator is. This achieves the effect of keeping the business communication information between the data provider and the transaction initiator confidential to the data verification end.

[0090] Specifically, for each bit of data to be verified, the data provider performs the following steps: From the multiple first keys corresponding to the data to be verified, select the first key corresponding to the value of the data to be verified as the first ciphertext. Taking the data to be verified as 10 in binary as an example: From the four generated first keys k0, k1, k0', and k1', the data provider selects the first key k1 corresponding to the first data bit being 1, and the first key k0' corresponding to the second data bit being 0, based on the data to be verified being 10, as the first ciphertext k1k0'.

[0091] Step S104: Send a data verification request and multiple first keys corresponding to each bit of data to be verified to the data verification end. The data verification request contains the first ciphertext, so that the data verification end can verify the first ciphertext based on the first key and the verification data.

[0092] In this embodiment of the invention, the data provider packages the first ciphertext into a data verification request and sends it to the data verification end. It also uses the inadvertent transmission protocol in cryptography to send multiple first keys corresponding to each piece of data to be verified to the data verification end, so that the data verification end can verify the first ciphertext based on the first keys and the verification data.

[0093] Taking the aforementioned data to be verified as 10 in binary as an example: The data provider packages the first ciphertext k1k0' into a data verification request and sends it to the data verification provider. Utilizing the inadvertent transmission protocol in cryptography, it sends multiple first keys corresponding to each digit of the data to be verified, namely k0, k1, k0', and k1'. Due to the characteristics of the inadvertent transmission protocol, the data verification provider cannot simultaneously obtain all four first keys (k0, k1, k0', and k1'). Instead, it needs to send data to the inadvertent transmission protocol to obtain the first key corresponding to the data sent to it. Assuming the data verification provider has three verification data digits: 11, 00, and 10, it sends 11, 00, and 10 to the inadvertent transmission protocol, obtaining three second ciphertexts: k1k1', k0k0', and k1k0'. Since each first key is indistinguishable, the data verification end does not know the correspondence between the three second ciphertexts k1k1', k0k0', and k1k0' and the three verification data 11, 00, and 10. At the same time, according to the characteristics of the unintentional transmission protocol, the data provider does not know what the data verification end has sent or received, thus achieving the effect of keeping the business communication information between the data provider and the transaction initiator confidential to the data verification end.

[0094] Step S105: Parse the verification feedback from the data verification end to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is found to be correct, execute the transaction request based on the transaction data.

[0095] In this embodiment of the invention, the data verification request may further include: multiple second keys corresponding to the verification result. The verification result can be indicated by 0 and 1, where 0 indicates that the data to be verified is incorrect and 1 indicates that the data to be verified is correct, or 0 indicates that the data to be verified is correct and 1 indicates that the data to be verified is incorrect. Furthermore, the data provider can generate different second keys for different verification results. The number of second keys may be related to the number base of the verification result. For example, assuming that the verification result is 0, it indicates that the data to be verified is incorrect, and its corresponding second key p0 is generated; the verification result is 1, it indicates that the data to be verified is correct, and its corresponding second key p1 is generated.

[0096] In this embodiment of the invention, after the data verification end verifies the first ciphertext according to the first key and the verification data, it returns verification feedback to the data provider. The verification feedback can be the verification result encrypted by the second key, or it can be the second key directly.

[0097] When the verification feedback is a verification result encrypted with the second key, step S105 may further include: parsing the verification feedback from the data verification end, wherein the verification feedback contains the second key; determining whether the verification result corresponding to the second key indicates that the data to be verified is correct; and executing the transaction request when the second key indicates that the data to be verified is correct.

[0098] When the verification feedback is directly the second key, step S105 may further include: determining whether the verification result corresponding to the second key indicates that the data to be verified is correct according to the pre-stored truth table, wherein the truth table contains the second key, the verification result, and the correspondence between the second key and the verification result; when the data to be verified is found to be correct, executing the transaction request according to the transaction data.

[0099] According to an embodiment of the present invention, a data verification method applied to a data provider can be described as follows: the data provider can determine multiple first keys for each bit of the data to be verified included in the transaction request, and select the first key corresponding to the value of each bit of the data to be verified as the first ciphertext. The data provider packages the first ciphertext into the data verification request and sends it together with the multiple first keys to the data verification end, so that the data verification end can verify the first ciphertext according to the first keys and verification data. The data provider then determines whether to execute the transaction request based on the verification feedback from the data verification end. This allows the data verification end to provide verification feedback on whether the data to be verified is correct even without knowing the customer information of the transacting party, ensuring the normal progress of the transaction, reducing the risk of leakage of the business relationship between the transacting parties, and improving the security of the transaction.

[0100] Figure 2This is a schematic diagram of the main steps of a method for verifying data applied to a data verification terminal according to an embodiment of the present invention.

[0101] like Figure 2 As shown, a method for verifying data applied to a data verification terminal according to an embodiment of the present invention mainly includes the following steps:

[0102] Step S201: Receive a data verification request and multiple first keys corresponding to each bit of data to be verified from the data provider, wherein the data verification request contains a first ciphertext.

[0103] In this embodiment of the invention, the data verification end can receive a first key corresponding to its own verification data from multiple first keys through an inadvertent transmission protocol in the cryptographic protocol, and generate at least one second ciphertext corresponding to the verification data. Taking the data to be verified as 10 in binary as an example: the data provider sends multiple first keys, k0, k1, k0', and k1', corresponding to each bit of the data to be verified to the inadvertent transmission protocol. After receiving the data verification request, the data verification end also sends its own three verification data, 11, 00, and 10, to the inadvertent transmission protocol, and receives the first key corresponding to its own verification data from the multiple first keys, generating three second ciphertexts k1k1', k0k0', and k1k0' corresponding to the verification data. However, since each first key is indistinguishable, the data verification end cannot know the correspondence between the three second ciphertexts k1k1', k0k0', and k1k0' and the three verification data 11, 00, and 10.

[0104] Step S202: Verify the first ciphertext according to the first key and verification data, and generate verification feedback, wherein the verification feedback indicates whether the data to be verified is correct.

[0105] In this embodiment of the invention, the data verification end can verify the first ciphertext based on the first key and verification data using a computing circuit, generating verification feedback. Specifically, the computing circuit may include an addition circuit and an equivalent circuit. The data verification end inputs at least one second ciphertext and the first ciphertext into the computing circuit, so that the computing circuit performs a bit-by-bit comparison between each second ciphertext and the first ciphertext. Then, the data verification end can generate verification feedback based on the output of the computing circuit, or the computing circuit can directly generate verification feedback based on the result of the bit-by-bit comparison. In a preferred embodiment of the invention, the computing circuit directly generates verification feedback based on the result of the bit-by-bit comparison, so that the data verification party cannot know the verification result (because the verification result is encrypted or replaced by the second key), and therefore does not know whether its own verification data contains data to be verified, thereby further strengthening the confidentiality of the business communication information between the data provider and the transaction initiator for the data verification end.

[0106] For example, the result of the bit-by-bit comparison by the computing circuit is 0. Then, the second key p0 corresponding to 0 is used to encrypt 0 as the output verification feedback. The data verification end does not have the private key corresponding to the second key p0, so it cannot know whether the verification result is 0 or 1. The data provider end can decrypt the verification feedback according to the private key corresponding to the second key p0, and obtain the verification result as 0. Thus, it determines that the data to be verified is incorrect and refuses to execute the transaction request.

[0107] In this embodiment of the invention, when the computing circuit directly generates verification feedback based on the result of bit-by-bit comparison, the verification feedback output by the computing circuit is generated based on the second key. The verification feedback can be a verification result encrypted with the second key, or it can be the second key itself.

[0108] The computing circuit performs bit-by-bit comparisons between each second ciphertext and the first ciphertext, as follows: Figure 3 As shown, the main steps include:

[0109] Step S301: Determine the current second ciphertext from the second ciphertext that has never been compared before;

[0110] Step S302: Use the first digit of the first ciphertext and the current second ciphertext as the current comparison bit;

[0111] Step S303: For the current comparison bit, use the addition circuit to subtract the value corresponding to the current comparison bit;

[0112] Step S304: Use the equivalent circuit to determine whether the output of the adder circuit is the first preset value; if yes, proceed to step S305, otherwise return to step S301.

[0113] Step S305: Determine whether the current comparison bit is the last bit of the first ciphertext or the current second ciphertext; if so, proceed to step S307, otherwise proceed to step S306.

[0114] Step S306: Take the next bit of the current comparison as the current comparison bit, and return to execute step S303;

[0115] Step S307: Generate verification feedback based on the second key.

[0116] In a preferred embodiment of the present invention, the first preset value may be 0.

[0117] Taking the aforementioned data to be verified as 10 in binary as an example, this section will be explained as follows: After the data verification end generates the second ciphertext k1k1', k0k0', and k1k0' through the unintentional transmission protocol, it inputs the first ciphertext k1k0' contained in the data verification request and the generated second ciphertext k1k1', k0k0', and k1k0' into the computing circuit to verify the first ciphertext to determine whether the first ciphertext is contained in the second ciphertext. If it is determined that the first ciphertext is contained in the second ciphertext, it means that the data to be verified is correct and reliable, and the data provider can execute the transaction request. Since computing circuits are typically Boolean circuits, both the first and second ciphertexts must be converted to binary for computation. Assuming the first ciphertext is 111000 in binary and the second ciphertexts are 111111, 000000, and 111000 in binary, the computing circuit needs to compare the first ciphertext bit-by-bit with each of the three second ciphertexts. First, 111111 is selected as the current second ciphertext. Then, the first bit from left to right of both the first and second ciphertexts is taken as the current comparison bit. For the current comparison bit, an addition circuit is used to subtract the corresponding value, resulting in a first preset value of 0. Since the current comparison bit is not the last bit of either the first or second ciphertext, the next bit (the second bit from left to right) is taken as the current comparison bit, and the above steps are repeated. It can be seen that when the current comparison bit is the fourth bit from left to right of the first ciphertext and the current second ciphertext, the difference obtained by subtracting the value corresponding to the current comparison bit is not the first preset value of 0, indicating that the first ciphertext is different from the current second ciphertext. Therefore, a new second ciphertext that has never been compared is determined as the current second ciphertext, and the above steps are repeated.

[0118] When 111000 is identified as the current second ciphertext from the second ciphertext, as can be seen from the above steps: up to the last bit of the first ciphertext and the current second ciphertext, the difference between the current comparison bit of the current second ciphertext and the first ciphertext is the first preset value of 0. This means that the first ciphertext and the current second ciphertext are equal, that is, the first ciphertext is contained in the second ciphertext. This means that the data to be verified is correct and reliable, and the data provider can execute the transaction request.

[0119] In this embodiment of the invention, the method further includes: receiving a truth table sent by a data provider, so that the computing circuit obtains a second key for generating verification feedback based on the truth table, wherein the truth table contains the second key, the verification result, and the correspondence between the second key and the verification result.

[0120] Step S203: Return verification feedback to the data provider.

[0121] According to an embodiment of the present invention, a data verification method applied to a data verification terminal can be seen that after receiving a data verification request containing a first ciphertext and multiple first keys corresponding to each piece of data to be verified from a data provider, the data verification terminal verifies the first ciphertext based on the first keys and its own verification data, generates verification feedback indicating whether the data to be verified is correct, and returns the verification feedback to the data provider so that the data provider can determine whether to execute the transaction request. This allows the data verification terminal to provide verification feedback on whether the data to be verified is correct even without knowing the customer information of the transaction with the data provider, which not only ensures the normal progress of the transaction but also reduces the risk of the business relationship between the two parties being leaked, thereby improving the security of the transaction.

[0122] Figure 4 This is a schematic diagram of the main modules of a data provider according to an embodiment of the present invention.

[0123] like Figure 4 As shown, a data providing terminal 400 according to an embodiment of the present invention includes a request receiving module 401, a key determining module 402, a ciphertext generating module 403, a key sending module 404, and a transaction execution module 405; wherein:

[0124] The request receiving module 401 is used to receive transaction requests, wherein the transaction request includes: transaction data and one or more digits of data to be verified;

[0125] The key determination module 402 is used to determine a plurality of first keys for each bit of the data to be verified received by the request receiving module 401; wherein the number of first keys corresponding to each bit of the data to be verified is related to its own base.

[0126] The ciphertext generation module 403 is used to select, for each bit of data to be verified, a first key corresponding to the value of the data to be verified from multiple first keys determined by the key determination module 402 as the first ciphertext.

[0127] The key sending module 404 is used to send a data verification request and multiple first keys corresponding to each bit of data to be verified to the data verification end. The data verification request includes the first ciphertext generated by the ciphertext generation module 403, so that the data verification end can verify the first ciphertext according to the first key and the verification data.

[0128] The transaction execution module 405 is used to parse the verification feedback from the data verification end to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is correct, the transaction request is executed according to the transaction data received by the request receiving module 401.

[0129] In this embodiment of the invention, the key sending module 404 is further configured to: send multiple first keys corresponding to each bit of data to be verified to the data verification end via an unintentional transmission protocol, so that the data verification end can obtain at least one second ciphertext corresponding to the verification data from the multiple first keys, and verify the first ciphertext according to the second ciphertext.

[0130] In this embodiment of the invention, the data verification request further includes: multiple second keys corresponding to the verification result; when the verification feedback is a verification result encrypted with the second key, the transaction execution module 405 is further configured to: parse the verification feedback from the data verification end, wherein the verification feedback contains the second key; determine whether the verification result corresponding to the second key indicates that the data to be verified is correct; and execute the transaction request when the second key indicates that the data to be verified is correct.

[0131] In this embodiment of the invention, when the verification feedback is the second key corresponding to the verification result, the transaction execution module 405 is further configured to: determine whether the verification result corresponding to the second key indicates that the data to be verified is correct according to the pre-stored truth table, wherein the truth table contains the second key, the verification result, and the correspondence between the second key and the verification result.

[0132] According to an embodiment of the present invention, a data provider can determine multiple first keys for each bit of the data to be verified included in a transaction request, and select the first key corresponding to the value of each bit of the data to be verified as the first ciphertext. The data provider packages the first ciphertext into a data verification request and sends it along with the multiple first keys to a data verification end, so that the data verification end can verify the first ciphertext based on the first keys and verification data. The data provider then determines whether to execute the transaction request based on the verification feedback from the data verification end. This allows the data verification end to provide verification feedback on the correctness of the data to be verified even without knowing the customer information of the transacting party, ensuring the normal progress of the transaction, reducing the risk of leakage of the business relationship between the transacting parties, and improving transaction security.

[0133] Figure 5 This is a schematic diagram of the main modules of a data verification terminal according to an embodiment of the present invention.

[0134] like Figure 5 As shown, a data verification terminal 500 according to an embodiment of the present invention includes a key receiving module 501, a ciphertext verification module 502, and a feedback return module 503; wherein:

[0135] The key receiving module 501 is used to receive a data verification request sent by the data provider and multiple first keys corresponding to each bit of data to be verified, wherein the data verification request contains a first ciphertext;

[0136] The ciphertext verification module 502 is used to verify the first ciphertext based on the first key and verification data received by the key receiving module 501, and generate verification feedback, wherein the verification feedback indicates whether the data to be verified is correct;

[0137] The feedback return module 503 is used to return the verification feedback generated by the encrypted verification module 502 to the data provider.

[0138] In this embodiment of the invention, the ciphertext verification module 502 is further configured to: verify the first ciphertext according to the first key and verification data through a computing circuit, and generate verification feedback.

[0139] In this embodiment of the invention, the key receiving module 501 is further configured to: receive a truth table sent by the data providing end, so that the calculation circuit can obtain a second key for generating verification feedback based on the truth table.

[0140] In this embodiment of the invention, the key receiving module 501 is further configured to: receive a first key corresponding to the verification data from a plurality of first keys through an unintentional transmission protocol, and generate at least one second ciphertext corresponding to the verification data.

[0141] In this embodiment of the invention, the ciphertext verification module 502 is further configured to: input at least one second ciphertext and a first ciphertext into the calculation circuit, so that the calculation circuit performs bit-by-bit comparison between each second ciphertext and the first ciphertext; and generate verification feedback based on the output of the calculation circuit.

[0142] In this embodiment of the invention, the verification feedback output by the computing circuit is generated based on the second key.

[0143] In this embodiment of the invention, the calculation circuit includes an addition circuit and an equivalence circuit; the ciphertext verification module 502 is further configured to perform the following steps: A1: determine the current second ciphertext from the second ciphertext that has never been compared; A2: take the first digit of the current first ciphertext and the current second ciphertext as the current comparison digit; A3: for the current comparison digit, use the addition circuit to subtract the value corresponding to the current comparison digit; A4: use the equivalence circuit to determine whether the output of the addition circuit is a first preset value; if yes, execute A5, otherwise execute A1; A5: determine whether the current comparison digit is the last digit of the first ciphertext or the second ciphertext; if yes, generate verification feedback according to the second key; if no, take the next digit of the current comparison digit as the current comparison digit and execute A3.

[0144] According to an embodiment of the present invention, after receiving a data verification request containing a first ciphertext and multiple first keys corresponding to each piece of data to be verified from a data provider, the data verification terminal verifies the first ciphertext based on the first keys and its own verification data, generates verification feedback indicating whether the data to be verified is correct, and returns the verification feedback to the data provider so that the data provider can determine whether to execute the transaction request. This allows the data verification terminal to provide verification feedback on whether the data to be verified is correct even without knowing the customer information of the transaction with the data provider, ensuring the normal progress of the transaction, reducing the risk of leakage of the business relationship between the two parties, and improving the security of the transaction.

[0145] Figure 6 This is a schematic diagram of the main modules of a data verification system according to an embodiment of the present invention.

[0146] like Figure 6 As shown, a data verification system 600 according to an embodiment of the present invention includes: any of the data providing terminals 400 provided in the above embodiments and any of the data verification terminals 500 provided in the above embodiments.

[0147] Figure 7 An exemplary system architecture 700 is shown, which can be applied to a method for verifying data, a data provider, or a data verification endpoint according to embodiments of the present invention.

[0148] like Figure 7 As shown, system architecture 700 may include terminal devices 701, 702, and 703, a network 704, and a server 705. Network 704 serves as the medium for providing communication links between terminal devices 701, 702, and 703 and server 705. Network 704 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.

[0149] Users can use terminal devices 701, 702, and 703 to interact with server 705 via network 704 to receive or send messages, etc. Various transaction applications, such as shopping applications, securities trading applications, and instant payment applications, can be installed on terminal devices 701, 702, and 703.

[0150] Terminal devices 701, 702, and 703 can be various electronic devices with displays and web browsing capabilities, including but not limited to smartphones, tablets, laptops, and desktop computers.

[0151] Server 705 can be a server providing various services, such as a back-end management server supporting transaction websites browsed by users using terminal devices 701, 702, and 703. The back-end management server can analyze and process the received authentication data and transaction data, and feed back the processing results (such as successful authentication and completed transaction) to the terminal devices.

[0152] It should be understood that Figure 7 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0153] The following is for reference. Figure 8 It shows a schematic diagram of the structure of a computer system 800 suitable for implementing a terminal device of the present invention. Figure 8 The terminal device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0154] like Figure 8 As shown, the computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 802 or programs loaded from storage section 808 into random access memory (RAM) 803. The RAM 803 also stores various programs and data required for the operation of the system 800. The CPU 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0155] The following components are connected to I / O interface 805: an input section 806 including a keyboard, mouse, etc.; an output section 807 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to I / O interface 805 as needed. A removable medium 811, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 810 as needed so that computer programs read from it can be installed into storage section 808 as needed.

[0156] In particular, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 809, and / or installed from removable medium 811. When the computer program is executed by central processing unit (CPU) 801, it performs the functions defined above in the system of this invention.

[0157] It should be noted that the computer-readable medium shown in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0158] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0159] The modules described in the embodiments of the present invention can be implemented in software or hardware. The described modules can also be housed in a processor; for example, a processor may be described as including a request receiving module, a key determination module, a ciphertext generation module, a key sending module, and a transaction execution module. The names of these modules do not necessarily limit the module itself; for example, the request receiving module may also be described as "a module for receiving transaction requests."

[0160] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more programs, which, when executed by the device, cause the device to include: receiving a transaction request, wherein the transaction request includes: transaction data and one or more bits of data to be verified; determining a plurality of first keys corresponding to each bit of the data to be verified; wherein the number of first keys corresponding to each bit of the data to be verified is related to its own base; for each bit of the data to be verified: selecting a first key corresponding to the value of the data to be verified as a first ciphertext from the plurality of first keys corresponding to the data to be verified; sending a data verification request and the plurality of first keys corresponding to each bit of the data to be verified to a data verification terminal, wherein the data verification request includes the first ciphertext, so that the data verification terminal verifies the first ciphertext according to the first key and the verification data; parsing the verification feedback from the data verification terminal to determine whether the verification feedback indicates that the data to be verified is correct; and executing the transaction request according to the transaction data when the data to be verified is correct.

[0161] The aforementioned computer-readable medium carries one or more programs. When the one or more programs are executed by the device, the device may further include: receiving a data verification request from a data provider and multiple first keys corresponding to each bit of data to be verified, wherein the data verification request contains first ciphertext; verifying the first ciphertext according to the first keys and verification data, generating verification feedback, wherein the verification feedback indicates whether the data to be verified is correct; and returning the verification feedback to the data provider.

[0162] According to the technical solutions of the embodiments of the present invention, the following advantages or beneficial effects can be achieved:

[0163] 1. The data provider can determine multiple corresponding first keys for each bit of the data to be verified included in the transaction request, and select the first key corresponding to each bit of the data to be verified as the first ciphertext. The data provider packages this first ciphertext into a data verification request and sends it along with the multiple first keys to the data verification end, so that the data verification end can verify the first ciphertext based on the first keys and verification data. The data provider then determines whether to execute the transaction request based on the verification feedback from the data verification end. This allows the data verification end to provide verification feedback on the correctness of the data to be verified even without knowing the customer information of the transacting party, ensuring the normal progress of the transaction, reducing the risk of leakage of the business relationship between the transacting parties, and improving the security of the transaction.

[0164] 2. After receiving a data verification request containing the first ciphertext from the data provider, along with multiple first keys corresponding to each piece of data to be verified, the data verification end verifies the first ciphertext based on the first keys and its own verification data. It generates verification feedback indicating whether the data to be verified is correct and returns this feedback to the data provider, enabling the data provider to determine whether to execute the transaction request. This allows the data verification end to provide verification feedback on the correctness of the data to be verified even without knowing the customer information of the transaction with the data provider. This ensures the normal progress of the transaction, reduces the risk of leakage of the business relationship between the two parties, and improves the security of the transaction.

[0165] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for verifying data, characterized in that, Applied to the data provider, including: Receive a transaction request, wherein the transaction request includes: transaction data and one or more digits of data to be verified; For each bit of the data to be verified, a plurality of corresponding first keys are determined; wherein, the number of first keys corresponding to each bit of the data to be verified is related to its own base. For each of the data to be verified: select the first key corresponding to the value of the data to be verified from the plurality of first keys corresponding to the data to be verified as the first ciphertext; A data verification request and a plurality of first keys corresponding to each bit of the data to be verified are sent to the data verification end via an unintentional transmission protocol. This allows the data verification end to obtain at least one second ciphertext corresponding to the verification data from the plurality of first keys, and to verify the first ciphertext based on the second ciphertext. The data verification request includes the first ciphertext, enabling the data verification end to verify the first ciphertext based on the first key and the verification data. The verification data has the same number of bits and the same number system as the data to be verified. The verification feedback from the data verification end is parsed to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is found to be correct, the transaction request is executed based on the transaction data.

2. The method according to claim 1, characterized in that, The data verification request also includes: multiple second keys corresponding to the verification result; when the verification feedback is a verification result encrypted with the second key, the verification feedback of the data verification end is parsed to determine whether the verification feedback indicates that the data to be verified is correct. When the parsed data to be verified is found to be correct, the transaction request is executed based on the transaction data, including: The verification feedback from the data verification terminal is parsed, wherein the verification feedback contains a second key; Determine whether the verification result corresponding to the second key indicates that the data to be verified is correct. If the second key indicates that the data to be verified is correct, execute the transaction request.

3. The method according to claim 2, characterized in that, When the verification feedback is a second key corresponding to the verification result, determining whether the verification result corresponding to the second key indicates that the data to be verified is correct includes: Based on a pre-stored truth table, it is determined whether the verification result corresponding to the second key indicates that the data to be verified is correct, wherein the truth table contains the second key, the verification result, and the correspondence between the second key and the verification result.

4. A method for verifying data, characterized in that, Applications include: Receiving a data verification request from a data provider and multiple first keys corresponding to each bit of data to be verified, including: receiving a first key corresponding to the verification data from the multiple first keys via an unintentional transmission protocol, and generating at least one second ciphertext corresponding to the verification data; wherein, the data verification request includes the first ciphertext; the verification data and the data to be verified have the same number of bits and the same number system; At least one second ciphertext corresponding to the verification data is obtained from the plurality of first keys, and the first ciphertext is verified according to the second ciphertext and the verification data to generate verification feedback, wherein the verification feedback indicates whether the data to be verified is correct; Return verification feedback to the data provider.

5. The method according to claim 4, characterized in that, The computing circuit verifies the first ciphertext based on the first key and verification data, and generates verification feedback.

6. The method according to claim 5, characterized in that, The method also includes: The receiving data provider sends a truth table, which enables the computing circuit to obtain a second key for generating the verification feedback based on the truth table.

7. The method according to claim 5, characterized in that, At least one second ciphertext and one first ciphertext are input into the computing circuit, so that the computing circuit performs a bit-by-bit comparison between each second ciphertext and the first ciphertext. The verification feedback is generated based on the output of the computing circuit.

8. The method according to claim 6, characterized in that, The verification feedback output by the computing circuit is generated based on the second key.

9. The method according to claim 7, characterized in that, The calculation circuit includes an addition circuit and an equivalence circuit; the calculation circuit performs bit-by-bit comparisons between each second ciphertext and the first ciphertext, including: A1: Determine the current second ciphertext from the second ciphertext that has never been compared before; A2: Use the first bit of the first ciphertext and the current second ciphertext as the current comparison bit; A3: For the current comparison bit, the addition circuit is used to subtract the value corresponding to the current comparison bit; A4: Use the equivalent circuit to determine whether the output of the adder circuit is the first preset value; if yes, execute A5; otherwise, execute A1. A5: Determine whether the current comparison bit is the last bit of the first ciphertext or the current second ciphertext; if yes, generate the verification feedback according to the second key; if no, take the next bit of the current comparison bit as the current comparison bit and execute A3.

10. A data provider, characterized in that, It includes a request receiving module, a key determination module, a ciphertext generation module, a key sending module, and a transaction execution module; wherein: The request receiving module is used to receive transaction requests, wherein the transaction request includes: transaction data and one or more digits of data to be verified; The key determination module is used to determine a plurality of first keys for each bit of the data to be verified received by the request receiving module; wherein the number of first keys corresponding to each bit of the data to be verified is related to its own base. The ciphertext generation module is configured to, for each bit of the data to be verified, select, from the plurality of first keys corresponding to the data to be verified determined by the key determination module, a first key corresponding to the value of the data to be verified as the first ciphertext. The key sending module uses an unintentional transmission protocol to send a data verification request and a plurality of first keys corresponding to each bit of the data to be verified to the data verification terminal, so that the data verification terminal obtains at least one second ciphertext corresponding to the verification data from the plurality of first keys, and verifies the first ciphertext based on the second ciphertext; wherein, the data verification request includes the first ciphertext generated by the ciphertext generation module, so that the data verification terminal verifies the first ciphertext based on the first key and the verification data; the verification data and the data to be verified have the same number of bits and the same number system; The transaction execution module is used to parse the verification feedback from the data verification end to determine whether the verification feedback indicates that the data to be verified is correct; when the data to be verified is correct, the transaction request is executed according to the transaction data received by the request receiving module.

11. A data verification terminal, characterized in that, It includes a key receiving module, a ciphertext verification module, and a feedback return module; wherein: The key receiving module is used to receive a data verification request and multiple first keys corresponding to each bit of the data to be verified from the data provider, including: receiving the first key corresponding to the verification data from the multiple first keys through an unintentional transmission protocol, and generating at least one second ciphertext corresponding to the verification data; wherein, the data verification request includes the first ciphertext; the verification data and the data to be verified have the same number of bits and the same number system; The ciphertext verification module is used to obtain at least one second ciphertext corresponding to the verification data from the plurality of first keys, and to verify the first ciphertext according to the second ciphertext and the verification data received by the key receiving module, and generate verification feedback, wherein the verification feedback indicates whether the data to be verified is correct; The feedback return module is used to return the verification feedback generated by the encrypted verification module to the data provider.

12. A system for verifying data, characterized in that, include: The data providing terminal as described in claim 10 and the data verification terminal as described in claim 11.

13. An electronic device for verifying data, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-3 or 4-9.

14. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-3 or 4-9.

Citation Information

Patent Citations

  • Method and system for processing transaction data

    CN101201925A

  • Data distribution and forwarding method and apparatus

    CN108306880A