WO2022068356A1 - 基于区块链的信息加密方法、装置、设备及介质 - Google Patents
基于区块链的信息加密方法、装置、设备及介质 Download PDFInfo
- Publication number
- WO2022068356A1 WO2022068356A1 PCT/CN2021/109167 CN2021109167W WO2022068356A1 WO 2022068356 A1 WO2022068356 A1 WO 2022068356A1 CN 2021109167 W CN2021109167 W CN 2021109167W WO 2022068356 A1 WO2022068356 A1 WO 2022068356A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- sub
- piece
- ciphertext
- coordinate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013507 mapping Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 90
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Definitions
- the present application relates to the field of blockchain technology, and in particular, to a method, device, device and medium for information encryption based on blockchain.
- the Internet of Things has become an important part of the Internet, and the number of Internet of Things devices in the world maintains rapid growth.
- the Internet of Things due to any individual, group, community, organization, object, product, data, service, process and will be interconnected through the Internet of Things.
- Different IoT devices need to receive and store a large amount of information every day.
- medical equipment in a medical platform needs to receive and store a large amount of patient information and medical record information every day.
- the inventor found that the information stored in the IoT device is easily tampered with by illegal users, which leads to information leakage, resulting in low information security.
- the embodiments of the present application provide a blockchain-based information encryption method, device, device, and medium, which can improve the security of information.
- an embodiment of the present application provides a blockchain-based information encryption method, the method comprising:
- the ciphertext of the coordinate information corresponding to each piece of sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network.
- the embodiments of the present application provide a block chain-based information encryption device, the device comprising:
- an acquisition module for acquiring an objective function for describing information, and a curve parameter of the objective function
- a dividing module configured to divide the target information to be processed according to the curve parameter of the target function to obtain at least two pieces of sub-information
- the obtaining module is further configured to obtain coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information according to the objective function;
- an encryption module configured to encrypt the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information, to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information
- the storage module is configured to determine the ciphertext of the coordinate information corresponding to each piece of sub-information as the ciphertext of the target information, and store the ciphertext of the target information in the blockchain network.
- an embodiment of the present application provides an electronic device, the device comprising: a processor adapted to implement one or more instructions; and,
- a computer storage medium storing one or more instructions adapted to be loaded by the processor and perform the following steps:
- the ciphertext of the coordinate information corresponding to each piece of sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network.
- an embodiment of the present application provides a computer-readable storage medium, including: the computer storage medium stores one or more instructions, and the one or more instructions are suitable for being loaded by a processor and performing the following steps :
- the ciphertext of the coordinate information corresponding to each piece of sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network.
- the present application can improve the security of the target information, and can effectively prevent the ciphertext of the target information from being tampered with.
- FIG. 1 is a schematic structural diagram of an information encryption system provided by an embodiment of the present application.
- FIG. 2 is a schematic flowchart of a blockchain-based information encryption method provided by an embodiment of the present application
- FIG. 3 is a schematic flowchart of a blockchain-based information encryption method provided by an embodiment of the present application.
- FIG. 4 is a schematic structural diagram of a blockchain-based information encryption device provided by an embodiment of the present application.
- FIG. 5 is a schematic structural diagram of an electronic device provided by another embodiment of the present application.
- This application may relate to the field of artificial intelligence technology, and may be applied to data encryption scenarios.
- it can be specifically applied to the medical data encryption scenario in digital medicine; another example can be applied to the transaction data encryption scenario in financial technology, and the medical data and transaction data can be stored in the blockchain.
- Blockchain is a new application mode of computer technology such as distributed data storage, point-to-point transmission (P2P transmission), consensus mechanism, encryption algorithm, etc. It is essentially a decentralized and highly transparent database; It consists of a series of transaction records (also known as blocks) that are connected and protected by cryptography.
- the distributed ledger connected by the blockchain allows multiple parties to effectively record transactions, and can permanently verify this transaction (non-tampering ).
- the consensus mechanism refers to the mathematical algorithm that realizes the establishment of trust between different nodes and the acquisition of rights and interests in the blockchain network; that is to say, the consensus mechanism is a mathematical algorithm recognized by all network nodes of the blockchain. This application utilizes the feature that the information in the blockchain cannot be tampered with.
- the ciphertext of the target information is obtained, and the ciphertext of the target information is stored in the blockchain, so that the ciphertext of the target information can be avoided from being tampered with. Tampering, improve the security of target information.
- This application can be used in a medical platform, that is, the above target information can refer to the patient's medical record information, the patient's corresponding patient information, etc., by encrypting the patient's medical record information, the patient's corresponding patient information and other medical platform information. , and store the encrypted data in the blockchain network, which is conducive to the management of patient information and medical records, and improves the security of patient information.
- the information encryption system may include a blockchain network 10 and at least two terminals.
- the information encryption system includes two terminals as For example, they are terminal 20 and terminal 21, respectively.
- the blockchain network is an end-to-end decentralized network composed of multiple node devices.
- the blockchain network in FIG. 1 includes multiple node devices 101 .
- Each node device can receive transaction data during normal work, and maintain the blockchain based on the received transaction data.
- there can be a communication connection between each node device in the blockchain network and data transmission can be performed between the node devices through the above communication connection.
- any node device in the blockchain network receives transaction data
- other node devices in the blockchain network obtain the transaction data according to the consensus algorithm, and store the transaction data as the data in the blockchain, so that the region The data stored on all node devices in the blockchain network is consistent.
- each node device in the blockchain network has its corresponding node ID, and each node device in the blockchain network can store the node IDs of other node devices in the blockchain network, so that Subsequently, according to the node identifiers of other node devices, the generated blocks are broadcast to other node devices in the blockchain network.
- Each node device can maintain a node ID list as shown in the following table, and store the node device name and node ID correspondingly in the node ID list.
- the node identifier may be an IP (Internet Protocol, a protocol for interconnection between networks) address and any other information that can be used to identify the node device. In Table 1, only the IP address is used as an example for description.
- the terminal 20 and the terminal 21 can store the information in the blockchain network, and can also read the information from the blockchain network. Specifically, the terminal 20 and the terminal 21 can encrypt the target information to be processed, and encrypt the encrypted information of the target information. Alternatively, the terminal 20 and the terminal 21 can directly upload the target information to be processed to the blockchain network, and the target information is encrypted by the node device in the blockchain network, and the target information is encrypted. ciphertext storage.
- the above node device may specifically be an independent server, or a server cluster composed of several servers, or a cloud computing center, tablet computer, notebook computer, handheld computer, smart audio, mobile Internet device (MID, mobile internet device). )and many more.
- Both the terminal 20 and the terminal 21 can be computer devices, including mobile phones, tablet computers, notebook computers, handheld computers, smart speakers, POS (Point of sales, point of sale) machines, mobile Internet devices (MID, mobile Internet device), wearable Equipment (such as smart watches, smart bracelets, etc.), etc.; it can also refer to an independent server, a server cluster composed of several servers, or a cloud computing center; it can also provide cloud services, cloud databases, cloud computing Cloud servers for basic cloud computing services such as computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms .
- CDN Content Delivery Network
- FIG. 2 is a schematic flowchart of a blockchain-based information encryption method provided by an embodiment of the present application.
- the embodiment of the present application is executed by an electronic device, and the electronic device may refer to a node device in the above-mentioned information encryption system. Or a terminal device, the block chain-based information encryption method includes the following steps S101-S104.
- the electronic device can acquire the objective function used to describe the information, and the curve parameters of the objective function; the objective information can refer to transaction data, and the transaction data can refer to the transaction amount, transaction time, etc.; or, the target information can refer to a certain The revenue data of an organization, such as turnover, number of shipments, number of purchases, etc.
- the objective function may refer to a function corresponding to an elliptic curve, or of course, may also refer to a function corresponding to other curves; the curve parameters of the objective function include the length of the curve, the base point, the order of the block, and the like.
- S102 Divide the target information to be processed according to the curve parameters of the target function to obtain at least two pieces of sub-information.
- the data corresponding to the target information is too large, it indicates that the target information deviates from the target function.
- the coordinate information corresponding to the target information is obtained.
- the target information to be processed can be divided according to the curve parameters of the objective function to obtain at least two pieces of sub-information; specifically, the target information to be processed can be divided into equal lengths according to the curve parameters of the target function to obtain at least two pieces of sub-information , that is, the length of each sub-information in the at least two sub-information is equal at this time; or, the target information can be non-length divided according to the curve parameters of the objective function to obtain at least two sub-information, that is, at least two sub-information at this time.
- the lengths of each piece of sub-information in the sub-information are not equal, or the lengths of the sub-information in at least two pieces of sub-information are not equal.
- the electronic device can use a point on the curve of the objective function to represent each piece of sub-information.
- the target information is of a numerical type, that is, the target sub-information is also of a numerical type
- the target sub-information can be mapped to the target function.
- the first coordinate of the target point on the curve, and the second coordinate of the target point is obtained according to the first coordinate and the objective function, and the first coordinate and the second coordinate are used as the coordinate information corresponding to the target sub-information.
- the target sub-information may refer to any one of at least two sub-information
- the first coordinate may refer to the X coordinate
- the second coordinate may refer to the Y coordinate.
- the target sub-information can be encoded to obtain information of a numerical type; the information of the numerical type is mapped to the curve of the objective function. and obtain the second coordinate of the target point according to the first coordinate and the objective function, and use the first coordinate and the second coordinate as the coordinate information corresponding to the target sub-information.
- S105 Determine the ciphertext of the coordinate information corresponding to each piece of sub-information as the ciphertext of the target information, and store the ciphertext of the target information in the blockchain network.
- the electronic device may use an encryption algorithm to encrypt the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information
- the encryption algorithm may include but not limited to Elgamal.
- Algorithm an asymmetric encryption algorithm
- Rabin algorithm an asymmetric encryption algorithm
- Diffie-Hellman algorithm an asymmetric encryption algorithm
- ECC algorithm elliptic curve encryption algorithm
- the ciphertext of the coordinate information corresponding to each sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network; it can prevent the target information from being stored locally in the terminal, resulting in the target information being tampered with. Improve the security of target information.
- the target information can be deleted, that is, the plaintext of the target information can be deleted, which can prevent illegal users from reading the plaintext of the target information from the electronic device, resulting in information loss. Leak, improve the security of target information.
- At least two pieces of sub-information are obtained by dividing the target information according to the curve parameters of the target function, and the coordinate information corresponding to each piece of sub-information is obtained according to the objective function, and each piece of sub-information is encrypted by encrypting the coordinate information of each piece of sub-information.
- the ciphertext of the information, the ciphertext of each sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network. That is, by dividing the target information and obtaining the coordinate information corresponding to each piece of sub-information, the difficulty of decrypting the ciphertext of the target information is increased, so as to improve the security of the target information.
- the ciphertext of the target information can be prevented from being tampered with by illegal users, resulting in the problem that the target information cannot be decrypted according to the ciphertext of the target information, which can further improve the security of the target information. It can effectively prevent the ciphertext of the target information from being tampered with.
- FIG. 3 is a schematic flowchart of another blockchain-based information encryption method provided by an embodiment of the present application.
- the curve parameter includes a curve length, and the length of each of the at least two pieces of sub-information is the same as that of all the sub-information.
- the lengths of the above-mentioned curves are equal; the embodiment of the present application is performed by an electronic device, and the method for encrypting information based on the blockchain includes the following steps S201-S205.
- the electronic device may divide the target information into equal lengths according to the curve parameters to obtain at least two pieces of sub-information.
- the electronic device can obtain the length of the target information, that is, the length of the target information is used to reflect the number of bytes included in the target information; if the length of the target information is an integer multiple of the length of the curve, it indicates that the target information can be divided into lengths At least two pieces of sub-information having the same length as the curve, therefore, the target information can be divided according to the length of the curve to obtain at least two pieces of sub-information. If the length of the target information is not an integral multiple of the curve length, it indicates that the target information cannot be divided into at least two sub-information with the same length as the curve length.
- the target information is to fill the target information to a length that is an integer multiple of the length of the curve; divide the filled target information to obtain the at least two pieces of sub-information.
- the length of the curve is 32 bytes and the length of the target information is 200 bytes
- the length of the target information is not an integer multiple of the length of the curve; therefore, the target information is padded according to the length of the curve , obtain the target information after filling processing, such as filling the length of the target information to 224 bytes, divide the target information after filling processing, and obtain at least two sub-information, such as dividing the target information after filling processing into 7 A sub-information with a length of 32 bytes.
- the above-mentioned filling processing is performed on the target information according to the length of the curve to obtain the target information after the filling processing, including: determining the number of bytes to be filled according to the length of the curve and the length of the target information; Fill the target information to obtain the target information after filling; for example, the target number can be added to the head position of the target information according to the number of bytes; or, the target number can be added to the tail position of the target information according to the number of bytes, or , and add the target number according to the number of bytes in the target information at preset intervals.
- the target number may refer to 0 or 1, or other numbers, and the preset interval may refer to every 2 bytes or 3 bytes.
- step S205 may include: acquiring a curve corresponding to the objective function, mapping each piece of sub-information to the first coordinate of the target point on the curve corresponding to the objective function, and according to the first coordinate and the objective function, The second coordinate of the target point on the curve corresponding to the objective function is determined, and the first coordinate and the second coordinate are determined as the coordinate information corresponding to each piece of sub-information.
- the electronic device can obtain the corresponding curve of the objective function, and map each piece of sub-information to the first coordinate of the target point on the curve corresponding to the objective function, that is, each piece of sub-information is taken as the first coordinate of the target point on the curve corresponding to the objective function.
- a coordinate according to the first coordinate and the objective function, determine the second coordinate of the target point on the curve corresponding to the objective function, and determine the first coordinate and the second coordinate as the coordinate information corresponding to each piece of sub-information.
- the first coordinate is the X coordinate of the target point
- the second coordinate is the Y coordinate of the target point
- the objective function may refer to a function related to X and Y.
- the target sub-information can be used as the X coordinate of the upper target point on the objective function curve, the Y coordinate of the target point can be determined according to the X coordinate of the target point and the target function, and the X coordinate and Y coordinate of the target point can be used as the coordinate information of the target sub-information. .
- S206 Encrypt the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- step S206 may include: acquiring attribute information of the terminal to which the target information belongs, and a key corresponding to each piece of sub-information, the attribute information of the terminal including the terminal identifier of the terminal, the password generated by the terminal, the at least one of the user information corresponding to the terminal; generate the private key of the terminal according to the attribute information of the terminal;
- the coordinate information is encrypted to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the electronic device can obtain the key corresponding to each piece of sub-information, and the key corresponding to each piece of sub-information can be generated according to the root key, or, alternatively, is generated according to the position information of each piece of sub-information in the target information. Further, attribute information of the terminal to which the target information belongs can be obtained, and the attribute information of the terminal includes at least one of a terminal identifier of the terminal, a password generated by the terminal, and user information corresponding to the terminal, and the terminal identifier may refer to the terminal.
- At least one of the IP address, MAC address, serial number, etc., user information may refer to user account, user phone number, etc.; the password generated by the terminal may be randomly generated, or generated according to certain rules, according to The attribute information of the terminal generates a random number, and the random number is filled to obtain the private key of the terminal.
- the private key of the terminal may include 256 bits (ie bits). Then, according to the private key and the key corresponding to each sub-information, the coordinate information corresponding to each sub-information in the at least two sub-information can be encrypted to obtain the ciphertext of the coordinate information corresponding to each sub-information; and the key corresponding to each piece of sub-information, and encrypting each piece of sub-information can improve the security of the target information.
- the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information is encrypted to obtain the specific details of the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the implementation method includes: obtaining the base point coordinates of the curve of the objective function; obtaining the product of the base point coordinates and the private key of the terminal to obtain candidate coordinates; encrypting the candidate coordinates according to the key corresponding to each piece of sub-information to obtain the candidate coordinates
- the ciphertext of the coordinates; the coordinate information corresponding to each piece of sub-information is fused with the ciphertext of the corresponding candidate coordinates to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the electronic device can obtain the base point coordinates of the curve of the objective function, and calculate the product of the G point coordinates and the private key of the terminal to obtain candidate coordinates, and encrypt the candidate coordinates according to the key corresponding to each piece of sub-information to obtain the The ciphertext of the candidate coordinates; the coordinate information corresponding to each piece of sub-information is fused with the ciphertext of the corresponding candidate coordinates to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the ciphertext of the coordinate information corresponding to the ith piece of sub-information can be expressed by the following formula (1).
- Equation (1) Represents the ciphertext of the coordinate information corresponding to the ith sub-information
- ki represents the key of the ith sub-information
- H is the candidate coordinates, that is, the candidate coordinates corresponding to each sub-information are the same.
- ki*H represents the ciphertext of the candidate coordinate information corresponding to the i-th sub-information
- the candidate coordinates can be represented by the following formula (2).
- h represents the private key of the terminal
- G represents the base point coordinates of the curve of the objective function, which can be represented as (x g , y g ).
- S207 Determine the ciphertext of the coordinate information corresponding to each piece of sub-information as the ciphertext of the target information, and store the ciphertext of the target information in the blockchain network.
- step S207 includes: acquiring the position information of each piece of sub-information in the target information; sorting the ciphertext of the coordinate information corresponding to each piece of sub-information according to the position information; according to the coordinates corresponding to each piece of sub-information The ciphertext of the information is sorted, and the ciphertext of the coordinate information corresponding to each piece of sub-information is combined to obtain the ciphertext of the target information.
- the position information of the sub-information in the target information can be obtained, and the ciphertext of the coordinate information corresponding to each sub-information can be sorted according to the position information; that is, according to each sub-information
- the ciphertext of the coordinate information corresponding to each piece of sub-information is sorted according to the position information of the piece of sub-information in the target information.
- the ciphertext of the coordinate information corresponding to each piece of sub-information is combined to obtain the ciphertext of the target information.
- the at least two pieces of sub-information include the first sub-information and the second sub-information, and the position of the first sub-information in the target information is located before the second sub-information, then the ciphertext of the coordinate information corresponding to the first sub-information can be The ciphertext of the target information is obtained before the ciphertext of the coordinate information corresponding to the second sub-information.
- the method may further include: reading the ciphertext of the target information from the blockchain network, where the ciphertext of the target information includes the ciphertext of the coordinate information corresponding to each piece of information; Decrypt the ciphertext and the ciphertext corresponding to the candidate coordinates to obtain the coordinate information of each piece of sub-information; determine each piece of sub-information according to the coordinate information of each piece of sub-information; splicing each piece of sub-information to obtain the target information.
- the electronic device When the electronic device needs to read the target information, it can read the ciphertext of the target information from the blockchain network, and obtain the private key of the terminal, the key corresponding to each sub-information, and the base point coordinates of the target function. According to the target function The base point coordinates and the terminal private key are used to generate candidate coordinates, and the candidate coordinates are encrypted with the key corresponding to each piece of information to obtain the ciphertext of the candidate coordinates. Decrypt the ciphertext of each piece of sub-information and the ciphertext corresponding to the candidate coordinates to obtain the coordinate information of each piece of sub-information, and determine each piece of sub-information according to the coordinate information of each piece of sub-information; splicing each piece of sub-information to obtain the target information.
- the electronic device may receive an acquisition request for target information, where the acquisition request carries terminal information of the target terminal, and the terminal information of the target terminal includes the IP address, MAC address, name, serial number of the target terminal, and the user corresponding to the target terminal. Information (such as user account, phone number, nickname), etc.
- the electronic device can verify the validity of the target terminal according to the terminal information of the target terminal, such as verifying whether the target terminal belongs to the authorized terminal set according to the terminal information of the target terminal. Terminal information, if the terminal information of the target terminal belongs to the authorized terminal set, it is determined that the target terminal is valid; if the terminal information of the target terminal does not belong to the authorized terminal set, it is determined that the target terminal is not valid.
- the target terminal If the target terminal is valid, indicating that the target terminal has the authority to read the target information, execute the above steps of reading the ciphertext of the target information from the blockchain network, and send the target information to the target terminal; If the target terminal is not valid, it indicates that the target terminal does not have the right to read the target information, and the target information is refused to be sent to the target terminal.
- the target information By verifying the validity of the target terminal, the target information can be prevented from being acquired by illegal terminals, and the security of the target information can be improved.
- the present application by dividing the target information by equal lengths according to the curve parameters of the target function, at least two sub-information are obtained, which reduces the complexity of encrypting the target information and helps to improve the efficiency of decrypting the ciphertext of the target information.
- the coordinate information corresponding to each piece of sub-information is obtained according to the objective function, and the ciphertext of each piece of sub-information is obtained by encrypting the coordinate information of each piece of sub-information, and the ciphertext of each piece of sub-information is determined as the ciphertext of the target information.
- the ciphertext is stored in the blockchain network.
- the difficulty of decrypting the ciphertext of the target information is increased, so as to improve the security of the target information and improve the probability of successfully obtaining the corresponding coordinates of each sub-information.
- the ciphertext of the target information can be prevented from being tampered with by illegal users, resulting in the problem that the target information cannot be decrypted according to the ciphertext of the target information, which can further improve the security of the target information. It can effectively prevent the ciphertext of the target information from being tampered with.
- FIG. 4 is a schematic structural diagram of a blockchain-based information encryption device provided by an embodiment of the present application.
- the blockchain-based information device in this embodiment includes:
- an acquisition module 401 for acquiring an objective function for describing information, and a curve parameter of the objective function
- a dividing module 402 configured to divide the target information to be processed according to the curve parameters of the target function to obtain at least two pieces of sub-information
- the obtaining module 401 is further configured to obtain coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information according to the objective function;
- An encryption module 403 configured to encrypt the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information, to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information;
- the storage module 404 is configured to determine the ciphertext of the coordinate information corresponding to each piece of sub-information as the ciphertext of the target information, and store the ciphertext of the target information in the blockchain network.
- the curve parameter includes a curve length, and the length of each sub-information in the at least two pieces of sub-information is equal to the length of the curve; the dividing module 402 according to the curve parameter of the target function
- the target information to be processed includes:
- the target information is divided according to the length of the curve to obtain the at least two pieces of sub-information
- the target information is filled according to the length of the curve to obtain the target information after filling; the target information after filling is divided to obtain the at least two pieces of sub-information.
- a specific implementation manner for the obtaining module 401 to obtain the coordinate information corresponding to each of the at least two pieces of sub-information according to the objective function includes:
- the first coordinate and the second coordinate are determined as coordinate information corresponding to each piece of sub-information.
- the encryption module 403 encrypts the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information, and obtains the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the specific implementation method includes:
- the attribute information of the terminal includes the terminal identifier of the terminal, the password generated by the terminal, and the user corresponding to the terminal. at least one of the information;
- the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information is encrypted to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the encryption module 403 encrypts the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information according to the private key and the key corresponding to each piece of sub-information to obtain the corresponding information of each piece of sub-information.
- the specific implementation of the ciphertext of the coordinate information includes:
- the coordinate information corresponding to each piece of sub-information is fused with the ciphertext of the corresponding candidate coordinates to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the device includes:
- a reading module 405, configured to read the ciphertext of the target information from the blockchain network, where the ciphertext of the target information includes the ciphertext of the coordinate information corresponding to each piece of information;
- Decryption module 406 configured to decrypt the ciphertext of each piece of sub-information and the ciphertext of the corresponding candidate coordinates, to obtain coordinate information of each piece of sub-information; determine each piece of sub-information according to the coordinate information of each piece of sub-information ;
- the splicing module 407 is used for splicing each piece of sub-information to obtain the target information.
- a specific implementation manner in which the storage module 404 determines the ciphertext of the coordinate information corresponding to each piece of sub-information as the ciphertext of the target information includes:
- the ciphertext of the coordinate information corresponding to each piece of sub-information is combined to obtain the ciphertext of the target information.
- At least two pieces of sub-information are obtained by dividing the target information according to the curve parameters of the target function, and the coordinate information corresponding to each piece of sub-information is obtained according to the objective function, and each piece of sub-information is encrypted by encrypting the coordinate information of each piece of sub-information.
- the ciphertext of the information, the ciphertext of each sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network.
- the difficulty of decrypting the ciphertext of the target information is increased, so as to improve the security of the target information and improve the probability of successfully obtaining the corresponding coordinates of each sub-information.
- the ciphertext of the target information can be prevented from being tampered with by illegal users, resulting in the problem that the target information cannot be decrypted according to the ciphertext of the target information, which can further improve the security of the target information. It can effectively prevent the ciphertext of the target information from being tampered with.
- FIG. 5 is a schematic structural diagram of an electronic device provided by an embodiment of the present application, where the electronic device may include a processor.
- the electronic device may further include at least one of a memory, an input device, and an output device.
- the electronic device in this embodiment as shown in FIG. 5 may include: one or more processors 21 ; one or more input devices 22 , one or more output devices 23 and a memory 24 .
- the above-mentioned processor 21 , input device 22 , output device 23 , and memory 24 are connected through a bus 25 .
- the processor 21 can be a central processing unit (Central Processing Unit, CPU), and the processor can also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC) ), off-the-shelf programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
- the input device 22 may include a touch panel, a fingerprint sensor (used to collect the user's fingerprint information and fingerprint direction information), a microphone, etc.
- the output device 23 may include a display (LCD, etc.), a speaker, etc., and the output device 23 may output corrections The processed data table.
- the memory 24 may include read only memory and random access memory and provides instructions and data to the processor 21 .
- a portion of the memory 24 may also include non-volatile random access memory, the memory 24 for storing a computer program including program instructions, and the processor 21 for executing the program instructions stored in the memory 24 for executing a A blockchain-based information encryption method that is used to perform the following operations:
- the ciphertext of the coordinate information corresponding to each piece of sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network.
- the processor 21 is configured to execute the program instructions stored in the memory 24, so as to execute the curve parameters including the curve length, and the length of each sub-information in the at least two pieces of sub-information is equal to the length of the curve;
- the specific implementation of dividing the target information to be processed according to the curve parameters of the target function to obtain at least two sub-information includes:
- the target information is divided according to the length of the curve to obtain the at least two pieces of sub-information
- the target information is filled according to the length of the curve to obtain the target information after filling; the target information after filling is divided to obtain the at least two pieces of sub-information.
- the processor 21 is configured to execute the program instructions stored in the memory 24, so as to execute the specific implementation of obtaining the coordinate information corresponding to each of the at least two pieces of sub-information according to the target function:
- the first coordinate and the second coordinate are determined as coordinate information corresponding to each piece of sub-information.
- the processor 21 is used to execute the program instructions stored in the memory 24, so as to encrypt the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information to obtain the coordinates corresponding to each piece of sub-information.
- the specific implementation of the ciphertext of the information includes:
- the attribute information of the terminal includes the terminal identifier of the terminal, the password generated by the terminal, and the user corresponding to the terminal. at least one of the information;
- the coordinate information corresponding to each piece of sub-information in the at least two pieces of sub-information is encrypted to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the processor 21 is configured to execute the program instructions stored in the memory 24, so as to execute, according to the private key and the key corresponding to each of the sub-information, perform the processing of each sub-information in the at least two sub-information.
- the corresponding coordinate information is encrypted, and the specific implementation manner of obtaining the ciphertext of the coordinate information corresponding to each piece of sub-information includes:
- the coordinate information corresponding to each piece of sub-information is fused with the ciphertext of the corresponding candidate coordinates to obtain the ciphertext of the coordinate information corresponding to each piece of sub-information.
- the processor 21 is configured to execute the program instructions stored in the memory 24, so as to execute the ciphertext of reading the target information from the blockchain network, where the ciphertext of the target information includes the The ciphertext of the coordinate information corresponding to the piece of information;
- the target information is obtained by splicing each piece of sub-information.
- the processor 21 is configured to execute the program instructions stored in the memory 24, so as to execute the specific implementation of determining the ciphertext of the coordinate information corresponding to each piece of sub-information as the ciphertext of the target information including: :
- the ciphertext of the coordinate information corresponding to each piece of sub-information is combined to obtain the ciphertext of the target information.
- the processor 21, the input device 22, and the output device 23 described in the embodiments of the present application can execute the implementations described in the first and second embodiments of the blockchain-based information encryption method provided in the embodiments of the present application
- the implementation manner of the electronic device described in the embodiments of the present application can also be implemented, and details are not described herein again.
- At least two pieces of sub-information are obtained by dividing the target information according to the curve parameters of the target function, and the coordinate information corresponding to each piece of sub-information is obtained according to the objective function, and each piece of sub-information is encrypted by encrypting the coordinate information of each piece of sub-information.
- the ciphertext of the information, the ciphertext of each sub-information is determined as the ciphertext of the target information, and the ciphertext of the target information is stored in the blockchain network.
- the difficulty of decrypting the ciphertext of the target information is increased, so as to improve the security of the target information and improve the probability of successfully obtaining the corresponding coordinates of each sub-information.
- the ciphertext of the target information can be prevented from being tampered with by illegal users, resulting in the problem that the target information cannot be decrypted according to the ciphertext of the target information, which can further improve the security of the target information. It can effectively prevent the ciphertext of the target information from being tampered with.
- Embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and the computer program includes program instructions, and when the program instructions are executed by a processor, FIG. 2 and FIG. 2 are implemented. 3.
- the storage medium involved in this application such as a computer-readable storage medium, may be non-volatile or volatile.
- the computer-readable storage medium may be an internal storage unit of the electronic device described in any of the foregoing embodiments, such as a hard disk or a memory of a control device.
- the computer-readable storage medium can also be an external storage device of the control device, such as a plug-in hard disk equipped on the control device, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) ) card, flash memory card (FlashCard) and so on.
- the computer-readable storage medium may also include both an internal storage unit of the control device and an external storage device.
- the computer-readable storage medium is used to store the computer program and other programs and data required by the control device.
- the computer-readable storage medium can also be used to temporarily store data that has been or will be output.
- the above-described computer-readable storage medium may be deployed to execute on one computer device, or be deployed to execute on multiple computer devices located at one site, or, alternatively, distributed in multiple sites and interconnected by a communication network.
- Executed on a single computer device a plurality of computer devices distributed in multiple locations and interconnected by a communication network can form a blockchain network.
- control device and method may be implemented in other manners.
- the device embodiments described above are illustrative, for example, the division of the units may be a logical function division, and there may be other division methods in actual implementation, for example, multiple units or components may be combined or Integration into another system, or some features can be ignored, or not implemented.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种基于区块链的信息加密方法、装置、设备及介质,包括:获取用于描述信息的目标函数,以及该目标函数的曲线参数(S101);根据该目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息(S102);根据该目标函数获取至少两条子信息中每条子信息对应的坐标信息(S103);对至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文(S104);将每条子信息对应的坐标信息的密文确定为目标信息的密文,将目标信息的密文存储至区块链网络中(S105)。采用本申请,可提高消息的安全性。
Description
本申请要求于2020年9月29日提交中国专利局、申请号为202011057784.3,发明名称为“基于区块链的信息加密方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及区块链技术领域,尤其涉及一种基于区块链的信息加密方法、装置、设备及介质。
目前,物联网已成为互联网的一个重要组成部分,全球物联网设备数量保持高速增长,在未来的物联网中由于任何个人、团体、社区、组织、对象、产品、数据、服务、进程和活动都将通过物联网相互互联。而不同物联网设备每天均需要接收并存储大量信息,例如,医疗平台中医疗设备每天需要接收并存储大量病患信息、病历信息等。发明人实践中发现,物联网设备中所存储的信息容易被非法用户篡改,并导致信息泄露,导致信息的安全性比较低。
发明内容
本申请实施例提供一种基于区块链的信息加密方法、装置、设备及介质,可提高信息的安全性。
第一方面,本申请实施例提供了一种基于区块链的信息加密方法,该方法包括:
获取用于描述信息的目标函数,以及所述目标函数的曲线参数;
根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;
根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;
对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;
将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
第二方面,本申请实施例提供了一种基于区块链的信息加密装置,该装置包括:
获取模块,用于获取用于描述信息的目标函数,以及所述目标函数的曲线参数;
划分模块,用于根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;
所述获取模块,还用于根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;
加密模块,用于对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;
存储模块,用于将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
第三方面,本申请实施例提供了一种电子设备,该设备包括:处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如下步骤:
获取用于描述信息的目标函数,以及所述目标函数的曲线参数;
根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;
根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;
对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;
将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由处理器加载并执行如下步骤:
获取用于描述信息的目标函数,以及所述目标函数的曲线参数;
根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;
根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;
对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;
将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
本申请可提高目标信息的安全性,可有效避免目标信息的密文被篡改。
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种信息加密系统的结构示意图;
图2是本申请实施例提供的一种基于区块链的信息加密方法的流程示意图;
图3是本申请实施例提供的一种基于区块链的信息加密方法的流程示意图;
图4是本申请实施例提供的一种基于区块链的信息加密装置的结构示意图;
图5是本申请另一实施例提供的一种电子设备的结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可涉及人工智能技术领域,并可应用于数据加密场景。例如,可具体应用于数字医疗中的医疗数据加密场景;又如,可应用于金融科技中的交易数据加密场景,该医疗数据和交易数据可存储于区块链中。
区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化、高度透明的数据库;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效纪录交易,且可永久查验此交易(不可篡改)。其中,共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链各网络节点共同认可的一种数学算法。本申请利用区块链中的信息不可被篡改特性,通过对目标信息进行加密,得到目标信息的密文,将目标信息的密文存储至区块链中,可避免该目标信息的密文被篡改,提高目标信息的安全性。
本申请可以用于医疗平台中,即上述目标信息可以是指患者的病历信息、患者对应的病患信息等等,通过对患者的病历信息、患者对应的病患信息等医疗平台的信息进行加密,并将加密后的数据存储至区块链网络中,有利于实现对病患信息管理以及病历管理,提高患者的信息的安全性。
为了便于理解本方案,首先介绍本方案的信息加密系统,如图1所示,该信息加密系统可包括区块链网络10以及至少两个终端,图1中以信息加密系统包括两个终端为例,分 别为终端20以及终端21。
其中,区块链网络是由多个节点设备共同组成的一个端到端的去中心化网络,图1中区块链网络中包括多个节点设备101。每个节点设备在进行正常工作时可以接收到交易数据,并基于接收到的交易数据维护区块链。为了保证区块链网络内的信息互通,区块链网络中的每个节点设备之间可以存在通信连接,节点设备之间可以通过上述通信连接进行数据传输。例如,当区块链网络中的任意节点设备接收到交易数据时,区块链网络中的其他节点设备根据共识算法获取交易数据,将该交易数据作为区块链中的数据进行存储,使得区块链网络中全部节点设备上存储的数据均一致。
其中,对于区块链网络中的每个节点设备,均具有与其对应的节点标识,而且区块链网络中的每个节点设备均可以存储有区块链网络中其他节点设备的节点标识,以便后续根据其他节点设备的节点标识,将生成的区块广播至区块链网络中的其他节点设备。每个节点设备中可维护一个如下表所示的节点标识列表,将节点设备名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点设备的信息,表1中仅以IP地址为例进行说明。
表1:
节点名称 | 节点标识 |
节点设备1 | 117.114.151.174 |
节点设备2 | 117.116.189.145 |
… | … |
节点设备N | 119.123.789.258 |
终端20和终端21可以将信息存储至区块链网络中,也可以从区块链网络中读取信息,具体的,终端20和终端21可以对待处理的目标信息进行加密,将目信息的密文上传至区块链网络中;或者,终端20和终端21可以直接将待处理的目标信息上传至区块链网络中,由区块链网络中的节点设备对目标信息进行加密,将目标信息的密文存储。
此处上述节点设备具体可以是一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobile internet device)等等。终端20、终端21均可以为计算机设备,包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、POS(Point of sales,销售点)机、移动互联网设备(MID,mobile internet device)、可穿戴设备(例如智能手表、智能手环等)等;还可以是指是一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心;还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参见图2,是本申请实施例提供的一种基于区块链的信息加密方法的流程示意图,本申请实施例由电子设备来执行,该电子设备可以是指上述信息加密系统中的节点设备或终端设备,该基于区块链的信息加密方法包括以下步骤S101~S104。
S101、获取用于描述信息的目标函数,以及所述目标函数的曲线参数。
电子设备可以获取用于描述信息的目标函数,以及该目标函数的曲线参数;目标信息可以是指交易数据,该交易数据可以是指交易金额、交易时间等等;或者,目标信息可以是指某一个机构的营收数据,如营业额、出货数量、进货数量等等。
该目标函数可以是指椭圆曲线对应的函数,当然也可以是指其他曲线对应的函数;该目标函数的曲线参数包括曲线的长度、基点以及区块的阶等等。
S102、根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子 信息。
为了增加对目标信息的密文进行解密的难度,避免目标信息的密文被非法用户破解,同时,如果该目标信息对应的数据过大,表明该目标信息偏离了该目标函数,根据目标函数不能获取到目标信息对应的坐标信息。因此,可根据该目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;具体的,可以根据该目标函数的曲线参数对待处理的目标信息进行等长度划分,得到至少两条子信息,即这时至少两条子信息中的每条子信息的长度均相等;或者,可以根据该目标函数的曲线参数对该目标信息进行非长度划分,得到至少两条子信息,即这时至少两条子信息中的每条子信息的长度均不相等,或者,至少两条子信息中的子信息的长度部分不相等。即通过对目标信息进行划分,得到至少两条子信息,使至少两条子信息中的每条子信息对应的数据更小,有利于提高获取子信息对应坐标信息的成功率。
S103、根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息。
电子设备可以采用目标函数的曲线上的点来表示每条子信息,具体的,如果该目标信息为数值类型,即目标子信息也为数值类型,则可以将该目标子信息映射至该目标函数的曲线上的目标点的第一坐标,并根据第一坐标以及目标函数获取该目标点的第二坐标,将第一坐标和第二坐标作为目标子信息对应的坐标信息。目标子信息可以是指至少两条子信息中的任一子信息,第一坐标可以是指X坐标,第二坐标可以是指Y坐标。可选的,当目标信息为非数值类型,即该目标子信息也为非数值类型,则可以将该目标子信息编码得到数值类型的信息;将该数值类型的信息映射至该目标函数的曲线上的目标点的第一坐标,并根据第一坐标以及目标函数获取该目标点的第二坐标,将第一坐标和第二坐标作为目标子信息对应的坐标信息。
S104、对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文。
S105、将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
步骤S104~S105中,电子设备可以采用加密算法对该至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文,该加密算法可以包括但不限于Elgamal算法(一种非对称加密算法)、Rabin算法(一种非对称加密算法)、Diffie-Hellman算法(一种非对称加密算法)、ECC算法(椭圆曲线加密算法)。将每条子信息对应的坐标信息的密文确定为目标信息的密文,将该目标信息的密文存储至区块链网络中;可避免该目标信息存储至终端本地,导致目标信息被篡改,提高目标信息的安全性。
可选的,电子设备将目标信息的密文上传至区块链网络后,可以将目标信息删除,即将目标信息的明文删除,可避免非法用户从电子设备中读取目标信息的明文,导致信息泄露,提高目标信息的安全性。
本申请中,通过根据目标函数的曲线参数对目标信息进行划分,得到至少两条子信息,并根据目标函数获取每条子信息对应的坐标信息,通过对每条子信息的坐标信息进行加密,得到每条子信息的密文,将每条子信息的密文确定为目标信息的密文,将目标信息的密文存储至区块链网络中。即通过对目标信息进行划分以及获取每条子信息对应的坐标信息,增加对目标信息的密文进行解密的难度,以提高目标信息的安全性。并提高成功获取每条子信息的对应的坐标的概率。并通过将目标信息的密文存储至区块链网络中,可避免目标信息的密文被非法用户篡改,导致不能根据目标信息的密文解密得到目标信息的问题,可进一步提高目标信息的安全性,可有效避免目标信息的密文被篡改。
请参见图3,是本申请实施例提供的另一种基于区块链的信息加密方法的流程示意图,所述曲线参数包括曲线长度,所述至少两条子信息中的每条子信息的长度与所述曲线长度 相等;本申请实施例由电子设备来执行,该基于区块链的信息加密方法包括以下步骤S201~S205。
S201、获取用于描述信息的目标函数,以及该目标函数的曲线参数。
S202、获取该目标信息的长度。
S203、若该目标信息的长度为该曲线长度的整数倍,则根据该曲线长度对该目标信息进行划分,得到该至少两条子信息。
S204、若该目标信息的长度不是该曲线长度的整数倍,则根据该曲线长度对该目标信息进行填充处理,得到填充处理后的目标信息;对该填充处理后的目标信息进行划分,得到该至少两条子信息。
步骤S202~S204中,电子设备可以根据曲线参数将目标信息进行等长度划分,得到至少两条子信息。具体的,电子设备可以获取目标信息的长度,即该目标信息的长度用于反映目标信息包括的字节数量;若该目标信息的长度为曲线长度的整数倍,表明目标信息能够被划分为长度与曲线长度相同的至少两个子信息,因此,可以根据该曲线长度对目标信息进行划分,得到至少两条子信息。如果该目标信息的长度不是曲线长度的整数倍,表明目标信息不能被划分为长度与曲线长度相同的至少两个子信息,因此,根据该曲线长度对该目标信息进行填充处理,得到填充处理后的目标信息,即将目标信息填充至长度为曲线长度的整数倍;对该填充处理后的目标信息进行划分,得到该至少两条子信息。
例如,假设曲线的长度为32个字节,该目标信息的长度为200个字节,则该目标信息的长度不是该曲线长度的整数倍;因此,根据该曲线的长度对该目标信息进行填充,得到填充处理后的目标信息,如将该目标信息的长度填充至224个字节,对填充处理后的目标信息进行划分,得到至少两个子信息,如将填充处理后的目标信息划分为7个长度为32个字节的子信息。
可选的,上述根据该曲线长度对该目标信息进行填充处理,得到填充处理后的目标信息,包括:根据该曲线长度与目标信息的长度确定需要填充的字节数;根据该字节数对目标信息进行填充,得到填充处理后的目标信息;如可以根据该字节数在目标信息的头部位置添加目标数字;或者,可以根据该字节数在目标信息的尾部位置添加目标数字,或者,根据该字节数在目标信息中按照预设间隔添加目标数字。该目标数字可以是指0或1,或者其他数字,预设间隔可以是指每隔2个字节或3个字节。
S205、根据该目标函数获取该至少两条子信息中每条子信息对应的坐标信息。
可选的,在步骤S205可包括:获取该目标函数对应的曲线,将该每条子信息映射至该目标函数对应的曲线上的目标点的第一坐标,根据该第一坐标以及该目标函数,确定该目标函数对应的曲线上的目标点的第二坐标,将该第一坐标以及该第二坐标,确定为该每条子信息对应的坐标信息。
电子设备可以获取该目标函数的对应的曲线,将每条子信息映射至该目标函数对应的曲线上的目标点第一坐标,即将该每条子信息作为该目标函数对应的曲线上的目标点的第一坐标;根据该第一坐标以及该目标函数,确定该目标函数对应的曲线上的目标点的第二坐标,将该第一坐标以及第二坐标确定为该每条子信息对应的坐标信息。例如,该第一坐标为目标点的X坐标,第二坐标为目标点的Y坐标,该目标函数可以是指关于X、Y的函数。可以将目标子信息作为目标函数曲线的上目标点的X坐标,根据目标点的X坐标以及目标函数确定目标点的Y坐标,将目标点的X坐标以及Y坐标作为该目标子信息的坐标信息。
S206、对该至少两条子信息中每条子信息对应的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文。
可选的,在步骤S206可包括:获取该目标信息所属的终端的属性信息,以及该每条子 信息对应的密钥,该终端的属性信息包括该终端的终端标识、该终端生成的口令、该终端对应的用户信息中的至少一种;根据该终端的属性信息生成该终端的私钥;根据该私钥以及该每条子信息对应的密钥,对该至少两条子信息中每条子信息对应的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文。
电子设备可以获取每条子信息对应的密钥,每条子信息对应的密钥可以是根据根密钥所生成的,或者,或者,是根据每条子信息位于目标信息的中位置信息所生成的。进一步,可以获取该目标信息所属的终端的属性信息,该终端的属性信息包括该终端的终端标识、该终端生成的口令、该终端对应的用户信息中的至少一种,终端标识可以是指终端的IP地址、MAC地址、编号等中的至少一种,用户信息可以是指用户账户、用户电话号码等等;终端生成的口令可以是指随机生成的,或者,按照某种规则生成的,根据该终端的属性信息生成随机数,对该随机数进行填充,得到终端的私钥,该终端的私钥可以是指包括256bit(即位)。然后,可根据该私钥以及该每条子信息对应的密钥,对该至少两条子信息中每条子信息对应的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文;通过私钥以及每条子信息对应的密钥,对每条子信息进行加密,可提高目标信息的安全性。
可选的,上述根据该私钥以及该每条子信息对应的密钥,对该至少两条子信息中每条子信息对应的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文的具体实现方式包括:获取该目标函数的曲线的基点坐标;获取该基点坐标与该终端的私钥的乘积,得到候选坐标;根据该每条子信息对应的密钥对该候选坐标进行加密,得到该候选坐标的密文;对该每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到该每条子信息对应的坐标信息的密文。
电子设备可以获取该目标函数的曲线的基点坐标,并计算该G点坐标与该终端的私钥的乘积,得到候选坐标,根据该每条子信息对应的密钥对该候选坐标进行加密,得到该候选坐标的密文;对该每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到该每条子信息对应的坐标信息的密文。
可选的,以第i条子信息为例,第i条子信息对应的坐标信息的密文可以采用如下公式(1)表示。
公式(1)中,
表示第i条子信息对应的坐标信息的密文,ki表示第i条子信息的密钥,H为候选坐标,即每条子信息对应的候选坐标均相同。
表示第i条子信息对应的坐标信息,ki*H表示第i条子信息对应的候选坐标信息的密文;候选坐标可以采用如下公式(2)表示。
H=h*G (2)
公式(2)中,h表示终端的私钥,G表示目标函数的曲线的基点坐标,可表示为(x
g,y
g)。
S207、将该每条子信息对应的坐标信息的密文确定为该目标信息的密文,将该目标信息的密文存储至区块链网络中。
可选的,步骤S207包括:获取该每条子信息位于该目标信息中的位置信息;根据该位置信息,对该每条子信息对应的坐标信息的密文进行排序;按照该每条子信息对应的坐标信息的密文的排序,对该每条子信息对应的坐标信息的密文进行组合,得到该目标信息的密文。
为了便于能够对目标信息的密文进行解密,可以获取该每条子信息位于该目标信息中的位置信息,根据该位置信息,对该每条子信息对应的坐标信息的密文进行排序;即按照每条子信息位于目标信息中的位置信息,对该每条子信息对应的坐标信息的密文进行排序。按照该每条子信息对应的坐标信息的密文的排序,对该每条子信息对应的坐标信息的密文进行组合,得到该目标信息的密文。例如,该至少两条子信息中包括第一子信息以及第二子信息,第一子信息在目标信息中的位置位于第二子信息之前,则可以将第一子信息对应的坐标信息的密文排在第二子信息对应的坐标信息的密文之前,得到目标信息的密文。
可选的,该方法还可以包括:从该区块链网络中读取该目标信息的密文,该目标信息的密文中包括该每条信息对应的坐标信息的密文;对该每条子信息的密文以及对应候选坐标的密文进行解密,得到该每条子信息的坐标信息;根据该每条子信息的坐标信息确定该每条子信息;将该每条子信息进行拼接,得到该目标信息。
当电子设备需要读取目标信息时,可以从区块链网络中读取该目标信息的密文,并获取终端的私钥、每条子信息对应的密钥以及目标函数的基点坐标,根据目标函数的基点坐标以及终端私钥生成候选坐标,采用每条信息对应的密钥对候选坐标进行加密,得到候选坐标的密文。对该每条子信息的密文以及对应候选坐标的密文进行解密,得到该每条子信息的坐标信息,根据该每条子信息的坐标信息确定该每条子信息;将该每条子信息进行拼接,得到该目标信息。
可选的,电子设备可以接收针对目标信息的获取请求,该获取请求携带目标终端的终端信息,该目标终端的终端信息包括目标终端的IP地址、MAC地址、名称、编号、目标终端对应的用户信息(如用户账户、电话号码、昵称)等等。电子设备可以根据该目标终端的终端信息验证该目标终端的有效性,如根据目标终端的终端信息验证该目标终端是否属于权限终端集合,权限终端集合包括具有多个具有获取目标信息权限的终端对应终端信息,若目标终端的终端信息属于权限终端集合,则确定该目标终端具有有效性;若该目标终端的终端信息不属于权限终端集合,则确定该目标终端不具有有效性。若该目标终端具有有效性,表明目标终端具有读取目标信息的权限,则执行上述从该区块链网络中读取该目标信息的密文的步骤,并将该目标信息发送至目标终端;若该目标终端不具有效性,表明目标终端不具有读取目标信息的权限,则拒绝将目标信息发送至该目标终端。通过对目标终端的有效性进行验证,可避免目标信息被非法终端获取,提高目标信息的安全性。
本申请中,通过根据目标函数的曲线参数对目标信息进行等长度划分,得到至少两条子信息,降低对目标信息的加密的复杂度,并有利于提高对目标信息的密文进行解密的效率。根据目标函数获取每条子信息对应的坐标信息,通过对每条子信息的坐标信息进行加密,得到每条子信息的密文,将每条子信息的密文确定为目标信息的密文,将目标信息的密文存储至区块链网络中。即通过对目标信息进行划分以及获取每条子信息对应的坐标信息,增加对目标信息的密文进行解密的难度,以提高目标信息的安全性,并提高成功获取每条子信息的对应的坐标的概率。并通过将目标信息的密文存储至区块链网络中,可避免目标信息的密文被非法用户篡改,导致不能根据目标信息的密文解密得到目标信息的问题,可进一步提高目标信息的安全性,可有效避免目标信息的密文被篡改。
请参见图4,是本申请实施例提供的一种基于区块链的信息加密装置的结构示意图,如图4所示,本实施例中基于区块链的信息装置包括:
获取模块401,用于获取用于描述信息的目标函数,以及所述目标函数的曲线参数;
划分模块402,用于根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;
所述获取模块401,还用于根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;
加密模块403,用于对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;
存储模块404,用于将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
可选的,所述曲线参数包括曲线长度,所述至少两条子信息中的每条子信息的长度与所述曲线长度相等;所述划分模块402根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息的具体实现方式包括:
获取所述目标信息的长度;
若所述目标信息的长度为所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行划分,得到所述至少两条子信息;
若所述目标信息的长度不是所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行填充处理,得到填充处理后的目标信息;对所述填充处理后的目标信息进行划分,得到所述至少两条子信息。
可选的,所述获取模块401根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息的具体实现方式包括:
获取所述目标函数对应的曲线;
将所述每条子信息映射至所述目标函数对应的曲线上的目标点的第一坐标;
根据所述第一坐标以及所述目标函数,确定所述目标函数对应的曲线上的目标点的第二坐标;
将所述第一坐标以及所述第二坐标,确定为所述每条子信息对应的坐标信息。
可选的,所述加密模块403对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文的具体实现方式包括:
获取所述目标信息所属的终端的属性信息,以及所述每条子信息对应的密钥,所述终端的属性信息包括所述终端的终端标识、所述终端生成的口令、所述终端对应的用户信息中的至少一种;
根据所述终端的属性信息生成所述终端的私钥;
根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文。
可选的,所述加密模块403根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文的具体实现方式包括:
获取所述目标函数的曲线的基点坐标;
获取所述基点坐标与所述终端的私钥的乘积,得到候选坐标;
根据所述每条子信息对应的密钥对所述候选坐标进行加密,得到所述候选坐标的密文;
对所述每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到所述每条子信息对应的坐标信息的密文。
可选的,所述装置包括:
读取模块405,用于从所述区块链网络中读取所述目标信息的密文,所述目标信息的密文中包括所述每条信息对应的坐标信息的密文;
解密模块406,用于对所述每条子信息的密文以及对应候选坐标的密文进行解密,得到所述每条子信息的坐标信息;根据所述每条子信息的坐标信息确定所述每条子信息;
拼接模块407,用于将所述每条子信息进行拼接,得到所述目标信息。
可选的,所述存储模块404将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文的具体实现方式包括:
获取所述每条子信息位于所述目标信息中的位置信息;
根据所述位置信息,对所述每条子信息对应的坐标信息的密文进行排序;
按照所述每条子信息对应的坐标信息的密文的排序,对所述每条子信息对应的坐标信息的密文进行组合,得到所述目标信息的密文。
本申请中,通过根据目标函数的曲线参数对目标信息进行划分,得到至少两条子信息,并根据目标函数获取每条子信息对应的坐标信息,通过对每条子信息的坐标信息进行加密,得到每条子信息的密文,将每条子信息的密文确定为目标信息的密文,将目标信息的密文存储至区块链网络中。即通过对目标信息进行划分以及获取每条子信息对应的坐标信息,增加对目标信息的密文进行解密的难度,以提高目标信息的安全性,并提高成功获取每条子信息的对应的坐标的概率。并通过将目标信息的密文存储至区块链网络中,可避免目标信息的密文被非法用户篡改,导致不能根据目标信息的密文解密得到目标信息的问题,可进一步提高目标信息的安全性,可有效避免目标信息的密文被篡改。
请参见图5,是本申请实施例提供的一种电子设备的结构示意图,该电子设备可包括处理器。可选的,该电子设备还可包括存储器、输入装置和输出装置中的至少一种。例如如图5所示的本实施例中的电子设备可以包括:一个或多个处理器21;一个或多个输入装置22,一个或多个输出装置23和存储器24。上述处理器21、输入装置22、输出装置23和存储器24通过总线25连接。
所处理器21可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入装置22可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出装置23可以包括显示器(LCD等)、扬声器等,输出装置23可以输出校正处理后的数据表。
该存储器24可以包括只读存储器和随机存取存储器,并向处理器21提供指令和数据。存储器24的一部分还可以包括非易失性随机存取存储器,存储器24用于存储计算机程序,所述计算机程序包括程序指令,处理器21用于执行存储器24存储的程序指令,以用于执行一种基于区块链的信息加密方法,即用于执行以下操作:
获取用于描述信息的目标函数,以及所述目标函数的曲线参数;
根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;
根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;
对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;
将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
可选的,所述处理器21用于执行存储器24存储的程序指令,以用于执行曲线参数包括曲线长度,所述至少两条子信息中的每条子信息的长度与所述曲线长度相等;所述根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息的具体实现方式包括:
获取所述目标信息的长度;
若所述目标信息的长度为所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行划分,得到所述至少两条子信息;
若所述目标信息的长度不是所述曲线长度的整数倍,则根据所述曲线长度对所述目标 信息进行填充处理,得到填充处理后的目标信息;对所述填充处理后的目标信息进行划分,得到所述至少两条子信息。
可选的,所述处理器21用于执行存储器24存储的程序指令,以用于执行根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息的具体实现方式包括:
获取所述目标函数对应的曲线;
将所述每条子信息映射至所述目标函数对应的曲线上的目标点的第一坐标;
根据所述第一坐标以及所述目标函数,确定所述目标函数对应的曲线上的目标点的第二坐标;
将所述第一坐标以及所述第二坐标,确定为所述每条子信息对应的坐标信息。
可选的,所述处理器21用于执行存储器24存储的程序指令,以用于执行对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文的具体实现方式包括:
获取所述目标信息所属的终端的属性信息,以及所述每条子信息对应的密钥,所述终端的属性信息包括所述终端的终端标识、所述终端生成的口令、所述终端对应的用户信息中的至少一种;
根据所述终端的属性信息生成所述终端的私钥;
根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文。
可选的,所述处理器21用于执行存储器24存储的程序指令,以用于执行根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文的具体实现方式包括:
获取所述目标函数的曲线的基点坐标;
获取所述基点坐标与所述终端的私钥的乘积,得到候选坐标;
根据所述每条子信息对应的密钥对所述候选坐标进行加密,得到所述候选坐标的密文;
对所述每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到所述每条子信息对应的坐标信息的密文。
可选的,处理器21用于执行存储器24存储的程序指令,以用于执行从所述区块链网络中读取所述目标信息的密文,所述目标信息的密文中包括所述每条信息对应的坐标信息的密文;
对所述每条子信息的密文以及对应候选坐标的密文进行解密,得到所述每条子信息的坐标信息;根据所述每条子信息的坐标信息确定所述每条子信息;
将所述每条子信息进行拼接,得到所述目标信息。
可选的,所述处理器21用于执行存储器24存储的程序指令,以用于执行将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文的具体实现方式包括:
获取所述每条子信息位于所述目标信息中的位置信息;
根据所述位置信息,对所述每条子信息对应的坐标信息的密文进行排序;
按照所述每条子信息对应的坐标信息的密文的排序,对所述每条子信息对应的坐标信息的密文进行组合,得到所述目标信息的密文。
本申请实施例中所描述的处理器21、输入装置22、输出装置23可执行本申请实施例提供的基于区块链的信息加密方法的第一实施例和第二实施例中所描述的实现方式,也可执行本申请实施例所描述的电子设备的实现方式,在此不再赘述。
本申请中,通过根据目标函数的曲线参数对目标信息进行划分,得到至少两条子信息,并根据目标函数获取每条子信息对应的坐标信息,通过对每条子信息的坐标信息进行加密,得到每条子信息的密文,将每条子信息的密文确定为目标信息的密文,将目标信息的密文 存储至区块链网络中。即通过对目标信息进行划分以及获取每条子信息对应的坐标信息,增加对目标信息的密文进行解密的难度,以提高目标信息的安全性,并提高成功获取每条子信息的对应的坐标的概率。并通过将目标信息的密文存储至区块链网络中,可避免目标信息的密文被非法用户篡改,导致不能根据目标信息的密文解密得到目标信息的问题,可进一步提高目标信息的安全性,可有效避免目标信息的密文被篡改。
本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如图2及图3实施例中所示的基于区块链的信息加密生成方法。
可选的,本申请涉及的存储介质如计算机可读存储介质可以是非易失性的,也可以是易失性的。
所述计算机可读存储介质可以是前述任一实施例所述的电子设备的内部存储单元,例如控制设备的硬盘或内存。所述计算机可读存储介质也可以是所述控制设备的外部存储设备,例如所述控制设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,所述计算机可读存储介质还可以既包括所述控制设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述控制设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
作为示例,上述计算机可读存储介质可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的控制设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的控制设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例是示意性的,例如,所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (20)
- 一种基于区块链的信息加密方法,包括:获取用于描述信息的目标函数,以及所述目标函数的曲线参数;根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
- 根据权利要求1所述的方法,其中,所述曲线参数包括曲线长度,所述至少两条子信息中的每条子信息的长度与所述曲线长度相等;所述根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息,包括:获取所述目标信息的长度;若所述目标信息的长度为所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行划分,得到所述至少两条子信息;若所述目标信息的长度不是所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行填充处理,得到填充处理后的目标信息;对所述填充处理后的目标信息进行划分,得到所述至少两条子信息。
- 根据权利要求1所述的方法,其中,所述根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息,包括:获取所述目标函数对应的曲线;将所述每条子信息映射至所述目标函数对应的曲线上的目标点的第一坐标;根据所述第一坐标以及所述目标函数,确定所述目标函数对应的曲线上的目标点的第二坐标;将所述第一坐标以及所述第二坐标,确定为所述每条子信息对应的坐标信息。
- 根据权利要求1所述的方法,其中,所述对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文,包括:获取所述目标信息所属的终端的属性信息,以及所述每条子信息对应的密钥,所述终端的属性信息包括所述终端的终端标识、所述终端生成的口令、所述终端对应的用户信息中的至少一种;根据所述终端的属性信息生成所述终端的私钥;根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文。
- 根据权利要求4所述的方法,其中,所述根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文,包括:获取所述目标函数的曲线的基点坐标;获取所述基点坐标与所述终端的私钥的乘积,得到候选坐标;根据所述每条子信息对应的密钥对所述候选坐标进行加密,得到所述候选坐标的密文;对所述每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到所述每条子信息对应的坐标信息的密文。
- 根据权利要求5所述的方法,其中,所述方法还包括:从所述区块链网络中读取所述目标信息的密文,所述目标信息的密文中包括所述每条信息对应的坐标信息的密文;对所述每条子信息的密文以及对应候选坐标的密文进行解密,得到所述每条子信息的坐标信息;根据所述每条子信息的坐标信息确定所述每条子信息;将所述每条子信息进行拼接,得到所述目标信息。
- 根据权利要求1所述的方法,其中,所述将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,包括:获取所述每条子信息位于所述目标信息中的位置信息;根据所述位置信息,对所述每条子信息对应的坐标信息的密文进行排序;按照所述每条子信息对应的坐标信息的密文的排序,对所述每条子信息对应的坐标信息的密文进行组合,得到所述目标信息的密文。
- 一种基于区块链的信息加密装置,包括:获取模块,用于获取用于描述信息的目标函数,以及所述目标函数的曲线参数;划分模块,用于根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;所述获取模块,还用于根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;加密模块,用于对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;存储模块,用于将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
- 一种电子设备,包括:处理器,适于实现一条或一条以上指令;以及,计算机可读存储介质,所述计算机可读存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行以下方法:获取用于描述信息的目标函数,以及所述目标函数的曲线参数;根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
- 根据权利要求9所述的电子设备,其中,所述曲线参数包括曲线长度,所述至少两条子信息中的每条子信息的长度与所述曲线长度相等;执行所述根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息,包括:获取所述目标信息的长度;若所述目标信息的长度为所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行划分,得到所述至少两条子信息;若所述目标信息的长度不是所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行填充处理,得到填充处理后的目标信息;对所述填充处理后的目标信息进行划分,得到所述至少两条子信息。
- 根据权利要求9所述的电子设备,其中,执行所述根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息,包括:获取所述目标函数对应的曲线;将所述每条子信息映射至所述目标函数对应的曲线上的目标点的第一坐标;根据所述第一坐标以及所述目标函数,确定所述目标函数对应的曲线上的目标点的第二坐标;将所述第一坐标以及所述第二坐标,确定为所述每条子信息对应的坐标信息。
- 根据权利要求9所述的电子设备,其中,执行所述对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文,包括:获取所述目标信息所属的终端的属性信息,以及所述每条子信息对应的密钥,所述终端的属性信息包括所述终端的终端标识、所述终端生成的口令、所述终端对应的用户信息中的至少一种;根据所述终端的属性信息生成所述终端的私钥;根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文。
- 根据权利要求12所述的电子设备,其中,执行所述根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文,包括:获取所述目标函数的曲线的基点坐标;获取所述基点坐标与所述终端的私钥的乘积,得到候选坐标;根据所述每条子信息对应的密钥对所述候选坐标进行加密,得到所述候选坐标的密文;对所述每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到所述每条子信息对应的坐标信息的密文。
- 根据权利要求9所述的电子设备,其中,执行所述将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,包括:获取所述每条子信息位于所述目标信息中的位置信息;根据所述位置信息,对所述每条子信息对应的坐标信息的密文进行排序;按照所述每条子信息对应的坐标信息的密文的排序,对所述每条子信息对应的坐标信息的密文进行组合,得到所述目标信息的密文。
- 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一条或者一条以上指令,所述一条或一条以上指令适于由处理器加载并执行以下方法:获取用于描述信息的目标函数,以及所述目标函数的曲线参数;根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息;根据所述目标函数获取所述至少两条子信息中每条子信息对应的坐标信息;对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文;将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,将所述目标信息的密文存储至区块链网络中。
- 根据权利要求15所述的计算机可读存储介质,其中,所述曲线参数包括曲线长度,所述至少两条子信息中的每条子信息的长度与所述曲线长度相等;执行所述根据所述目标函数的曲线参数对待处理的目标信息进行划分,得到至少两条子信息,包括:获取所述目标信息的长度;若所述目标信息的长度为所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行划分,得到所述至少两条子信息;若所述目标信息的长度不是所述曲线长度的整数倍,则根据所述曲线长度对所述目标信息进行填充处理,得到填充处理后的目标信息;对所述填充处理后的目标信息进行划分,得到所述至少两条子信息。
- 根据权利要求15所述的计算机可读存储介质,其中,执行所述根据所述目标函数 获取所述至少两条子信息中每条子信息对应的坐标信息,包括:获取所述目标函数对应的曲线;将所述每条子信息映射至所述目标函数对应的曲线上的目标点的第一坐标;根据所述第一坐标以及所述目标函数,确定所述目标函数对应的曲线上的目标点的第二坐标;将所述第一坐标以及所述第二坐标,确定为所述每条子信息对应的坐标信息。
- 根据权利要求15所述的计算机可读存储介质,其中,执行所述对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文,包括:获取所述目标信息所属的终端的属性信息,以及所述每条子信息对应的密钥,所述终端的属性信息包括所述终端的终端标识、所述终端生成的口令、所述终端对应的用户信息中的至少一种;根据所述终端的属性信息生成所述终端的私钥;根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文。
- 根据权利要求18所述的计算机可读存储介质,其中,执行所述根据所述私钥以及所述每条子信息对应的密钥,对所述至少两条子信息中每条子信息对应的坐标信息进行加密,得到所述每条子信息对应的坐标信息的密文,包括:获取所述目标函数的曲线的基点坐标;获取所述基点坐标与所述终端的私钥的乘积,得到候选坐标;根据所述每条子信息对应的密钥对所述候选坐标进行加密,得到所述候选坐标的密文;对所述每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到所述每条子信息对应的坐标信息的密文。
- 根据权利要求15所述的计算机可读存储介质,其中,执行所述将所述每条子信息对应的坐标信息的密文确定为所述目标信息的密文,包括:获取所述每条子信息位于所述目标信息中的位置信息;根据所述位置信息,对所述每条子信息对应的坐标信息的密文进行排序;按照所述每条子信息对应的坐标信息的密文的排序,对所述每条子信息对应的坐标信息的密文进行组合,得到所述目标信息的密文。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011057784.3A CN112202779B (zh) | 2020-09-29 | 2020-09-29 | 基于区块链的信息加密方法、装置、设备及介质 |
CN202011057784.3 | 2020-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022068356A1 true WO2022068356A1 (zh) | 2022-04-07 |
Family
ID=74008190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/109167 WO2022068356A1 (zh) | 2020-09-29 | 2021-07-29 | 基于区块链的信息加密方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112202779B (zh) |
WO (1) | WO2022068356A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202779B (zh) * | 2020-09-29 | 2022-08-30 | 深圳壹账通智能科技有限公司 | 基于区块链的信息加密方法、装置、设备及介质 |
CN112069525A (zh) * | 2020-09-29 | 2020-12-11 | 深圳壹账通智能科技有限公司 | 基于信息的属性生成密钥的加密方法、装置及设备 |
CN112131593A (zh) * | 2020-09-29 | 2020-12-25 | 深圳壹账通智能科技有限公司 | 基于信息的特征的加密方法、装置、设备及储存介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10084600B1 (en) * | 2018-04-16 | 2018-09-25 | Xage Security, Inc. | Decentralized information protection for confidentiality and tamper-proofing on distributed database |
CN110839026A (zh) * | 2019-11-12 | 2020-02-25 | 深圳市网心科技有限公司 | 基于区块链的数据处理方法及相关设备 |
CN110941850A (zh) * | 2019-10-28 | 2020-03-31 | 苏宁金融科技(南京)有限公司 | 基于跨链技术的物联网数据共享方法及系统 |
CN111104386A (zh) * | 2019-11-04 | 2020-05-05 | 北京海益同展信息科技有限公司 | 一种文件存储方法、终端及存储介质 |
JP2020129760A (ja) * | 2019-02-08 | 2020-08-27 | 国立大学法人東京工業大学 | 分散データ管理システムおよびそのプログラム |
CN112133386A (zh) * | 2020-09-29 | 2020-12-25 | 深圳壹账通智能科技有限公司 | 一种基于区块链的信息处理方法、装置、设备及介质 |
CN112202779A (zh) * | 2020-09-29 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 基于区块链的信息加密方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124278B (zh) * | 2017-03-30 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置以及数据共享系统 |
CN110049016B (zh) * | 2019-03-21 | 2022-02-18 | 深圳壹账通智能科技有限公司 | 区块链的数据查询方法、装置、系统、设备及存储介质 |
SG11202002419WA (en) * | 2019-05-31 | 2020-04-29 | Alibaba Group Holding Ltd | Method for restoring public key based on sm2 signature |
-
2020
- 2020-09-29 CN CN202011057784.3A patent/CN112202779B/zh active Active
-
2021
- 2021-07-29 WO PCT/CN2021/109167 patent/WO2022068356A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10084600B1 (en) * | 2018-04-16 | 2018-09-25 | Xage Security, Inc. | Decentralized information protection for confidentiality and tamper-proofing on distributed database |
JP2020129760A (ja) * | 2019-02-08 | 2020-08-27 | 国立大学法人東京工業大学 | 分散データ管理システムおよびそのプログラム |
CN110941850A (zh) * | 2019-10-28 | 2020-03-31 | 苏宁金融科技(南京)有限公司 | 基于跨链技术的物联网数据共享方法及系统 |
CN111104386A (zh) * | 2019-11-04 | 2020-05-05 | 北京海益同展信息科技有限公司 | 一种文件存储方法、终端及存储介质 |
CN110839026A (zh) * | 2019-11-12 | 2020-02-25 | 深圳市网心科技有限公司 | 基于区块链的数据处理方法及相关设备 |
CN112133386A (zh) * | 2020-09-29 | 2020-12-25 | 深圳壹账通智能科技有限公司 | 一种基于区块链的信息处理方法、装置、设备及介质 |
CN112202779A (zh) * | 2020-09-29 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 基于区块链的信息加密方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112202779A (zh) | 2021-01-08 |
CN112202779B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673626B2 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
WO2022068356A1 (zh) | 基于区块链的信息加密方法、装置、设备及介质 | |
CN108900533B (zh) | 一种共享数据隐私保护方法、系统、终端及介质 | |
CN111797415A (zh) | 基于区块链的数据共享方法、电子设备和存储介质 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN109729041B (zh) | 一种加密内容的发布以及获取方法及装置 | |
CN112202554B (zh) | 基于信息的属性生成密钥的信息处理方法、装置及设备 | |
WO2022068360A1 (zh) | 基于共享根密钥的信息处理方法、装置、设备及介质 | |
WO2020215685A1 (zh) | 基于区块链的信息处理、获取方法、装置、设备及介质 | |
WO2022068358A1 (zh) | 基于信息的属性生成密钥的加密方法、装置及设备 | |
WO2022068362A1 (zh) | 一种基于区块链的信息处理方法、装置、设备及介质 | |
WO2022068236A1 (zh) | 基于信息的特征进行信息处理的方法、装置、设备及介质 | |
WO2022267314A1 (zh) | 一种基于智能合约的数据处理方法及装置 | |
WO2022068234A1 (zh) | 基于共享根密钥的加密方法、装置、设备及介质 | |
WO2022068355A1 (zh) | 基于信息的特征的加密方法、装置、设备及储存介质 | |
CN113094334B (zh) | 基于分布式存储的数字服务方法、装置、设备及储存介质 | |
CN112073196B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
WO2023087760A1 (zh) | 一种数据共享方法、装置、设备及存储介质 | |
WO2022068235A1 (zh) | 基于信息的属性生成随机数的信息处理方法、装置及设备 | |
WO2022068359A1 (zh) | 对信息的密文进行压缩的加密方法、装置、设备及介质 | |
WO2022068361A1 (zh) | 基于修正量的加密方法、装置、设备及介质 | |
WO2024011863A9 (zh) | 通信方法、装置、sim卡、电子设备和终端设备 | |
US20220366381A1 (en) | System and method for distributed storage of transactions | |
CN112202453A (zh) | 对密文进行压缩的信息处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 04-07-2023). |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21874018 Country of ref document: EP Kind code of ref document: A1 |