CN113656828B - Block chain privacy protection method based on lattice code and oriented to financial system transaction - Google Patents
Block chain privacy protection method based on lattice code and oriented to financial system transaction Download PDFInfo
- Publication number
- CN113656828B CN113656828B CN202110820938.8A CN202110820938A CN113656828B CN 113656828 B CN113656828 B CN 113656828B CN 202110820938 A CN202110820938 A CN 202110820938A CN 113656828 B CN113656828 B CN 113656828B
- Authority
- CN
- China
- Prior art keywords
- transaction
- user
- key
- bank
- secret
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000011084 recovery Methods 0.000 claims abstract description 7
- 238000012546 transfer Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 238000012384 transportation and delivery Methods 0.000 claims description 2
- 241000764238 Isis Species 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
The invention relates to a block chain privacy protection method based on a lattice code and oriented to financial system transaction, and belongs to the technical field of block chain application. The method anonymously stores the transaction information in the global account block chain, and other nodes cannot know any useful information of the transaction except banks and users related to the transaction. The superior node can check the transaction records of the subordinate nodes, the subordinate nodes cannot directly inquire the transaction records of the superior node and other subordinate nodes, and the inquiry can be realized only when the inquiry is needed and the recovery condition of a secret sharing mechanism is required to be met. The encryption system adopted by the method is designed based on the lattice difficulty problem, and the method is still safe and usable even after the quantum computer is put into practical use. The method can effectively protect transaction data, has flexible authority management, and can effectively resist quantum attack.
Description
Technical Field
The invention relates to a block chain privacy protection method, in particular to a block chain privacy protection method based on a lattice code and oriented to financial system transaction, and belongs to the technical field of block chain application.
Background
With the continued development and popularity of blockchain technology, blockchains are receiving more and more extensive attention from government and financial institutions. In the financial field, banks and financial institutions wish to reduce data maintenance costs and improve data security through blockchains. Also, since the blockchain is based on a peer-to-peer network, which means that the blockchain mechanism does not process and store data from the central node, all transaction records must be disclosed to all nodes, which is very detrimental to user privacy. Particularly in the financial field, user data is one of the core competencies of an enterprise, and a financial institution does not want to see transaction information of a user exposed on a chain.
The transaction record may reflect some sensitive knowledge that may reveal the privacy of the user, e.g., the transaction record of the user may reflect the consumption level and the living condition of the user. In a blockchain, the first node to forward a transaction may be the originating node for the transaction, meaning that it is only necessary to connect to the server as much as possible and record the time when the transaction is received from different servers, so that the originating node for the transaction can be inferred and the true identity of the anonymous address can be known.
Privacy protection is generally regarded as one of the most important aspects in the field of financial security, and protecting data privacy is a key task in formulating privacy protection policies. In a coalition chain based banking transaction system, transaction data is also important. Neither party wants the banks other than the transaction to know the transaction data, and some upper banks want to manage the data of the lower banks. For example, the superordinate node may audit the subordinate node, it may decide whether the subordinate node is entitled to view the transaction data, etc. A simple method is to encrypt all transaction data to hide the identity information and transaction information of both parties, but this method is not a viable option in practical applications. Therefore, some supervision means is also required while privacy is secured.
Currently, the overall structure of a blockchain is not consistent with that of a modern financial system. It is clear that direct P2P transactions in bitcoin and other similar digital currencies pose significant challenges to financial institutions in customer service and regulatory fashion. The financial industry is exploring a new mode, namely, assets are not directly moved through point-to-point transactions among users, a centralized transaction system is not adopted, on the contrary, transactions of a large number of users are managed through a few entities (usually banks), the banks complete stock transaction records of millions of users in an intermediary form through an account book, the banks can be ensured to complete asset circulation according to the wishes of the users through system design and technical means, and a plurality of privacy protection problems also exist. Therefore, in order to promote the long-term healthy development of the block chain in the financial system, it is necessary to seek a balance between privacy protection and transaction supervision according to the characteristics and needs of the actual financial system.
To solve these problems, many researchers have proposed various solutions.
The mixed currency scheme is a simple method and has the following principle: the user first transfers funds to a third party, who then transfers the funds to a designated account through multiple transfers. However, high handling and capital guarantees are significant drawbacks to this approach.
Another method is encryption, and the signature technology is widely applied to the design of block chains. In bitcoin, an elliptic curve cipher is used to generate a public key corresponding to a private key. As the wallet address of the user, the public key can distinguish different user IDs, and each user has a plurality of public key addresses to realize the anonymity of the transaction. To ensure secure authorization of transactions, bitcoin systems digitally sign each transaction datum. The elliptic curve signature algorithm (ECDSA) is adopted by the bitcoin and the EtherFang, the shape of an ellipse is determined by the parameters of the secp256kl, and an asymmetrical efficient signature algorithm is realized.
A hash function is also a common encryption method. In bitcoin, the user's public key address is generated by a hash value calculated by the SHA256 algorithm when the transaction is started. When transaction data is verified, the public key of the user is used for verifying the signature, and non-repudiation of the transaction is realized.
With the increasing rise of quantum computing, the traditional signature algorithm faces huge security challenges. Menlo currency is known for its privacy protection. The address of each transaction is updated by the menou coin using a random number to ensure that the viewer cannot find a connection between the address and the recipient, but using a time-series analysis method makes it possible to track the transaction. 0. Coins introduced zero knowledge proof techniques to hide transaction parameters, but its high computational overhead made the proof process very slow.
Disclosure of Invention
The invention aims to creatively provide a block chain privacy protection method based on a lattice code for financial system transaction, aiming at overcoming the defects and shortcomings in the prior art and solving the technical problem of privacy disclosure risks in the transaction process of the financial system.
In order to achieve the above purpose, the present invention adopts the following technical scheme.
First, the concept will be explained.
Definition 1: bank intermediary account book system
The system is a transaction system for carrying out fund delivery settlement by utilizing a bank system in a modern financial system;
definition 2: bank
The system is an organization for undertaking financial transaction activities, different banks comprise a general bank and a plurality of branch banks, and the banks have account lists and asset balance information of users;
definition 3: global account book
The system is a system for recording and storing all bank transaction information, wherein a global account book is composed of a plurality of consensus nodes and adopts a block chain system of a safe consensus algorithm;
definition 4: user' s
The system is an object engaged in financial transaction activities, belongs to a branch bank of a certain bank and can apply for a transaction request to the branch bank of the bank;
definition 5: lattice code
The method is a cryptosystem established based on the lattice difficulty problem and is a well-known quantum attack resistant cryptoscheme;
definition 6: secret sharing
The method is characterized in that the secret is split in a proper mode, each split share is managed by different participants, a single participant cannot recover the secret information, and only when a specific participant participates and the number of the participants reaches a certain minimum threshold value, the participants cooperate together to recover the secret information.
Generally, secret sharing only requires a certain number of participants to cooperate together to recover the secret message. From the practical point of view, the invention increases the limiting conditions that specific participants need to participate, and better meets the requirements of practical scenes.
Definition 7: hash function
Refers to a function that can map an input of arbitrary length (also called a function pre-image) to a fixed length output (i.e., a hash value).
Hash functions, which were originally used for digital signatures, are one of the basic building blocks of modern cryptography. The hash function has the characteristics of unidirectionality, collision resistance and the like.
A block chain privacy protection method based on a lattice code facing to financial system transaction comprises the following steps:
step 1: and initializing the whole system, including initializing a global account book, a bank and a user.
Specifically, step 1 comprises the steps of:
step 1.1: and initializing a global account book.
The global ledger blockchain system is initialized and a public-private key pair is generated for encrypting transaction information, the key being generated and managed by the highest authority owner designated by the entire system (which may be considered a central bank). Similar to the actual bank system, the global ledger administrator can check all the transaction information of the system class, and the lower-level bank can only inquire the transaction information.
Step 1.2: and (5) initializing the bank.
The bank initializes and generates a signature public and private key pair and an encryption and decryption public and private key pair, and initializes the account and balance information of the user to which the respective key pair belongs, wherein the signature public key is used for digital signature and also used as a bank address.
Step 1.3: and (4) user initialization.
The user initiates generation of a signature public-private key pair and an encryption-decryption public-private key pair, wherein the public signature key is used for digital signature as well as the user's personal address (i.e., user name).
Step 2: the transaction is initiated and the user submits a request for a transfer transaction to the system.
Specifically, step 2 comprises the steps of:
step 2.1: the user submits a transaction request.
The user submits the transaction request to the affiliated bank branch, the transaction information comprises the personal address of the transfer receiver user and the transfer amount, and the transaction information is encrypted by using an encryption key and signed by using a signature key.
Step 2.2: and (5) performing verification in rows.
And the branch receives the user transaction request, verifies the transaction signature and judges whether the transfer amount does not exceed the balance of the user.
Step 2.3: the branch bank encrypts the verified transaction information by using an encryption key, signs by using a signature key, and forwards the transaction information to the head office.
Step 2.4: and the head office verifies the transaction signature, encrypts the transaction information by using the encryption key of the head office of the receiver after the verification is passed, signs by using the signature key of the head office to which the transaction submitting party belongs and forwards the head office of the receiver.
Step 2.5: the receiving party head office verifies the transaction signature, negotiates a random number with the transaction requesting party head office after the transaction signature passes verification to serve as an internal transaction certificate number, and forwards the internal transaction certificate number to related branches and users.
Step 2.6: the head offices of both parties submit transaction requests to the global account book respectively, the transaction information comprises a transaction requester user address, a transaction receiver user address, a transaction amount and an internal transaction certificate number, and the transaction information is encrypted by using respective encryption keys and signed by using a signature key.
Step 2.7: the global account book verifies signatures for the transaction requests of the head offices of both parties and verifies whether the transaction information is consistent; if so, go to step 3, otherwise, stop the transaction.
And 3, step 3: and transaction processing, namely, carrying out uplink and execution on the transaction.
Specifically, step 3 comprises the steps of:
step 3.1: all nodes of the global account block chain network carry out consensus on the transaction, and the transaction information comprises user addresses of both transaction parties, transaction amount and a transaction internal certificate number; the transaction information is encrypted by using an encryption key, a hash value of a transaction internal certificate number is calculated by using a hash function and is used as an external transaction sequence number, and the external transaction sequence number and the encrypted transaction information are added to a block chain by the global account book;
step 3.2: after the branches of both transaction parties inquire the transaction in the global account book according to the external transaction sequence number, the transaction is regarded as successful, and then the branches update the balance information of the corresponding users;
and 4, step 4: and (5) inquiring the transaction.
The user can inquire the transaction situation at any time. When inquiring, firstly, an inquiry request is submitted to the global account book, the request content comprises the transaction internal transaction certificate number, the global account book calculates the hash value of the internal transaction certificate number by using a hash function, and then transaction information corresponding to the external transaction sequence number which is equal to the hash value in the block chain is decrypted and sent to the user.
And 5: secret sharing and recovery.
And the head office distributes the own secret key to the affiliated branch office through secret sharing according to actual requirements. When the branch bank needs to inquire other branch bank transactions, after the agreement of the head bank and a plurality of branch banks is solicited, the key is recovered by the joint agreement.
After the inquiry is finished, the head office can replace the secret key and carry out secret sharing again.
Advantageous effects
Compared with the prior art, the method of the invention has the following beneficial effects:
1. transaction data can be effectively protected. According to the method, transaction information is stored anonymously on a global ledger block chain, and other nodes cannot learn any useful information of the transaction except for the bank and the user related to the transaction. Meanwhile, as the transaction data is stored in the block chain, the transaction information is prevented from being tampered, and the authenticity of the data is ensured;
2. and flexible authority management is achieved. According to the method, a superior node can check the transaction records of a subordinate node, the subordinate node cannot directly inquire the transaction records of the superior node and other subordinate nodes, the inquiry can be realized only when the inquiry is needed, and the secret sharing mechanism is introduced to ensure that the authority configuration is more flexible;
3. can effectively resist quantum attack. The encryption system applied by the method is designed based on the lattice difficulty problem, which means that the method is safe before the lattice difficulty problem is solved, and the method is still safe and usable even after the quantum computer is put into practical use because the lattice password is the currently accepted post-quantum password.
Drawings
FIG. 1 is a schematic flow diagram of the process of the present invention.
Detailed Description
The following will explain the specific implementation process of the method of the present invention in further detail with reference to the accompanying drawings.
As shown in fig. 1, the implementation process of the block chain based financial system privacy protection transaction method using the block cipher is elaborated.
In the bank intermediary ledger system, B 1 ,B 2 ,···,B m Representing the head office of a different bank,represents head office B i Is selected in the jth branch, branch->Having a user pick>(i n-th user in total row j).
Financial system privacy protection transaction method based on block chain by using lattice code to realize user(p-th user of i general row j branch) based on the status of the subscriber->(r the tth user in the head office s branch) transfer process comprising the steps of:
step 1: and (5) initializing the system. The whole system is initialized and divided into three parts, namely a global account book, a bank and a user.
Specifically, the method comprises the following steps:
step 1.1: and initializing a global ledger. And initializing the global ledger block chain system, and generating a public and private key pair { Lepk, lesk }, which is used for encrypting the transaction information. The key is generated and managed by a highest authority owner (which can be regarded as a central bank) appointed by the whole system, similar to an actual bank system, a global account book manager can check all transaction information of the system class, and a lower bank can only inquire the transaction information;
step 1.2: and (5) initializing the bank. The bank head office initiatively generates a public and private key pair { Bsignpk with respective signature i ,Bsignsk i And public and private encryption and decryptionKey pair Bepk i ,Besk i And initializing each branch to generate a public and private key pair with respective signatureAnd a public and private key pair for encryption and decryption>And initializing each belonging user account>And balance information->The public signature key is used for digital signature and also used as a bank address.
Step 1.3: user initialization, wherein the user initialization generates a signature public and private key pairAnd a public and private key pair for encryption and decryption>Wherein, the public signature key is used for digital signature and also used as a user personal address (namely a user name).
And generating a key by using a grid code encryption mode.
Step 2: a transaction is initiated. The user submits a request for a transfer transaction to the system, the userNeeds to be picked up and picked up by the user>And transferring the account V element.
Specifically, the method comprises the following steps:
User' sSubmitting a transaction request Trequest to the bank branch to which it belongs>Transaction information includes the transfer recipient user's personal address->The transfer amount v. Transaction information is encrypted using an encryption key->Encrypted and signed key->Signature:
Step 2.2: the branch verifies the transaction request.
Is divided into rowsAfter receiving a user transaction request Trequest, verifying a transaction signature and judging whether the transfer amount v does not exceed the balance of the user/is based on the value> Wherein "? "means a decision, if not, step 2.3 is performed, otherwise the transaction is terminated.
Step 2.3: is divided into rowsUsing an encryption key to ÷ based on the verified transaction information>Encryption, using signature keysSigning and forwarding transaction Trequest' to its head office B i :
Step 2.4: the head office verifies the Trequest' transaction signature. After the verification is passed, the receiving party's head office is used to encrypt the key Bepk r Encrypting transaction information, using transaction requester Broker B i Signature key Bsignpk i Sign and sign the transaction T i,r Forwarding receiver head office B r :
Step 2.5: receiver head office B r Verifying a transaction T i,r Signing, verifying and then making the transaction request party head office B i The random number r is co-negotiated as the internal transaction credential number txidiner, and the internal transaction credential number is forwarded to the relevant branch and user (i.e.,)。
step 2.6: two-party head office B i 、B r Submit transaction requests T to global ledger L respectively i,r ' and T r,i ' the transaction information includes the address of the user of the transaction requesterUser address->The transaction amount v, the internal transaction voucher number txidiner. Transaction information uses respective encryption keys Bepk i And Bepk r Encrypted and signed with a signature key Bsignpk i And Bsignpk r Signature:
Step 2.7: the global account book L verifies the signature of the transaction request of the head office of both parties and verifies whether the transaction information is consistent,
wherein, "? "means judgment.
The encryption process in the above steps is realized by using a lattice code encryption method.
And step 3: and transaction processing, namely, carrying out uplink and execution on the transaction.
Step 3.1: all nodes of the global account book L-block chain network agree on a transaction T, and transaction information comprises user addresses of both parties of the transactionAnd &>The transaction amount v, the transaction internal voucher number txidiner. The transaction information is encrypted by using an encryption key Lepk, and a hash value of a transaction internal certificate number is calculated by using a hash function and is used as an external transaction serial number Txid. The global account book adds the external transaction sequence number and the encrypted transaction information on the blockchain:
The encryption process involved in the step is realized by using a grid code encryption method.
Step 3.2: both sides of the transaction branchAnd &>And after the transaction is inquired in the global account book according to the external transaction sequence number, the transaction is considered to be successful. Subsequently, the corresponding subscriber balance is updated in lines &>And &>
And 4, step 4: transaction inquiry, user can inquire transaction condition at any time, and when inquiring, firstly, it submits inquiry request u to global account book query The request content includes an internal transaction certificate number txidiner of the inquired transaction, the global ledger L calculates a hash value of the internal transaction certificate number by using a hash function, and then decrypts and sends a transaction T corresponding to an external transaction sequence number Txid which is equal to the hash value in the block chain to the user.
The decryption process in the step is realized by using a lattice code decryption method.
And 5: the private key is shared and recovered, the head office can distribute the private key to the affiliated branch lines through private sharing according to actual requirements, when the branch lines want to inquire other branch line transactions, the head office and a plurality of branch lines can jointly cooperate to recover the private key after asking for agreement, and the head office can replace the private key and perform the private sharing again after finishing inquiring.
In the above steps, the used lattice code encryption method is as follows:
wherein the parameters are set as:
γ is the public key length of the global decryption square W, γ i Is an encryption side W i (i =1,2 · · n) public key length; eta is the private key length of W, eta i Is W i The length of the private key of (c); ρ is the interference length of W, ρ i Is W i The interference length of (2); λ is a safety parameter. τ represents the integer number of W contained in the public key, τ i Sign W i The public key of (2) contains an integer number.
Let γ = O (λ) 6 ),γ i =O(λ 6 ),η=O(λ 5 ),η i =O(λ 5 ),ρ=λ,ρ i =λ,τ=λ+γ, τ i =λ+γ。
The key generation method comprises the following steps:
the encryption system consists of a global decryptor W and a plurality of encryptors W i (i =1,2 · · n), W generating a public key pk =<x 0 ,x 1 ,···,x τ >Randomly selecting a random number w as a private key sk, wherein w belongs to [2 ] η-1 ,2 η )。W i Randomly selecting a random number w i As its private key sk i ,$ represents random selection, Z represents an integer set; w is a i Random permutation pk =<x 0 ,x 1 ,···,x τ >Get-> Represents the sequence of pk after a random permutation transformation>Indicates the τ -th number after the conversion. Then, w i Randomly selecting a number q i,0 ,q i,1 ,···,q i,τ And gamma i,0 ,γ i,1 ,···,γ i,τ ,q i,τ Denotes w i Randomly selected q i,0 ,q i,1 ,···,q i,τ Number of (1), γ i,τ Denotes w i Randomly selected gamma i,0 ,γ i,1 ,···,γ i,τ In which it is greater than or equal to> And calculate x i,0 Is x i,j Medium maximum value, and finally recalculatedPutting pk i =< x i,0 ,x i,1 ,···,x i,τ >As w i The public key of (2).
The encryption method comprises the following steps:
w i random selectionAnd a random number t i ,For plaintext m i E is encrypted according to {0,1} and the ciphertext is output>s i Represents the set {1,2 }, τ i A certain number randomly selected.
The decryption method comprises the following steps:
W i using sk i =w i ComputingAnd then the decryption can be carried out. Alternatively, W calculates m using sk = W i ← [[c i ] sk ] 2 And also decrypted.
As can be seen from the above encryption method, W can be decrypted arbitrarily i Each W of the ciphertext of i Can only decrypt the ciphertext of itself, and cannot decrypt the rest of W i And the cryptograph of W, the encryption and decryption key designed in the method of the invention can be generated step by the encryption mode, thereby realizing that the superior node can decrypt the transaction information of the subordinate node, and the subordinate node can not decrypt the transaction information of the superior node and other nodes at the same level.
In step 5, the secret sharing and recovering method used is as follows:
a preparation stage:
F q is a finite field, U, over a prime number q i Representing the ith participant, share i Represents U i Resulting secret sharing, share i ∈F q 。
share is the secret that the participant U wants to share, random is the random number generated by the participant U, and the participant U randomly generates a polynomial of order n-1:
f(x)≡share+random+a 1 x+…+a n-1 x n-1 (modq) (8)
wherein, a 1 、a n-1 Respectively represent a 1-time term x and an n-1 term x in f (x) n-1 Mod represents the modulo operation, modulo q. x is the number of n-1 N-1 degree terms representing f (x).
Secret sharing stage:
participant U randomly selects y i Calculating z i =f(y i ) Will (z) i ,y i ) Is sent to U i 。z i Denotes f (y) i ) Value of (a), y i Represents U to U i Randomly selected value y of x i 。
A secret recovery phase:
when k is larger than or equal to n, the n sub-secret owners recover share + random:
wherein, y i Represents U to U i Randomly selecting the value y of x i . k represents the number of child secret owners that participate in recovering the secret.
At this time, U is required to provide random to further recover share.
According to the secret sharing scheme, the secret sharing recovery of the sub-secret owner can be realized only by the cooperation of the participator U and the sub-secret owners with the number k being more than or equal to n, and by utilizing the property, the secret sharing recovery in the method can distribute the secret key of the head office to the affiliated branch through secret sharing according to the actual requirement, and when the branch wants to inquire other branch transactions, the secret key can be recovered through cooperation after the agreement of the head office and a plurality of branches is solicited.
Claims (2)
1. A block chain privacy protection method based on lattice codes facing financial system transaction firstly explains related concepts:
definition 1: bank intermediary account book system
The system refers to a transaction system for carrying out fund delivery settlement by utilizing a bank system in a modern financial system;
definition 2: bank
The financial transaction system is characterized in that the financial transaction system is an organization for undertaking financial transaction activities, different banks comprise a main bank and a plurality of branch banks, and the banks have account lists and asset balance information of users;
wherein,represents a head office of a different bank>Represents a total row +>Is based on the fifth->Each branch is divided into rows and is divided into rows>Having a user pick>,To representiHead officejGo in different rowsnA user;
definition 3: global account book
The system is used for recording and storing all bank transaction information, and the global account book is a block chain system which consists of a plurality of consensus nodes and adopts a safe consensus algorithm;
definition 4: user' s
The system is characterized in that an object engaged in financial transaction activities belongs to a branch of a certain bank and can apply for a transaction request to the branch of the bank;
definition 5: lattice code
The method is characterized by comprising the following steps of (1) establishing a cryptosystem based on the lattice difficulty problem;
definition 6: secret sharing
The secret is split, each split share is managed by different participants, a single participant cannot recover secret information, and only when a specific participant participates and the number of the participants reaches a certain minimum threshold value, the participants cooperate together to recover the secret information;
definition 7: hash function
The function is a function capable of mapping an input with any length into an output with a fixed length;
the method is characterized by comprising the following steps:
step 1: initializing the whole system, including initializing a global account book, a bank and a user, comprising the following steps:
step 1.1: initializing a global account book;
initializing global account book blockchain system and generating public and private key pairThe key is generated and managed by the highest authority owner appointed by the whole system; similar to an actual bank system, the global account book manager can check all transaction information of the system class, and lower-level banks can only inquire the transaction information of the lower-level banks;
step 1.2: initializing a bank;
each head office initializes to generate a signature public and private key pairAnd public and private key pair for encryption and decryptionRow initialization generates respective signed public and private key pairs { (R { })>And a public and private key pair for encryption and decryption { (R) }>And initializing user accounts which belong to the user accounts>And balance information->The public signature key is used for digital signature and also used as a bank address;
step 1.3: initializing a user;
user initialized generating signature public and private key pairMale and female key pair for encryption and decryptionWherein the public signature key is used for digital signatureAlso as a user's personal address;
in step 1, a secret key is generated using a lattice code, the method being as follows:
the parameter setting comprises the following steps:
is->Length of the public key of (4), and>is encrypted square>The public key length of (c);Is->Length of the private key of (4)>Is->The length of the private key of (c);IsIs greater than or equal to>Is->The interference length of (2);Is a safety parameter;represents->An integer number contained in the public key>Identification>The integer number contained in the public key;
The key generation method comprises the following steps:
the encryption system consists of a global decryptorAnd a plurality of encryption sides>Make up and/or are present>Generating public keysSelecting a random number->As private key->,,Randomly selecting a random number->As its private key->,,),Indicates a random selection>Representing a set of integers;Is randomly arranged->Get->,Represents->The sequences after random permutation and transformation are true>Indicates the changed ^ th->The number of the cells; then, is taken up or taken off>Randomly selecting a number->And &>,Represents->Randomly selected>Is greater than or equal to>Number and/or unit>Represents->Selected randomly->Is based on the fifth->Number, wherein>,And calculates->+,,Is->Medium maximum, and finally recalculated>Will >>=As->The public key of (2); step 2: initiating a transaction, the user submitting a transfer transaction request to the system, the user @>Needs to be picked up and picked up by the user>Transfer box>A cell, comprising the steps of:
User' sWill transaction request->Submit the affiliated bank branch->The transaction information includes the transfer recipient user's personal address->And transfer amount->Transaction information is encrypted using an encryption key>Encrypting and using a signing keySigning;
Step 2.2: verifying by lines;
is divided into rowsReceiving a user transaction request->Verifying the transaction signature and determining the transfer amount>Whether or not the user balance is not exceeded>;
Step 2.3: is divided into rowsUsing an encryption key to ^ the authenticated transaction information>Encryption, using a signing keySign and combine the transaction>Forward its row in>:
Step 2.4: head office verificationThe transaction is signed and verified, and then the encryption key is encrypted by the receiver's bank>Encrypting the transaction information, based on the transaction requester's chief line>Signature key->Signs and puts the transaction->Forward receiver column>:
Step 2.5: receiver head officeValidating transaction>Signature, and after passing the verification, the transaction requester's chief line>Co-negotiating a random number->As an internal transaction credential number &>And forwards the internal transaction voucher number to the relevant branch and the user, i.e. &>;
Step 2.6: two-party head officeRespectively to a global credit>Submitting a transaction request +>And &>The transaction information includes the address of the user of the transaction requester>Subscriber address of the transaction receiver>The transaction amount pickand place>Internal transaction voucher number->Transaction information is encrypted using a respective encryption key>And &>Encrypting and using a signing keyAnd &>Signature:
Step 2.7: global account bookThe signature is verified for the transaction request of the head office of both parties and the transaction information is verifiedWhether the two are consistent;
and step 3: transaction processing, linking and executing transactions, comprising the steps of:
step 3.1: global account bookNode pairs in a block chain network having transaction on/off>Making a consensus, the transaction information including the address of the user of both parties of the transaction>And &>The transaction amount pickand place>Transaction internal voucher number->Transaction information is encrypted using an encryption key>Encryption, using a hash function to calculate a hash of the transaction's internal credential number as the external transaction sequence number->The global account book adds the external transaction sequence number and the encrypted transaction information to the blockchain: />
Step 3.2: both sides of the transaction branchAnd &>After the transaction is inquired in the global account book according to the external transaction sequence number, the transaction is considered to be successful, and then the corresponding user balance is updated in different banks and based on the fact that the user balance is on or off>And &>;
And 2, encrypting by using a lattice code in the steps 3, wherein the method comprises the following steps:
is selected at random>And a random number->,For clear text->Encrypt and output the encrypted text->Indicates that the collection is->A certain number selected randomly;
and 4, step 4: transaction inquiry, user can inquire transaction condition at any time, and when inquiring, firstly, it submits inquiry request to global account bookThe request content contains the internal transaction voucher number @' of the queried transaction>Global ledger->Calculating a hash value of the internal transaction credential number using a hash function, and then concatenating the external transaction sequence numbers in the block chain equal to the hash valueThe corresponding transaction->Decrypting and sending to the user;
in the decryption process in the step 4, the lattice code is used for decryption, and the method comprises the following steps:
And 5: secret sharing and recovery;
the head office distributes the own secret key to the affiliated branch lines through secret sharing according to actual requirements; when the branch lines need to inquire other branch line transactions, after the agreement of the head line and a plurality of branch lines is solicited, the key is recovered by cooperation together;
the secret sharing and recovering method used in step 5 is as follows:
a preparation stage:
is a prime numberqUpper finite field, is greater than or equal to>Represents a fifth->Is involved in>Represents->The resulting share of the secret is shared with,;/>
is the party participating in>Secret that wants to be shared, based on the number of times that the user has selected>Is the party participating in>Generated random numbers, parties involvedIs randomly generated>Order polynomial:
wherein,、respectively denote->Sub-term->And &>Is greater than or equal to>Representing a modulo operation with a modulus ofq;Represents->Is/are>A secondary term;
secret sharing stage:
participant sideRandom selection>Calculate->Will >>Is sent to>Represents->,Represents->Give/pick>Selected randomly->Value->;
Secret recovery phase:
Wherein,represents->Give/pick>Is selected at random>Value->Represents the number of child secret owners that are involved in recovering the secret;
2. The financial system transaction-oriented block chain privacy protection method based on the lattice code as claimed in claim 1, wherein after the query is completed, the head office changes the key and performs secret sharing again.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110820938.8A CN113656828B (en) | 2021-07-20 | 2021-07-20 | Block chain privacy protection method based on lattice code and oriented to financial system transaction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110820938.8A CN113656828B (en) | 2021-07-20 | 2021-07-20 | Block chain privacy protection method based on lattice code and oriented to financial system transaction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656828A CN113656828A (en) | 2021-11-16 |
CN113656828B true CN113656828B (en) | 2023-04-07 |
Family
ID=78477566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110820938.8A Expired - Fee Related CN113656828B (en) | 2021-07-20 | 2021-07-20 | Block chain privacy protection method based on lattice code and oriented to financial system transaction |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656828B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118569866B (en) * | 2024-08-01 | 2024-09-27 | 解悠数字科技(南京)有限公司 | ETC multichannel payment information processing method based on lattice-based encryption algorithm |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3607516A1 (en) * | 2017-04-07 | 2020-02-12 | Nchain Holdings Limited | Method and system for secure data record distribution using a blockchain |
CN111008836A (en) * | 2019-11-15 | 2020-04-14 | 哈尔滨工业大学(深圳) | Privacy safe transfer payment method, device and system based on monitorable block chain and storage medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2886849A1 (en) * | 2015-04-07 | 2016-10-07 | Brisson, Andre J. | A secure mobile electronic payment system where only the bank has the key, distributed key handshakes, one way and two way authentication distributed key processes and setting up a dynamic distributed key server |
GB201805633D0 (en) * | 2018-04-05 | 2018-05-23 | Nchain Holdings Ltd | Computer implemented method and system |
CN108809652B (en) * | 2018-05-21 | 2021-07-23 | 安徽航天信息有限公司 | Block chain encrypted account book based on secret sharing |
CN109840771A (en) * | 2019-04-01 | 2019-06-04 | 西安电子科技大学 | A kind of block chain intimacy protection system and its method based on homomorphic cryptography |
CN112364331A (en) * | 2021-01-12 | 2021-02-12 | 北京中超伟业信息安全技术股份有限公司 | Anonymous authentication method and system |
-
2021
- 2021-07-20 CN CN202110820938.8A patent/CN113656828B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3607516A1 (en) * | 2017-04-07 | 2020-02-12 | Nchain Holdings Limited | Method and system for secure data record distribution using a blockchain |
CN111008836A (en) * | 2019-11-15 | 2020-04-14 | 哈尔滨工业大学(深圳) | Privacy safe transfer payment method, device and system based on monitorable block chain and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN113656828A (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11102184B2 (en) | System and method for information protection | |
US10715500B2 (en) | System and method for information protection | |
US11080694B2 (en) | System and method for information protection | |
CN111008836B (en) | Privacy security transfer payment method, device, system and storage medium | |
CN106506165B (en) | Fictitious assets anonymity sort method based on homomorphic cryptography | |
KR102546762B1 (en) | Multi-signature wallet system in blockchain using the bloom filter | |
Dolev et al. | SodsBC: a post-quantum by design asynchronous blockchain framework | |
CN114565382A (en) | Transaction account anonymous payment method and system | |
CN113656828B (en) | Block chain privacy protection method based on lattice code and oriented to financial system transaction | |
AU2019101589A4 (en) | System and method for information protection | |
AU2019101582A4 (en) | System and method for information protection | |
AU2019101590A4 (en) | System and method for information protection | |
EP4181457A1 (en) | Quantum based method and system for performing cryptocurrency asset transactions | |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20230407 |