CN111949737A - Block chain-based data integrity verification method, terminal device and storage medium - Google Patents

Block chain-based data integrity verification method, terminal device and storage medium Download PDF

Info

Publication number
CN111949737A
CN111949737A CN202010904217.0A CN202010904217A CN111949737A CN 111949737 A CN111949737 A CN 111949737A CN 202010904217 A CN202010904217 A CN 202010904217A CN 111949737 A CN111949737 A CN 111949737A
Authority
CN
China
Prior art keywords
data block
target data
tag value
original data
value set
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.)
Withdrawn
Application number
CN202010904217.0A
Other languages
Chinese (zh)
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.)
Ningbo Fuwan Information Technology Co ltd
Original Assignee
Ningbo Fuwan 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 Ningbo Fuwan Information Technology Co ltd filed Critical Ningbo Fuwan Information Technology Co ltd
Priority to CN202010904217.0A priority Critical patent/CN111949737A/en
Publication of CN111949737A publication Critical patent/CN111949737A/en
Withdrawn legal-status Critical Current

Links

Images

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

The embodiment of the disclosure discloses a data integrity verification method based on a block chain, a terminal device and a storage medium. One embodiment of the method comprises: receiving a target data block number set sent by a target user; determining a label value set of an original data block based on a target data block number set; sending the target data block number set to a first terminal; receiving a target data block tag value set returned by a first terminal; verifying target data block integrity based on the target data block tag value set and the original data block tag value set. The method judges the integrity of the data block by using the unique label value set corresponding to the data block set without exposing the data information in the data block. In addition, the integrity change condition is monitored and issued by using the intelligent contract of the block chain, and data tampering warning information is sent out in time, so that the high-efficiency and accurate data integrity monitoring is realized, and the safety of the data stored in the block chain is protected.

Description

Block chain-based data integrity verification method, terminal device and storage medium
Technical Field
The embodiment of the disclosure relates to the field of block chains, in particular to a data storage verification method based on a block chain.
Background
The cloud storage and other centralized storage systems provide a solution for the storage of mass data, and bring great convenience for users to store and process data. By introducing the block chain, decentralized distributed storage is further realized, and the performance of distributed storage is improved. In a system based on block chain storage, the traditional method is still based on encryption for storage, so as to ensure the safety and integrity of data storage. In addition, a third party auditing mechanism is introduced into the decentralized blockchain, so that whether the stored data is tampered, and the problems of malicious attack and the like can be judged through the auditing mechanism.
However, ownership and management of data in the blockchain-based cloud storage are separated, which causes a series of security problems such as privacy disclosure and integrity destruction of user data.
First, blockchain-based storage service providers may privately delete data that users rarely use, or deliberately conceal unexpected data corruption, tampering for their own reputation. A blockchain-based storage center may also be subject to malicious attacks, resulting in data corruption, loss of sensitive data, and corruption of data integrity. The data integrity is judged directly by data comparison or encrypted data comparison, and the risk of exposing data information exists.
Secondly, the data integrity verification of a third-party audit organization is relied on, so that the threat of data leakage to the third party is increased, and the threat of collusion between a storage service provider based on a block chain and the third-party organization cannot be avoided.
Disclosure of Invention
This 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 claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Some embodiments of the present disclosure propose a block chain based data integrity verification method, a terminal device and a storage medium to solve one or more of the technical problems mentioned in the background section above.
In a first aspect, an embodiment of the present disclosure provides a data integrity verification method based on a block chain, where the method includes: receiving a target data block number set sent by a target user; determining a label value set of an original data block based on a target data block number set; sending the target data block number set to a first terminal, wherein the first terminal generates a target data block tag value set based on the target data block number set; receiving a target data block tag value set returned by a first terminal; verifying target data block integrity based on the target data block tag value set and the original data block tag value set.
In some embodiments, before receiving the target data block number set sent by the target user, the method further includes: generating a public key and a private key; dividing original data into a first number of data blocks to obtain an original data block set; for each original data block in the set of original data blocks, generating a tag value of the original data block using the following formula to obtain a set of original data block tag values:
Figure BDA0002660826200000021
wherein H () is a hash function, H: {0, 1}*→G1,G1For multiplication loop groups generated using prime p, g1Is G1The generation element of (a) is generated,
Figure BDA0002660826200000022
u is g1A is an arbitrary integer, h () is a hash function, h: {0, 1}*→Zp,ZpIs a field on a prime number p, x represents a private key, m represents an original data block, i is the original data block count, miFor the ith original data block, the data block is,
Figure BDA0002660826200000023
h (m) representing ui) To the power of t, t representing a time stamp, tiTime stamp representing the original data block, b block number, biIndicates the block number of the original data block, sigma indicates the tag value of the original data block, sigmaiRepresenting the i-th original data block tag value.
In some embodiments, the first terminal generates a set of target data block tag values based on the set of target data block numbers, including: first terminalSearching a target data block set according to the target data block numbering set; generating a set of target data block tag values using:
Figure BDA0002660826200000024
where n denotes the target data block, j is the target data block count, njRepresents the jth target data block, h () is a hash function, h: {0, 1}*→Zp,ZpIs a field on a prime number p, k represents the total number of blocks of the target data block, d represents the target data block tag value, djA tag value representing the jth target data block,
Figure BDA0002660826200000031
denotes djIs/are as follows
Figure BDA0002660826200000032
To the power, D represents a set of target data block tag values,
Figure BDA0002660826200000033
represents the 1 st to the kth number in terms of k as a count value pair
Figure BDA0002660826200000034
And performing successive multiplication processing.
In some embodiments, verifying target data block integrity based on the target data block tag value set and the original data block tag value set includes: determining a challenge tag value set based on the original data block tag value set; generating an evidence code using: p ═ l (B, v) · l (D, v) -l (T, g)2) Where B denotes a challenge tag value set, D denotes a target data block tag value set, T denotes an original data block tag value set, l (,) denotes a bilinear mapping, v is the public key, and v ═ g2 x,G2For multiplication loop groups generated using prime p, g2Is G2X denotes a private key, g2 xDenotes g2To the x-th power of; in response to p being 0, the target data block is determined to be complete.
In some embodiments, verifying target data block integrity based on the target data block tag value set and the original data block tag value set further comprises: in response to p not being 0, determining that the target data block is incomplete; updating the intelligent contract; intelligent contracts are published in blockchains.
In a second aspect, some embodiments of the present disclosure provide an apparatus for verifying data integrity based on a blockchain, including: a first receiving unit configured to receive a target data block number set sent by a target user; a generating unit configured to determine an original data block tag value set based on a target data block number set; a sending unit configured to send a target data block numbering set to a first terminal, wherein the first terminal generates a target data block tag value set based on the target data block numbering set; the second receiving unit is configured to receive the target data block tag value set returned by the first terminal; a verification unit configured to verify target data block integrity based on the target data block tag value set and the original data block tag value set.
In a third aspect, an embodiment of the present disclosure provides a terminal device, where the terminal device includes: one or more processors; a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the method as described in any implementation manner of the first aspect.
In a fourth aspect, the disclosed embodiments provide a computer readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
The embodiment of the disclosure provides a data integrity verification method based on a block chain, a terminal device and a storage medium. One embodiment of the method comprises: receiving a target data block number set sent by a target user; determining a label value set of an original data block based on a target data block number set; sending the target data block number set to a first terminal; receiving a target data block tag value set returned by a first terminal; verifying target data block integrity based on the target data block tag value set and the original data block tag value set.
One of the above-described various embodiments of the present disclosure has the following advantageous effects: and determining an original data block tag value set according to a target data block number set sent by a target user, and sending the target data block number set to a first terminal for storing data to obtain the target data block tag value set. And judging the integrity of the target data block by comparing the target data block tag value set with the original data block tag value set, and releasing incomplete information in a block chain. The embodiment of the disclosure judges the integrity of the data block by using the unique label value set corresponding to the data block set without exposing the data information in the data block. In addition, the integrity change condition is monitored and issued by using the intelligent contract of the block chain, and data tampering warning information is sent out in time, so that the high-efficiency and accurate data integrity monitoring is realized, and the safety of the data stored in the block chain is protected.
Drawings
Other features, objects and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an architectural diagram of an exemplary system in which some embodiments of the present disclosure may be applied;
fig. 2 is a flow diagram of some embodiments of a blockchain-based data integrity verification method according to the present disclosure;
FIG. 3 is a schematic block diagram of some embodiments of a blockchain-based data integrity verification apparatus according to the present disclosure;
FIG. 4 is a schematic block diagram of a computer system suitable for use as a server for implementing some embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the blockchain-based data integrity verification method of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have installed thereon various communication client applications, such as a data storage application, a data analysis application, a natural language processing application, and the like.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various terminal devices having a display screen, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the above-listed terminal apparatuses. Which may be implemented as multiple software or software modules (e.g., to provide targeted data input, etc.), or may be implemented as a single software or software module. And is not particularly limited herein.
The server 105 may be a server that provides various services, such as a server that performs integrity verification on target data input by the terminal apparatuses 101, 102, 103, and the like. The server can perform integrity verification and other processing on the received target data and feed back a processing result to the terminal equipment.
It should be noted that the data integrity verification method based on the blockchain provided by the embodiment of the present disclosure may be executed by the server 105, or may be executed by the terminal device.
It should be noted that the local area of the server 105 may also directly store data, and the server 105 may directly extract the local data for integrity verification, in which case the exemplary system architecture 100 may not include the terminal devices 101, 102, 103 and the network 104.
It should be noted that the terminal devices 101, 102, and 103 may also have a data storage application installed therein, and in this case, the authentication method may also be executed by the terminal devices 101, 102, and 103. At this point, the exemplary system architecture 100 may also not include the server 105 and the network 104.
The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server is software, it may be implemented as a plurality of software or software modules (for example, for providing authentication services), or as a single software or software module. And is not particularly limited herein.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, a flow 200 of some embodiments of a blockchain-based data integrity verification method in accordance with the present disclosure is shown. The data integrity verification method based on the block chain comprises the following steps:
step 201, receiving a target data block number set sent by a target user.
In some embodiments, an executing subject (e.g., the terminal device shown in fig. 1) of the blockchain-based data integrity verification method generates a public key and a private key. The execution body calculates modulo N using the following equation:
N=p×q,
wherein p and q are randomly generated prime numbers, p and q are not equal, and N represents a modulus. The execution main body determines the corresponding terminal identification. And inputting the terminal identification and the target data into a pseudorandom algorithm, and determining the obtained output as a public key.
Optionally, the executing entity generates a private key based on the public key by using the following formula:
v=g2 x
where v is the public key, G2For multiplication loop groups generated using prime p, g2Is G2The generator of (1). x represents the private key, g2 xDenotes g2To the x power of.
Optionally, the execution main body divides the original data into a first number of original data blocks to obtain an original data block set. The original data can be data to be stored, and the original data is stored in the block chain, so that distributed cloud storage based on the block chain is realized. The original data block set comprises a first number of original data blocks, and each original data block corresponds to an original data block storage number. The first number of original data block storage numbers constitutes a set of original data block storage numbers. All the original data blocks included in the original data block set are original data blocks which are not subjected to deletion, damage, tampering and the like. The original data block set is mainly used for verifying the integrity of the target data block.
For each original data block in the set of original data blocks, generating a tag value of the original data block using the following formula to obtain a set of original data block tag values:
Figure BDA0002660826200000071
wherein H () is a hash function, H: {0, 1}*→G1。G1For multiplication loop groups generated using prime p, g1Is G1The generator of (1). G ═ u1 aU is g1To the power of a, a being any integer. h () is a hash function, h: {0, 1}*→Zp,ZpIs the field on the prime number p. x denotes the private key and m denotes the original data block. i is the original data block count, miIs the ith original data block.
Figure BDA0002660826200000072
H (m) representing ui) To the power of one. t denotes a time stamp, tiA timestamp representing the original data block. b denotes a block number, biIndicating the block number of the original data block. σ denotes the original data block tag value, σiRepresenting the i-th original data block tag value.
And receiving a target data block number set sent by a target user. Specifically, the target data block number set includes a first number of target data block numbers.
Step 202, determining a set of tag values of the original data block based on the target data block number set.
In some embodiments, the executing entity finds the original data block number set corresponding to the target data block number set according to the target data block number set. And for each target data block in the target data block set, in response to the fact that the target data block number is the same as the original data block number, determining the original data block as a corresponding original data block of the target data block, and searching for the original data block number set. And finding out the original data block label value set according to the original data block number set. And for each original data block number in the original data block number set, finding the label value of the original data block corresponding to the original data block number, thereby obtaining the original data block label value set.
Step 203, sending the target data block number set to the first terminal.
In some embodiments, the execution body sends the target data block number set to the first terminal. The first terminal may generate a target data block tag value set based on the target data block number set.
Optionally, the first terminal finds the target data block set according to the target data block numbering set. The first terminal generates a target data block tag value set by using the following formula:
Figure BDA0002660826200000081
where n denotes the target data block, j is the target data block count, njRepresenting the jth target data block. h () is a hash function, h: {0, 1}*→Zp,ZpIs the field on the prime number p. k represents the total number of blocks of the target data block and d represents the target data block tag value. djThe tag value representing the jth target data block.
Figure BDA0002660826200000082
Denotes djIs/are as follows
Figure BDA0002660826200000083
To the power of one. D represents a set of target data block tag values.
And step 204, receiving the target data block tag value set returned by the first terminal.
In some embodiments, the execution body receives a target data block tag value set returned by the first terminal.
Step 205, verifying the integrity of the target data block based on the target data block tag value set and the original data block tag value set.
In some embodiments, the execution body determines the challenge tag value set based on the raw data block tag value set. Generating an evidence code using:
p=l(B,v)·l(D,v)-l(T,g2),
where B represents the challenge tag value set and D represents the target data block tag value set. T represents the set of original data block tag values, l (,) represents a bilinear map. v is a public key, and v is g2 x。G2For multiplication loop groups generated using prime p, g2Is G2The generator of (1). x represents the private key, g2 xDenotes g2To the x power of. And responding to the condition that p is 0, determining that the target data block is complete and the target data stored in the first terminal is not damaged.
In response to p not being 0, it is determined that the target data block is incomplete and the target data stored in the first terminal is corrupted. And updating the intelligent contract. An intelligent contract is a set of commitments defined in digital form. The intelligent contract can control data in the block chain and appoint the rights and obligations of each participating terminal in the block chain. The smart contracts may be automatically executed by the computer system. In particular, the intelligent contract includes intelligent contract code, instances, and execution data. The intelligent contract code may be the source code of the intelligent contract. The intelligent contract code may be a piece of code that the computer system is capable of executing. An instance may be an actual service in a blockchain running an intelligent contract. The execution data may be data that remains in the blockchain after execution of an instance.
The execution main body verifies the integrity of the data according to the target data block tag value set and the original data block tag value set, and serves as an invention point of the embodiment of the disclosure, so that the technical problem mentioned in the background art is solved, namely, the integrity of the data block is judged by using the unique tag value set corresponding to the data block set, the data information in the data block does not need to be exposed, and the problems of data damage, data loss, data tampering and the like are effectively verified and found while the data security is ensured. And generating an original data block set and an original data block label value set at the stage of storing the original data. The original data block set is mainly used for verifying the integrity of the target data block. And determining the set of the stored first number of original data block storage numbers as the original data block storage number set. In the process of judging the integrity of the data blocks, the target data block number set can be sent to the first terminal, and the first terminal finds the target data block set according to the target data block number set and generates a target data block tag value set. And verifying the integrity of the target data block by using the target data block label value set and the original data block label value set returned by the first terminal. In the whole process, the information of the original data block set and the target data block set does not need to be exposed.
Optionally, the execution main body runs an intelligent contract code, and issues storage state information of target data block incompleteness to the block chain. Specifically, the storage status information of the target data block imperfection may be formed into one block. And running intelligent contract codes to add the block to the block chain. Specifically, the intelligent contract for recording the block generates an instance and executes data during the operation process. The instance and the execution data are recorded in a blockchain. By using the intelligent contract of the block chain, the integrity change condition of the cloud storage data can be effectively monitored and issued, and data tampering warning information can be sent out in time.
The execution main body runs the intelligent contract code, and issues the incomplete storage state information of the target data block to the block chain as an invention point of the embodiment of the disclosure, so that the technical problem mentioned in the background technology is solved, namely, cloud storage integrity verification can be realized without introducing a third party auditing mechanism by depending on a block chain platform, and the risk of exposing data storage information through the third party auditing mechanism is reduced. The block chain realizes decentralized storage, and a third-party auditing mechanism is not arranged in the block chain, but various terminals for storage are only arranged. Different storage terminals verify the integrity of the data according to the tag value set, so that the risk of exposure to a third-party audit organization is avoided.
One embodiment presented in fig. 2 has the following beneficial effects: and determining an original data block tag value set according to a target data block number set sent by a target user, and sending the target data block number set to a first terminal for storing data to obtain the target data block tag value set. And judging the integrity of the target data block by comparing the target data block tag value set with the original data block tag value set, and releasing incomplete information in a block chain. The embodiment of the disclosure judges the integrity of the data block by using the unique label value set corresponding to the data block set, and the information of the original data block set and the target data block set does not need to be exposed in the whole process. . In addition, the integrity change condition is monitored and issued by using the intelligent contract of the block chain, and data tampering warning information is sent out in time, so that a third-party auditing mechanism is prevented from being introduced, efficient and accurate data integrity monitoring is realized, and the safety of data stored in the block chain is protected.
With further reference to fig. 3, as an implementation of the methods shown in the above-mentioned figures, the present disclosure provides some embodiments of a device for verifying data integrity based on a block chain, where the device embodiments correspond to the embodiments of the method for verifying data integrity based on a block chain shown in fig. 2, and the device may be applied to various terminal devices.
As shown in fig. 3, the block chain-based data integrity verification apparatus 300 of some embodiments includes: a first receiving unit 301, a generating unit 302, a transmitting unit 303, a second receiving unit 304, and a verifying unit 305. The first receiving unit 301 is configured to receive a target data block number set sent by a target user. A generating unit 302 configured to determine a set of original data block tag values based on the set of target data block numbers. A sending unit 303 configured to send the target data block number set to a first terminal, wherein the first terminal generates a target data block tag value set based on the target data block number set. A second receiving unit 304, configured to receive the target data block tag value set returned by the first terminal. A verification unit 305 configured to verify the target block integrity based on the target data block tag value set and the original data block tag value set.
Some embodiments of the present disclosure provide an apparatus, which determines, by using a generating unit, an original data block tag value set according to a target data block number set received by a receiving unit. And the second receiving unit is used for receiving the target data block tag value set returned by the first terminal. The verification unit verifies the integrity of the target data block stored at the first terminal by comparing the target data block tag value set with the original data block tag value set. In the whole process, the data information stored in the first terminal does not need to be exposed, and the integrity monitoring of the data block can be realized under the condition of ensuring the data privacy.
Referring now to FIG. 4, a block diagram of a computer system 400 suitable for use in implementing a server of an embodiment of the present disclosure is shown. The server shown in fig. 4 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present disclosure.
As shown in fig. 4, the computer system 400 includes a Central Processing Unit (CPU)401 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 402 or a program loaded from a storage section 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the system 400 are also stored. The CPU 401, ROM 402, and RAM 403 are connected to each other via a bus 404. An Input/Output (I/O) interface 405 is also connected to the bus 404.
The following components are connected to the I/O interface 405: a storage section 406 including a hard disk and the like; and a communication section 407 including a Network interface card such as a LAN (Local Area Network) card, a modem, or the like. The communication section 407 performs communication processing via a network such as the internet. A drive 408 is also connected to the I/O interface 405 as needed. A removable medium 409 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted as necessary on the drive 408, so that a computer program read out therefrom is mounted as necessary in the storage section 406.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 407 and/or installed from the removable medium 409. The above-described functions defined in the method of the present disclosure are performed when the computer program is executed by a Central Processing Unit (CPU) 401. It should be noted that the computer readable medium in the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the C language or similar programming languages. The program code may execute 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 type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart 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 code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, 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 is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is possible without departing from the inventive concept as defined above. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (7)

1. A data integrity verification method based on a block chain comprises the following steps:
receiving a target data block number set sent by a target user;
determining a set of original data block tag values based on the target data block number set;
sending the target data block number set to a first terminal, wherein the first terminal generates a target data block tag value set based on the target data block number set;
receiving the target data block tag value set returned by the first terminal;
verifying the target data block integrity based on the target data block tag value set and the original data block tag value set.
2. The method of claim 1, wherein prior to said receiving a target set of data block numbers from a target user, further comprising:
generating a public key and a private key;
dividing original data into a first number of original data blocks to obtain an original data block set;
for each original data block in the set of original data blocks, generating a tag value of the original data block using the following formula to obtain the set of original data block tag values:
Figure FDA0002660826190000011
wherein H () is a hash function, H: {0, 1}*→G1,G1For multiplication loop groups generated using prime p, g1Is G1U is g1 aU is g1A is an arbitrary integer, h () is a hash function, h: {0, 1}*→Zp,ZpIs on a prime number pX represents the private key, m represents the original data block, i is the original data block count, miFor the ith original data block, the data block is,
Figure FDA0002660826190000012
h (m) representing ui) To the power of t, t representing a time stamp, tiTime stamp representing the original data block, b block number, biIndicates the block number of the original data block, sigma indicates the tag value of the original data block, sigmaiRepresenting the i-th original data block tag value.
3. The method of one of claims 1-2, wherein said verifying the target data block integrity based on the target data block tag value set and the original data block tag value set comprises:
determining a set of challenge tag values based on the set of original data block tag values;
generating an evidence code using:
p=l(B,v)·l(D,v)-l(T,g2),
wherein B represents the challenge tag value set, D represents the target data block tag value set, T represents the original data block tag value set, l (,) represents bilinear mapping, v is the public key, v ═ g2 x,G2For multiplication loop groups generated using prime p, g2Is G2X represents the private key, g2 xDenotes g2To the x-th power of;
and in response to p being 0, determining that the target data block is complete.
4. The method of claim 3, wherein said verifying the target data block integrity based on the target data block tag value set and the original data block tag value set, further comprises:
in response to p not being 0, determining that the target data block is incomplete;
updating the intelligent contract;
intelligent contracts are published in blockchains.
5. A blockchain-based data integrity verification apparatus, comprising:
a first receiving unit configured to receive a target data block number set sent by a target user;
a generating unit configured to determine a set of original data block tag values based on the set of target data block numbers;
a sending unit configured to send the target data block numbering set to a first terminal, wherein the first terminal generates a target data block tag value set based on the target data block numbering set;
a second receiving unit configured to receive the target data block tag value set returned by the first terminal;
a verification unit configured to verify the target data block integrity based on the target data block tag value set and the original data block tag value set.
6. A first terminal device comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
7. A computer-readable storage medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1-5.
CN202010904217.0A 2020-09-01 2020-09-01 Block chain-based data integrity verification method, terminal device and storage medium Withdrawn CN111949737A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010904217.0A CN111949737A (en) 2020-09-01 2020-09-01 Block chain-based data integrity verification method, terminal device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010904217.0A CN111949737A (en) 2020-09-01 2020-09-01 Block chain-based data integrity verification method, terminal device and storage medium

Publications (1)

Publication Number Publication Date
CN111949737A true CN111949737A (en) 2020-11-17

Family

ID=73367056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010904217.0A Withdrawn CN111949737A (en) 2020-09-01 2020-09-01 Block chain-based data integrity verification method, terminal device and storage medium

Country Status (1)

Country Link
CN (1) CN111949737A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726561A (en) * 2020-12-22 2022-07-08 京东科技信息技术有限公司 Data processing method, device and system
CN116610834A (en) * 2023-05-15 2023-08-18 三峡科技有限责任公司 Monitoring video storage and quick query method based on AI analysis

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726561A (en) * 2020-12-22 2022-07-08 京东科技信息技术有限公司 Data processing method, device and system
CN114726561B (en) * 2020-12-22 2024-04-05 京东科技信息技术有限公司 Data processing method, device and system
CN116610834A (en) * 2023-05-15 2023-08-18 三峡科技有限责任公司 Monitoring video storage and quick query method based on AI analysis
CN116610834B (en) * 2023-05-15 2024-04-12 三峡科技有限责任公司 Monitoring video storage and quick query method based on AI analysis

Similar Documents

Publication Publication Date Title
US11949789B2 (en) Blockchain-enabled computing
CN111950030A (en) Data sharing storage method based on block chain, terminal equipment and storage medium
EP3605944A1 (en) Documenting timestamps within a blockchain
CN111984726A (en) Storage and distributed database of measurement data sets
CN111950032A (en) Block chain-based data storage method, terminal device and storage medium
CN115203749B (en) Data transaction method and system based on block chain
CN111629063A (en) Block chain based distributed file downloading method and electronic equipment
CN112163240A (en) Block chain based distributed government affair architecture unifying method and system
CN111949737A (en) Block chain-based data integrity verification method, terminal device and storage medium
CN111611621A (en) Block chain based distributed data encryption storage method and electronic equipment
CN112182109A (en) Distributed data coding storage method based on block chain and electronic equipment
CN112541775A (en) Transaction tracing method based on block chain, electronic device and computer storage medium
CN111045722B (en) Intelligent contract packaging method, device, system, computer equipment and storage medium
CN113656825B (en) Text watermark embedding method, text tampering detection method, text watermark embedding device, text tampering detection device and electronic equipment
CN110232570B (en) Information supervision method and device
CN112182112A (en) Block chain based distributed data dynamic storage method and electronic equipment
CN112182108A (en) Block chain based distributed data storage updating method and electronic equipment
CN111931204A (en) Encryption and de-duplication storage method and terminal equipment for distributed system
CN114499893B (en) Bidding file encryption and evidence storage method and system based on block chain
CN111949738A (en) Block chain-based data storage deduplication method, terminal device and storage medium
CN114091072A (en) Data processing method and device
CN112712428A (en) Block chain-based electronic certificate storage method and electronic equipment
CN113515747A (en) Equipment upgrading method, device, equipment and storage medium
CN112181308A (en) Block chain based distributed data storage method and electronic equipment
CN111931231A (en) Redundant storage method, terminal device and storage medium for distributed system

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201117

WW01 Invention patent application withdrawn after publication