CN111339545B - Method for generating data tag, electronic device and computer storage medium - Google Patents
Method for generating data tag, electronic device and computer storage medium Download PDFInfo
- Publication number
- CN111339545B CN111339545B CN202010203206.XA CN202010203206A CN111339545B CN 111339545 B CN111339545 B CN 111339545B CN 202010203206 A CN202010203206 A CN 202010203206A CN 111339545 B CN111339545 B CN 111339545B
- Authority
- CN
- China
- Prior art keywords
- elliptic curve
- data tag
- data
- band information
- decryption
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 229940121710 HMGCoA reductase inhibitor Drugs 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
According to example embodiments of the present disclosure, methods, electronic devices, and computer storage media for generating data tags are provided. In the method, out-of-band information associated with target data is acquired; multiplying the original data tag for the target data with a first random number to obtain a randomized data tag; adding the out-of-band information with the randomized data tag to obtain a data tag encrypted with the out-of-band information; multiplying an encryption key obtained by multiplying the original data tag by the decryption key by a first random number to obtain decryption auxiliary information; the data tag encrypted with the out-of-band information and the decryption assistance information are sent into the blockchain network as a final data tag for the target data so that the owner of the decryption key decrypts the out-of-band information based on the decryption assistance information. Therefore, the invention can hide the out-of-band information in the data tag, can not be taken out from the data tag under the condition of no key, and can only decrypt the out-of-band information by the party with the key.
Description
Technical Field
Embodiments of the present disclosure relate generally to the field of information processing, and more particularly, to a method for generating a data tag encrypted with out-of-band information, a method for decrypting the encrypted out-of-band information in the data tag, 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. In this method, the data tag can only uniquely identify the original plaintext data, but the data plaintext cannot be calculated from the hash operation result, and the data plaintext is often transmitted through an under-chain secure channel. In some application scenarios, a secure channel cannot be established under the chain, at which time the data plaintext will be difficult to transmit and verify. In another type of scenario, some information of the data, such as the length of the data, date, association ID, etc., needs to be presented to the interested party while the other party is masked.
Disclosure of Invention
Embodiments of the present disclosure provide a method for generating a data tag encrypted with out-of-band information, a method for decrypting encrypted out-of-band information in a data tag, an electronic device, and a computer storage medium, whereby the present invention is capable of hiding out-of-band information of data in a data tag, unable to be taken out of the data tag without a key, and only a party having a key can decrypt out-of-band information from the data tag.
In a first aspect of the present disclosure, a method for generating a data tag encrypted with out-of-band information is provided. The method comprises the following steps: acquiring out-of-band information associated with target data; multiplying the original data tag for the target data with a first random number to obtain a randomized data tag; adding the out-of-band information with the randomized data tag to obtain a data tag encrypted with the out-of-band information; multiplying an encryption key obtained by multiplying the original data tag by the decryption key by a first random number to obtain decryption auxiliary information; the data tag encrypted with the out-of-band information and the decryption assistance information are sent into the blockchain network as a final data tag for the target data so that the owner of the decryption key decrypts the out-of-band information based on the decryption assistance information.
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 decrypting encrypted out-of-band information in a data tag, comprising: acquiring a data tag encrypted with out-of-band information and decryption auxiliary information generated according to the method of the first aspect from a blockchain network; multiplying the decryption assistance information with the decryption key in an inverse manner to obtain a randomized data tag; and subtracting the randomized data tag from the data tag encrypted with the out-of-band information to obtain the out-of-band information.
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 encrypted with out-of-band information in accordance with an embodiment of the present disclosure;
FIG. 2 illustrates a schematic flow diagram of a method 200 for generating an original 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 decrypting encrypted out-of-band information in a data tag 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, in some scenarios of blockchains, it is desirable to expose some information of the data, such as the length of the data, date, association ID, etc., to the interested party while masking such information from other parties.
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 a data tag encrypted with out-of-band information. In this scheme, out-of-band information associated with target data is acquired; multiplying the original data tag for the target data with a first random number to obtain a randomized data tag; adding the out-of-band information with the randomized data tag to obtain a data tag encrypted with the out-of-band information; multiplying an encryption key obtained by multiplying the original data tag by the decryption key by a first random number to obtain decryption auxiliary information; the data tag encrypted with the out-of-band information and the decryption assistance information are sent into the blockchain network as a final data tag for the target data so that the owner of the decryption key decrypts the out-of-band information based on the decryption assistance information.
In the above scheme, a party with an encryption key can encrypt or hide the out-of-band information of the data in the data tag, so that a keyless party in the blockchain network cannot obtain the out-of-band information, and additional decryption auxiliary information is added behind the data tag, so that the party with the decryption key can decrypt the out-of-band data from the data tag based on the decryption auxiliary information.
Fig. 1 shows a schematic flow chart of a method 100 for generating a data tag encrypted with out-of-band information according to an embodiment of the present disclosure. For example, the method 100 may be performed by a node in a blockchain network 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, out-of-band information associated with target data is acquired. The out-of-band information includes the length of the data, date, association ID, etc.
At block 104, the original data tag for the target data is multiplied with a first random number to obtain a randomized data tag. For example, the original data tag is denoted as L, the first random number is denoted as R1, and the randomized data tag is denoted as R1. In some embodiments, the original data tag for the target data includes a hash value of the target data, in which case the multiplication is a numerical multiplication. In other embodiments, the original data tag for the target data includes an elliptic curve-based data tag for the target data, in which case multiplication with the data tag is herein an elliptic curve multiplication operation with the data tag, and addition with the data tag is an elliptic curve addition operation with the data tag. As will be described in detail below in connection with fig. 2.
At block 106, the out-of-band information is added to the randomized data tag to obtain a data tag encrypted with the out-of-band information. For example, the out-of-band information is denoted as L, the randomized data tag is denoted as r1×l, and the data tag encrypted with the out-of-band information is denoted as r1×l+s.
In the case where the original data tag is the original data tag generated according to the method 200, adding the out-of-band information to the randomized data tag includes mapping the out-of-band information to a point on the elliptic curve, and adding the point to the randomized data tag to obtain the data tag encrypted with the out-of-band information. The out-of-band information may be mapped to points on the elliptic curve using methods such as trial and error (Try and Increment method), sha Luwo statin algorithm (Shalue-Woestijne Algorithm), or other suitable methods.
At block 108, the encryption key resulting from multiplying the original data tag with the decryption key is multiplied with the first random number to obtain decryption assistance information. For example, the original data tag is denoted by L, the decryption key is denoted by K, the encryption key is denoted by k×l, and the decryption auxiliary information is denoted by R1×k×l.
At block 110, the data tag encrypted with the out-of-band information and the decryption assistance information are sent into the blockchain network as the final data tag for the target data, such that the owner of the decryption key decrypts the out-of-band information based on the decryption assistance information. For example, the data tag encrypted with the out-of-band information and the decryption assistance information are transmitted to the blockchain network, such as to the owner of the decryption key, via a blockchain transaction message such that the owner of the decryption key obtains the data tag encrypted with the out-of-band information and the decryption assistance information in the transaction message from the blockchain network to decrypt the out-of-band information from the data tag encrypted with the out-of-band information based on the decryption assistance information and the decryption key.
Therefore, one party with the encryption key can encrypt or hide the out-of-band information of the data in the data tag, so that the non-key party in the blockchain network cannot obtain the out-of-band information, and the decryption auxiliary information is added behind the data tag, so that the party with the decryption key can decrypt the out-of-band data from the data tag based on the decryption auxiliary information.
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 node in a blockchain network 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, n+1 results from the concatenation of n+1 distinct values with the predetermined string, respectively, are hashed to points on the elliptic curve to obtain n+1 elliptic curve base points. The n+1 different values may include n+1 consecutive integers, such as 0 to N,1 to n+1, and the like. The predetermined string may be, for example, any disclosed random or non-random string.
In some embodiments, hashing n+1 results, each of which is obtained by concatenating n+1 different values with a predetermined string, onto a point on the elliptic curve may include concatenating n+1 different values with the predetermined string, respectively, to obtain n+1 results, hashing n+1 results to obtain n+1 hash results, and mapping n+1 hash results onto a point on the elliptic curve to obtain n+1 elliptic curve base points. Splicing the value to the predetermined string may, for example, splice the value before or after the predetermined string to obtain a spliced string. The hash operation may employ any suitable hash operation, such as SHA256, and the like. Mapping the hash result to points on the elliptic curve may employ methods such as trial and error (Try and Increment method), sha Luwo statin algorithm (Shalu-Woestijne Algorithm), or other suitable group hash methods.
At block 206, the elliptic curve multiplication operations are performed with N data blocks in one-to-one correspondence with N elliptic curve base points of the n+1 elliptic curve base points to obtain N elliptic curve points. For example, the result of the data block is multiplied by the corresponding 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. with an elliptic curve base point G,2*G can be realized by G + G, 3*G can pass through G +: g+g.
In some embodiments, performing elliptic curve multiplication operations on N data blocks in one-to-one correspondence with N elliptic curve base points in the n+1 elliptic curve base points includes performing elliptic curve multiplication operations on N data blocks in one-to-one correspondence with front or rear N elliptic curve base points in the n+1 elliptic curve base points to obtain N elliptic curve points. For example, the data blocks are denoted as M1, M2 to MN, the latter N elliptic curve base points are denoted as G1 to GN, M1 corresponds to G1, M2 corresponds to G2, and MN corresponds to GN, and the N elliptic curve points are denoted as M1 x G0, M2x G1 to MN x GN, where "x" represents elliptic curve multiplication operations.
At block 208, the remaining elliptic curve base points of the n+1 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 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 210, 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. 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 decrypting encrypted out-of-band information in a data tag according to an embodiment of the disclosure. For example, the method 300 may be performed by a node in a blockchain network that owns a decryption key or by 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, a data tag encrypted with out-of-band information and decryption assistance information generated according to the method 100 is obtained from a blockchain network. For example, by acquiring a transaction message addressed to the present node in the blockchain network, a data tag encrypted with out-of-band information and decryption assistance information are acquired from the transaction message. As described above, the data tag encrypted with the out-of-band information is denoted as r1×l+s, and the decryption auxiliary information may be denoted as r1×k×l.
At block 304, the decryption assistance information is multiplied by the inverse of the decryption key to obtain a randomized data tag. For example, the decryption assistance information may be represented by r1×k×l, and the inverse of the decryption key by 1/K, then the randomized data tag r1×l is obtained.
At block 306, the randomized data tag is subtracted from the data tag encrypted with the out-of-band information to obtain the out-of-band information. For example, subtracting the randomized data tag R1 x L from the data tag R1 x l+s with the encrypted out-of-band information yields S, i.e., the out-of-band information.
In the case where the original data tag is the original data tag generated according to the method 200, subtracting the randomized data tag from the data tag encrypted with the out-of-band information further includes mapping the resulting out-of-band information from points on the elliptic curve back to the original out-of-band information. The out-of-band information may be mapped to points on the elliptic curve using, for example, an inverse of the methods such as the trial-and-increment method (Try and Increment method), the Sha Luwo statin algorithm (Shallue-Woestijne Algorithm), or other suitable methods.
Thus, the owner of the decryption key is able to decrypt the out-of-band information hidden or encrypted in the data tag based on the decryption assistance information and the decryption key, while the other party is not able to obtain the out-of-band information.
Fig. 4 schematically illustrates a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure. 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 (9)
1. A method for generating a data tag encrypted with out-of-band information, comprising:
acquiring out-of-band information associated with target data;
multiplying the original data tag for the target data with a first random number to obtain a randomized data tag;
adding the out-of-band information and the randomized data tag to obtain a data tag encrypted with the out-of-band information;
multiplying the encryption key obtained by multiplying the original data tag by the decryption key by the first random number to obtain decryption auxiliary information;
the data tag encrypted with the out-of-band information and the decryption assistance information are sent into a blockchain network as a final data tag for the target data so that an owner of the decryption key decrypts the out-of-band information based on the decryption assistance information.
2. The method of claim 1, wherein the original data tag for the target data is obtained via:
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;
hashing N+1 results obtained by splicing the N+1 different values with a preset character string to points on the elliptic curve to obtain N+1 elliptic curve base points;
carrying out elliptic curve multiplication operation on the N data blocks and N elliptic curve base points in the N+1 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 elliptic curve base points in the n+1 elliptic curve base points and the 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.
3. The method of claim 2, wherein the predetermined size comprises a domain width of an elliptic curve.
4. The method of claim 2, wherein the n+1 different values comprise integers 0 to N.
5. The method of claim 2, wherein hashing the n+1 results of the concatenation of the n+1 different values with the predetermined string, respectively, to points on an elliptic curve comprises:
splicing the N+1 different values with the preset character strings respectively to obtain N+1 results;
hashing the N+1 results to obtain N+1 hash results; and
mapping the n+1 hash results to points on an elliptic curve to obtain the n+1 elliptic curve base points.
6. The method of claim 2, 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.
7. A method for decrypting encrypted out-of-band information in a data tag, comprising:
acquiring the data tag encrypted with out-of-band information and decryption auxiliary information generated by the method of claim 1 from a blockchain network;
multiplying the decryption assistance information with the decryption key in an inverse manner to obtain a randomized data tag; and
subtracting the randomized data tag from the data tag encrypted with the out-of-band information to obtain the out-of-band information.
8. 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 7.
9. 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 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010203206.XA CN111339545B (en) | 2020-03-20 | 2020-03-20 | Method for generating data tag, electronic device and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010203206.XA CN111339545B (en) | 2020-03-20 | 2020-03-20 | Method for generating data tag, electronic device and computer storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339545A CN111339545A (en) | 2020-06-26 |
CN111339545B true CN111339545B (en) | 2024-03-19 |
Family
ID=71180341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010203206.XA Active CN111339545B (en) | 2020-03-20 | 2020-03-20 | Method for generating data tag, electronic device and computer storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339545B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112133386A (en) * | 2020-09-29 | 2020-12-25 | 深圳壹账通智能科技有限公司 | Block chain-based information processing method, device, equipment and medium |
CN112199697A (en) * | 2020-09-29 | 2021-01-08 | 深圳壹账通智能科技有限公司 | Information processing method, device, equipment and medium based on shared root key |
CN112131593A (en) * | 2020-09-29 | 2020-12-25 | 深圳壹账通智能科技有限公司 | Information-based feature encryption method, device, equipment and storage medium |
CN114169361A (en) * | 2021-11-11 | 2022-03-11 | 歌尔股份有限公司 | Biological signal marking method, device, equipment and storage medium |
CN114189331B (en) * | 2021-12-13 | 2024-06-21 | 中国农业银行股份有限公司 | Key storage and reading method, device, equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990046974A (en) * | 1997-12-02 | 1999-07-05 | 이형도 | Flexible decoding method |
CN1929548A (en) * | 2005-09-05 | 2007-03-14 | 三星电子株式会社 | Cable broadcast receiving apparatus and composing method of channel map thereof |
CN104391805A (en) * | 2014-10-27 | 2015-03-04 | 浪潮集团有限公司 | Data structure for encrypting solid state disk |
CN106471831A (en) * | 2014-09-30 | 2017-03-01 | 华为技术有限公司 | The method of configuration, the device of configuration and equipment |
CN109274503A (en) * | 2018-11-05 | 2019-01-25 | 北京仁信证科技有限公司 | Distributed collaboration endorsement method and distributed collaboration signature apparatus, soft shield system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412462B2 (en) * | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
GB0013324D0 (en) * | 2000-06-02 | 2000-07-26 | Pace Micro Tech Plc | Improvements to broadcast data receiver and data transmission apparatus |
US8146142B2 (en) * | 2004-09-03 | 2012-03-27 | Intel Corporation | Device introduction and access control framework |
US8397072B2 (en) * | 2005-05-20 | 2013-03-12 | Rovi Solutions Corporation | Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable |
-
2020
- 2020-03-20 CN CN202010203206.XA patent/CN111339545B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990046974A (en) * | 1997-12-02 | 1999-07-05 | 이형도 | Flexible decoding method |
CN1929548A (en) * | 2005-09-05 | 2007-03-14 | 三星电子株式会社 | Cable broadcast receiving apparatus and composing method of channel map thereof |
CN106471831A (en) * | 2014-09-30 | 2017-03-01 | 华为技术有限公司 | The method of configuration, the device of configuration and equipment |
CN104391805A (en) * | 2014-10-27 | 2015-03-04 | 浪潮集团有限公司 | Data structure for encrypting solid state disk |
CN109274503A (en) * | 2018-11-05 | 2019-01-25 | 北京仁信证科技有限公司 | Distributed collaboration endorsement method and distributed collaboration signature apparatus, soft shield system |
Also Published As
Publication number | Publication date |
---|---|
CN111339545A (en) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339545B (en) | Method for generating data tag, electronic device and computer storage medium | |
CN111444547B (en) | Method, apparatus and computer storage medium for data integrity attestation | |
US10754970B2 (en) | Data masking | |
US8345876B1 (en) | Encryption/decryption system and method | |
US8036379B2 (en) | Cryptographic processing | |
CN107004084B (en) | Multiplicative mask for cryptographic operations | |
CN104657673A (en) | Average-complexity ideal-security order-preserving encryption | |
CN110516462B (en) | Method and apparatus for encrypting data | |
US10592257B2 (en) | Kernel management method, device and computer program product | |
CN109743161B (en) | Information encryption method, electronic device and computer readable medium | |
CN111064701A (en) | Shared data security access control method, device, equipment and medium | |
CN111339547B (en) | Method for generating data tag, electronic device and computer storage medium | |
CN114881247A (en) | Longitudinal federal feature derivation method, device and medium based on privacy computation | |
CN112019328B (en) | Encryption method, device, equipment and storage medium of IP address | |
CN113794706A (en) | Data processing method and device, electronic equipment and readable storage medium | |
CN111447072B (en) | Method, apparatus and storage medium for generating data equivalent zero knowledge proof | |
US9722780B2 (en) | Complex format-preserving tokenization scheme | |
CN111444535B (en) | Method, apparatus and computer storage medium for generating aggregated data tag | |
CN111339546B (en) | Method for generating data tag, electronic device and computer storage medium | |
CN111444548B (en) | Method, apparatus and computer storage medium for data integrity attestation | |
US12008146B2 (en) | Code-based signatures for secure programs | |
CN111444242B (en) | Method for checking data equivalence, electronic device and computer storage medium | |
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 | |
US20030138099A1 (en) | Method for computer-based encryption and decryption of data |
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 |