CN114297721A - Information processing method, information processing apparatus, block chain platform, and storage medium - Google Patents

Information processing method, information processing apparatus, block chain platform, and storage medium Download PDF

Info

Publication number
CN114297721A
CN114297721A CN202210089865.4A CN202210089865A CN114297721A CN 114297721 A CN114297721 A CN 114297721A CN 202210089865 A CN202210089865 A CN 202210089865A CN 114297721 A CN114297721 A CN 114297721A
Authority
CN
China
Prior art keywords
ciphertext
account
value
account value
public key
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.)
Pending
Application number
CN202210089865.4A
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202210089865.4A priority Critical patent/CN114297721A/en
Publication of CN114297721A publication Critical patent/CN114297721A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The embodiment of the application discloses an information processing method, which comprises the following steps: receiving transaction information between a target user and other users; wherein the transaction information includes an account change value; acquiring first account book information of a target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key; encrypting the account change value by using the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to the homomorphic encryption parameters.

Description

Information processing method, information processing apparatus, block chain platform, and storage medium
Technical Field
The present application relates to, but not limited to, the field of computer technologies, and in particular, to an information processing method, an information processing apparatus, a block chain platform, and a storage medium.
Background
Blockchain technologies are generally classified into public chains and license chains, which in turn can be classified into federation chains and private chains depending on whether the data maintainer is a single entity. Data on the public chain is shared publicly, while inside the license chain, the data is shared, but the information protected therein is often open to some participants and kept secret to others according to business needs. In the field of privacy Protection, along with the requirement of General Data Protection Regulation (GDPR) proposed by european union 2018, a requirement is also proposed for the owner of Data that Data Protection must be provided. The data protection problem in the field of alliance chain is a key problem to be solved.
In the related art, the method for protecting data on the alliance chain is in a hash chain connection mode, and since the hash chain connection transaction occurs at the user side, only the hash value of the result after the transaction, namely the hash data, needs to be stored on the block chain to realize invisibility of the data. However, the hash data in this method can only be used as a certificate, and the original plaintext data is still needed when the transaction is performed, and the protection of the data is not really realized. It can be seen that there is a need to provide an information processing method for privacy protection of data of a federation chain.
Disclosure of Invention
Embodiments of the present application are intended to provide an information processing method, an information processing apparatus, a block chain platform, and a storage medium.
The technical scheme of the application is realized as follows:
in a first aspect, an information processing method is applied to a first node of a block chain, and the method includes:
receiving transaction information between a target user and other users; wherein the transaction information includes an account change value;
acquiring first account book information of the target user from the block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, wherein the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key;
encrypting the account variation value by using the first public key to obtain a first ciphertext account variation value;
determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and recording the second ciphertext account value in the block chain, so that the target user decrypts the second ciphertext account value with a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function.
In a second aspect, an information processing apparatus, the apparatus comprising:
the receiving module is used for receiving transaction information between the target user and other users; wherein the transaction information includes an account change value;
the acquisition module is used for acquiring first account book information of the target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, wherein the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key;
the processing module is used for encrypting the account change value by using the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and recording the second ciphertext account value in the block chain, so that the target user decrypts the second ciphertext account value with a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function.
In a third aspect, a blockchain platform, the blockchain platform comprising:
a memory for storing executable instructions;
and the processor is used for executing the executable instructions stored in the memory and realizing the information processing method.
In a fourth aspect, a storage medium stores one or more programs, and the one or more programs are executable by one or more processors to implement the information processing method described above.
The information processing method, the information processing device, the block chain platform and the storage medium provided by the embodiment of the application receive the transaction information between the target user and other users; wherein the transaction information includes an account change value; acquiring first account book information of a target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key; encrypting the account change value by using the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function; therefore, in the process of operating the ciphertext data by the block link points, the original information of the data cannot be revealed, and the privacy operation among the data is realized.
Drawings
Fig. 1 is an alternative flow chart of an information processing method provided by an embodiment of the present application;
fig. 2 is an alternative schematic diagram of sending a message to a first node according to an embodiment of the present application;
fig. 3 is an alternative flow chart of an information processing method provided by an embodiment of the present application;
fig. 4 is an alternative flow chart of an information processing method provided by an embodiment of the present application;
fig. 5 is an alternative structural diagram of ciphertext update provided by an embodiment of the present application;
fig. 6 is an alternative flow chart of an information processing method provided by an embodiment of the present application;
fig. 7 is an alternative flow chart of an information processing method provided by an embodiment of the present application;
fig. 8 is an alternative flow chart of an information processing method provided by an embodiment of the present application;
FIG. 9 is an alternative diagram of a join operation provided by embodiments of the present application;
fig. 10 is a schematic structural diagram of an information processing apparatus according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a block chain platform according to an embodiment of the present disclosure. .
Detailed Description
In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the attached drawings, the described embodiments should not be considered as limiting the present application, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict.
In the following description, references to the terms "first \ second \ third" are only to distinguish similar objects and do not denote a particular order, but rather the terms "first \ second \ third" are used to interchange specific orders or sequences, where appropriate, so as to enable the embodiments of the application described herein to be practiced in other than the order shown or described herein.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the application.
An embodiment of the present application provides an information processing method, applied to a first node of a block chain, and shown in fig. 1, the method includes the following steps:
step 101, receiving transaction information between a target user and other users.
Wherein the transaction information includes an account change value. Here, the account change value may be an account change value of the target user, the account change value may also be an account change value of another user, and the account change value may also be an account change value of a user different from the target user and another user, which is not limited in this application. In the embodiment of the present application, the account change value is an account change value of the target user.
In the embodiment of the application, the target user is a user for increasing the account value, namely a user for transferring to a certain account value; the target user may also be a user who has reduced account value, i.e. a user who has transferred a certain account value.
In the embodiment of the application, the first node of the blockchain determines the changed account value of the target user based on the original account value and the account change value of the target account.
Here, the transaction information may be generated by the blockchain platform, or the transaction information may be generated and sent to the first node of the blockchain by the target user, another user, or a user X specified by an upper layer of the blockchain, which is not limited in particular.
In this embodiment, the transaction information may further include a first identifier of the target user and a second identifier of another user, that is, the transaction information may be represented as Tran (ID)A,IDBValue), wherein, IDAA first identity, ID, representing a target userBA second identity representing the other user and value representing the account change value. Here, transaction information between the target user and the other users may also be submitted to the first node of the blockchain in the form of a contract.
In practical applications, the blockchain includes a public chain, a private chain and a federation chain; the public chain is opened for all users, so that data information on the public chain, namely the account book information, can be shared in a public way; the private chain is open to the user granted with the write-in authority, so that the data information, namely the book information on the private chain can be accessed to the user granted with the write-in authority without data verification, and the private chain has high trust; the alliance chain grants certain authority to the users participating in management, and privacy protection of data information, namely ledger information, among members in the alliance chain is needed, so that the trust degree among the members is improved. The information processing method provided by the embodiment of the application is applied to a alliance chain so as to achieve the purpose of protecting the privacy of data information in a transaction process among members in the alliance chain.
In this embodiment of the present application, the first node is any one of a plurality of nodes included in the block chain.
Step 102, first account book information of a target user is obtained from a block chain.
The first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key.
In the embodiment of the application, the first public key is a key required by the target user for generating encryption through a key generation algorithm based on a given homomorphic encryption parameter, where the homomorphic key required by the target user for generating encryption through the key generation algorithm based on the given homomorphic encryption parameter includes the first public key and the first private key, and the first private key corresponds to the first public key. Illustratively, the target user is given a homomorphic encryption parameter λ, and is generated by the key generation algorithm KeyGen (1)λ) Generating a first public key PKAAnd a first private keyskA. It should be noted that, according to the difference of the selected encryption and decryption algorithms, the required homomorphic encryption parameters are also different, and the application is not particularly limited to the encryption and decryption algorithms.
In the embodiment of the application, after receiving transaction information between a target user and other users, a first node of a blockchain acquires first account book information of the target user, including a first ciphertext account value and a first public key, from the blockchain.
In other embodiments of the present application, the first ledger information may further include a first identifier of the target user. After receiving transaction information between a target user and other users, a first node of a block chain acquires first account book information corresponding to a first identifier from the block chain based on the first identifier of the target user included in the transaction information.
And 103, encrypting the account variable value by using the first public key to obtain a first ciphertext account variable value.
In the embodiment of the application, a first node of a block chain acquires a first public key in first account book information under the condition that the first account book information of a target user is acquired from the block chain. Further, the account change value in the transaction information is encrypted by the encryption algorithm through the first public key to obtain a first ciphertext account change value, so that the first node performs combined operation on at least two ciphertext values obtained by encrypting the same key through the homomorphic evaluation algorithm.
And 104, determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain the first plaintext account value.
The first public key and the first private key are generated according to homomorphic encryption parameters; the first evaluation function comprises an arithmetic function.
In the embodiment of the present application, the arithmetic function includes, but is not limited to, an addition arithmetic function, a subtraction arithmetic function, a multiplication arithmetic function, a division arithmetic function, and an average arithmetic function.
In the embodiment of the present application, the evaluation function may be understood as a combination of at least two ciphertext values obtained by encrypting with the same public key, and a new ciphertext value is formed by a specific function, such as an operation function, included in the evaluation function, so that a new plaintext value after the operation is obtained by decrypting the new ciphertext value with a private key corresponding to the public key. Illustratively, the evaluation algorithm is Eval (F, ct1, ct2, …, ctn), which combines n ciphertexts ct1, ct2, …, ctn to form a new cipher text ct' and ct ═ F (ct1, ct2, …, ctn) by an arithmetic function F. Due to the property of homomorphic encryption, Dec (sk, ct ') is guaranteed to be F (m1, m2, …, mn), namely, a decryption function Dec function is used, a private key sk is used for homomorphic decryption of a new ciphertext ct', a plaintext m1 corresponding to the ciphertext ct1, a plaintext m2 corresponding to the ciphertext ct2 and a plaintext mn corresponding to the ciphertext ctn are obtained, and the plaintext m1, m2 and mn are calculated through an operation function F to obtain a new plaintext.
In the embodiment of the application, when a first node of a block chain encrypts an account change value with a first public key to obtain a first ciphertext account change value, the first node calculates a first ciphertext account value and the first ciphertext account change value through an operation function in a first evaluation function to obtain a second ciphertext account value, and records the second ciphertext account value in the block chain, so that a target user decrypts the second ciphertext account value with a first private key corresponding to the first public key to obtain a first plaintext account value.
In one achievable application scenario, the target user is a user that reduces account value. Firstly, the target user executes a key generation algorithm, namely a KeyGen algorithm, according to given homomorphic encryption parameters to generate a first public key PKAAnd a first private key skA(ii) a Secondly, the target user uses the first public key PK through the Enc algorithmAPrevious transaction information m for target userAEncrypting to obtain a first ciphertext account value ctACan be expressed as executing Enc (m)A,PKA) Get ctA. Further, referring to fig. 2, a in fig. 2 is a schematic diagram illustrating sending of the first ledger information to the first nodeCreate (ID) information of first account book created by a subscriberA,ctA,PKA) Sending the first account book information to a first node of the block chain, providing endorsement and synchronization modes for the information of the first node, and synchronizing the information of the first node to other nodes of the block chain to finally achieve consistency; wherein the first account book information is stored on the block chain in a key-value (key-value) structure, and the first account book information is IDA:[ctA,PKA]. Next, referring to fig. 2, B in fig. 2 is a schematic diagram showing that transaction information is transmitted to the first node, and the first node receives transaction information Tran (ID) between the target user and the other usersA,IDBValue) based on the first identification IDAObtaining first account book information from a block chain and using a first public key PKAEncrypting the account change value in the transaction information to obtain a first ciphertext account change value ctv1. Further, the first node performs a first evaluation algorithm, Eval (Sub, ct)A,ctv1) Obtaining a second ciphertext account value ctA′And the second ciphertext account value ctA′Taking the final account book value as the final account book value, and recording the final first account book value in the block chain, wherein the final first account book information of the target user is IDA:[ctA′,PKA]. Finally, the target user uses the first private key sk through a decryption algorithm DECAFor the second ciphertext account value ctA′And decrypting to obtain a first plaintext account value so as to verify the accuracy of the transaction.
It should be noted that the endorsement may be understood that the first node serves as a submission node, and submits all information included in the first node to the endorsement node first, where the endorsement node may be a node specified by the block chain platform, the endorsement node performs operation and updates information first, returns the updated information to the submission node, and sends the updated information to other nodes of the block chain after the submission node is verified to be correct.
In another practical application scenario, if the transaction information is Tran (ID)A,IDBValue), then represents an IDAThe corresponding user is the sender of the transaction, IDBThe corresponding user being the recipient of the transaction, i.e. the targetThe user is a user who decreases the account value, and the other users are users who increase the account value. Firstly, the target user executes a key generation algorithm, namely a KeyGen algorithm, according to given homomorphic encryption parameters to generate a first public key PKAAnd a first private key skA(ii) a Other users execute a key generation algorithm, namely a KeyGen algorithm to generate a fourth public key PK according to given homomorphic encryption parametersBAnd a fourth private key skB. Secondly, the target user uses the first public key PK through the Enc algorithmAPrevious transaction information m for target userAEncrypting to obtain a first ciphertext account value ctACan be expressed as executing Enc (m)A,PKA) Get ctA(ii) a The other users use the fourth public key PK through the encryption algorithm Enc algorithmBPrevious transaction information m to other usersBEncrypting to obtain a fourth ciphertext account value ctBCan be expressed as executing Enc (m)B,PKB) Get ctB. Further, referring to fig. 2, the target user creates first ledger information Create (ID)A,ctA,PKA) And sending the first account book information to a first node of the block chain, providing endorsement and synchronization modes for the information of the first node, and synchronizing the endorsement and synchronization modes to other nodes of the block chain. Wherein the first account book information is stored on the block chain in a key-value (key-value) structure, and the first account book information is IDA:[ctA,PKA]. Other users Create third ledger information Create (ID)B,ctB,PKB) And sending the third account book information to the first node of the block chain, providing endorsement and synchronization modes for the information of the first node, and synchronizing the endorsement and synchronization modes to other nodes of the block chain. Wherein the third book information is stored on the blockchain in a key-value (key-value) structure, and the third book information is IDB:[ctB,PKB]. Then, the first node receives transaction information Tran (ID) between the target user and the other usersA,IDBValue) based on the first identification IDAObtaining first account book information from a block chain and based on a second identification IDBAnd acquiring third account book information from the block chain. Thereafter, the first node uses the first public key PKAEncrypting the account change value in the transaction information to obtain a first ciphertext account change value ctv1And with the fourth public key PKBEncrypting the account change value in the transaction information to obtain a third ciphertext account change value ctv2. Further, the first node performs a first evaluation algorithm, Eval (Sub, ct)A,ctv1) Obtaining a second ciphertext account value ctA′And the second ciphertext account value ctA′Taking the final account book value as the final account book value, and recording the final first account book value in the block chain, wherein the final first account book information of the target user is IDA:[ctA′,PKA]. The first node is based on executing a first evaluation algorithm Eval (Add, ct)B,ctv2) Obtaining the eighth ciphertext account value ctB′And the eighth ciphertext account value ctB′Taking the final account book value as the final account book value, and recording the final third account book value in the block chain, wherein the final third account book information of other users is IDB:[ctB′,PKB]. Finally, the target user uses the first private key sk through a decryption algorithm DECAFor the second ciphertext account value ctA′Decrypting to obtain a first plaintext account value; the other users use the fourth private key sk through a decryption algorithm DEC algorithmBFor the eighth ciphertext account value ctB′And decrypting to obtain a second plaintext account value so as to verify the accuracy of the transaction.
The information processing method provided by the embodiment of the application receives the transaction information between the target user and other users; wherein the transaction information includes an account change value; acquiring first account book information of a target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key; encrypting the account change value by using the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function; therefore, in the process of operating the ciphertext data by the block link points, the original information of the data cannot be revealed, and the privacy operation among the data is realized.
An embodiment of the present application provides an information processing method, applied to a first node of a block chain, and as shown in fig. 3, the method includes the following steps:
step 201, transaction information between the target user and other users is received.
Wherein the transaction information includes an account change value.
Step 202, first account book information of the target user is obtained from the block chain.
The first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key.
Step 203, obtaining the key updating information of the target user from the block chain.
The key updating information comprises a first ciphertext private key and a second public key, and the first ciphertext private key is obtained after the target user encrypts the first private key by using the second public key.
In this embodiment, the second public key is another key required for generating encryption by the key generation algorithm based on the given homomorphic encryption parameter.
In the embodiment of the application, after receiving transaction information between a target user and other users, a first node of a blockchain acquires first account book information of the target user from the blockchain, and acquires key update information of the target user, which contains a first ciphertext private key and a second public key, from the blockchain.
In this application embodiment, the key update may be performed before the first account book information is acquired and the first ciphertext account value in the first account book information is updated, the key update may also be performed after the first ciphertext account book value in the first account book information is acquired and the updated first ciphertext account book value is acquired, and this application does not specifically limit the timing of the key update. Here, the following is performed to update the key and the ciphertext book value in the first book information before the first ciphertext book value in the first book information is updated by acquiring the first book information.
And step 204, updating the first account book information based on the first ciphertext private key and the second public key to obtain the updated first account book information, so that the first node records the ciphertext account value of the target user of the block chain again according to the updated first account book information.
In this embodiment of the application, referring to fig. 4, step 204 is to update the first ledger information based on the first ciphertext private key and the second public key, so as to obtain the updated first ledger information, and may be implemented by the following steps:
and step A1, encrypting the first ciphertext account value again by using the second public key to obtain the first ciphertext account value in the first secret state.
Step A2, determining a third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first ciphertext state, and the second evaluation function.
And the updated first account book information comprises a third ciphertext account value and a second public key.
In the embodiment of the application, after the first node of the block chain acquires the key update information of the target user including the first ciphertext private key and the second public key from the block chain, the first ciphertext account value is encrypted again by the second public key through the encryption algorithm to obtain the first ciphertext account value in the first secret state, and the third ciphertext account value is determined based on the first ciphertext private key, the first ciphertext account value in the first secret state and the second evaluation function.
In this embodiment of the application, the step a2 is to determine the third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first secret state, and the second evaluation function, and may be implemented as follows:
and decrypting the first ciphertext account value in the first cipher state by using the first ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a third ciphertext account value.
Wherein the second evaluation function comprises a homomorphic decryption function.
Therefore, in the process of updating the key by the method, the target user does not need to decrypt the ciphertext account book to obtain the plaintext account book and then updates the plaintext account book by using the new public key, so that the situation that the target user changes the plaintext account book data when updating the key is avoided, and the privacy and the safety of the data are protected.
It should be noted that, in the related art, the key update method downloads the far-end ciphertext locally, decrypts the plaintext account in the local using the corresponding private key, and then encrypts the plaintext account using the new key to obtain a new ciphertext account.
And step 205, encrypting the account variation value by using the second public key to obtain a second ciphertext account variation value.
And step 206, determining an updated second ciphertext account value based on the ciphertext account value, the second ciphertext account change value and the first evaluation function in the updated first account book information, and recording the updated second ciphertext account value in the block chain, so that the target user decrypts the updated second ciphertext account value by using a second private key corresponding to the second public key to obtain the first plaintext account value.
The second public key and the second private key are generated according to the homomorphic encryption parameters; the first evaluation function comprises an arithmetic function.
In the embodiment of the application, under the condition that the first node of the block chain encrypts the account variation value by using the second public key to obtain the second ciphertext account variation value, the first node calculates the third ciphertext account value and the second ciphertext account variation value through an operation function in the first evaluation function to obtain an updated second ciphertext account value, and records the updated second ciphertext account value in the block chain, so that the target user decrypts the updated second ciphertext account value by using the second private key corresponding to the second public key to obtain the first plaintext account value.
In an implementation application scenario, referring to fig. 5, first, after the target user acquires first account information including a first ciphertext account value and a first public key from the blockchain, the target user executes a key generation algorithm, i.e., a KeyGen algorithm, according to a given homomorphic encryption parameter to generate a new key, i.e., a second public key PK'AAnd a second private key sk'AAnd a second public key PK 'through an encryption algorithm Enc algorithm'AFor the first private key skAEncrypting to obtain a first ciphertext private key
Figure BDA0003488761610000091
May be expressed as performing Enc (sk)A,PK′A) To obtain
Figure BDA0003488761610000092
Then, referring to fig. 2, C in fig. 2 is a schematic diagram illustrating that the target user generates the key update information to the first node
Figure BDA0003488761610000093
And sending the key update information to the first node. Further, the first node is based on the first identification IDAObtaining the secret key updating information from the block chain, and using a second public key PK 'through an encryption algorithm Enc algorithm'AFor the first ciphertext account value ctAAfter encryption, a first ciphertext account value in a first ciphertext state is obtained
Figure BDA0003488761610000094
May be expressed as performing Enc (ct)A,PK′A) To obtain
Figure BDA0003488761610000095
Finally, the first ciphertext private key is used through a homomorphic decryption function in the second evaluation function, such as a Dec function
Figure BDA0003488761610000096
For the first dense stateFirst ciphertext account value of
Figure BDA0003488761610000097
Decrypting to obtain a third ciphertext account value ct'ACan be expressed as performing
Figure BDA0003488761610000098
To obtain ct'AAnd the first account book information of the target user after the key updating is IDA:[ct′A,PK′A]. Finally, in order to ensure the correctness of the updated account book information, the target user can pass the first identification IDAInquiring the block chain to obtain a third ciphertext account value ct'AAnd execute Dec (sk'A,ct′A) To obtain m'AVerification mAIs equal to m'AAnd if the two are equal, the ciphertext is updated successfully. Therefore, after the plaintext account book is obtained without decrypting the ciphertext account book, the plaintext account book is updated by using the new public key, the situation that when a target user updates the secret key, the data of the plaintext account book is changed at the same time is avoided, and the privacy and the safety of the data are protected.
It should be noted that, for the descriptions of the same steps and the same contents in this embodiment as those in other embodiments, reference may be made to the descriptions in other embodiments, which are not described herein again.
An embodiment of the present application provides an information processing method, applied to a first node of a block chain, and as shown in fig. 6, the method includes the following steps:
step 301, receiving transaction information between the target user and other users.
The transaction information includes an account change value, where the account change value may be an account change value of the target user, the account change value may also be an account change value of another user, and the account change value may also be an account change value different from the target user and the other user, which is not limited in this application. In the embodiment of the present application, the account change value is an account change value different from the account change values of the target user and other users. Here, the transaction information further includes a first identification of the target user, a second identification of the other user, and an arithmetic function. The transaction information is used for calculating the account value of the target user and the account values of other users, and the transaction information is also called joint calculation information.
Step 302, first account book information of the target user is obtained from the block chain.
The first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key.
In the embodiment of the application, after receiving a transaction letter between a target user and another user, a first node of a block chain acquires first account book information of the target user corresponding to a first identifier from the block chain.
Step 303, obtaining second account book information of the agent user from the blockchain.
The second account book information comprises a null value and a third public key, and the agent user is different from the target user and other users.
In this embodiment, the second public key is a key required for generating encryption by the proxy user through a key generation algorithm based on a given homomorphic encryption parameter.
And step 304, acquiring a second ciphertext private key of the target user from the blockchain.
And the second ciphertext private key is obtained by encrypting the first private key by the target user by using the third public key.
And 305, acquiring a third ciphertext private key and third account book information of other users from the blockchain.
The second account book information comprises a fourth ciphertext account value and fourth public keys of other users, the third ciphertext private key is obtained by encrypting the fourth private key corresponding to the fourth public key by using the third public key by using other users, and the fourth ciphertext account value is obtained by encrypting previous transaction information of other users by using the fourth public key by using other users.
In the embodiment of the application, after the first node of the blockchain acquires the first account book information of the target user from the blockchain, the first node continues to acquire the second account book information of the agent user, which contains a null value and a third public key, from the blockchain, acquires the second ciphertext private key of the target user, and acquires the third ciphertext private key of the other user corresponding to the second identifier and the third account book information, which contains a fourth ciphertext account value and a fourth public key.
Step 306, determining a fifth ciphertext account value of the agent user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, and recording the fifth ciphertext account value in the block chain, so that the agent user decrypts the fifth ciphertext account value with the third private key corresponding to the third public key to obtain the second plaintext account value.
In this embodiment, referring to fig. 7, step 306 determines a fifth ciphertext account value of the agent user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value, and the third public key, which includes:
and step B1, encrypting the first ciphertext account value by using the third public key to obtain the first ciphertext account value in the second secret state.
And step B2, encrypting the fourth ciphertext account value by using the third public key to obtain the fourth ciphertext account value in the first secret state.
And step B3, determining a fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second ciphertext state and the fourth ciphertext account value in the first ciphertext state.
In the embodiment of the application, a first node of a block chain encrypts a first ciphertext account value by using a third public key through an encryption algorithm to obtain a first ciphertext account value in a second secret state, encrypts a fourth ciphertext account value by using the third public key through the encryption algorithm to obtain a fourth ciphertext account value in the first secret state, and finally determines a fifth ciphertext account value based on a second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state and the fourth ciphertext account value in the first secret state.
In this embodiment of the application, referring to fig. 8, step B3 is to determine a fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state, and may be implemented by the following steps:
and step C1, decrypting the first ciphertext account value in the second secret state by using the second ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a sixth ciphertext account value.
And step C2, decrypting the fourth ciphertext account value in the first ciphertext state by using the third ciphertext private key through the homomorphic decryption function to obtain a seventh ciphertext account value.
And step C3, calculating the sixth ciphertext account value and the seventh ciphertext account value through the operation function in the first evaluation function, and determining a fifth ciphertext account value.
In the embodiment of the application, a first node of a block chain decrypts a first ciphertext account value in a second ciphertext state by using a second ciphertext private key through a homomorphic decryption function in a second evaluation function to obtain a sixth ciphertext account value; decrypting the fourth ciphertext account value in the first ciphertext state by using the third ciphertext private key through a homomorphic decryption function to obtain a seventh ciphertext account value; and calculating the sixth ciphertext account value and the seventh ciphertext account value through an operation function in the first evaluation function, and determining a fifth ciphertext account value obtained after operation.
Therefore, the private operation between the account book data of different users is realized by introducing the proxy user. It should be noted that, in the related art, when performing the joint operation, since the ciphertext account values of the target user and the other users are encrypted by using the respective keys, if it is desired to perform the joint operation, for example, Sum (m) is requiredA,mB)=mA+mBThis cannot be achieved in the existing model because evaluation of the Eval function in the homomorphism requires that each ciphertext be generated under the same key.
In one practical application scenario, referring to fig. 9, first, the target user performs a key generation algorithm, i.e. a KeyGen algorithm, according to a given homomorphic encryption parameter to generate a first public key PKAAnd a first private key skA(ii) a Other users execute a key generation algorithm, namely a KeyGen algorithm to generate a fourth public key PK according to given homomorphic encryption parametersBAnd a fourth private key skB(ii) a The proxy user executes a key generation algorithm, namely a KeyGen algorithm, according to the given homomorphic encryption parameters to generate a third public key PKDAnd a third private key skD. The third public key PK is then used by the proxy userDSubmitting to a first node, and the first node creates empty second account book information for the agent user
Figure BDA0003488761610000121
Thereafter, the target user and other users query the third public key PK of the proxy user respectivelyDAnd the target user uses the third public key PK through the encryption algorithm Enc algorithmDFor the first private key skAThe second ciphertext private key is obtained after encryption
Figure BDA0003488761610000122
May be expressed as performing Enc (sk)A,PKD) To obtain
Figure BDA0003488761610000123
The other users use the third public key PK through the encryption algorithm Enc algorithmDFor the fourth private key skBEncrypting to obtain a third ciphertext private key
Figure BDA0003488761610000124
May be expressed as performing Enc (sk)B,PKD) To obtain
Figure BDA0003488761610000125
The target user uses the second ciphertext private key
Figure BDA0003488761610000126
Sending the third ciphertext private key to the first node and other users
Figure BDA0003488761610000127
And sending the data to the first node.
Then, the user can use the device to perform the operation,the first node receives the joint operation information computer (F, ID) between the target user and other usersA,IDB) Based on the first identification IDAObtaining first account book information from a block chain and based on a second identification IDBAnd acquiring third account book information from the block chain. Thereafter, the first node uses the third public key PKDFor the first ciphertext account value ctAEncrypting to obtain the account value of the first ciphertext under the second ciphertext state
Figure BDA0003488761610000128
May be expressed as performing Enc (ct)A,PKD) To obtain
Figure BDA0003488761610000129
Using the third public key PKDFor the fourth ciphertext account value ctBEncrypting to obtain a fourth ciphertext account value in the first ciphertext state
Figure BDA00034887616100001210
May be expressed as performing Enc (ct)B,PKD) To obtain
Figure BDA00034887616100001211
Further, the first node uses a second ciphertext private key pair through a homomorphic decryption function Dec function in a second evaluation function, namely an Eval function
Figure BDA00034887616100001212
Account value of first cipher text in second cipher text state
Figure BDA00034887616100001213
Decrypting to obtain the sixth ciphertext account value
Figure BDA00034887616100001214
Can be expressed as executing
Figure BDA00034887616100001215
To obtain
Figure BDA00034887616100001216
Using a third ciphertext private key pair through a homomorphic decryption function Dec function in a second evaluation function, namely an Eval function
Figure BDA00034887616100001217
Account value of first cipher text in second cipher text state
Figure BDA00034887616100001218
Decrypting to obtain the seventh ciphertext account value
Figure BDA00034887616100001219
Can be expressed as executing
Figure BDA00034887616100001220
To obtain
Figure BDA00034887616100001221
Then, the first node obtains an operation function F in the combined operation information, determines the operation function F as an operation function in the first evaluation function, and carries out account value calculation on the sixth ciphertext through the operation function F in the first evaluation function
Figure BDA00034887616100001222
And a seventh ciphertext account value
Figure BDA00034887616100001223
Calculating to determine the account value of the fifth ciphertext
Figure BDA00034887616100001224
Recording the fifth ciphertext account value on the block chain to determine that the final third account book information of the agent user is a Dealer:
Figure BDA00034887616100001225
finally, the agent user queries the block chain through the agent identifier Deller to obtain a fifth ciphertext account value
Figure BDA00034887616100001226
At this time, the proxy user uses the third private key skDFor the fifth ciphertext account value
Figure BDA00034887616100001227
Decrypting to obtain
Figure BDA00034887616100001228
F(mA,mB) I.e. the calculation result of the function F is executed on the ledger data of a and B, so that the calculation result is saved on the blockchain. Therefore, by introducing the proxy user, the privacy operation among the account book data among different users is realized.
It should be noted that, for the descriptions of the same steps and the same contents in this embodiment as those in other embodiments, reference may be made to the descriptions in other embodiments, which are not described herein again.
An embodiment of the present application provides an information processing apparatus, which can be applied to an information processing method provided in the embodiments corresponding to fig. 1, fig. 3 to fig. 4, and fig. 6 to fig. 8, and as shown in fig. 10, the information processing apparatus 10 includes:
a receiving module 1001, configured to receive transaction information between a target user and another user; wherein the transaction information includes an account change value;
an obtaining module 1002, configured to obtain first account book information of a target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key;
the processing module 1003 is configured to encrypt the account change value with the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function.
In other embodiments of the present application, the obtaining module 1002 is further configured to obtain key update information of the target user from the block chain, where the key update information includes a first ciphertext private key and a second public key, and the first ciphertext private key is obtained by encrypting the first private key with the second public key by the target user; the processing module 1003 is further configured to update the first account book information based on the first ciphertext private key and the second public key to obtain updated first account book information, so that the first node records the ciphertext account value of the target user of the block chain again according to the updated first account book information.
In other embodiments of the present application, the processing module 1003 is further configured to encrypt the first ciphertext account value again by using the second public key to obtain the first ciphertext account value in the first secret state; determining a third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first ciphertext state and the second evaluation function; and the updated first account book information comprises a third ciphertext account value and a second public key.
In other embodiments of the present application, the processing module 1003 is further configured to use the second evaluation function to include a homomorphic decryption function, and decrypt the first ciphertext account value in the first ciphertext state with the first ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a third ciphertext account value.
In other embodiments of the present application, the obtaining module 1002 is further configured to obtain second account book information of the agent user from the blockchain; the second account book information comprises a null value and a third public key, and the agent user is different from the target user and other users; acquiring a second ciphertext private key of the target user from the block chain; the second ciphertext private key is obtained by encrypting the first private key by the target user by using a third public key; acquiring third ciphertext private keys and third account book information of other users from the block chain; the second account book information comprises a fourth ciphertext account value and fourth public keys of other users, the third ciphertext private key is obtained by encrypting the fourth private key corresponding to the fourth public key by using the third public key by using other users, and the fourth ciphertext account value is obtained by encrypting the previous transaction information of other users by using the fourth public key by using other users; the processing module 1003 is further configured to determine a fifth ciphertext account value of the agent user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value, and the third public key, and record the fifth ciphertext account value in the block chain, so that the agent user decrypts the fifth ciphertext account value with the third private key corresponding to the third public key to obtain a second plaintext account value.
In other embodiments of the present application, the processing module 1003 is further configured to encrypt the first ciphertext account value with the third public key to obtain the first ciphertext account value in the second secret state; encrypting the fourth ciphertext account value by using the third public key to obtain a fourth ciphertext account value in the first secret state; and determining a fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second ciphertext state and the fourth ciphertext account value in the first ciphertext state.
In other embodiments of the present application, the processing module 1003 is further configured to decrypt, by using a homomorphic decryption function in the second evaluation function, the first ciphertext account value in the second ciphertext state by using the second ciphertext private key, so as to obtain a sixth ciphertext account value; decrypting the fourth ciphertext account value in the first ciphertext state by using the third ciphertext private key through a homomorphic decryption function to obtain a seventh ciphertext account value; and calculating the sixth ciphertext account value and the seventh ciphertext account value through an operation function in the first evaluation function, and determining a fifth ciphertext account value.
An embodiment of the present application provides a blockchain platform, which can be applied to an information processing method provided in the embodiments corresponding to fig. 1, fig. 3 to fig. 4, and fig. 6 to fig. 8, where, referring to fig. 11, the blockchain platform 11 (the blockchain platform 11 in fig. 11 corresponds to the information processing apparatus 10 in fig. 10) includes: a memory 1101 and a processor 1102, wherein:
a memory 1101 for storing executable instructions;
a processor 1102 for executing executable instructions stored in the memory 1101 to implement the steps of:
receiving transaction information between a target user and other users; wherein the transaction information includes an account change value;
acquiring first account book information of a target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key;
encrypting the account change value by using the first public key to obtain a first ciphertext account change value;
determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters; the first evaluation function comprises an arithmetic function.
In other embodiments of the present application, the processor 1102 is further configured to execute the executable instructions stored in the memory 1101 to implement the following steps:
acquiring key updating information of a target user from a block chain, wherein the key updating information comprises a first ciphertext private key and a second public key, and the first ciphertext private key is obtained by encrypting the first private key by the target user with the second public key; and updating the first account book information based on the first ciphertext private key and the second public key to obtain the updated first account book information, so that the first node records the ciphertext account value of the target user of the block chain again according to the updated first account book information.
In other embodiments of the present application, the processor 1102 is further configured to execute the executable instructions stored in the memory 1101 to implement the following steps:
encrypting the first ciphertext account value again by using the second public key to obtain a first ciphertext account value in a first secret state; determining a third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first ciphertext state and the second evaluation function; and the updated first account book information comprises a third ciphertext account value and a second public key.
In other embodiments of the present application, the processor 1102 is further configured to execute the executable instructions stored in the memory 1101 to implement the following steps:
the second evaluation function comprises a homomorphic decryption function, and the first ciphertext account value in the first ciphertext state is decrypted by the first ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a third ciphertext account value.
In other embodiments of the present application, the processor 1102 is further configured to execute the executable instructions stored in the memory 1101 to implement the following steps:
acquiring second account book information of the agent user from the blockchain; the second account book information comprises a null value and a third public key, and the agent user is different from the target user and other users; acquiring a second ciphertext private key of the target user from the block chain; the second ciphertext private key is obtained by encrypting the first private key by the target user by using a third public key; acquiring third ciphertext private keys and third account book information of other users from the block chain; the second account book information comprises a fourth ciphertext account value and fourth public keys of other users, the third ciphertext private key is obtained by encrypting the fourth private key corresponding to the fourth public key by using the third public key by using other users, and the fourth ciphertext account value is obtained by encrypting the previous transaction information of other users by using the fourth public key by using other users; and determining a fifth ciphertext account value of the agent user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, and recording the fifth ciphertext account value in the block chain, so that the agent user decrypts the fifth ciphertext account value by using the third private key corresponding to the third public key to obtain a second plaintext account value.
In other embodiments of the present application, the processor 1102 is further configured to execute the executable instructions stored in the memory 1101 to implement the following steps:
encrypting the first ciphertext account value by using the third public key to obtain the first ciphertext account value in the second secret state; encrypting the fourth ciphertext account value by using the third public key to obtain a fourth ciphertext account value in the first secret state; and determining a fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second ciphertext state and the fourth ciphertext account value in the first ciphertext state.
In other embodiments of the present application, the processor 1102 is further configured to execute the executable instructions stored in the memory 1101 to implement the following steps:
decrypting the first ciphertext account value in the second ciphertext state by using the second ciphertext private key through a homomorphic decryption function in the second evaluation function to obtain a sixth ciphertext account value; decrypting the fourth ciphertext account value in the first ciphertext state by using the third ciphertext private key through a homomorphic decryption function to obtain a seventh ciphertext account value; and calculating the sixth ciphertext account value and the seventh ciphertext account value through an operation function in the first evaluation function, and determining a fifth ciphertext account value.
Embodiments of the present application provide a storage medium storing one or more programs, which are executable by one or more processors to implement an information processing method provided by the embodiments corresponding to fig. 1, 3 to 4, and 6 to 8.
The storage medium provided by the embodiment of the application receives the transaction information between the target user and other users; wherein the transaction information includes an account change value; acquiring first account book information of a target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key; encrypting the account change value by using the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and recording the second ciphertext account value in a block chain, so that the target user decrypts the second ciphertext account value by using a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function; therefore, in the process of operating the ciphertext data by the block link points, the original information of the data cannot be revealed, and the privacy operation among the data is realized.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present application, and is not intended to limit the scope of the present application.

Claims (10)

1. An information processing method applied to a first node of a block chain, the method comprising:
receiving transaction information between a target user and other users; wherein the transaction information includes an account change value;
acquiring first account book information of the target user from the block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, wherein the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key;
encrypting the account variation value by using the first public key to obtain a first ciphertext account variation value;
determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and recording the second ciphertext account value in the block chain, so that the target user decrypts the second ciphertext account value with a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters; the first evaluation function comprises an arithmetic function.
2. The method of claim 1, after the obtaining the first ledger information of the target user from the blockchain, the method comprising:
acquiring key updating information of the target user from the block chain, wherein the key updating information comprises a first ciphertext private key and a second public key, and the first ciphertext private key is obtained after the target user encrypts the first private key by using the second public key;
updating the first account book information based on the first ciphertext private key and the second public key to obtain updated first account book information, so that the first node records the ciphertext account value of the target user of the block chain again according to the updated first account book information.
3. The method of claim 2, wherein the updating the first ledger information based on the first ciphertext private key and the second public key to obtain updated first ledger information comprises:
encrypting the first ciphertext account value again by using the second public key to obtain a first ciphertext account value in a first secret state;
determining a third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first ciphertext state, and a second evaluation function; wherein the updated first ledger information comprises the third ciphertext account value and the second public key.
4. The method of claim 3, the second evaluation function comprising a homomorphic decryption function, the determining a third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first ciphertext state, and the second evaluation function comprising:
and decrypting the first ciphertext account value in the first secret state by using the first ciphertext private key through a homomorphic decryption function in the second evaluation function to obtain the third ciphertext account value.
5. The method of any of claims 1 to 4, after the obtaining of the first ledger information of the target user from the blockchain, the method comprising:
acquiring second account book information of the agent user from the blockchain; wherein the second ledger information comprises a null value and a third public key, and the agent user is different from the target user and the other users;
acquiring a second ciphertext private key of the target user from the block chain; the second ciphertext private key is obtained by encrypting the first private key by the target user by using the third public key;
acquiring a third ciphertext private key and third account book information of the other users from the block chain; the second account book information comprises a fourth ciphertext account value and a fourth public key of the other user, the third ciphertext private key is obtained by the other user by encrypting a fourth private key corresponding to the fourth public key by using the third public key, and the fourth ciphertext account value is obtained by the other user by encrypting previous transaction information of the other user by using the fourth public key;
determining a fifth ciphertext account value of the agent user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value, and the third public key, and recording the fifth ciphertext account value in the block chain, so that the agent user decrypts the fifth ciphertext account value with the third private key corresponding to the third public key to obtain a second plaintext account value.
6. The method of claim 5, the determining a fifth ciphertext account value of the proxy user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value, and the third public key, comprising:
encrypting the first ciphertext account value by using the third public key to obtain a first ciphertext account value in a second secret state;
encrypting the fourth ciphertext account value by using the third public key to obtain a fourth ciphertext account value in a first secret state;
determining the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second ciphertext state, and the fourth ciphertext account value in the first ciphertext state.
7. The method of claim 6, the determining the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state, comprising:
decrypting the first ciphertext account value in the second cipher state by using the second ciphertext private key through a homomorphic decryption function in a second evaluation function to obtain a sixth ciphertext account value;
decrypting a fourth ciphertext account value in the first ciphertext state by using the third ciphertext private key through the homomorphic decryption function to obtain a seventh ciphertext account value;
and calculating the sixth ciphertext account value and the seventh ciphertext account value through the operation function in the first evaluation function, and determining the fifth ciphertext account value.
8. An information processing apparatus, the apparatus comprising:
the receiving module is used for receiving transaction information between the target user and other users; wherein the transaction information includes an account change value;
the acquisition module is used for acquiring first account book information of the target user from a block chain; the first account book information comprises a first ciphertext account value and a first public key of the target user, wherein the first ciphertext account value is obtained after the target user encrypts previous transaction information of the target user by using the first public key;
the processing module is used for encrypting the account change value by using the first public key to obtain a first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and recording the second ciphertext account value in the block chain, so that the target user decrypts the second ciphertext account value with a first private key corresponding to the first public key to obtain a first plaintext account value; the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function comprises an operation function.
9. A blockchain platform, the blockchain platform comprising:
a memory for storing executable instructions;
a processor for executing the executable instructions stored in the memory to implement the information processing method of any one of claims 1 to 7.
10. A storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the information processing method according to any one of claims 1 to 7.
CN202210089865.4A 2022-01-25 2022-01-25 Information processing method, information processing apparatus, block chain platform, and storage medium Pending CN114297721A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210089865.4A CN114297721A (en) 2022-01-25 2022-01-25 Information processing method, information processing apparatus, block chain platform, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210089865.4A CN114297721A (en) 2022-01-25 2022-01-25 Information processing method, information processing apparatus, block chain platform, and storage medium

Publications (1)

Publication Number Publication Date
CN114297721A true CN114297721A (en) 2022-04-08

Family

ID=80976875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210089865.4A Pending CN114297721A (en) 2022-01-25 2022-01-25 Information processing method, information processing apparatus, block chain platform, and storage medium

Country Status (1)

Country Link
CN (1) CN114297721A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116204912B (en) * 2023-04-28 2023-09-12 北京天润基业科技发展股份有限公司 Data processing method and device based on isomorphic encryption

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (en) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 A kind of block chain method for secret protection encrypted based on additive homomorphism
CN110059494A (en) * 2019-04-17 2019-07-26 深圳市路云区链网络科技有限公司 A kind of method for secret protection and block catenary system of block chain transaction data
US20200074459A1 (en) * 2018-08-30 2020-03-05 Alibaba Group Holding Limited Method, apparatus and electronic device for blockchain transactions
CN113094733A (en) * 2021-04-25 2021-07-09 永旗(北京)科技有限公司 Block chain data privacy protection method and system
CN113269642A (en) * 2021-05-24 2021-08-17 深圳壹账通智能科技有限公司 Transaction processing method, device, equipment and storage medium based on block chain
KR20210131031A (en) * 2020-04-23 2021-11-02 에스케이 주식회사 Method for managing user key using smart contract on blockchain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (en) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 A kind of block chain method for secret protection encrypted based on additive homomorphism
US20200074459A1 (en) * 2018-08-30 2020-03-05 Alibaba Group Holding Limited Method, apparatus and electronic device for blockchain transactions
CN110059494A (en) * 2019-04-17 2019-07-26 深圳市路云区链网络科技有限公司 A kind of method for secret protection and block catenary system of block chain transaction data
KR20210131031A (en) * 2020-04-23 2021-11-02 에스케이 주식회사 Method for managing user key using smart contract on blockchain
CN113094733A (en) * 2021-04-25 2021-07-09 永旗(北京)科技有限公司 Block chain data privacy protection method and system
CN113269642A (en) * 2021-05-24 2021-08-17 深圳壹账通智能科技有限公司 Transaction processing method, device, equipment and storage medium based on block chain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116204912B (en) * 2023-04-28 2023-09-12 北京天润基业科技发展股份有限公司 Data processing method and device based on isomorphic encryption

Similar Documents

Publication Publication Date Title
US11621833B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
AU2017223133B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
CN111371790B (en) Data encryption sending method based on alliance chain, related method, device and system
US20050058294A1 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
CN115176441A (en) Identity-based public key generation protocol
GB2398713A (en) Anonymous access to online services for users registered with a group membership authority
CN112532580B (en) Data transmission method and system based on block chain and proxy re-encryption
US20230224147A1 (en) Generating shared private keys
WO2014078951A1 (en) End-to-end encryption method for digital data sharing through a third party
CN112287392A (en) Intelligent contract implementation method and system with privacy information protection function
CN115868141A (en) Techniques for single-round multi-party computation of digital signatures
CN114297721A (en) Information processing method, information processing apparatus, block chain platform, and storage medium
CN117200966A (en) Trusted authorization data sharing method based on distributed identity and alliance chain
CN115001719B (en) Private data processing system, method, device, computer equipment and storage medium
US20220360429A1 (en) Location-key encryption system
CN110784318A (en) Group key updating method, device, electronic equipment, storage medium and communication system
KR20210036700A (en) Blockchain system for supporting change of plain text data included in transaction
CN116232578A (en) Multi-party collaborative signature system, method and equipment integrating quantum key distribution
EP4385168A1 (en) Generating digital signature shares
CN117648706B (en) Access control method based on block chain and attribute encryption
EP4283918A1 (en) Methods and arrangements for enabling secure digital communications among a group
US20220368527A1 (en) Location key search of encrypted files without decryption
US20220385453A1 (en) Secure file transfer
CN114154179A (en) Block chain key escrow method, system, terminal device and storage medium
CN118266189A (en) Generating a shared encryption key

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