CN111444242B - Method for checking data equivalence, electronic device and computer storage medium - Google Patents

Method for checking data equivalence, electronic device and computer storage medium Download PDF

Info

Publication number
CN111444242B
CN111444242B CN202010232304.6A CN202010232304A CN111444242B CN 111444242 B CN111444242 B CN 111444242B CN 202010232304 A CN202010232304 A CN 202010232304A CN 111444242 B CN111444242 B CN 111444242B
Authority
CN
China
Prior art keywords
data
elliptic curve
randomized
random numbers
base points
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
CN202010232304.6A
Other languages
Chinese (zh)
Other versions
CN111444242A (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.)
Suzhou Lianyuan Information Technology Co ltd
Original Assignee
Suzhou Lianyuan Information Technology 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 Suzhou Lianyuan Information Technology Co ltd filed Critical Suzhou Lianyuan Information Technology Co ltd
Priority to CN202010232304.6A priority Critical patent/CN111444242B/en
Publication of CN111444242A publication Critical patent/CN111444242A/en
Application granted granted Critical
Publication of CN111444242B publication Critical patent/CN111444242B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

According to example embodiments of the present disclosure, methods, electronic devices, and computer storage media for data equivalence verification are provided. In the method, at a data owner device, two first random numbers are selected from a predetermined plurality of first random numbers, order identification information of the two first random numbers is determined, for each first random number: determining a corresponding set of randomized elliptic curve base points from a predetermined set of randomized elliptic curve base points, the predetermined set of randomized elliptic curve base points being generated based on a corresponding predetermined first random number elliptic curve multiplication by the predetermined set of elliptic curve base points, generating a data tag for the target data based on the determined set of randomized elliptic curve base points, and transmitting two sequential identification information and two data tags to the data verifier device for data equivalence verification. Thus, the invention can generate the data tag without revealing the data information, but supports the data equivalence check.

Description

Method for checking data equivalence, electronic device and computer storage medium
Technical Field
Embodiments of the present disclosure relate generally to the field of information processing, and in particular, to a method for generating a data tag supporting data equivalence check, a method for data equivalence check, an electronic device, and a computer storage medium.
Background
Managing data through a blockchain is a common scenario for blockchains. Most of the traditional schemes carry out hash operation on data to obtain the digest value of the data, and then the digest value is used as a label of the data and submitted to a blockchain for storage. Since the hash operation is deterministic, the same data will get the same hash value, which risks revealing confidential information on the chain. The equality information between the data can be protected to a certain extent by directly adding the random number to the data, but the scheme is difficult for a supervision party or a third party to know the equality relation of the data under the condition that the data is not obtained in the clear.
Disclosure of Invention
Embodiments of the present disclosure provide a method for generating a data tag supporting data equivalence check, a method for data equivalence check, an electronic device, and a computer storage medium, whereby different data tags identifying the same data can be generated, the data tag does not reveal data information, but supports data equivalence check.
In a first aspect of the present disclosure, a method for generating a data tag supporting a data equivalence check is provided. The method comprises the following steps: at the data owner device, selecting two first random numbers from a predetermined plurality of first random numbers, determining sequential identification information of the two first random numbers among the predetermined plurality of first random numbers, for each of the two first random numbers: determining a set of randomized elliptic curve base points corresponding to the first random numbers from a predetermined plurality of sets of randomized elliptic curve base points, the predetermined plurality of sets of randomized elliptic curve base points corresponding to the predetermined plurality of first random numbers one-to-one, the predetermined set of randomized elliptic curve base points being generated by elliptic curve multiplication of the corresponding predetermined first random numbers with the predetermined set of elliptic curve base points, generating a data tag for the target data based on the determined set of randomized elliptic curve base points, and transmitting two sequential identification information and two data tags one-to-one to the data verifier device for data equivalence verification by the data verifier device.
In a second aspect of the present disclosure, an electronic device is provided. The electronic device includes: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions when executed by the at least one processing unit cause the apparatus to perform the steps of the method according to the first aspect of the present disclosure.
In a third aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a machine, implements a method according to the first aspect of the present disclosure.
In a fourth aspect of the present disclosure, there is provided a method for data equivalence checking, comprising: at the data verification device, receiving two sequence identification information and two data tags from the data owner device, wherein the two sequence identification information indicates the sequence of the two first random numbers in the preset first random numbers, the two first random numbers and the two data tags are in one-to-one correspondence, acquiring the two first random numbers from the preset first random numbers based on the two sequence identification information, performing elliptic curve multiplication operation on the two data tags and the first random numbers which are not corresponding to the two first random numbers respectively to obtain the two randomized data tags, determining that the two data corresponding to the two data tags have equivalence if the two randomized data tags are determined to be equal, and determining that the two data corresponding to the two data tags do not have equivalence if the two randomized data tags are determined to be not equal.
In a fifth aspect of the present disclosure, an electronic device is provided. The electronic device includes: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions when executed by the at least one processing unit cause the apparatus to perform the steps of the method according to the fourth aspect of the present disclosure.
In a sixth aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a machine, implements a method according to the fourth aspect of the present disclosure.
The summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to be used to limit the scope of the disclosure.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following more particular descriptions of exemplary embodiments of the disclosure as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts throughout the exemplary embodiments of the disclosure.
FIG. 1 illustrates a schematic flow diagram of a method 100 for generating a data tag supporting data equivalency check in accordance with an embodiment of the present disclosure;
FIG. 2 illustrates a schematic flow diagram of a method 200 for generating a data tag for target data in accordance with an embodiment of the present disclosure;
FIG. 3 illustrates a schematic flow diagram of a method 300 for data equivalence checking in accordance with an embodiment of the present disclosure; and
fig. 4 schematically illustrates a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure.
Like or corresponding reference characters indicate like or corresponding parts throughout the several views.
Detailed Description
Preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present disclosure are illustrated in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The term "comprising" and variations thereof as used herein means open ended, i.e., "including but not limited to. The term "or" means "and/or" unless specifically stated otherwise. The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment. The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like, may refer to different or the same object. Other explicit and implicit definitions are also possible below. It should be appreciated that the "data tag" herein may also be referred to as a "data digest", "data fingerprint", etc.
As described above, since the hash operation is a deterministic operation, the same data will get the same hash value, which risks revealing confidential information on the chain. The equality information between the data can be protected to a certain extent by directly adding the random number to the data, but the scheme is difficult for a verification party or a third party to know the equality relation of the data under the condition that the third party does not obtain the plaintext.
To at least partially address one or more of the above problems, as well as other potential problems, example embodiments of the present disclosure propose a scheme for generating data tags that support data equivalence checking. In this scheme, at the data owner device, two first random numbers are selected from a predetermined plurality of first random numbers, order identification information of the two first random numbers among the predetermined plurality of first random numbers is determined, and for each of the two first random numbers: determining a set of randomized elliptic curve base points corresponding to the first random numbers from a predetermined plurality of sets of randomized elliptic curve base points, the predetermined plurality of sets of randomized elliptic curve base points corresponding to the predetermined plurality of first random numbers one-to-one, the predetermined set of randomized elliptic curve base points being generated by elliptic curve multiplication of the corresponding predetermined first random numbers with the predetermined set of elliptic curve base points, generating a data tag for the target data based on the determined set of randomized elliptic curve base points, and transmitting two sequential identification information and two data tags one-to-one to the data verifier device for data equivalence verification by the data verifier device.
In the scheme, two first random numbers in the preset plurality of first random numbers are selected to determine two corresponding groups of randomized elliptic curve base points and are used for generating the data label of the data, and the generated data label does not leak data information but can support data equivalence verification.
Fig. 1 shows a schematic flow diagram of a method 100 for generating a data tag supporting data equivalency check according to an embodiment of the present disclosure. For example, the method 100 may be performed by a data owner device or an electronic device 400 as shown in fig. 4. It should be understood that method 100 may also include additional blocks not shown and/or that the blocks shown may be omitted, the scope of the disclosure being not limited in this respect.
At block 102, at a data owner device, two first random numbers are selected from a predetermined plurality of first random numbers. The predetermined plurality of first random numbers are, for example, a1, a2, a3..
At block 104, order identification information of two first random numbers among a predetermined plurality of first random numbers is determined. For example, if the two random numbers selected are a1 and a2, the sequence identification information is 1 and 2.
At block 106, for each of the two first random numbers: and determining a group of randomized elliptic curve base points corresponding to the first random numbers from a preset plurality of randomized elliptic curve base points, wherein the preset plurality of randomized elliptic curve base points are in one-to-one correspondence with the preset plurality of first random numbers, and the preset group of randomized elliptic curve base points are generated by elliptic curve multiplication based on the corresponding preset first random numbers and the preset group of elliptic curve base points. For example, the predetermined set of randomized elliptic curve base points are G-1{ a1 x G0, a1 x G1,..a.1 x gN }, G-2{ a 2x G0, a 2x G1,..a 2x gN }, G-d { ad x G0, ad x G1,.. ad gN, where G0, g1.. GN represents elliptic curve base points, a 0G 0 and a 1G 1 etc. represent randomized elliptic curve base points, G-1 corresponds to a1, G-2 corresponds to a2, and so on. For example, the first random numbers determined are a1 and a2, a set of randomized elliptic curve base points G-1 corresponding to a1 and a set of randomized elliptic curve base points G-2 corresponding to a2 are determined.
At block 108, a data tag for the target data is generated based on the determined set of randomized elliptic curve base points. As will be described in detail below in connection with fig. 2.
At block 110, two sequential identification information and two data tags, one to one, are sent to the data verifier device for data equivalence verification by the data verifier device.
The data owner device and the data verifier device are such as, but not limited to, terminal devices, servers, etc. Terminal devices such as, but not limited to, mobile phones, smart phones, laptops, tablet computers, personal Digital Assistants (PDAs), wearable devices, etc. Servers such as, but not limited to, personal computers, server computers, multiprocessor systems, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
In the scheme, two first random numbers in the preset plurality of first random numbers are selected to determine two corresponding groups of randomized elliptic curve base points and are used for generating the data label of the data, and the generated data label does not leak data information but can support data equivalence verification.
In some embodiments, the method 100 may further include receiving a predetermined plurality of first random numbers and a predetermined plurality of sets of randomized elliptic curve base points from the data verifier device.
Fig. 2 shows a schematic flow diagram of a method 200 for generating an original data tag for target data, according to an embodiment of the present disclosure. For example, the method 200 may be performed by a data owner device or an electronic device 400 as shown in fig. 4. It should be understood that method 200 may also include additional blocks not shown and/or that the blocks shown may be omitted, the scope of the disclosure being not limited in this respect.
At block 202, the target data is divided into N data blocks, each of the N data blocks having a size not exceeding a predetermined size, N being an integer greater than 1. The predetermined size may include a domain width of an elliptic curve. For example, the field width of the elliptic curve is 256 bits, and the size of the data block may not exceed 256 bits, for example not more than 31 bytes. The size of each data block may be the same or different.
At block 204, elliptic curve multiplication operations are performed on the N data blocks in one-to-one correspondence with N randomized elliptic curve base points of n+1 of a set of randomized elliptic curve base points to obtain N elliptic curve points. For example, the result of the data block is multiplied by the corresponding randomized elliptic curve base point, that is, multiplied, to obtain the elliptic curve point corresponding to the data block. The multiplication may be achieved by an elliptic curve addition operation, e.g. a randomized elliptic curve base point G,2*G can be realized by G + G, 3*G can pass through G +: g+g. Taking the base point of the randomized elliptic curve corresponding to a1 as an example, it can be expressed as g1=a1×g1, g2=a1×g2, and so on.
In some embodiments, performing the elliptic curve multiplication operation with the N data blocks in one-to-one correspondence with the N randomized elliptic curve bases of the n+1 randomized elliptic curve bases comprises performing the elliptic curve multiplication operation with the N data blocks in one-to-one correspondence with the front or rear N randomized elliptic curve bases of the n+1 randomized elliptic curve bases to obtain the N elliptic curve points. For example, the data block is denoted as M1, M2 to MN, the latter N randomized elliptic curve base points are denoted as G1 to GN, M1 corresponds to G1, M2 corresponds to G2, and MN corresponds to GN, then the N elliptic curve points are denoted as M1 x G0, M2x G1 to MN x GN, herein "x" represents elliptic curve multiplication operations. Taking the randomized elliptic curve base point corresponding to a1 as an example, N elliptic curve points may be denoted as M1 x a1 x g0, M2x a1 x g1 to MN x a1 x gN.
At block 206, the remaining randomized elliptic curve base points of the n+1 randomized elliptic curve base points are elliptic curve multiplied with a second random number to obtain the n+1th elliptic curve point. For example, the remaining randomized elliptic curve base point is denoted as G0, the second random number is denoted as R2, and the n+1th elliptic curve point is denoted as R2 x G0. The second random number may be the same as or different from the first random number.
At block 208, the n+1 elliptic curve points are elliptic curve added to obtain a data tag for the target data. For example, the data label l=r2×g0+m1×g1+m2×g2+m3×g3+m4×g4+ … +mn×gn, where "+" indicates an elliptic curve addition operation. Taking the base point of the randomized elliptic curve corresponding to a1 as an example, the data label l=r2×a1×g0+m1×a1+m2×a1×g2+m3×a1+g3+m4×a1+g4+ … +m1×gn. The addition operation of the two elliptic curve points can be obtained by calculating the point at which the intersection point between the two elliptic curve point connecting lines and the elliptic curve is symmetrical about the X-axis. The addition operation of the elliptic curve points can be split into addition operation of every two elliptic curve points, and finally one elliptic curve point, namely the data label for the target data, is obtained.
Therefore, the security of the data label is ensured by the elliptic curve discrete logarithm problem based on the elliptic curve data label technology; the data tag does not exceed a predetermined size, such as the domain width of an elliptic curve, so that the size of the data tag is very short and suitable for various blockchain scenes; because the elliptic curve base points are adopted to encrypt the data original text and randomize the data labels, the data labels can not leak any information of the data original text, and the information hiding effect is realized; the data tag guarantees uniqueness, and once the data tag is uplink, the data tag is bound with the original data, so that a malicious user is effectively prevented from tampering with the original data.
In some embodiments, the method 200 further comprises determining whether at least one of the N data blocks is updated, and if it is determined that at least one of the N data blocks is updated, for each of the at least one data block: determining a difference between the updated data block and the data block before updating, performing elliptic curve multiplication operation on the determined difference and an elliptic curve base point corresponding to the data block to obtain an elliptic curve point corresponding to the updated data block, and performing elliptic curve addition operation on at least one elliptic curve point corresponding to at least one updated data block and the data tag to obtain the data tag for the updated target data. The update may include at least one of deletion, addition, and modification. For example, when the data block M2 is updated, the updated data block is denoted as M2X, and the corresponding elliptic curve base point is G2, the elliptic curve point corresponding to the updated data block is (M2X-M2) ×g2, and the data label for the updated target data is updated to lx=l+ (M2X-M2) ×g2. Therefore, after the data is updated in a small range, such as adding, deleting and modifying operations, the data tag is recalculated only by calculating the updated data block, so that less calculation resources are consumed.
In addition, when two large data sets are combined, the data tag supports direct combining operation without recalculating the combined data.
Fig. 3 shows a schematic flow chart of a method 300 for data equivalence checking in accordance with an embodiment of the disclosure. For example, the method 300 may be performed by a data verifier device or an electronic device 400 as shown in fig. 4. It should be understood that method 300 may also include additional blocks not shown and/or that the blocks shown may be omitted, the scope of the disclosure being not limited in this respect.
At block 302, at the data verifier device, two sequence identification information and two data tags are received from the data owner device, the two sequence identification information indicating a sequence of the two first random numbers among a predetermined plurality of first random numbers, the two first random numbers and the two data tags being in one-to-one correspondence. For example, the received two sequential identification information are 1 and 2, representing a1 st first random number and a2 nd first random number of the predetermined plurality of first random numbers, the two received data labels, for example L1 and L2, may be denoted l1=r2×a1+m1×a1+m2×a1+g2+m3×a1+g3+m4×a1+g4+ … +m1×gn, and l2=r2×a2+m1×a2+m2×a2+m2×a2×g2+m3×a2×g3+m4×a2×g4+ … +mn×a2×gn. For example, a1 corresponds to L1, and a2 corresponds to L2.
At block 304, two first random numbers are obtained from a predetermined plurality of first random numbers based on the two sequential identification information. For example, a1 and a2 are acquired from a predetermined plurality of first random numbers a1, a2, a3.. In some embodiments, the predetermined plurality of first random numbers may be previously generated by the data verifier device and transmitted to the data owner device.
At block 306, the two data tags are each elliptic curve multiplied with a non-corresponding one of the two first random numbers to obtain two randomized data tags. For example, elliptic curve multiplication of a1 and L2 and elliptic curve multiplication of a2 and L1 results in two randomized data labels l1 '=a2×l1=a2 (r2×a1×g0+m1×g1+m2×a1×g2+m3×a1+g3+g3+m4×a1+g4+ … +mn×a1×gn) =a1×a2×r2+g0+m1+g2+g2+m3+g3+m4+g4+mn×gn, l2' =a1×l2=a1×g0+m1×a2×g1+m2×g2+m2×g2+m3×a2×g3+m4×a2+g4+ … +m2×gn) =a1×a2×g2+m2×g2+g2+m3+m4+g4+ … +mn.
At block 308, a determination is made as to whether the two randomized data tags are equal.
If it is determined at block 308 that the two randomized data tags are equal, then at block 310 it is determined that the two data corresponding to the two data tags have equivalence.
If it is determined at block 308 that the two randomized data tags are not equal, then at block 312 it is determined that the two data corresponding to the two data tags do not have equivalence.
From the above representation of the two randomized data tags, it can be seen that if the two randomized data tags are equal, it is indicated that their corresponding data are equivalent, otherwise they are not.
Thus, the data verifier device can verify the equivalence of data by two data tags without revealing the data plaintext thereto.
Fig. 4 schematically illustrates a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure. The data owner device and the data verifier device described above may be implemented by the electronic device 400. As shown, the device 400 includes a Central Processing Unit (CPU) 401 that may perform various suitable actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM) 402 or loaded from a storage unit 408 into a Random Access Memory (RAM) 403. In RAM403, various programs and data required for the operation of device 400 may also be stored. The CPU 401, ROM402, and RAM403 are connected to each other by a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Various components in device 400 are connected to I/O interface 405, including: an input unit 406 such as a keyboard, a mouse, etc.; an output unit 407 such as various types of displays, speakers, and the like; a storage unit 408, such as a magnetic disk, optical disk, etc.; and a communication unit 409 such as a network card, modem, wireless communication transceiver, etc. The communication unit 409 allows the device 400 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processing unit 401 performs the various methods and processes described above, such as performing the methods 100-300. For example, in some embodiments, the methods 100-300 may be implemented as a computer software program stored on a machine-readable medium, such as the storage unit 408. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 400 via the ROM402 and/or the communication unit 409. One or more of the operations of the methods 100-300 described above may be performed when the computer program is loaded into RAM403 and executed by CPU 401. Alternatively, in other embodiments, CPU 401 may be configured to perform one or more actions of methods 100-300 in any other suitable manner (e.g., by means of firmware).
The present disclosure may be methods, apparatus, systems, and/or computer program products. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for performing aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer program instructions for performing the operations of the present disclosure can be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, c++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The foregoing description of the embodiments of the present disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvement of the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (8)

1. A method for generating a data tag supporting data equivalence checking, comprising:
selecting, at the data owner device, two first random numbers from a predetermined plurality of first random numbers;
determining sequence identification information of the two first random numbers in the predetermined plurality of first random numbers;
for each of the two first random numbers:
determining a set of randomized elliptic curve base points corresponding to the first random numbers from a predetermined plurality of sets of randomized elliptic curve base points, wherein the predetermined plurality of sets of randomized elliptic curve base points are in one-to-one correspondence with the predetermined plurality of first random numbers, and the predetermined set of randomized elliptic curve base points are generated by elliptic curve multiplication based on the corresponding predetermined first random numbers and the predetermined set of elliptic curve base points;
generating a data tag for the target data based on the determined set of randomized elliptic curve base points; and
and sending the two sequence identification information and the two data labels which are in one-to-one correspondence to data verifier equipment so that the data verifier equipment performs data equivalence verification.
2. The method of claim 1, further comprising:
the predetermined plurality of first random numbers and the predetermined plurality of sets of randomized elliptic curve base points are received from the data verifier device.
3. The method of claim 1, wherein generating the data tag for the target data comprises:
dividing the target data into N data blocks, wherein the size of each data block in the N data blocks is not more than a preset size, and N is an integer greater than 1;
carrying out elliptic curve multiplication operation on the N data blocks and N randomized elliptic curve base points in the N+1 randomized elliptic curve base points included in the group of randomized elliptic curve base points in a one-to-one correspondence manner so as to obtain N elliptic curve points;
carrying out elliptic curve multiplication operation on the rest randomized elliptic curve base points in the n+1 randomized elliptic curve base points and a second random number to obtain an n+1 elliptic curve point; and
and performing elliptic curve addition operation on the N+1 elliptic curve points to obtain an original data tag for the target data.
4. A method according to claim 3, wherein the predetermined size comprises a domain width of an elliptic curve.
5. The method of claim 3, wherein performing elliptic curve multiplication operations with the N data blocks in one-to-one correspondence with N of the n+1 elliptic curve base points comprises:
and carrying out elliptic curve multiplication operation on the N data blocks and the front or rear N elliptic curve base points in the N+1 elliptic curve base points in a one-to-one correspondence manner so as to obtain the N elliptic curve points.
6. A method for data equivalence verification, comprising:
receiving, at a data verifier device, two sequence identity information and two data labels from a data owner device, the two sequence identity information indicating the sequence of two first random numbers among a predetermined plurality of first random numbers, the two first random numbers and the two data labels being in one-to-one correspondence;
acquiring the two first random numbers from the predetermined plurality of first random numbers based on the two sequence identification information;
performing elliptic curve multiplication operation on the two data labels and non-corresponding first random numbers in the two first random numbers respectively to obtain two randomized data labels;
in response to determining that the two randomized data tags are equal, determining that the two data corresponding to the two data tags have equivalence; and
in response to determining that the two randomized data tags are not equal, it is determined that the two data corresponding to the two data tags do not have equivalence.
7. An electronic device, comprising:
at least one processing unit; and
at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, which when executed by the at least one processing unit, cause the apparatus to perform the steps of the method according to any one of claims 1 to 6.
8. A computer readable storage medium having stored thereon a computer program which, when executed by a machine, implements the method according to any of claims 1 to 6.
CN202010232304.6A 2020-03-27 2020-03-27 Method for checking data equivalence, electronic device and computer storage medium Active CN111444242B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010232304.6A CN111444242B (en) 2020-03-27 2020-03-27 Method for checking data equivalence, electronic device and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010232304.6A CN111444242B (en) 2020-03-27 2020-03-27 Method for checking data equivalence, electronic device and computer storage medium

Publications (2)

Publication Number Publication Date
CN111444242A CN111444242A (en) 2020-07-24
CN111444242B true CN111444242B (en) 2023-11-14

Family

ID=71649082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010232304.6A Active CN111444242B (en) 2020-03-27 2020-03-27 Method for checking data equivalence, electronic device and computer storage medium

Country Status (1)

Country Link
CN (1) CN111444242B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112626B1 (en) * 2006-01-20 2012-02-07 Symantec Corporation Method and apparatus to provide public key authentication with low complexity devices
CN102638345A (en) * 2012-05-09 2012-08-15 四川师范大学 DAA (Data Access Arrangement) authentication method and system based on elliptical curve divergence logarithm intractability assumption
CN107302437A (en) * 2017-07-31 2017-10-27 飞天诚信科技股份有限公司 The personalization method and personalization device of a kind of off line authentication data
CN109889341A (en) * 2019-01-15 2019-06-14 思力科(深圳)电子科技有限公司 Data processing method, electronic tag and radio-frequency card reader

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203548A (en) * 2007-02-20 2008-09-04 Oki Electric Ind Co Ltd Key generating method using quadric hyperbolic curve group, decoding method, signature verification method, key stream generating method and device
US8522027B2 (en) * 2008-06-16 2013-08-27 France Telecom Method for authenticating an entity by a verifier
US9323950B2 (en) * 2012-07-19 2016-04-26 Atmel Corporation Generating signatures using a secure device
IT201600076089A1 (en) * 2016-07-20 2018-01-20 St Microelectronics Srl PROCEDURE FOR THE GENERATION OF A DIGITAL SIGNATURE OF A MESSAGE, CORRESPONDING GENERATION UNITS, ELECTRONIC EQUIPMENT AND COMPUTER PRODUCT

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112626B1 (en) * 2006-01-20 2012-02-07 Symantec Corporation Method and apparatus to provide public key authentication with low complexity devices
CN102638345A (en) * 2012-05-09 2012-08-15 四川师范大学 DAA (Data Access Arrangement) authentication method and system based on elliptical curve divergence logarithm intractability assumption
CN107302437A (en) * 2017-07-31 2017-10-27 飞天诚信科技股份有限公司 The personalization method and personalization device of a kind of off line authentication data
CN109889341A (en) * 2019-01-15 2019-06-14 思力科(深圳)电子科技有限公司 Data processing method, electronic tag and radio-frequency card reader

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Automated Verification of Real-World Cryptographic Implementations;Tomb, Aaron;《 IEEE security & privacy》;全文 *
Verified indifferentiable hashing into elliptic curves;Barthe, Gilles等;《Journal of Computer Security》;第21卷(第6期);全文 *
基于双私钥椭圆曲线加密的RFID身份认证协议;谢国波; 郭龙;《 广东工业大学学报 》(第2015年第03期期);全文 *

Also Published As

Publication number Publication date
CN111444242A (en) 2020-07-24

Similar Documents

Publication Publication Date Title
CN111444547B (en) Method, apparatus and computer storage medium for data integrity attestation
CN111339545B (en) Method for generating data tag, electronic device and computer storage medium
CN108011949B (en) Method and apparatus for acquiring data
CN111950032A (en) Block chain-based data storage method, terminal device and storage medium
CN111339547B (en) Method for generating data tag, electronic device and computer storage medium
CN114818000A (en) Privacy protection set confusion intersection method, system and related equipment
CN110300222B (en) Short message display method, system, terminal equipment and computer readable storage medium
CN111444242B (en) Method for checking data equivalence, electronic device and computer storage medium
CN111447072B (en) Method, apparatus and storage medium for generating data equivalent zero knowledge proof
US10911434B2 (en) Phone number protection system
CN111444535B (en) Method, apparatus and computer storage medium for generating aggregated data tag
CN110020040B (en) Method, device and system for querying data
CN113609156B (en) Data query and write method and device, electronic equipment and readable storage medium
CN111444548B (en) Method, apparatus and computer storage medium for data integrity attestation
CN112182603B (en) Anti-crawler method and device
KR102318947B1 (en) Method for protecting privacy data, computing device and system for executing the method
CN111444044A (en) Method for data redundancy backup check, electronic device and computer storage medium
CN111444541B (en) Method, apparatus and storage medium for generating data mean zero knowledge proof
CN113992345A (en) Method and device for encrypting and decrypting webpage sensitive data, electronic equipment and storage medium
CN111737218A (en) File sharing method and device
CN114003188B (en) Information encryption display method, device, electronic equipment and computer readable medium
CN113507364B (en) Transaction book processing method and device, electronic equipment and storage medium
CN112073174B (en) Communication account decryption method, device, equipment, storage medium and information interaction system
CN112035850B (en) Data processing method and device and electronic equipment
KR101728945B1 (en) System and method for determining existence of relationship between users

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