CN111476556A - Digital currency data processing method, system and storage medium - Google Patents

Digital currency data processing method, system and storage medium Download PDF

Info

Publication number
CN111476556A
CN111476556A CN202010210487.1A CN202010210487A CN111476556A CN 111476556 A CN111476556 A CN 111476556A CN 202010210487 A CN202010210487 A CN 202010210487A CN 111476556 A CN111476556 A CN 111476556A
Authority
CN
China
Prior art keywords
terminal
public key
digital currency
mask
private key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010210487.1A
Other languages
Chinese (zh)
Inventor
杜猛
苏锐
李榕浩
李胜
罗兴诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huashu Cloud Computing Technology Co ltd
Original Assignee
Shenzhen Huashu Cloud Computing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huashu Cloud Computing Technology Co ltd filed Critical Shenzhen Huashu Cloud Computing Technology Co ltd
Priority to CN202010210487.1A priority Critical patent/CN111476556A/en
Publication of CN111476556A publication Critical patent/CN111476556A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The invention discloses a digital currency data processing method, a system and a storage medium, wherein the method comprises the steps of determining a first public key corresponding to a first private key and a second public key corresponding to a second private key in a public key generation stage, generating a public key according to the first public key and the second public key, uploading the public key to mark a corresponding digital currency and the like. By executing the digital currency data processing method, the digital currency transaction request can pass the verification of the digital currency registration center only under the condition that the first terminal and the second terminal send transaction requests in the transaction signature stage, otherwise, the digital currency transaction request cannot pass the verification, so that the digital currency registration center only carries out transaction on the same digital currency under the condition that all the terminals apply for carrying out transaction on the same digital currency, and the effect that the two terminals control and manage the same digital currency is realized. The invention is widely applied to the technical field of digital currency.

Description

Digital currency data processing method, system and storage medium
Technical Field
The invention relates to the technical field of digital currency, in particular to a digital currency data processing method, a digital currency data processing system and a storage medium.
Background
Digital currency is a completely new form of currency recognized by central banks or other currency issuing authorities in some countries or regions. The technical framework of the existing digital currency is as follows: the central bank sets up the digital currency to register the center and produce and manage the encryption character string, these encryption character strings are equivalent to the currency of the paper; the user uses the electronic terminal to store and manage the encrypted character string, which is equivalent to holding money; the digital currency registration center marks ownership of the digital currency through a public key, when a user uses the digital currency, the user signs a transaction through a private key generated by the user, the digital currency registration center verifies the transaction according to the number of the digital currency and the corresponding public key, the identity of an owner of the digital currency is determined, and after ownership conversion is carried out, the digital currency is marked through a new public key.
The prior art is primarily designed for single terminal and transactions between single terminals. But in reality there are often scenarios involving multi-person transactions, including: two persons share one digital currency, and when transaction processing is carried out on the digital currency, an operator and a rechecker are required to be matched, and the like. The prior art can be adapted to the above-mentioned multi-person transaction scenario by using the intelligent contract, but the application of the intelligent contract requires modification of the digital currency registration center, which results in high cost, and makes the design of the digital currency registration center complicated, and it is difficult to ensure the security and atomicity of the transaction process.
Disclosure of Invention
In view of at least one of the above-mentioned technical problems, it is an object of the present invention to provide a digital money data processing method, system, and storage medium.
In one aspect, an embodiment of the invention includes a digital currency data processing method, including a public key generation phase; the public key generation phase comprises the following steps:
acquiring a first private key generated by a first terminal and a second private key generated by a second terminal;
determining a first public key corresponding to the first private key and a second public key corresponding to the second private key;
causing the first terminal to obtain the second public key and causing the second terminal to obtain the first public key;
generating a public key according to the first public key and the second public key;
uploading the public key to mark a corresponding piece of digital currency.
Further, the digital currency data processing method further comprises a transaction signature stage; the transaction signing stage comprises the steps of:
acquiring a first random number generated by a first terminal and a second random number generated by a second terminal;
determining a first mask corresponding to the first random number and a second mask corresponding to the second random number;
generating a public mask according to the first mask and the second mask;
generating transaction request information;
obtaining an encrypted value encrypted by the first private key;
causing the second terminal to obtain the encrypted value;
determining a first signature body according to the encrypted value;
enabling the first terminal to obtain the first signature body;
acquiring a second signature body obtained by decrypting the first signature body;
combining the second signature body and the public mask into a third signature body;
and uploading the third signature body and the transaction request information for transaction verification of the digital currency.
Further, in the step of determining the first public key corresponding to the first private key and the second public key corresponding to the second private key, the formula used is:
A1=a1G,A2=a2g; in the formula, A1Is a first public key, a1Is the first private key, A2Is the second public key, a2G is a base point set by an elliptic curve signature verification algorithm and is the second private key;
the step of generating a public key according to the first public key and the second public key uses the formula:
A=a1A2or A ═ a2A1(ii) a Wherein A is the public key.
Further, the step of determining a first mask corresponding to the first random number and a second mask corresponding to the second random number uses the following formula:
R1=r1G,R2=r2g; in the formula, R1Is a first mask, r1Is said first random number, R2Is a second mask, r2G is a base point set by an elliptic curve signature verification algorithm and is the second random number;
the step of generating a public mask according to the first mask and the second mask uses the formula:
R=r1R2or R ═ R2R1(ii) a Wherein R is the public mask, R1And r2Are all random numbers.
Further, the step of obtaining an encrypted value encrypted by the first private key usesThe formula is as follows:
Figure BDA0002421064400000021
wherein a is1Is the first private key, e (a)1) And g is p.q +1, p and q are respectively randomly selected prime numbers, and n is the number of points on the elliptic curve used in the elliptic curve signature verification algorithm.
Further, the step of determining the first signature body according to the encrypted value uses the formula: s ═ h (m) + Rx·e(a1)·a2)·r1 -1(ii) a Where s' is a first signature body, H (M) is a hash value of the transaction request message M, RxFor the component of the public mask R in the x-axis, e (a)1) To the first private key a1The resulting encrypted value, a, using an encryption algorithm e ()2Is the second private key.
Further, the step of obtaining a second signature body decrypted by the first signature body uses the formula:
Figure BDA0002421064400000031
where s is a second signat body, e (s ') denotes the use of an encryption algorithm e (), on the first signat body s';
Figure BDA0002421064400000032
μ=λ-1
on the other hand, the embodiment of the invention also comprises a digital currency data processing system, which comprises a server, a first terminal and a second terminal;
the first terminal is used for generating a first private key, determining a first public key corresponding to the first private key, and sending the first public key to a second terminal in a point-to-point communication mode between terminals or a server side mode;
the second terminal is used for generating a second private key, determining a second public key corresponding to the second private key, and sending the second public key to the first terminal in a point-to-point communication mode between terminals or in a server side mode;
the server is used for acquiring a public key and uploading the public key so as to mark a corresponding digital currency; the public key is generated by at least one of the first terminal and the second terminal.
Further, the first terminal is further configured to generate a first random number, determine a first mask corresponding to the first random number, encrypt the first private key to obtain an encrypted value, and send the encrypted value to a second terminal in a point-to-point communication manner between terminals or in a server-side manner;
the second terminal is further used for generating a second random number, determining a second mask corresponding to the second random number, determining a first signature body according to the encrypted value, and sending the first signature body to the first terminal in a point-to-point communication mode between terminals or a server side mode, so that the first terminal decrypts the first signature body to obtain a second signature body;
and the server is also used for generating transaction request information, combining the second signature body and the public mask into a third signature body, and uploading the third signature body and the transaction request information for transaction verification of the digital currency.
In another aspect, the present invention also includes a storage medium having stored therein processor-executable instructions, which when executed by a processor, are configured to perform the method of the embodiments.
The invention has the beneficial effects that: by executing the digital currency data processing method in the embodiment, only when the first terminal and the second terminal send transaction requests in the transaction signature stage, the digital currency transaction request can pass the verification of the digital currency registration center, otherwise, the digital currency transaction request cannot pass the verification, so that the digital currency registration center only conducts transaction on the same digital currency under the condition that all the terminals apply for conducting transaction on the same digital currency, and the effect that the two terminals control and manage the same digital currency is achieved. The verification process of the digital currency transaction by the digital currency registration center can be completely the same as that of the prior art, namely, the digital currency data processing method in the embodiment is applied without modifying the digital currency registration center, so that the digital currency data processing method in the embodiment has lower implementation cost, and simultaneously avoids the digital currency registration center from being too complex, and ensures the safety and atomicity of the transaction process.
Drawings
FIG. 1 is a schematic diagram of a digital currency data processing system as described in an embodiment.
Detailed Description
The following embodiments are implemented based on the hardware architecture shown in fig. 1. In fig. 1, the digital money registration center is set up by a central bank or other organization having authority to issue money, and may be composed of a single or a plurality of servers. The server, the first terminal and the second terminal are devices with data processing capability and communication capability, such as a tablet computer or a mobile phone. Each of the terminals is held by a different person, and each terminal can generate its own private key to upload to the digital currency registration center, and the digital currency registration center generates a public key based on the private key to sign the digital currency as the owner, or verifies based on the private key whether the terminal is the true owner of the digital currency he wants to operate.
The hardware architecture shown in fig. 1 is not limited to the actual hardware architecture, that is, the server can actually connect a plurality of terminals, and fig. 1 only shows two terminals, which are respectively referred to as a first terminal and a second terminal.
In the following embodiments, the digital money algorithms executed by the digital money registration center and the terminal are existing, and for example, an elliptic curve signature verification algorithm based on an ECDSA signature mechanism may be used as a basis for issuing and managing digital money by the digital money registration center.
In this embodiment, the different steps of the digital currency data processing method are respectively executed by the server, the first terminal and the second terminal in fig. 1. The executed digital currency data processing method comprises a public key generation stage and a transaction signature stage, wherein the public key generation stage requests the digital currency registration center to register the owner of the digital currency as a first terminal and a second terminal, so that in subsequent operation, only if the first terminal and the second terminal provide data meeting conditions, the transaction of the digital currency can be started; the transaction signing stage is to receive transaction requests sent by the first terminal and the second terminal, check whether the terminals consistently request to conduct transaction, and if so, generate corresponding data and upload the data to the digital currency registration center for the digital currency registration center to conduct digital currency ownership transfer and marking.
The public key generation phase comprises the following steps:
S1A, acquiring a first private key generated by a first terminal and a second private key generated by a second terminal; in this step, a first private key generated by the first terminal is recorded as a1And recording a second private key generated by the second terminal as a2
S2A, determining a first public key corresponding to the first private key and a second public key corresponding to the second private key; in this step, an elliptic curve signature verification algorithm based on ECDSA is used, and a base point is set to be G, so that the first private key a is used1The first public key generated is A1=a1G according to the second private key a2The generated second public key is A2=a2G;
S3A, enabling the first terminal to obtain the second public key, and enabling the second terminal to obtain the first public key; in this step, a first public key A is performed between the first terminal and the second terminal1And a second public key A2In particular, the first terminal establishes communication with the second terminal via the server or point-to-point, and the first terminal uses the first public key A1Sending the public key A to the second terminal or sending the public key A by the second terminal2Sending the public key A to the first terminal or carrying out the first public key A between the first terminal and the second terminal1And a second public key A2After the exchange, both the first terminal and the second terminal haveStores a first public key A1Also stores a second public key A2
S4A, generating a public key according to the first public key and the second public key; this step may be performed by at least one of the first terminal and the second terminal, and if performed by the first terminal, it uses the formula a ═ a1A2Multiplying a first private key stored in the first terminal by a second public key to obtain a public key; if executed by the second terminal, it uses the formula a ═ a2A1A public key is obtained by multiplying a second private key stored in the second terminal by the first public key;
and S5A, the server side acquires a public key A from the first terminal or the second terminal and uploads the public key A to the digital currency registration center so as to mark a corresponding digital currency.
By executing the steps S1A-S5A, a basis is provided for a transaction signing stage executed subsequently, so that the digital currency registration center uses the public key a to sign a corresponding piece of digital currency, and in the subsequent steps, no single terminal can request the digital currency registration center to trade the piece of digital currency, and only when the first terminal and the second terminal involved in the steps S1A-S5A simultaneously send requests to the server, the server can request the digital currency registration center to trade the piece of digital currency, that is, to perform ownership change registration on the piece of digital currency.
In some embodiments, at any time after the public key generation phase is completed at least once, if a transaction request initiated by at least one of the first terminal and the second terminal is received, the server may confirm whether the transaction request is approved or not to other terminals that do not initiate the transaction request, and if the transaction request is approved, the server executes the transaction signature phase.
The transaction signing stage comprises the steps of:
S1B, acquiring a first random number r generated by a first terminal1And a second random number r generated by the second terminal2
S2B, determining and the firstA first mask corresponding to a random number and a second mask corresponding to the second random number; in this step, using an elliptic curve signature verification algorithm based on ECDSA, the base point is set to be G, and then according to the first random number r1The generated first mask is R1=r1G according to the second random number r2The generated first mask is R2=r2G;
S3B, generating a public mask according to the first mask and the second mask; this step may be performed by at least one of the first terminal and the second terminal, and if performed by the first terminal, using the formula R-R1R2Multiplying a first private key stored in the first terminal by the second mask to obtain a public mask; if performed by the second terminal, the formula used is R-R2R1The public mask is obtained by multiplying the first mask by a second private key stored in the second terminal; r is1And r2Are all random numbers;
S4B, generating transaction request information M by the server side according to the requirements of the first terminal and the second terminal;
S5B, obtaining an encrypted value obtained by encrypting the first private key; in this step, the process of encrypting by the first terminal specifically includes: firstly, randomly selecting two large prime numbers p and q, then calculating g ═ p · q +1 to form an encryption algorithm e (x) ═ gxrnmodn2Using the encryption algorithm to the first private key a1Encrypting, i.e. making x ═ a1The resulting secret is
Figure BDA0002421064400000061
n is the number of points on the elliptic curve used in the elliptic curve signature verification algorithm, namely the large prime number used by the ECDSA algorithm;
S6B, enabling the second terminal to obtain the encrypted value; in this step, the first terminal encrypts the value e (a) in a point-to-point manner between terminals or through a server1) Sending the data to a second terminal;
S7B, determining a first signature body according to the encrypted value; this stepIn the step, the second terminal utilizes the second private key a stored by the second terminal2By the formula s' ═ h (m) + Rx·e(a1)·a2)·r1 -1To calculate a first signature body s', where h (M) is a hash value of the transaction request information M, RxFor the component of the public mask R in the x-axis, e (a)1) To the first private key a1An encrypted value obtained using an encryption algorithm e ();
S8B, enabling the first terminal to obtain the first signature body; in the step, the second terminal sends the first signature body s' to the first terminal in a point-to-point mode between terminals or through a server;
S9B, acquiring a second signature body obtained by decrypting the first signature body; in this step, the decryption process performed by the first terminal specifically includes: construction of decryption algorithms
Figure BDA0002421064400000062
The decryption algorithm is used to decrypt the first signature block s ', i.e. let x be s', and the decrypted second signature block s be
Figure BDA0002421064400000063
Wherein
Figure BDA0002421064400000064
μ=λ-1
S10B, combining the second signature body and the public mask into a third signature body; in this step, the server side obtains the second signature body s from the first terminal, and then obtains the component R of the public mask R on the x axisxSecond signature bodies s and RxCombined into a third signature body (R)x,s);
S11B. the server side sends a third signature body (R)xS) and the transaction request information M are uploaded to the digital currency registration center for transaction verification of the digital currency by the digital currency registration center.
Digital currency enrollment center uses an ECDSA-based elliptic curve signature verification algorithm on a received third signature body (R)xS) testingThe syndrome is specifically: calculating the hash value H (M) according to the transaction request information M, and verifying the formula R ═ s-1·H(M)G+s-1·RxAnd if the formula is not satisfied, the verification is not passed, and the digital currency registration center does not operate ownership registration information of the digital currency.
Formula R ═ s-1·H(M)G+s-1·RxThe parameters related to the A are obtained based on the steps S1A-S5A in the public key generation phase, the formula can be established only when the first terminal and the second terminal send transaction requests (namely, the random number and the public mask are generated according to a preset rule) in the transaction signature phase, otherwise, the formula is not established, so that the digital currency registration center can only perform transactions on the same digital currency under the condition that all the terminals apply to perform transactions on the same digital currency, and the effect of controlling and managing the same digital currency by two terminals is realized.
Data such as a first public key, a second public key, an encrypted value, a first signature body and the like are exchanged between the first terminal and the second terminal, so that the processing pressure of the data can be balanced between the first terminal and the second terminal, and the overall robustness is ensured; the equality of the first terminal and the second terminal on the data processing level can be ensured to a certain extent, which shows the problem of the legal level of digital currency ownership at the same time, and the equality status of the first terminal and the second terminal is also ensured to a certain extent.
The verification process of the digital currency transaction by the digital currency registration center can be completely the same as that of the prior art, namely, the digital currency data processing method in the embodiment is applied without modifying the digital currency registration center, so that the digital currency data processing method in the embodiment has lower implementation cost, and simultaneously avoids the digital currency registration center from being too complex, and ensures the safety and atomicity of the transaction process.
The control and management of the same digital currency can be applied in the following scenarios:
the first and second terminals shown in fig. 1 have common rights to digital currency to be traded, and are legally required to have all of the holders of the terminals express a willingness to trade digital currency in order to legally trade the digital currency; at this time, the digital currency data processing method in the embodiment is executed, so that any terminal can be prevented from processing the common digital currency privately, and the fund security of all the people in common is guaranteed;
each terminal shown in fig. 1 is held by different personnel such as an operator and a rechecker, and the personnel are required to agree with the transaction of the digital currency on a regulation so as to carry out legal transaction on the digital currency; at this time, by executing the digital currency data processing method in this embodiment, it is possible to avoid that the terminal used by the operator processes the digital currency without authorization or recheck, thereby ensuring the fund security.
The digital currency data processing method in the embodiment is written into a computer program, and further manufactured into firmware and written into the server device and the terminal device, so that the digital currency data processing system formed by the server device and the terminal device can achieve the beneficial effects of the digital currency data processing method in the embodiment.
In the structure shown in fig. 1, the server may be a dedicated device, or may be operated by any terminal. That is, in executing the digital money data processing method described in the present embodiment, it is possible to first perform an initialization step, select one of a plurality of terminals, this selected terminal, in addition to performing its own digital money wallet function like the other terminals, also serves as a server described in the present embodiment, is responsible for communication with the other terminals and the digital money registration center, and performs the steps of the public key generation stage and the transaction signature stage. By selecting one of the terminals as the server, the complexity of the hardware structure can be avoided, and the use cost of the hardware can be reduced.
It should be noted that, unless otherwise specified, when a feature is referred to as being "fixed" or "connected" to another feature, it may be directly fixed or connected to the other feature or indirectly fixed or connected to the other feature. Furthermore, the descriptions of upper, lower, left, right, etc. used in the present disclosure are only relative to the mutual positional relationship of the constituent parts of the present disclosure in the drawings. As used in this disclosure, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. In addition, unless defined otherwise, all technical and scientific terms used in this example have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the description of the embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in this embodiment, the term "and/or" includes any combination of one or more of the associated listed items.
It will be understood that, although the terms first, second, third, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element of the same type from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure. The use of any and all examples, or exemplary language ("e.g.," such as "or the like") provided with this embodiment is intended merely to better illuminate embodiments of the invention and does not pose a limitation on the scope of the invention unless otherwise claimed.
It should be recognized that embodiments of the present invention can be realized and implemented by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer readable memory. The methods may be implemented in a computer program using standard programming techniques, including a non-transitory computer-readable storage medium configured with the computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner, according to the methods and figures described in the detailed description. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Furthermore, the program can be run on a programmed application specific integrated circuit for this purpose.
Further, operations of processes described in this embodiment can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The processes described in this embodiment (or variations and/or combinations thereof) may be performed under the control of one or more computer systems configured with executable instructions, and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) collectively executed on one or more processors, by hardware, or combinations thereof. The computer program includes a plurality of instructions executable by one or more processors.
Further, the method may be implemented in any type of computing platform operatively connected to a suitable interface, including but not limited to a personal computer, mini computer, mainframe, workstation, networked or distributed computing environment, separate or integrated computer platform, or in communication with a charged particle tool or other imaging device, and the like. Aspects of the invention may be embodied in machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optically read and/or write storage medium, RAM, ROM, or the like, such that it may be read by a programmable computer, which when read by the storage medium or device, is operative to configure and operate the computer to perform the procedures described herein. Further, the machine-readable code, or portions thereof, may be transmitted over a wired or wireless network. The invention described in this embodiment includes these and other different types of non-transitory computer-readable storage media when such media include instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor. The invention also includes the computer itself when programmed according to the methods and techniques described herein.
A computer program can be applied to input data to perform the functions described in the present embodiment to convert the input data to generate output data that is stored to a non-volatile memory. The output information may also be applied to one or more output devices, such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including particular visual depictions of physical and tangible objects produced on a display.
The above description is only a preferred embodiment of the present invention, and the present invention is not limited to the above embodiment, and any modifications, equivalent substitutions, improvements, etc. within the spirit and principle of the present invention should be included in the protection scope of the present invention as long as the technical effects of the present invention are achieved by the same means. The invention is capable of other modifications and variations in its technical solution and/or its implementation, within the scope of protection of the invention.

Claims (10)

1. A digital currency data processing method is characterized by comprising a public key generation stage; the public key generation phase comprises the following steps:
acquiring a first private key generated by a first terminal and a second private key generated by a second terminal;
determining a first public key corresponding to the first private key and a second public key corresponding to the second private key;
causing the first terminal to obtain the second public key and causing the second terminal to obtain the first public key;
generating a public key according to the first public key and the second public key;
uploading the public key to mark a corresponding piece of digital currency.
2. The digital currency data processing method according to claim 1, further comprising a transaction signature phase; the transaction signing stage comprises the steps of:
acquiring a first random number generated by a first terminal and a second random number generated by a second terminal;
determining a first mask corresponding to the first random number and a second mask corresponding to the second random number;
generating a public mask according to the first mask and the second mask;
generating transaction request information;
obtaining an encrypted value encrypted by the first private key;
causing the second terminal to obtain the encrypted value;
determining a first signature body according to the encrypted value;
enabling the first terminal to obtain the first signature body;
acquiring a second signature body obtained by decrypting the first signature body;
combining the second signature body and the public mask into a third signature body;
and uploading the third signature body and the transaction request information for transaction verification of the digital currency.
3. The digital money data processing method according to claim 1 or 2, wherein:
the step of determining a first public key corresponding to the first private key and a second public key corresponding to the second private key uses the following formula:
A1=a1G,A2=a2g; in the formula, A1Is a first public key, a1Is the first private key, A2Is the second public key, a2G is a base point set by an elliptic curve signature verification algorithm and is the second private key;
the step of generating a public key according to the first public key and the second public key uses the formula:
A=a1A2or A ═ a2A1(ii) a Wherein A is the public key.
4. The digital money data processing method according to claim 2, wherein:
the step of determining a first mask corresponding to the first random number and a second mask corresponding to the second random number uses the following formula:
R1=r1G,R2=r2g; in the formula, R1Is a first mask, r1Is said first random number, R2Is a second mask, r2G is a base point set by an elliptic curve signature verification algorithm and is the second random number;
the step of generating a public mask according to the first mask and the second mask uses the formula:
R=r1R2or R ═ R2R1(ii) a Wherein R is the public mask, R1And r2Are all random numbers.
5. The digital currency data processing method according to claim 4, wherein said step of obtaining an encrypted value encrypted by said first private key uses the formula:
Figure FDA0002421064390000021
wherein a is1Is the first private key, e (a)1) And g is p.q +1, p and q are respectively randomly selected prime numbers, and n is the number of points on the elliptic curve used in the elliptic curve signature verification algorithm.
6. The digital currency data processing method according to claim 5, wherein said step of determining a first signature body based on said secret value uses the formula: s ═ h (m) + Rx·e(a1)·a2)·r1 -1(ii) a Where s' is a first signature body, H (M) is a hash value of the transaction request message M, RxFor the component of the public mask R in the x-axis, e (a)1) To the first private key a1The resulting encrypted value, a, using an encryption algorithm e ()2Is the second private key.
7. According toThe digital currency data processing method according to claim 6, wherein said step of obtaining a second signature body decrypted by said first signature body uses the formula:
Figure FDA0002421064390000022
where s is a second signat body, e (s ') denotes the use of an encryption algorithm e (), on the first signat body s';
Figure FDA0002421064390000023
μ=λ-1
8. a digital currency data processing system is characterized by comprising a server, a first terminal and a second terminal;
the first terminal is used for generating a first private key, determining a first public key corresponding to the first private key, and sending the first public key to a second terminal in a point-to-point communication mode between terminals or a server side mode;
the second terminal is used for generating a second private key, determining a second public key corresponding to the second private key, and sending the second public key to the first terminal in a point-to-point communication mode between terminals or in a server side mode;
the server is used for acquiring a public key and uploading the public key so as to mark a corresponding digital currency; the public key is generated by at least one of the first terminal and the second terminal.
9. The digital currency data processing system according to claim 8, wherein:
the first terminal is further used for generating a first random number, determining a first mask corresponding to the first random number, encrypting the first private key to obtain an encrypted value, and sending the encrypted value to a second terminal in a point-to-point communication mode between terminals or a server side mode;
the second terminal is further used for generating a second random number, determining a second mask corresponding to the second random number, determining a first signature body according to the encrypted value, and sending the first signature body to the first terminal in a point-to-point communication mode between terminals or a server side mode, so that the first terminal decrypts the first signature body to obtain a second signature body;
and the server is also used for generating transaction request information, combining the second signature body and the public mask into a third signature body, and uploading the third signature body and the transaction request information for transaction verification of the digital currency.
10. A storage medium having stored therein processor-executable instructions, which when executed by a processor, are configured to perform the method of any one of claims 1-7.
CN202010210487.1A 2020-03-23 2020-03-23 Digital currency data processing method, system and storage medium Pending CN111476556A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010210487.1A CN111476556A (en) 2020-03-23 2020-03-23 Digital currency data processing method, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010210487.1A CN111476556A (en) 2020-03-23 2020-03-23 Digital currency data processing method, system and storage medium

Publications (1)

Publication Number Publication Date
CN111476556A true CN111476556A (en) 2020-07-31

Family

ID=71748336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010210487.1A Pending CN111476556A (en) 2020-03-23 2020-03-23 Digital currency data processing method, system and storage medium

Country Status (1)

Country Link
CN (1) CN111476556A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114169888A (en) * 2021-12-07 2022-03-11 北京众信星空网络技术有限公司 Universal type multi-signature supporting encryption currency custody method
CN114519577A (en) * 2020-11-20 2022-05-20 如般量子科技有限公司 Payment method and system based on common property digital currency

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877638A (en) * 2009-04-30 2010-11-03 北京邮电大学 Cubic residue-based identity signature system
CN106685648A (en) * 2016-12-15 2017-05-17 北京三未信安科技发展有限公司 Distributed signature method and system based on elliptical curve
CN108768666A (en) * 2018-07-04 2018-11-06 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of digital cash wallet management method based on SM2 threshold cryptography algorithms
CN109936455A (en) * 2017-12-19 2019-06-25 航天信息股份有限公司 A kind of methods, devices and systems of digital signature

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877638A (en) * 2009-04-30 2010-11-03 北京邮电大学 Cubic residue-based identity signature system
CN106685648A (en) * 2016-12-15 2017-05-17 北京三未信安科技发展有限公司 Distributed signature method and system based on elliptical curve
CN109936455A (en) * 2017-12-19 2019-06-25 航天信息股份有限公司 A kind of methods, devices and systems of digital signature
CN108768666A (en) * 2018-07-04 2018-11-06 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of digital cash wallet management method based on SM2 threshold cryptography algorithms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEPAN: "How Schnorr signatures may improve Bitcoin", 《CRYPTOLOGY EPRINT ARCHIVE》, pages 1 - 9 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114519577A (en) * 2020-11-20 2022-05-20 如般量子科技有限公司 Payment method and system based on common property digital currency
CN114169888A (en) * 2021-12-07 2022-03-11 北京众信星空网络技术有限公司 Universal type multi-signature supporting encryption currency custody method
CN114169888B (en) * 2021-12-07 2022-06-28 北京众信星空网络技术有限公司 Universal type cryptocurrency custody method supporting multiple signatures

Similar Documents

Publication Publication Date Title
TWI695613B (en) Blockchain data protection using homomorphic encryption
CN111989893B (en) Method, system and computer readable device for generating and linking zero knowledge proofs
CN107210914B (en) Method for secure credential provisioning
DK2995039T3 (en) SYSTEMS AND PROCEDURES FOR SECURE COMMUNICATION.
US20170344988A1 (en) System and method for facilitating blockchain-based validation
JP6921222B2 (en) Encryption key management based on ID information
US11588804B2 (en) Providing verified claims of user identity
CN111988147B (en) Combined signature and signature verification method, system and storage medium
US20180007037A1 (en) Transaction-specific shared secret in one-time password device
CN107800682A (en) With data authentication and safe transmission of the Transport Layer Security between signature apparatus and main frame
CN107294709A (en) A kind of block chain data processing method, apparatus and system
EP3533178B1 (en) Managing communications among consensus nodes and client nodes
CN108241979B (en) Multi-account book transfer method based on block chain, electronic device and readable storage medium
TWI775820B (en) Mobile payment subauthorization method and payment system realized by the method
CN106664202A (en) Methods, systems and computer program product for providing encryption on a plurality of devices
CN109064324A (en) Method of commerce, electronic device and readable storage medium storing program for executing based on alliance's chain
WO2021004520A1 (en) Image collection apparatus, server, and encryption and decryption methods
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
AU2014311784A1 (en) Image based key derivation function
CN107506635B (en) Online function opening method for identity card, mobile phone, trusted terminal and verification server
CN110138548B (en) Quantum communication service station key negotiation method and system based on asymmetric key pool pair and DH protocol
CN115913513B (en) Distributed trusted data transaction method, system and device supporting privacy protection
CN111476556A (en) Digital currency data processing method, system and storage medium
CN108259180B (en) Method for quantum specifying verifier signature
CN112184216A (en) Digital currency transaction method, device, digital currency transaction system and storage medium

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200731

RJ01 Rejection of invention patent application after publication