CN107908932B - Digital currency anti-counterfeiting and verification method, system and equipment based on L algorithm - Google Patents
Digital currency anti-counterfeiting and verification method, system and equipment based on L algorithm Download PDFInfo
- Publication number
- CN107908932B CN107908932B CN201711301230.1A CN201711301230A CN107908932B CN 107908932 B CN107908932 B CN 107908932B CN 201711301230 A CN201711301230 A CN 201711301230A CN 107908932 B CN107908932 B CN 107908932B
- Authority
- CN
- China
- Prior art keywords
- digital currency
- key
- receiving end
- currency
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
The invention provides a digital currency anti-counterfeiting and verification method, a system and equipment based on an L algorithm, comprising the following steps: splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal; the sending end updates the digital currency key once to generate a digital currency ciphertext and then the digital currency ciphertext is transferred to the receiving end in an off-line mode; the receiving end executes local currency examination to verify the authenticity of the digital currency, the verification is successful, the digital currency key is updated for the second time, and the first signature and currency number information are sent to the credible center to be verified; and the trusted center verifies the validity of the state, verifies the second signature successfully, and updates the digital currency key after successful verification. The invention reduces the safety risk of the honeysuckle; the problem of mass data downloading caused by accounting type anti-counterfeiting is avoided; the risk of managing the digital assets by the private key of the user is reduced, and the safety is high.
Description
Technical Field
The invention relates to the technical field of information security, in particular to a digital currency anti-counterfeiting and verification method, a digital currency anti-counterfeiting and verification system and digital currency anti-counterfeiting and verification equipment based on an L algorithm.
Background
With the development of computer information technology, the research of digital currency is becoming a hot spot in the current technology. Unlike paper money, digital currency does not need paper media, and is essentially a piece of digital information without media, and how to ensure that the piece of digital information can only be used by the current holder of the digital currency and cannot be stolen by other people is the first problem faced by the digital currency. In contrast to the digitization of photographs and music, the digitization of currency is not simply to record patterns or text in digital form. Digital currency must consider currency anti-counterfeiting and transaction security, so the digitization of currency not only uses mathematical method to convert the pattern and characters of currency into digital information, but also needs to use cryptographic method to protect the digital information. The digital currency can be truly made to have the capability of forgery prevention, falsification prevention and copy prevention. Therefore, the anti-counterfeiting technology is required to ensure the authenticity and effectiveness of the digital currency in the circulation link and ensure the digital currency to have the characteristics of anti-theft and anti-reuse.
As is known, the digital currency represented by the bit currency is anti-counterfeit by using a block chain technology, and in brief, the purpose of 'citizen witness' is achieved by broadcasting the digital currency to the whole network, so that the source and destination of the digital currency are guaranteed to be real and effective. The authenticity of the source means that the digital currency received by the receiver is sent by the legal holder and is not forged or stolen; going to authenticity means that digital currency cannot be sent to multiple recipients simultaneously, a fraudulent means of multiplexing the sending is called double spending.
Although the block chain technology can solve the anti-counterfeiting problem to a certain extent, the block chain technology has defects in the aspects of effectiveness, usability, safety and the like.
First, the blockchain technology realizes "national witness" through a consensus algorithm, which mainly includes a Proof Of Work (PoW) and a Proof Of rights (PoS). Among them, the blockchain based on the PoW consensus process is mainly faced with the 51% attack problem, i.e., the node has the ability to successfully tamper and forge blockchain data by mastering the computing power of more than 51% of the whole network. The 51% attack problem is solved to a certain extent based on the PoS consensus process, but the N @ S (knocking at stop) attack problem during block forking is introduced at the same time. In addition, as the computer power increases, the difficulty of competing for accounting rights based on finding random numbers has become increasingly simple, and bitcoin official networks have so far issued notifications that require 6 confirmations to protect users from double-flower attacks. Thus, the effectiveness of "national witnesses" is becoming less and less effective, and a large number of unconfirmed transactions are piled up, resulting in a transaction that may take more than ten hours or even one day to confirm.
Second, blockchains require that each node within the system maintain a copy of the data, which is extremely difficult for ever-increasing mass data storage. The general ledger is downloaded before a bitcoin wallet is used, and the downloading by using a common computer takes several days (about 60G). If the bitcoin mode is applied to the financial field or other fields with large transaction amount, the system pressure and the bandwidth occupation will consume huge resources, and the demand for the resources is difficult to estimate.
Finally, to be part of a bitcoin network, an address must be available to receive funds. The blockchain uses public key cryptography, and the address is a public key hash derived from the user's private key. Once the private key of the user is lost, the corresponding property ownership is also completely lost, so that the security risk exists.
The block chain anti-counterfeiting technology has the defects that the anti-counterfeiting value of digital currency in a circulation link is neglected, and the anti-counterfeiting problem is difficult to solve only by accounting.
Disclosure of Invention
In order to solve the above technical problems, a primary object of the present invention is to provide a method, a system, and a device for digital currency anti-counterfeiting and verification based on an L algorithm, where the L algorithm is based on Lagrange Interpolation (Lagrange Interpolation), and divides the operation of a function into a distributed operation whole composed of multiple nodes by constructing a polynomial method, and finally obtains the same operation result as a target function by an Interpolation method. The anti-counterfeiting function of the digital currency can be directly played only by designing the own key system by taking the currency as a unit; in addition, the risk is dispersed to the minimum in units of tokens, and even if the key system of one digital currency is broken, other digital currencies are not affected.
The invention fuses digital information (currency), a collection and payment tool and a rear-end platform, changes the operation process on the premise of not changing the operation result, and splits and fuses the operation process to the password technical scheme in the distributed operation whole body formed by the digital currency, the payment tool (payer), the payment tool (receiver) and the rear-end platform, thereby solving the technical problem of how to prevent the digital currency from counterfeiting, reducing the safety risk of double flowers, simultaneously lightening the peak pressure of the system, having less online interaction and high effectiveness; the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong; the anti-counterfeiting key system design with the currency as the unit reduces the risk of managing digital assets by a user private key and has high safety.
In order to achieve the above object, the present invention provides an L-algorithm based digital currency anti-counterfeiting and verification method, which includes:
splitting an anti-counterfeiting key corresponding to a digital currency public key stored in a trusted center into a stub key stored in the trusted center, a digital currency key stored in digital currency and a user key stored in a non-terminal;
step two, the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then off-line transfers the digital currency ciphertext to the receiving end;
thirdly, the receiving end uses the receiving end encrypted private key to recover the digital currency plaintext, local currency detection is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
step four, the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, if the verification fails, returns an error and stops the process, if the verification succeeds, the trusted center calculates a second signature for the received first signature through the stored stub key; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
Further, in the first step, the digital currency public key stored by the trusted center and the corresponding anti-counterfeiting key satisfy the following relationship:
[L0L1L2]-1G=P+G;
wherein L is0Is a stub key; l is1Is a digital currency key; l is2A user key; p is a digital currency public key; g is the base point of the elliptic curve.
Further, the second step specifically includes:
updating the digital currency key to L once3=(aL1·aL2·u)mod n;
Wherein, aL1For the sender by means of a stored digital currency key, aL2A user key is sent by a sending end, u is a receiving end updating parameter sent by a receiving end, and is a random number in a prime field, and n is the order of an elliptic curve;
digital currency ciphertext C ═ SM2(Q, M);
wherein, Q is a receiving end encryption public key sent by the receiving end, M is a digital currency plaintext, and C is a digital currency ciphertext transferred to the receiving end by an offline stream.
Further, before the step two, the method further comprises:
a receiving end randomly generates a digital currency key updating parameter u belonging to [1, n-1] based on a transaction agreement, wherein u is a random number in a prime field, and n is an order of an elliptic curve;
randomly generating a receiving end encryption private key k E [1, n-1], and calculating a receiving end encryption public key Q [ k ] G based on the receiving end encryption private key;
and sending the receiving end updating parameter u and the receiving end encryption public key Q to the sending end.
Further, the third step specifically includes:
the receiving end uses the receiving end encryption private key k to recover the digital currency plaintext M-SM 2-1(k, C), carrying out local currency examination to verify the authenticity of the digital currency, and if the verification fails, prompting an error and stopping the flow; wherein M is a digital currency plaintext, k is a receiving end encryption private key, and C is a digital currency ciphertext transferred to the receiving end by offline flow;
if the verification is successful, the digital currency key is updated for a second time L4=(L3·bL2 -1·u-1) mod n, where L3bL being an updated digital currency key, for offline circulation with digital currency2Is the user key of the receiving end;
calculating a summary e-SM 3(M) of digital currency static content which is digital currency plaintext M without a key field;
calculating a first sub-signature r ═ e + x based on the digest1) mod n, where x1Encrypting the abscissa value of the public key Q for the receiving end;
calculating a second sub-signature bS ═ based on the first sub-signature r ((L)4·bL2)(k+r))mod n;
And sending the information such as the first signature (r, bS) and the currency number to a credible center for online verification.
Further, the fourth step specifically includes:
the credible center searches the digital currency stub through the currency number, verifies the validity of the state, if the verification fails, returns an error and stops the process, if the verification succeeds,
calculating a second signature s ═ (bS · aL)0-r) mod n, where aL0Is a stub key;
verifying the signature (r, s) by using the stored digital currency public key, and if the verification fails, returning an error and stopping the process; if the verification is successful, the verification is carried out,
randomly generating a stub key updating parameter v E [1, n-1 ];
updating stub key to bL0=(aL0·v-1)mod n;
And returning the stub key updating parameter v to the receiving end.
Further, after returning the update parameter v to the receiving end, the method further includes:
the receiving end updates the receiving end digital currency key to bL through the stub key updating parameter v1=(L4·v)modn。
The invention also provides a digital currency anti-counterfeiting and verification method based on the L algorithm, which comprises the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts a digital currency plaintext by using a receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then offline transfers the digital currency ciphertext to the receiving end; the receiving end uses the receiving end encryption private key to recover the digital currency plaintext, and executes local currency detection to verify the authenticity of the digital currency, if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
The invention also provides a digital currency anti-counterfeiting and verification method based on the L algorithm, which comprises the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of sending the digital currency ciphertext by the sending end comprises the following steps: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
The invention also provides a digital currency anti-counterfeiting and verification method based on the L algorithm, which comprises the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the trusted center searches the digital currency stub through the currency number sent by the receiving end, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of the coin number sent by the receiving end comprises the following steps: the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the steps of the digital currency cryptograph sent by the sending terminal comprise: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
The invention also provides a digital currency anti-counterfeiting and verification system based on the L algorithm, which comprises a key system, a sending end, a receiving end and a credible center:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the sending end is used for updating the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypting the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext and then transferring the digital currency ciphertext to the receiving end in an off-line manner;
the receiving end is used for recovering the digital currency plaintext by using the receiving end encrypted private key, executing local currency examination to verify the authenticity of the digital currency, and prompting an error and stopping the flow if the verification fails; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the trusted center is used for retrieving the digital currency stub through the currency number, verifying the validity of the state, returning an error and stopping the process if the verification fails, and calculating a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
Further, in the key system, the digital currency public key stored by the trusted center and the corresponding anti-counterfeiting key satisfy the following relationship:
[L0L1L2]-1G=P+G;
wherein L is0Is a stub key; l is1Is a digital currency key; l is2A user key; p is a digital currency public key; g is the base point of the elliptic curve.
Further, the sending end specifically includes:
a one-time updating unit for updating the digital money key to L at one time3=(aL1·aL2U) mod n; wherein, aL1For the sender by means of a stored digital currency key, aL2A user key is sent by a sending end, u is a receiving end updating parameter sent by a receiving end, and is a random number in a prime field, and n is the order of an elliptic curve;
an encryption unit for encrypting the digital currency plaintext into a digital currency ciphertext C ═ SM2(Q, M); wherein, Q is a receiving end encryption public key sent by the receiving end, M is a digital currency plaintext, and C is a digital currency ciphertext transferred to the receiving end by an offline stream.
Further, the receiving end includes:
the receiving end generating unit is used for randomly generating a digital currency key updating parameter u epsilon [1, n-1] at the receiving end based on the deal engagement, wherein u is a random number in a prime field, and n is the order of an elliptic curve; randomly generating a receiving end encryption private key k E [1, n-1], and calculating a receiving end encryption public key Q [ k ] G based on the receiving end encryption private key;
and the first sending unit is used for sending the receiving end updating parameter u and the receiving end encryption public key Q to the sending end.
Further, the receiving end further includes:
a first authentication unit for recovering the digital currency plaintext M SM2 using the receiving-end encryption private key-1(k, C), carrying out local currency examination to verify the authenticity of the digital currency, and if the verification fails, prompting an error and stopping the flow; wherein M is a digital currency plaintext, k is a receiving end encryption private key, and C is a digital currency ciphertext transferred to the receiving end by offline flow;
a secondary updating unit for updating the digital currency key L for a second time when the first verifying unit succeeds in verification4=(L3·bL2 -1·u-1) mod n, where L3bL being an updated digital currency key, for offline circulation with digital currency2Is the user key of the receiving end;
a first calculation unit configured to calculate a digest e-SM 3(M) for digital currency static content which is a digital currency plaintext M that does not include a key field; based onDigest calculation first sub-signature r ═ e + x1) mod n, where x1Encrypting the abscissa value of the public key Q for the receiving end; calculating a second sub-signature bS ═ based on the first sub-signature r ((L)4·bL2)(k+r))mod n;
And the second sending unit is used for sending the information such as the first signature (r, bS), the currency number and the like to the credible center for online verification.
Further, the trust center specifically includes:
the second verification unit is used for searching the digital currency stub through the currency number, verifying the validity of the state, and returning an error and stopping the flow if the verification fails;
a second calculation unit configured to calculate a second signature s ═ b s · aL (bS · aL) when the second verification unit succeeds in verification0-r) mod n, where aL0Is a stub key;
the third verification unit is used for verifying the signature (r, s) by using the stored digital currency public key, and if the verification fails, an error is returned and the flow is stopped;
a trust center updating unit for randomly generating a stub key update parameter v ∈ [1, n-1] when the third verification unit succeeds in verification](ii) a Updating stub key to bL0=(aL0·v-1)mod n;
And the third sending unit is used for returning the stub key updating parameter v to the receiving end.
Further, the receiving end further includes:
a receiving-end updating unit for updating the receiving-end digital currency key to bL based on the stub key update parameter1=(L4·v)mod n。
The invention also provides a digital currency anti-counterfeiting and verification system based on the L algorithm, which comprises:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the sending end is used for updating the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypting the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext and then transferring the digital currency ciphertext to the receiving end in an off-line manner; the receiving end uses the receiving end encryption private key to recover the digital currency plaintext, and executes local currency detection to verify the authenticity of the digital currency, if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
The invention also provides a digital currency anti-counterfeiting and verification system based on the L algorithm, which comprises:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the receiving end is used for recovering the digital currency ciphertext sent by the sending end into a digital currency plaintext by using a receiving end encryption private key, executing local currency examination to verify the authenticity of the digital currency, and prompting an error and stopping the flow if the verification fails; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end; the step of sending the digital currency ciphertext by the sending end comprises the following steps: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
The invention also provides a digital currency anti-counterfeiting and verification system based on the L algorithm, which comprises:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the trusted center is used for retrieving the digital currency stub through the currency number sent by the receiving end, verifying the validity of the state, returning an error and stopping the process if the verification fails, and calculating a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of the coin number sent by the receiving end comprises the following steps: the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the steps of the digital currency cryptograph sent by the sending terminal comprise: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
The invention also provides digital currency anti-counterfeiting and verification equipment based on the L algorithm, which comprises the system.
The invention provides a digital currency anti-counterfeiting and verification method, a system and equipment based on an L algorithm. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole body consisting of a payer and a tool thereof, a receiver and a tool thereof, and a back-end platform thereof. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
Drawings
FIG. 1 is a flow chart of a first embodiment of an L-algorithm based digital currency anti-counterfeiting and authentication method according to the present invention;
FIG. 2 is a schematic diagram of a fifth embodiment of an L-algorithm based digital currency anti-counterfeiting and authentication system according to the present invention;
FIG. 3 is a schematic diagram of a fifth embodiment of an L-algorithm based digital currency anti-counterfeiting and authentication system according to the present invention;
FIG. 4 is a schematic diagram of a fifth embodiment of an L-algorithm based digital currency anti-counterfeiting and authentication system according to the present invention;
fig. 5 is a schematic diagram of a fifth embodiment of the digital currency anti-counterfeiting and authentication system based on the L algorithm according to the invention.
Detailed Description
Methods for protecting important information can be roughly divided into two categories, one is "hidden" and the other is "secret". For example: the storage means that some important information is stored in the box, and then the box is stored in the cabinet, and the cabinet is buried in a certain mountain depth. The "secret" is that some important information is calculated into other information without the help of physical media. Or "secret" is a more advanced "hiding" that is a soft hiding (mathematical, cryptographic algorithms) rather than a hard hiding (by physical means).
"digitizing" is essentially "de-mediator" and digital currency is also known as "digital currency". The currency is digitalized from paper, so that the soft secret is necessarily preferred to be used for anti-counterfeiting protection and transaction safety guarantee, but not hard collection. The hardware protection scheme is not digital currency, but only changes the traditional currency from one medium to another medium and changes the paper into a chip. In brief, the following: digital currency it should be just a string of digital cipher text. It can be transmitted, received and stored, and has the capability of anti-counterfeiting, anti-tampering and anti-copying. Therefore, digital currency cannot be separated from cryptographic algorithms as support and security. Specifically, in the design of legal digital currency, it is necessary to support a specific expression form of the legal digital currency by applying a cryptology theory to ensure characteristics of the digital currency, such as negotiability, storability, non-forgeability, non-repeatable transaction ability, and non-repudiation ability.
The currency detection is an important link in a paper currency payment scene, and because the digital information has the characteristic of being easier to copy, the encryption and verification of the digital currency are important in the digital currency technology. The embodiment of the invention is based on the L algorithm, and the operation process is changed on the premise of not changing the operation result. The operation process is split and fused into a distributed operation whole body consisting of digital currency, a payment tool (a payer or a sending end), a payment tool (a receiver or a receiving end) and a back-end platform (a trusted center). The safety of the digital currency user is ensured through a cryptographic algorithm, a controllable anonymity mechanism is established through a technical means, the calculation result is equivalent to the conversion of the digital currency from the current holder to a new holder, traceability under a certain condition is realized, and the safety of the legal digital currency is further enhanced. In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Example one
Referring to fig. 1, fig. 1 is a flowchart illustrating an embodiment of an L-algorithm-based digital currency anti-counterfeiting and authentication method according to the present invention. The method comprises the following steps: step one to step four.
The method comprises the following steps that firstly, an anti-counterfeiting key corresponding to a digital currency public key stored in a trusted center is split into a stub key stored in the trusted center, a digital currency key stored in digital currency and a user key stored in a non-terminal.
The digital currency public key stored by the trusted center and the anti-counterfeiting key corresponding to the digital currency public key satisfy the following relation:
[L0L1L2]-1G=P+G;
wherein L is0Is a stub key; l is1Is a digital currency key; l is2A user key; p is a digital currency public key; g is the base point of the elliptic curve. The three keys are required to be operated correctly, and the aim of anti-counterfeiting can be achieved through public key verification.
The stub key stored in the trusted center is used for anti-counterfeiting verification;
a digital money key stored in the digital money, which is a part of the digital money information, circulated together with the digital money;
the user key stored in the non-terminal is secret information of the current holder of the digital currency, such as a password, and is stored in the mind of the user and is not stored in the terminal.
And step two, the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then off-line transfers the digital currency ciphertext to the receiving end.
Wherein, the digital currency key is updated to L once3=(aL1·aL2·u)mod n;
Wherein, aL1For the sender by means of a stored digital currency key, aL2A user key is sent by a sending end, u is a receiving end updating parameter sent by a receiving end, and is a random number in a prime field, and n is the order of an elliptic curve;
digital currency ciphertext C ═ SM2(Q, M);
wherein Q is a receiving end encryption public key sent by the receiving end, M is a digital currency plaintext, and C is a digital currency ciphertext transferred to the receiving end by an offline stream
Wherein, before the second step, the method further comprises:
a receiving end randomly generates a digital currency key updating parameter u belonging to [1, n-1] based on a transaction agreement, wherein u is a random number in a prime field, and n is an order of an elliptic curve;
randomly generating a receiving end encryption private key k E [1, n-1], and calculating a receiving end encryption public key Q [ k ] G based on the receiving end encryption private key;
and sending the receiving end updating parameter u and the receiving end encryption public key Q to the sending end.
Thirdly, the receiving end uses the receiving end encrypted private key to recover the digital currency plaintext, local currency detection is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification.
Wherein, the receiving end uses the receiving end encryption private key k to recover the digital currency plaintext M-SM 2-1(k, C) performing local currency examination to verify the authenticity of the digital currency, and if the verification fails, prompting an error and stopping the flowA process; wherein M is a digital currency plaintext, k is a receiving end encryption private key, and C is a digital currency ciphertext transferred to the receiving end by offline flow;
if the verification is successful, the digital currency key is updated for a second time L4=(L3·bL2 -1·u-1) mod n, where L3bL being an updated digital currency key, for offline circulation with digital currency2Is the user key of the receiving end;
calculating a summary e-SM 3(M) of digital currency static content which is digital currency plaintext M without a key field;
calculating a first sub-signature r ═ e + x based on the digest1) mod n, where x1Encrypting the abscissa value of the public key Q for the receiving end;
calculating a second sub-signature bS ═ based on the first sub-signature ((L)4·bL2)(k+r))mod n;
And sending the information such as the first signature (r, bS) and the currency number to a credible center for online verification.
Step four, the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, if the verification fails, returns an error and stops the process, if the verification succeeds, the trusted center calculates a second signature for the received first signature through the stored stub key; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
Wherein, the credible center searches the digital currency stub through the currency number, verifies the validity of the state, if the verification fails, returns an error and stops the process, if the verification succeeds,
calculating a second signature s ═ (bS · aL)0-r) mod n, where aL0Is a stub key;
verifying the signature (r, s) by using the stored digital currency public key, and if the verification fails, returning an error and stopping the process; if the verification is successful, the verification is carried out,
randomly generating a stub key updating parameter v E [1, n-1 ];
updating stub key to bL0=(aL0·v-1)mod n;
And returning the stub key updating parameter v to the receiving end.
Further, after returning the update parameter v to the receiving end, the method further includes:
the receiving end updates the receiving end digital currency key to bL through the stub key updating parameter v1=(L4·v)modn。
In order to more clearly illustrate the specific technical scheme of the first embodiment of the present invention, the anti-counterfeit passing conditions of the processes of offline circulation of independent digital currency and online currency examination in the first embodiment of the present invention are expressed in the form of a table:
TABLE 1
The embodiment of the invention provides a digital currency anti-counterfeiting and verification method based on an L algorithm. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole consisting of a payer and a tool thereof, a receiver and a tool thereof, and a rear-end platform thereof, so that the operation in a mode of being more difficult to tamper, more convenient for online and offline operation, stronger visibility and wider channel is realized; meanwhile, a set of brand new ecological system can be constructed. And by means of the complementarity of the two forms to a certain extent, the two forms can be preferentially used in different application scenes to meet different requirements. The core of the method is that the digital currency is only one unit part participating in the distributed operation, and once the operation unit is tampered, the operation unit can not participate in the whole operation any more, or the whole distributed operation is damaged. Therefore, the digital currency has safety and reliability as a section of digital information (ciphertext) which can be transmitted by any medium.
The operation result only relates to the anti-counterfeiting verification of the digital currency. Digital currencies with different currency numbers or other receiving and paying tools are not members of the current distributed operation, and cannot participate, intercept or interfere the distributed operation. Therefore, on the premise of not depending on any additional hardware equipment, the cryptographic algorithm is adopted to enable a section of digital information (digital currency) to have self-protection capabilities of counterfeiting prevention, tampering prevention, reuse prevention, stealing prevention, fraud prevention, technical stealing and robbery prevention and the like.
The digital currency (digital information) is closely fused with the current owner (sending end) and the new owner (receiving end) by a cryptology algorithm, and the digital currency flow of one payment transaction is carried out as a cryptology algorithm in a distributed operation mode. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
Example two
The embodiment of the invention provides an L algorithm-based digital currency anti-counterfeiting and verification method, which is explained by a sending end side and comprises the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts a digital currency plaintext by using a receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then offline transfers the digital currency ciphertext to the receiving end; the receiving end uses the receiving end encryption private key to recover the digital currency plaintext, and executes local currency detection to verify the authenticity of the digital currency, if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
Since the steps and functions of the method disclosed in the second embodiment substantially correspond to the embodiments, principles, and examples of the method shown in the first embodiment, and are only a single-side protection manner, the description of the present embodiment is not detailed, and reference may be made to the related description in the foregoing embodiments, which is not repeated herein.
The second embodiment of the invention provides an L algorithm-based digital currency anti-counterfeiting and verification method, which is characterized in that an anti-counterfeiting key system of digital currency is constructed by taking independent digital currency as a unit, and anti-counterfeiting keys are dispersed into digital currency, a holder and a trusted center rear-end platform. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole body consisting of a payer and a tool thereof, a receiver and a tool thereof, and a back-end platform thereof. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
EXAMPLE III
The third embodiment of the invention provides an L algorithm-based digital currency anti-counterfeiting and verification method, which is explained by a receiving end side and comprises the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of sending the digital currency ciphertext by the sending end comprises the following steps: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
Since the steps and functions of the method disclosed in the third embodiment substantially correspond to the embodiment, the principle, and the example of the method shown in the first embodiment, and are only a single-side protection manner, the description of the present embodiment is not detailed, and reference may be made to the related description in the foregoing embodiments, which is not repeated herein.
The third embodiment of the invention provides an L algorithm-based digital currency anti-counterfeiting and verification method, which is characterized in that an anti-counterfeiting key system of digital currency is constructed by taking independent digital currency as a unit, and anti-counterfeiting keys are dispersed into the digital currency, a holder and a trusted center rear-end platform. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole body consisting of a payer and a tool thereof, a receiver and a tool thereof, and a back-end platform thereof. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
Example four
The fourth embodiment of the invention provides an L algorithm-based digital currency anti-counterfeiting and verification method, which is explained by a trusted center side and comprises the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the trusted center searches the digital currency stub through the currency number sent by the receiving end, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of the coin number sent by the receiving end comprises the following steps: the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the steps of the digital currency cryptograph sent by the sending terminal comprise: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
Since the steps and functions of the method disclosed in the fourth embodiment substantially correspond to the embodiment, the principle and the example of the method shown in the first embodiment, and are only a single-side protection manner, the description of the present embodiment is not detailed, and reference may be made to the related description in the foregoing embodiments, which is not repeated herein.
The fourth embodiment of the invention provides a digital currency anti-counterfeiting and verification method based on an L algorithm, which is characterized in that an anti-counterfeiting key system of the digital currency is constructed by taking independent digital currency as a unit, and anti-counterfeiting keys are dispersed into the digital currency, a holder and a rear-end platform of a trusted center. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole body consisting of a payer and a tool thereof, a receiver and a tool thereof, and a back-end platform thereof. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
EXAMPLE five
As shown in fig. 2, a fifth embodiment of the present invention provides an L-algorithm-based digital currency anti-counterfeiting and verification system 200, which includes a key system 21, a sending end 22, a receiving end 23, and a trusted center 24:
the key system 21 is configured to split an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency, and a user key stored in the non-terminal;
the sending end 22 is configured to update the digital currency key once through the stored digital currency key, the sending end user key, and the receiving end update parameter sent by the receiving end, encrypt the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then transfer the digital currency ciphertext to the receiving end in an offline manner;
the receiving terminal 23 is configured to recover the digital currency plaintext by using the receiving terminal encrypted private key, perform local currency detection to verify the authenticity of the digital currency, and prompt an error and stop the flow if the verification fails; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the trusted center 24 is configured to retrieve the digital currency stub through the currency number, verify the validity of the state, return an error and terminate the process if the verification fails, and calculate a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
Further, in the key system, the digital currency public key stored by the trusted center and the corresponding anti-counterfeiting key satisfy the following relationship:
[L0L1L2]-1G=P+G;
wherein L is0Is a stub key; l is1Is a digital currency key; l is2A user key; p is a digital currency public key; g is the base point of the elliptic curve.
Further, the sending end specifically includes:
a one-time updating unit for updating the digital money key to L at one time3=(aL1·aL2U) mod n; wherein, aL1For the sender by means of a stored digital currency key, aL2A user key is sent by a sending end, u is a receiving end updating parameter sent by a receiving end, and is a random number in a prime field, and n is the order of an elliptic curve;
an encryption unit for encrypting the digital currency plaintext into a digital currency ciphertext C ═ SM2(Q, M); wherein, Q is a receiving end encryption public key sent by the receiving end, M is a digital currency plaintext, and C is a digital currency ciphertext transferred to the receiving end by an offline stream.
Further, the receiving end includes:
the receiving end generating unit is used for randomly generating a digital currency key updating parameter u epsilon [1, n-1] at the receiving end based on the deal engagement, wherein u is a random number in a prime field, and n is the order of an elliptic curve; randomly generating a receiving end encryption private key k E [1, n-1], and calculating a receiving end encryption public key Q [ k ] G based on the receiving end encryption private key;
and the first sending unit is used for sending the receiving end updating parameter u and the receiving end encryption public key Q to the sending end.
Further, the receiving end further includes:
a first authentication unit for recovering the digital currency plaintext M SM2 using the receiving-end encryption private key-1(k, C), performing local banknote validationIf the verification fails, prompting an error and stopping the flow; wherein M is a digital currency plaintext, k is a receiving end encryption private key, and C is a digital currency ciphertext transferred to the receiving end by offline flow;
a secondary updating unit for updating the digital currency key L for a second time when the first verifying unit succeeds in verification4=(L3·bL2 -1·u-1) mod n, where L3bL being an updated digital currency key, for offline circulation with digital currency2Is the user key of the receiving end;
a first calculation unit configured to calculate a digest e-SM 3(M) for digital currency static content which is a digital currency plaintext M that does not include a key field; calculating a first sub-signature r ═ e + x based on the digest1) mod n, where x1Encrypting the abscissa value of the public key Q for the receiving end; calculating a second sub-signature bS ═ based on the first sub-signature ((L)4·bL2)(k+r))mod n;
And the second sending unit is used for sending the information such as the first signature (r, bS), the currency number and the like to the credible center for online verification.
Further, the trust center specifically includes:
the second verification unit is used for searching the digital currency stub through the currency number, verifying the validity of the state, and returning an error and stopping the flow if the verification fails;
a second calculation unit configured to calculate a second signature s ═ b s · aL (bS · aL) when the second verification unit succeeds in verification0-r) mod n, where aL0Is a stub key;
the third verification unit is used for verifying the signature (r, s) by using the stored digital currency public key, and if the verification fails, an error is returned and the flow is stopped;
a trust center updating unit for randomly generating a stub key update parameter v ∈ [1, n-1] when the third verification unit succeeds in verification](ii) a Updating stub key to bL0=(aL0·v-1)mod n;
And the third sending unit is used for returning the stub key updating parameter v to the receiving end.
Further, the receiving end further includes:
a receiving-end updating unit for updating the receiving-end digital currency key to bL based on the stub key update parameter1=(L4·v)mod n。
The specific implementation functions and processing modes refer to specific steps described in the first embodiment of the method.
Since the processing and functions implemented by the system of the fifth embodiment substantially correspond to the embodiments, principles, and examples of the method shown in the first embodiment, reference may be made to the related descriptions in the foregoing embodiments without specific details in the description of the present embodiment, which is not described herein again.
The fifth embodiment of the invention provides an L algorithm-based digital currency anti-counterfeiting and verification system, which is used for constructing a digital currency anti-counterfeiting key system by taking independent digital currency as a unit and dispersing anti-counterfeiting keys into digital currency, a holder and a trusted center rear-end platform. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole body consisting of a payer and a tool thereof, a receiver and a tool thereof, and a back-end platform thereof. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
EXAMPLE six
As shown in fig. 3, a sixth embodiment of the present invention provides an L-algorithm-based digital currency anti-counterfeiting and verification system 300, which includes a key system 21 and a sending end 22.
The key system 21 is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the sending end 22 is configured to update the digital currency key once through the stored digital currency key, the sending end user key, and the receiving end update parameter sent by the receiving end, encrypt a digital currency plaintext by using a receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then transfer the digital currency ciphertext to the receiving end in an offline manner; the receiving end uses the receiving end encryption private key to recover the digital currency plaintext, and executes local currency detection to verify the authenticity of the digital currency, if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
The specific implementation functions and processing modes refer to the specific steps described in method embodiment two.
Since the processing and functions implemented by the system of the sixth embodiment substantially correspond to the embodiments, principles, and examples of the method shown in the second embodiment, reference may be made to the related descriptions in the foregoing embodiments without being detailed in the description of the present embodiment.
EXAMPLE seven
As shown in fig. 4, a seventh embodiment of the present invention provides an L-algorithm-based digital currency anti-counterfeiting and verification system 400, which includes a key system 21 and a receiving end 23.
The key system 21 is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the receiving end 23 is used for recovering the digital currency ciphertext sent by the sending end to a digital currency plaintext by using a receiving end encryption private key, executing local currency examination to verify the authenticity of the digital currency, and prompting an error and stopping the flow if the verification fails; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end; the step of sending the digital currency ciphertext by the sending end comprises the following steps: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
The specific implementation functions and processing modes refer to specific steps described in method embodiment three.
Since the processing and functions implemented by the system of the seventh embodiment substantially correspond to the embodiments, principles, and examples of the method shown in the third embodiment, reference may be made to the related descriptions in the foregoing embodiments without specific details in the description of the present embodiment, which is not described herein again.
Example eight
As shown in fig. 5, a seventh embodiment of the present invention provides an L-algorithm-based digital currency anti-counterfeiting and verification system 500, which includes a key system 21 and a trust center 24.
The key system 21 is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the trusted center 24 is used for retrieving the digital currency stub through the currency number sent by the receiving end, verifying the validity of the state, returning an error and stopping the process if the verification fails, and calculating a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of the coin number sent by the receiving end comprises the following steps: the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the steps of the digital currency cryptograph sent by the sending terminal comprise: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
The specific implementation functions and processing modes refer to the specific steps described in method embodiment four.
Since the processing and functions implemented by the system of the seventh embodiment substantially correspond to the embodiments, principles, and examples of the method shown in the fourth embodiment, reference may be made to the related descriptions in the foregoing embodiments without specific details in the description of the present embodiment, which is not described herein again.
Example eight
Eighth embodiment of the present invention provides an L-algorithm-based digital currency anti-counterfeiting and verification device (not shown), which includes the system according to any one of fifth to seventh embodiments.
The device includes but is not limited to a smart terminal equipped with the system according to one of the fifth to seventh embodiments.
The eighth embodiment of the invention provides digital currency anti-counterfeiting and verifying side equipment based on an L algorithm, which is used for constructing a digital currency anti-counterfeiting key system by taking independent digital currency as a unit and dispersing anti-counterfeiting keys into digital currency, a holder and a trusted center rear-end platform. The digital currency is taken as a link to realize the dynamic transformation of an anti-counterfeiting key system, and the transformation result is equivalent to the change from the current holder to a new holder; the SM2 standard is used as an anti-counterfeiting algorithm, the operation process is changed on the premise of not changing the operation result, and the operation process is split and fused into a distributed operation whole body consisting of a payer and a tool thereof, a receiver and a tool thereof, and a back-end platform thereof. Compared with the prior art, the invention can achieve the following beneficial effects:
1) the invention adopts the design ideas of off-line circulation and on-line currency examination, thereby not only reducing the safety risk of the double flowers, but also lightening the peak pressure of the system, and having less on-line interaction and high effectiveness;
2) the digital currency anti-counterfeiting function is realized by a cryptographic technology, so that the problem of mass data downloading caused by accounting anti-counterfeiting such as a block chain is solved, and the usability is strong;
3) the anti-counterfeiting key system design taking independent digital currency as a unit directly plays the anti-counterfeiting role of the digital currency; in addition, the risk is dispersed to the minimum by taking the currency as a unit, even if a key system of one piece of digital currency is cracked, other pieces of digital currency cannot be influenced, the risk of managing digital assets by a user private key is reduced, and the safety is high.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It should be noted that, according to the implementation requirement, each step/component described in the present application can be divided into more steps/components, and two or more steps/components or partial operations of the steps/components can be combined into new steps/components to achieve the purpose of the present invention.
The above-described method according to the present invention can be implemented in hardware, firmware, or as software or computer code storable in a recording medium such as a CD ROM, a RAM, a floppy disk, a hard disk, or a magneto-optical disk, or as computer code originally stored in a remote recording medium or a non-transitory machine-readable medium and to be stored in a local recording medium downloaded through a network, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware such as an ASIC or FPGA. It will be appreciated that the computer, processor, microprocessor controller or programmable hardware includes memory components (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code that, when accessed and executed by the computer, processor or hardware, implements the processing methods described herein. Further, when a general-purpose computer accesses code for implementing the processes shown herein, execution of the code transforms the general-purpose computer into a special-purpose computer for performing the processes shown herein.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.
Claims (21)
1. A digital currency anti-counterfeiting and verification method based on an L algorithm is characterized by comprising the following steps:
splitting an anti-counterfeiting key corresponding to a digital currency public key stored in a trusted center into a stub key stored in the trusted center, a digital currency key stored in digital currency and a user key stored in a non-terminal;
step two, the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then off-line transfers the digital currency ciphertext to the receiving end;
thirdly, the receiving end uses the receiving end encrypted private key to recover the digital currency plaintext, local currency detection is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
step four, the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, if the verification fails, returns an error and stops the process, if the verification succeeds, the trusted center calculates a second signature for the received first signature through the stored stub key; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
2. The method according to claim 1, wherein in the first step, the public key of the digital currency stored by the trusted center and the corresponding anti-counterfeit key satisfy the following relationship:
[L0L1L2]-1G=P+G;
wherein L is0Is a stub key; l is1Is a digital currency key; l is2A user key; p is a digital currency public key; g is the base point of the elliptic curve.
3. The method according to claim 1 or 2, wherein the second step specifically comprises:
updating the digital currency key to L once3=(aL1·aL2·u)mod n;
Wherein, aL1For the sender by means of a stored digital currency key, aL2A user key is sent by a sending end, u is a receiving end updating parameter sent by a receiving end, and is a random number in a prime field, and n is the order of an elliptic curve;
digital currency ciphertext C ═ SM2(Q, M);
wherein, Q is a receiving end encryption public key sent by the receiving end, M is a digital currency plaintext, and C is a digital currency ciphertext transferred to the receiving end by an offline stream.
4. The method of claim 1, wherein step two is preceded by:
a receiving end randomly generates a digital currency key updating parameter u belonging to [1, n-1] based on a transaction agreement, wherein u is a random number in a prime field, and n is an order of an elliptic curve;
randomly generating a receiving end encryption private key k E [1, n-1], and calculating a receiving end encryption public key Q [ k ] G based on the receiving end encryption private key;
and sending the receiving end updating parameter u and the receiving end encryption public key Q to the sending end.
5. The method according to claim 1, wherein the third step specifically comprises:
the receiving end uses the receiving end encryption private key k to recover the digital currency plaintext M-SM 2-1(k, C), carrying out local currency examination to verify the authenticity of the digital currency, and if the verification fails, prompting an error and stopping the flow; wherein M is a digital currency plaintext, k is a receiving end encryption private key, and C is a digital currency ciphertext transferred to the receiving end by offline flow;
if the verification is successful, the digital currency key is updated for a second time L4=(L3·bL2 -1·u-1) mod n, where L3bL being an updated digital currency key, for offline circulation with digital currency2Is the user key of the receiving end;
calculating a summary e-SM 3(M) of digital currency static content which is digital currency plaintext M without a key field;
calculating a first sub-signature r ═ e + x based on the digest1) mod n, where x1Encrypting the abscissa value of the public key Q for the receiving end;
calculating a second sub-signature bS ═ based on the first sub-signature r ((L)4·bL2)(k+r))mod n;
And sending the information such as the first signature (r, bS) and the currency number to a credible center for online verification.
6. The method according to claim 1, wherein the fourth step specifically comprises:
the credible center searches the digital currency stub through the currency number, verifies the validity of the state, if the verification fails, returns an error and stops the process, if the verification succeeds,
calculating a second signature s ═ (bS · aL)0-r) mod n, where aL0Is a stub key;
verifying the signature (r, s) by using the stored digital currency public key, and if the verification fails, returning an error and stopping the process; if the verification is successful, the verification is carried out,
randomly generating a stub key updating parameter v E [1, n-1 ];
updating stub key to bL0=(aL0·v-1)mod n;
And returning the stub key updating parameter v to the receiving end.
7. The method of claim 6, wherein after returning the update parameter v to the receiving end, further comprising:
the receiving end updates the receiving end digital currency key to bL through the stub key updating parameter v1=(L4·v)mod n。
8. A digital currency anti-counterfeiting and verification method based on an L algorithm is characterized by comprising the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts a digital currency plaintext by using a receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then offline transfers the digital currency ciphertext to the receiving end; the receiving end uses the receiving end encryption private key to recover the digital currency plaintext, and executes local currency detection to verify the authenticity of the digital currency, if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
9. A digital currency anti-counterfeiting and verification method based on an L algorithm is characterized by comprising the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of sending the digital currency ciphertext by the sending end comprises the following steps: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
10. A digital currency anti-counterfeiting and verification method based on an L algorithm is characterized by comprising the following steps:
splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in a non-terminal;
the trusted center searches the digital currency stub through the currency number sent by the receiving end, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of the coin number sent by the receiving end comprises the following steps: the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the steps of the digital currency cryptograph sent by the sending terminal comprise: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
11. A digital currency anti-counterfeiting and verification system based on an L algorithm is characterized by comprising a key system, a sending end, a receiving end and a trusted center:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the sending end is used for updating the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypting the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext and then transferring the digital currency ciphertext to the receiving end in an off-line manner;
the receiving end is used for recovering the digital currency plaintext by using the receiving end encrypted private key, executing local currency examination to verify the authenticity of the digital currency, and prompting an error and stopping the flow if the verification fails; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the trusted center is used for retrieving the digital currency stub through the currency number, verifying the validity of the state, returning an error and stopping the process if the verification fails, and calculating a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
12. The system according to claim 11, wherein in the key system, the public key of the digital currency stored by the trusted center and the corresponding anti-counterfeit key satisfy the following relationship:
[L0L1L2]-1G=P+G;
wherein L is0Is a stub key; l is1Is a digital currency key; l is2A user key; p is a digital currency public key; g is the base point of the elliptic curve.
13. The system of claim 11, wherein the sending end specifically includes:
a one-time updating unit for updating the digital money key to L at one time3=(aL1·aL2U) mod n; wherein, aL1For the sender by means of a stored digital currency key, aL2A user key is sent by a sending end, u is a receiving end updating parameter sent by a receiving end, and is a random number in a prime field, and n is the order of an elliptic curve;
an encryption unit for encrypting the digital currency plaintext into a digital currency ciphertext C ═ SM2(Q, M); wherein, Q is a receiving end encryption public key sent by the receiving end, M is a digital currency plaintext, and C is a digital currency ciphertext transferred to the receiving end by an offline stream.
14. The system of claim 11, wherein the receiving end comprises:
the receiving end generating unit is used for randomly generating a digital currency key updating parameter u epsilon [1, n-1] at the receiving end based on the deal engagement, wherein u is a random number in a prime field, and n is the order of an elliptic curve; randomly generating a receiving end encryption private key k E [1, n-1], and calculating a receiving end encryption public key Q [ k ] G based on the receiving end encryption private key;
and the first sending unit is used for sending the receiving end updating parameter u and the receiving end encryption public key Q to the sending end.
15. The system of claim 11, wherein the receiving end further comprises:
a first authentication unit for recovering the digital currency plaintext M SM2 using the receiving-end encryption private key-1(k, C), carrying out local currency examination to verify the authenticity of the digital currency, and if the verification fails, prompting an error and stopping the flow; wherein M is a digital currency plaintext, k is a receiving end encryption private key, and C is a digital currency ciphertext transferred to the receiving end by offline flow;
a secondary updating unit for updating the digital currency key L for a second time when the first verifying unit succeeds in verification4=(L3·bL2 -1·u-1) mod n, where L3bL being an updated digital currency key, for offline circulation with digital currency2Is the user key of the receiving end;
a first calculation unit configured to calculate a digest e-SM 3(M) for digital currency static content which is a digital currency plaintext M that does not include a key field; calculating a first sub-signature r ═ e + x based on the digest1) mod n, where x1Encrypting the abscissa value of the public key Q for the receiving end; calculating a second sub-signature bS ═ based on the first sub-signature ((L)4·bL2)(k+r))mod n;
And the second sending unit is used for sending the information such as the first signature (r, bS), the currency number and the like to the credible center for online verification.
16. The system of claim 11, wherein the trust center specifically comprises:
the second verification unit is used for searching the digital currency stub through the currency number, verifying the validity of the state, and returning an error and stopping the flow if the verification fails;
a second calculation unit for calculating the second verification unitWhen the verification is successful, the second signature s ═ is calculated (bS · aL)0-r) mod n, where aL0Is a stub key;
the third verification unit is used for verifying the signature (r, s) by using the stored digital currency public key, and if the verification fails, an error is returned and the flow is stopped;
a trust center updating unit for randomly generating a stub key update parameter v ∈ [1, n-1] when the third verification unit succeeds in verification](ii) a Updating stub key to bL0=(aL0·v-1)mod n;
And the third sending unit is used for returning the stub key updating parameter v to the receiving end.
17. The system of claim 16, wherein the receiving end further comprises:
a receiving-end updating unit for updating the receiving-end digital currency key to bL based on the stub key update parameter1=(L4·v)mod n。
18. A digital currency anti-counterfeiting and verification system based on an L algorithm is characterized by comprising:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the sending end is used for updating the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypting the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext and then transferring the digital currency ciphertext to the receiving end in an off-line manner; the receiving end uses the receiving end encryption private key to recover the digital currency plaintext, and executes local currency detection to verify the authenticity of the digital currency, if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; and verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter and updating the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end.
19. A digital currency anti-counterfeiting and verification system based on an L algorithm is characterized by comprising:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the receiving end is used for recovering the digital currency ciphertext sent by the sending end into a digital currency plaintext by using a receiving end encryption private key, executing local currency examination to verify the authenticity of the digital currency, and prompting an error and stopping the flow if the verification fails; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification; the trusted center searches the digital currency stub through the currency number, verifies the validity of the state, returns an error and stops the process if the verification fails, and calculates a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end; the step of sending the digital currency ciphertext by the sending end comprises the following steps: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
20. A digital currency anti-counterfeiting and verification system based on an L algorithm is characterized by comprising:
the key system is used for splitting an anti-counterfeiting key corresponding to the digital currency public key stored in the trusted center into a stub key stored in the trusted center, a digital currency key stored in the digital currency and a user key stored in the non-terminal;
the trusted center is used for retrieving the digital currency stub through the currency number sent by the receiving end, verifying the validity of the state, returning an error and stopping the process if the verification fails, and calculating a second signature for the received first signature through the stored stub key if the verification succeeds; verifying the second signature through the stored public key of the digital currency, if the verification fails, returning an error and stopping the process, and if the verification succeeds, generating a trusted center updating parameter to update the stub key of the digital currency and the digital currency key in the digital currency stored by the receiving end;
the step of the coin number sent by the receiving end comprises the following steps: the receiving end uses the receiving end encryption private key to recover the digital currency ciphertext sent by the sending end into a digital currency plaintext, local currency examination is executed to verify the authenticity of the digital currency, and if the verification fails, an error is prompted and the flow is stopped; if the verification is successful, the receiving end updates the digital currency key for the second time through the once updated digital currency key, the receiving end updating parameter and the receiving end user key in the received digital currency, and sends a first signature and currency number information calculated for the updated digital currency to the credible center for verification;
the steps of the digital currency cryptograph sent by the sending terminal comprise: the sending end updates the digital currency key once through the stored digital currency key, the sending end user key and the receiving end updating parameter sent by the receiving end, encrypts the digital currency plaintext by using the receiving end encryption public key sent by the receiving end to generate a digital currency ciphertext, and then the digital currency ciphertext is transferred to the receiving end in an off-line mode.
21. An L-algorithm based digital currency anti-counterfeiting and authentication device comprising the system of any one of claims 11-18 or 19 or 20.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711301230.1A CN107908932B (en) | 2017-12-10 | 2017-12-10 | Digital currency anti-counterfeiting and verification method, system and equipment based on L algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711301230.1A CN107908932B (en) | 2017-12-10 | 2017-12-10 | Digital currency anti-counterfeiting and verification method, system and equipment based on L algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107908932A CN107908932A (en) | 2018-04-13 |
CN107908932B true CN107908932B (en) | 2020-10-13 |
Family
ID=61865230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711301230.1A Active CN107908932B (en) | 2017-12-10 | 2017-12-10 | Digital currency anti-counterfeiting and verification method, system and equipment based on L algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908932B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033832B (en) * | 2018-06-22 | 2021-02-09 | 深圳前海益链网络科技有限公司 | Method for preventing transient bifurcation double-flower attack on block chain network |
CN110599140B (en) * | 2019-08-29 | 2022-05-24 | 中国人民银行数字货币研究所 | Digital currency verification method and system |
CN112036847B (en) * | 2020-08-05 | 2024-11-29 | 杭州云象网络技术有限公司 | Anti-counterfeiting verification method and system for off-line payment of digital currency |
CN112711742B (en) * | 2020-11-23 | 2023-06-06 | 中国联合网络通信集团有限公司 | Digital currency anti-counterfeiting method and device |
CN112732288B (en) * | 2020-12-11 | 2024-05-28 | 北京握奇智能科技有限公司 | Method and device for upgrading digital currency hardware wallet application |
CN114186999A (en) * | 2021-10-19 | 2022-03-15 | 中国人民银行数字货币研究所 | Method and device for verifying digital currency transaction abnormity |
CN118609256A (en) * | 2024-06-04 | 2024-09-06 | 广州数字驱动信息科技有限公司 | Coin anti-counterfeiting verification method and computer |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202630A (en) * | 2007-12-07 | 2008-06-18 | 中国电信股份有限公司 | Method and system for adding decipher in TR069 integrative terminal management platform |
CN101888295A (en) * | 2009-05-15 | 2010-11-17 | 南京理工大学 | Distributed Multiple Security Authentication Method |
CN102857339A (en) * | 2012-09-12 | 2013-01-02 | 无锡科技职业学院 | Secret distribution sharing and recovery recombining method based on sequences |
CN105812126A (en) * | 2016-05-19 | 2016-07-27 | 齐鲁工业大学 | Lightweight back-up and efficient restoration method of health block chain data encryption keys |
JP2016173532A (en) * | 2015-03-18 | 2016-09-29 | 日本電信電話株式会社 | Distributed value conversion system, distributed value conversion apparatus, distributed value conversion method, and program |
CN106651331A (en) * | 2016-12-22 | 2017-05-10 | 飞天诚信科技股份有限公司 | Digital currency-based electronic transaction method and system |
CN106845950A (en) * | 2017-02-06 | 2017-06-13 | 吕文华 | A kind of digital currency for meeting binary system |
CN107067241A (en) * | 2017-02-06 | 2017-08-18 | 吕文华 | A kind of runtime of binary system digital currency |
CN107276752A (en) * | 2016-06-27 | 2017-10-20 | 收付宝科技有限公司 | The methods, devices and systems that limitation key is decrypted are paid to cloud |
CN107302438A (en) * | 2017-08-07 | 2017-10-27 | 收付宝科技有限公司 | A kind of private key protection method based on key updating, system and device |
CN107409123A (en) * | 2015-02-09 | 2017-11-28 | 缇零网股份有限公司 | Encryption Integration Platform |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263363A1 (en) * | 2007-01-22 | 2008-10-23 | Spyrus, Inc. | Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption |
-
2017
- 2017-12-10 CN CN201711301230.1A patent/CN107908932B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202630A (en) * | 2007-12-07 | 2008-06-18 | 中国电信股份有限公司 | Method and system for adding decipher in TR069 integrative terminal management platform |
CN101888295A (en) * | 2009-05-15 | 2010-11-17 | 南京理工大学 | Distributed Multiple Security Authentication Method |
CN102857339A (en) * | 2012-09-12 | 2013-01-02 | 无锡科技职业学院 | Secret distribution sharing and recovery recombining method based on sequences |
CN107409123A (en) * | 2015-02-09 | 2017-11-28 | 缇零网股份有限公司 | Encryption Integration Platform |
JP2016173532A (en) * | 2015-03-18 | 2016-09-29 | 日本電信電話株式会社 | Distributed value conversion system, distributed value conversion apparatus, distributed value conversion method, and program |
CN105812126A (en) * | 2016-05-19 | 2016-07-27 | 齐鲁工业大学 | Lightweight back-up and efficient restoration method of health block chain data encryption keys |
CN107276752A (en) * | 2016-06-27 | 2017-10-20 | 收付宝科技有限公司 | The methods, devices and systems that limitation key is decrypted are paid to cloud |
CN106651331A (en) * | 2016-12-22 | 2017-05-10 | 飞天诚信科技股份有限公司 | Digital currency-based electronic transaction method and system |
CN106845950A (en) * | 2017-02-06 | 2017-06-13 | 吕文华 | A kind of digital currency for meeting binary system |
CN107067241A (en) * | 2017-02-06 | 2017-08-18 | 吕文华 | A kind of runtime of binary system digital currency |
CN107302438A (en) * | 2017-08-07 | 2017-10-27 | 收付宝科技有限公司 | A kind of private key protection method based on key updating, system and device |
Non-Patent Citations (4)
Title |
---|
"A lightweight micropayment scheme based on lagrange imterpolation formula";Yining Liu and Jihong Yan;《Security and Communication Networks》;20121030;全文 * |
"单云服务提供者环境下的随机化属性保护研究";李栓保;《郑州大学学报(工学版)》;20171130;第38卷(第6期);全文 * |
"基于RSA的一般访问结构的秘密共享方案";宋琦 等;《合肥工业大学学报(自然科学版)》;20170531;第40卷(第5期);全文 * |
"基于分组的理性秘密共享方案";李梦慧 等;《密码学报》;20170630;第4卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107908932A (en) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908932B (en) | Digital currency anti-counterfeiting and verification method, system and equipment based on L algorithm | |
CN106664206B (en) | Efficient method for authenticated communication | |
JP2020145733A (en) | Method for managing a trusted identity | |
WO2021008453A1 (en) | Method and system for offline blockchain transaction based on identifier authentication | |
CN106897879A (en) | Block chain encryption method based on the PKI CLC close algorithms of isomerization polymerization label | |
CN107358424A (en) | A kind of method of commerce and device based on digital cash | |
CN107392603A (en) | Use the method for commerce and device of digital cash | |
WO2007103906A2 (en) | Secure data transmission using undiscoverable or black data | |
US20200014668A1 (en) | System and method of securely transmitting and storing data over a network | |
US11669833B1 (en) | Blockchain endpoint protection | |
US10657523B2 (en) | Reconciling electronic transactions | |
Ahmad et al. | Study of cryptographic techniques adopted in blockchain | |
CN110599164A (en) | Method for rapidly paying by any payee under supervision chain | |
Nowroozi et al. | Cryptocurrency wallets: assessment and security | |
Du et al. | The applications of blockchain in the covert communication | |
Eldefrawy et al. | Banknote Validation through an Embedded RFID Chip and an NFC‐Enabled Smartphone | |
KR100406009B1 (en) | Method for protecting forgery and alteration of smart card using angular multiplexing hologram and system thereof | |
US20230143356A1 (en) | Method and system for performing cryptocurrency asset transaction | |
Asmitha et al. | Decentralized User Wallet: Transforming Digital Banking with Blockchain | |
CN113793149B (en) | Off-line transaction authentication system, method, central server and client | |
Sun et al. | The mobile payment based on public-key security technology | |
Kowalski et al. | Bitcoin: cryptographic algorithms, security vulnerabilities and mitigations | |
CN110992010B (en) | A method for controlling the total amount of digital currency issuance and a verification method | |
CN112632602A (en) | Block chain coin mixing method and device, terminal and storage medium | |
CN113393242B (en) | Method and equipment for safe off-line electronic payment of token model payers |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200417 Address after: 100016 No. 8, xiaoyunli, Chaoyang District, Beijing 2011 Applicant after: Lv Wenhua Address before: No. 806, 33 floor, Xiao Nanzhuang, Haidian District, Beijing Applicant before: Wan Hai Jia |
|
GR01 | Patent grant | ||
GR01 | Patent grant |