WO2012019407A1 - 一种数据加密方法、数据解密方法、发送节点及接收节点 - Google Patents

一种数据加密方法、数据解密方法、发送节点及接收节点 Download PDF

Info

Publication number
WO2012019407A1
WO2012019407A1 PCT/CN2010/079823 CN2010079823W WO2012019407A1 WO 2012019407 A1 WO2012019407 A1 WO 2012019407A1 CN 2010079823 W CN2010079823 W CN 2010079823W WO 2012019407 A1 WO2012019407 A1 WO 2012019407A1
Authority
WO
WIPO (PCT)
Prior art keywords
elliptic curve
information
point
coordinate system
node
Prior art date
Application number
PCT/CN2010/079823
Other languages
English (en)
French (fr)
Inventor
张震玮
王景成
何军
骆舰
张弥
赵广磊
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012019407A1 publication Critical patent/WO2012019407A1/zh

Links

Classifications

    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • 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/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the invention relates to the technical field of Elliptic Curve Cryptography (ECC), and particularly relates to a data encryption method, a data decryption method, a transmitting node and a receiving node based on an elliptic curve public key cryptosystem.
  • ECC Elliptic Curve Cryptography
  • the cryptosystem can generally be divided into two types: symmetric cryptosystem and public key cryptosystem.
  • the public key cryptosystem was independently proposed by Diffie-Hellman and Merkle.
  • the first paper on public key cryptography, multiuser cryptographic techniques, was submitted to the National Computer Conference in the United States in June 1976.
  • the more commonly used public key cryptosystems are the RSA public key cryptosystem, the elliptic curve cryptosystem, and the like.
  • the elliptic curve cryptosystem is one of the highest encryption levels per bit in the public key cryptosystem currently known.
  • Digital signature technology is the main application of public key encryption algorithms. Its main function is to provide data source authentication, data integrity and non-repudiation authentication.
  • the elliptic curve digital signature technique is an elliptical curve version of a digital signature. It uses the strong security strength of the elliptic curve cryptosystem and a relatively short key length to authenticate data sources and data integrity.
  • the application of the public key encryption algorithm also includes encrypting the information to be sent and decrypting the ciphertext information using the elliptic curve public key cryptosystem.
  • the technical problem to be solved by the present invention is to provide a data encryption method, a data decryption method, a transmitting node and a receiving node for reducing the amount of computation of digital signature authentication of an elliptic curve public key cryptosystem.
  • the present invention provides the following solutions:
  • a data encryption method based on an elliptic curve public key cryptosystem comprising:
  • the sending node acquires the parameter group, the key and the data information of the elliptic curve set in advance; the sending node calculates the data encryption information by using the parameter group, the key and the data information of the elliptic curve, and sends the data encryption information to Receiving node
  • the multiple point operation on the elliptic curve is converted into a projection coordinate system for calculation, which specifically includes:
  • the multiple point operation on the elliptic curve is converted to the projected coordinate system for calculation.
  • the key is a public key of the receiving node, the data information is plaintext information, and the data encryption information is ciphertext information corresponding to the plaintext information.
  • the key is a private key of the sending node, the data information is identification information of the sending node, and the data encryption information is digital signature information of the sending node;
  • the calculation of the digital signature information of the sending node includes:
  • the projected coordinate system is a Jacobian projected coordinate system
  • the invention also provides a sending node, comprising:
  • An acquisition unit, a parameter group, a key, and a data letter for obtaining a preset elliptic curve An encryption unit, configured to calculate data encryption information by using a parameter group, a key, and data information of an elliptic curve;
  • a sending unit configured to send the data encryption information to a receiving node
  • the cryptographic unit is configured to convert the elliptic curve into an equation in a projected coordinate system in the process of calculating the data encryption information, and utilize an affine point on the elliptic curve and the equation Corresponding relationship between the projected points on the elliptic curve is converted to a projected coordinate system for calculation.
  • the encryption unit includes:
  • a projection unit configured to project the elliptic curve to a projected coordinate system, convert the elliptic curve into an equation in a projected coordinate system, and determine an affine point on the elliptic curve and the equation Correspondence between projection points;
  • a conversion unit configured to convert a coordinate of the affine point in the multiple point operation formula of the elliptic curve to a coordinate of the projection point according to the correspondence relationship, and convert the double point operation of the elliptic curve into a projection
  • a calculating unit configured to convert the multiple point operation on the elliptic curve to the projected coordinate system for calculation by using the correspondence relationship and the calculation formula.
  • the key is a private key of the sending node
  • the data information is identification information of the sending node
  • the data encryption information is digital signature information of the sending node
  • the sending unit is configured to send the identifier information to the receiving node when the digital signature information is sent to the receiving node.
  • the encryption unit includes:
  • a selection unit for arbitrarily selecting an integer from 1 to "-1", where "is the prime order of the base point of the elliptic curve;
  • An output unit configured to obtain the digital signature information when r and S are not equal to 0.
  • the projected coordinate system is a Jacobian projected coordinate system
  • the first The calculation unit is further used in the process of calculating the calculation for 2P in the following manner:
  • ⁇ 3 ⁇ ⁇ , + ⁇ ) -8 ⁇ 2
  • the invention also provides a data decryption method based on an elliptic curve public key cryptosystem, which comprises:
  • the receiving node decrypts the data encryption information by using a parameter group of the elliptic curve and a second key corresponding to the first key;
  • the multiple point operation on the elliptic curve is converted into a projected coordinate system for calculation, which specifically includes: Projecting the elliptic curve to a projected coordinate system, converting the elliptic curve to an equation in a projected coordinate system, and determining an affine point on the elliptic curve and a projection point on the equation Correspondence relationship
  • the multiple point operation on the elliptic curve is converted to the projected coordinate system for calculation.
  • the first key is a public key of the receiving node
  • the second key is a private key of the receiving node
  • the data information is plaintext information
  • the data encryption information is The ciphertext information corresponding to the plaintext information.
  • the first key is a private key of the sending node
  • the second key is a public key of the sending node
  • the data information is identification information of the sending node
  • the data is The encrypted information is digital signature information of the sending node
  • the receiving node further receives the identification information of the sending node, and in the decryption process of the data encryption information, using the parameter group of the elliptic curve, the identification information of the sending node, and the public key of the sending node, the number is Signature information for signature verification.
  • the signing and authenticating the digital signature information includes:
  • the default hash function is used to hash the identification information of the sending node m, and the hash value is obtained.
  • the projected coordinate system is a Jacobian projected coordinate system
  • ⁇ 3 (3 ⁇ + ⁇ ) -8 ⁇ 2
  • the invention also provides a receiving node, comprising:
  • a receiving unit configured to receive data encryption information of the sending node, where the data encryption information is calculated by the sending node by using a parameter group, a first key, and data information of a preset elliptic curve; Determining the data encryption information by using a parameter group of the elliptic curve and a second key corresponding to the first key;
  • the decrypting unit is configured to convert the elliptic curve into an equation in a projected coordinate system during the decryption process of the data encryption information, and utilize an affine point on the elliptic curve and the equation Corresponding relationship between the projected points on the elliptic curve is converted to a projected coordinate system for calculation.
  • the decrypting unit includes:
  • a projection unit configured to project the elliptic curve to a projected coordinate system, convert the elliptic curve into an equation in a projected coordinate system, and determine an affine point on the elliptic curve and the equation Correspondence between projection points on the top;
  • a conversion unit configured to convert a coordinate of the affine point in the multiple point operation formula of the elliptic curve to a coordinate of the projection point according to the correspondence relationship, and convert the double point operation of the elliptic curve into a projection
  • a calculating unit configured to convert the multiple point operation on the elliptic curve to the projected coordinate system for calculation by using the correspondence relationship and the calculation formula.
  • the first key is a private key of the sending node
  • the second key is a public key of the sending node
  • the data information is identification information of the sending node
  • the data is encrypted.
  • the information is digital signature information of the sending node
  • the receiving unit is further configured to receive identifier information of the sending node
  • the decrypting unit is further configured to: in the decrypting process of the data encryption information, use the parameter group of the elliptic curve, the identification information of the sending node, and the public key of the sending node to perform the digital signature information. Signature certification.
  • the decrypting unit includes:
  • a first determining unit configured to determine that the digital signature authentication fails when any one of the digital signature information (r, s) or s does not belong to the interval [1, "-1], wherein "is the ellipse The prime order of the base point of the curve;
  • the first calculating unit is configured to perform a hash operation on the identification information w of the sending node by using a preset hash function when the sum belongs to the interval [1, "-1], obtain a hash value, and obtain a hash of the ⁇ " ;
  • Second calculating means for calculating a 3 ⁇ 4 ⁇ and ⁇ 2 is calculated and obtained ⁇ ⁇ + ⁇ 2 ⁇ Gamma], wherein,
  • the projected coordinate system is a Jacobian projected coordinate system
  • the second calculating unit is further configured to calculate the 2F in the following manner in the process of calculating the M1 p or ⁇ 2 ⁇ , where F represents the corpse or ⁇ :
  • ⁇ 3 (3 ⁇ + ⁇ ) -8 ⁇ 2
  • the data encryption method, the data decryption method, the sending node and the receiving node provided by the present invention generate data encryption information and decrypt the encrypted information by using an elliptic curve public key cryptosystem (for example, calculating a number)
  • the signature information and the signature authentication of the digital signature information are performed by projecting the elliptic curve from the original coordinate system to the projected coordinate system, converting the elliptic curve into an equation in the projected coordinate system, and then the ellipse
  • the double point operation of the curve is converted into the operation in the projected coordinate system. Since the operation in the projected coordinate system only needs to calculate the multiplication and addition calculation between the coordinate values in the projected coordinate system, the elliptic curve double point operation is avoided.
  • the present invention can greatly reduce the amount of calculation and improve the calculation efficiency.
  • the present invention greatly reduces the amount of computation in the process of data encryption and decryption, the elliptic curve public key cryptosystem can be applied even when the node system resources are limited, and the application range of the elliptic curve public key cryptosystem is expanded.
  • the elliptic curve signature authentication algorithm can be applied to wireless sensor nodes in a wireless sensor network, which not only improves the security of the wireless sensor network, but also increases the hardware cost of the node.
  • FIG. 1 is a schematic flowchart of a data encryption method based on an elliptic curve public key cryptosystem according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a data decryption method based on an elliptic curve public key cryptosystem according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram showing an example of a process for generating an elliptic curve digital signature according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram showing an example of a verification process of an elliptic curve digital signature according to an embodiment of the present invention
  • Schematic diagram of the structure of the node
  • FIG. 6 is a schematic structural diagram of a receiving node according to an embodiment of the present invention. Detailed ways
  • the invention aims at the deficiency of the large amount of adding and decrypting operations in the existing elliptic curve public key cryptosystem.
  • the double point operation of the elliptic curve is converted into the projected coordinate system, and the reduction is performed.
  • the calculation amount of the signature authentication algorithm expands the application range of the elliptic curve public key cryptosystem.
  • Embodiments of the present invention provide a data encryption method based on an elliptic curve public key cryptosystem.
  • the data encryption method according to the embodiment of the present invention specifically includes the following steps: Step 11: The sending node acquires a parameter group, a key, and data information of a preset elliptic curve.
  • Step 12 The sending node calculates the data encryption information by using the parameter group, the key, and the data information of the elliptic curve, and sends the data encryption information to the receiving node; wherein, when calculating the data encryption information, Converting the elliptic curve into an equation in the projected coordinate system, and using the correspondence between the affine point on the elliptic curve and the projection point on the equation, the double point operation on the elliptic curve , convert to the projected coordinate system for calculation.
  • the key in the above step 11 is the public key of the receiving node
  • the data information is plaintext information.
  • the data encryption information described in step 12 is ciphertext information corresponding to the plaintext information.
  • the key described in the above step 11 is the private key of the sending node
  • the data information is the identification information of the sending node, step 12 above.
  • the data encryption information described in the figure is digital signature information of the sending node, and the transmitting node sends the identification information to the receiving node when transmitting the digital signature information to the receiving node.
  • a double point operation on an elliptic curve is involved.
  • converting the multiple point operation on the elliptic curve to the projection coordinate system for calculation specifically comprising: projecting the elliptic curve to a projected coordinate system, and the ellipse Converting the curve to an equation in the projected coordinate system and determining a correspondence between the affine point on the elliptic curve and the projected point on the equation;
  • the multiple point operation on the elliptic curve is converted to the projected coordinate system for calculation.
  • the elliptic curve when the data encryption information is calculated by the elliptic curve public key cryptosystem, the elliptic curve is converted from the original coordinate system to the projected coordinate system, and the elliptic curve is converted into the projected coordinate system.
  • the lower equation each point of the elliptic curve in the original coordinate system (affine point), has a corresponding point (projection point) in the projected coordinate system; and this embodiment will double the elliptic curve
  • the point operation is converted to the operation in the projected coordinate system. Since the operation in the projected coordinate system only needs to calculate the multiplication and addition calculation between the coordinate values in the projected coordinate system, the inversion operation in the elliptic curve double point operation is avoided.
  • the sending node in this embodiment is a wireless sensing node in the wireless sensor network.
  • a wireless sensor network is a network of sensor nodes that cooperatively monitors, senses, and aggregates information about various monitored objects in a network's distributed area, and processes and distributes this information to viewers. Because wireless sensor network nodes need to be deployed in relatively dangerous or harsh environments, and in general, wireless sensor nodes are under unsupervised and maintained conditions, wireless sensor nodes are highly vulnerable to various malicious Attacks that threaten the security of the entire wireless sensor network. Therefore, it is necessary to ensure the legal identity of the node communication in the wireless sensor network.
  • the arithmetic operation of the elliptic curve key length in the prior art is not suitable. It is applied to wireless sensor nodes with limited hardware resources. Therefore, the prior art wireless sensor nodes do not use the highly secure elliptic curve signature algorithm.
  • the coordinate system conversion avoids the inversion operation in the double point operation of the elliptic curve, and the calculation amount in the signature process is greatly reduced, so that the elliptic curve public key cryptosystem can be applied to the wireless sensor node. It not only improves the security of the node, but also increases the hardware cost of the node.
  • the embodiment further provides a data decryption method based on an elliptic curve public key cryptosystem.
  • the data decryption method specifically includes: Step 21: The receiving node receives the sending node. Data encryption information, wherein the data encryption information is calculated by the sending node by using a preset parameter set of the elliptic curve, the first key, and the data information;
  • Step 22 The receiving node decrypts the data encryption information by using a parameter group of the elliptic curve and a second key corresponding to the first key; wherein, in the decryption process of the data encryption information, Converting the elliptic curve to an equation in a projected coordinate system, and using a correspondence between an affine point on the elliptic curve and a projection point on the equation, multiplying the elliptic curve Point operation, conversion to the projected coordinate system for calculation.
  • the first key described in step 21 is a public key of the receiving node
  • the second key is a private key of the receiving node
  • the data information is plaintext information
  • the data encryption information is corresponding to the plaintext information. Ciphertext information.
  • the first key in the above step 21 is the private key of the sending node, and the second key is the sending node.
  • the public key the data information is the identification information of the sending node
  • the data encryption information is the digital signature information of the sending node; and in step 21, the receiving node further receives the identification information of the sending node, and in step 22
  • the digital signature information is signature-authenticated by using the parameter group of the elliptic curve, the identification information of the sending node, and the public key of the sending node.
  • the multiple point operation on the elliptic curve is converted to the projection coordinate system for calculation, which specifically includes:
  • the multiple point operation on the elliptic curve is converted to the projected coordinate system for calculation.
  • the receiving node is a wireless sensor node in a wireless sensor network.
  • the elliptic curve when the data encryption information is decrypted, the elliptic curve is converted from the original coordinate system to the projected coordinate system, and the elliptic curve is converted into an equation in the projected coordinate system, and the original coordinates are used.
  • Each point of the elliptic curve (affine point) is attached, and there is a corresponding point (projection point) corresponding to the projected coordinate system; further, this embodiment will apply the point of the elliptic curve Calculate, convert to the operation under the projected coordinate system, because the operation in the projected coordinate system only needs to calculate the multiplication and addition calculation between the coordinate values in the projected coordinate system, thus avoiding the inversion operation in the elliptic curve multiplication operation. The amount of calculation is greatly reduced, and the calculation efficiency is improved.
  • the present embodiment further exemplifies the above method by using a Jacobian projection coordinate system and digital signature and signature authentication as an example.
  • This specific example is not intended to limit the present invention, and the present invention is equally applicable to other projected coordinate systems, such as a standard projected coordinate system.
  • the present invention is equally applicable to various encryption and decryption based on the existing elliptic curve public key cryptosystem.
  • the algorithm encrypts the plaintext and decrypts the ciphertext.
  • p is a prime number greater than 3, usually having a binary length greater than 160 bits, and may be a prime number recommended by the National Institute of Standards and Technology (NIST) to obtain a corresponding prime field.
  • NIST National Institute of Standards and Technology
  • G ⁇ X 1 :Y 1 :Z 1 )
  • G (X 3 ' -.Y -A) , replace A with the coordinates of the Jacobian projection coordinate system, and substitute the multiple point operation formula of the above elliptic curve , get:
  • the above formula (1) is the calculation formula of the elliptic curve multiplication operation in the Jacobian projection coordinate system. There is no denominator in the expression of the above formula (1), thus avoiding the inversion operation. At the same time, the calculation results such as (S + aZ ⁇ i can be reused to further reduce the amount of calculation.
  • the original coordinate system of the elliptic curve can be used to obtain the double point calculation result of the elliptic curve.
  • the wireless sensor node as the transmitting node first generates digital signature information (r, 4) of the transmitting node when communication occurs, and sends the digital signature information (r, ⁇ to the receiving node, and the specific process thereof As shown in Figure 3, it includes:
  • Step 300 Deriving the identification information of the sending node
  • the identifier information may be a terminal number, a terminal MAC (media access control) address, or other information that can uniquely identify the terminal.
  • the calculation process for N is as follows:
  • the calculating P in the step B specifically includes:
  • the projection point 2G is converted into an affine point ⁇ , thereby obtaining the operation result of the double point ⁇ .
  • Step 305 Perform a hash operation on the identification information w of the node by using a preset hash function to obtain a hash value ⁇ .
  • a secure hash algorithm SHA1 is used to hash the w to obtain a fixed-length 160-bit hash value.
  • Step 306 + modulo "operation.
  • Step 308 Obtain digital signature information (r, s) of the elliptic curve of the transmitting node, and the transmitting node sends the digital signature information (r, s) and the self identification information to the receiving node.
  • both the transmitting node and the receiving node are wireless sensing nodes in the wireless sensor network.
  • the receiving node After receiving the digital digital signature information (r, s) sent by the sending node, the receiving node The preset public key is used to verify the validity of the sending node when the sending node accesses the network, and the secure communication of the network is ensured.
  • the specific authentication process is as shown in FIG. 4, including: Step 400, In the communication After the process starts, the receiving node receives the digital signature information of the sending node.
  • Step 401 The receiving node extracts a parameter group of a preset elliptic curve locally
  • Step 402 the receiving node checks whether s is an integer in the interval [1, "-1": If any one of the tests fails, then proceeds to step 410; r and s are integers in the interval [1, "-1" , then enter the step
  • Step 403 Perform a hash operation on the terminal identification information of the sending node by using a preset hash function (such as SHA1, which is the same as the sending node), to obtain a fixed-length 160-bit hash value e.
  • a preset hash function such as SHA1, which is the same as the sending node
  • Step 404 calculating (ie, take the modulo "calculation to get w".
  • Step 408 due to , rearranged to get:
  • Step 409 the digital signature authentication is passed, and an indication of "receiving the signature” is returned.
  • step 410 the digital signature authentication fails, and an indication of "reject the signature” is returned.
  • the above formula (1) can be used in the process of calculating M1 P and ⁇ 2 ⁇ , and the double point operation of the elliptic curve is optimized to reduce the amount of calculation and improve the operation efficiency, as follows:
  • the calculation of MlJ P includes:
  • calculating P in the step B includes:
  • a projection point G ⁇ X l : Y l : Z l ) corresponding to the affine point P is obtained;
  • ⁇ 3 (3 ⁇ '+ ⁇ ) -8 ⁇ 2
  • the calculation of ⁇ 2 ⁇ specifically includes:
  • step B calculating 2 ⁇ includes:
  • the receiving node in the process of generating digital signature information, can use the above formula (1) to simplify the double point operation of the elliptic curve in the process of verifying the digital signature information, thereby avoiding the requirement in the double point operation.
  • the inverse operation reduces the system resources consumed by the double point operation, reduces the requirements on the node hardware, and improves the operation efficiency.
  • the time required for the sensor node to generate the public key, digital signature information, and verify the digital signature can greatly reduce the operation under the same hardware condition.
  • the method described in this embodiment can greatly improve the operation efficiency, so that the elliptic curve public key cryptosystem can be applied to the wireless sensor node with less system resources, without having to improve the hardware of the wireless sensor node.
  • Configuration, with good economic benefits, can improve the security of wireless sensor networks.
  • the embodiment further provides a node device for implementing the above data encryption method and data decryption method, respectively.
  • a sending node provided in this embodiment specifically includes: an acquiring unit, configured to acquire a parameter group, a key, and a data letter of a preset elliptic curve. Interest rate
  • An encryption unit configured to calculate data encryption information by using a parameter group, a key, and data information of an elliptic curve
  • a sending unit configured to send the data encryption information to a receiving node
  • the cryptographic unit is configured to convert the elliptic curve into an equation in a projected coordinate system in the process of calculating the data encryption information, and utilize an affine point on the elliptic curve and the equation Corresponding relationship between the projected points on the elliptic curve is converted to a projected coordinate system for calculation.
  • the encryption unit includes:
  • a projection unit configured to project the elliptic curve to a projected coordinate system, convert the elliptic curve into an equation in a projected coordinate system, and determine an affine point on the elliptic curve and the equation Correspondence between projection points;
  • a conversion unit configured to convert a coordinate of the affine point in the multiple point operation formula of the elliptic curve to a coordinate of the projection point according to the correspondence relationship, and convert the double point operation of the elliptic curve into a projection
  • a calculating unit configured to convert the multiple point operation on the elliptic curve to the projected coordinate system for calculation by using the correspondence relationship and the calculation formula.
  • the key is a public key of the receiving node
  • the data information is plaintext information
  • the data encryption information is ciphertext information corresponding to the plaintext information.
  • the key is a private key of the sending node
  • the data information is identification information of the sending node
  • the data encryption information is digital signature information of the sending node
  • the sending unit is configured to When the digital signature information is sent to the receiving node, the identification information is also sent to the receiving node.
  • the sending node is a wireless sensor node in a wireless sensor network.
  • the encryption unit includes: a selection unit for arbitrarily selecting an integer from 1 to -1, where "is the prime order of the base point of the elliptic curve;
  • an output unit configured to obtain the digital signature information (r, s) when r and s are not equal to 0.
  • the projected coordinate system is a Jacobian projected coordinate system
  • the first calculating unit is further used in the process of calculating the / ⁇ , and the calculation of P is performed in the following manner:
  • the projection point 2G is converted into an affine point 2 ⁇ .
  • the embodiment further provides a receiving node, where the receiving node specifically includes:
  • a receiving unit configured to receive data encryption information of the sending node, where the data encryption information is calculated by the sending node by using a parameter group, a first key, and data information of a preset elliptic curve; Determining the data encryption information by using a parameter group of the elliptic curve and a second key corresponding to the first key;
  • the decrypting unit is configured to convert the elliptic curve into an equation in a projected coordinate system during the decryption process of the data encryption information, and utilize an affine point on the elliptic curve and the equation The correspondence between the projection points on the upper point, the multiple point operation on the elliptic curve Switch to the projected coordinate system for calculation.
  • the decryption unit includes:
  • a projection unit configured to project the elliptic curve to a projected coordinate system, convert the elliptic curve into an equation in a projected coordinate system, and determine an affine point on the elliptic curve and the equation Correspondence between projection points;
  • a conversion unit configured to convert a coordinate of the affine point in the multiple point operation formula of the elliptic curve to a coordinate of the projection point according to the correspondence relationship, and convert the double point operation of the elliptic curve into a projection
  • a calculating unit configured to convert the multiple point operation on the elliptic curve to the projected coordinate system for calculation by using the correspondence relationship and the calculation formula.
  • the sending node is a wireless sensor node in a wireless sensor network.
  • the first key is a public key of the receiving node
  • the second key is a private key of the receiving node
  • the data information is plaintext information
  • the data encryption information is the plaintext information.
  • the first key is a private key of the sending node
  • the second key is a public key of the sending node
  • the data information is identification information of the sending node
  • the data encryption information is sent. Digital signature information of the node
  • the receiving unit is further configured to receive identifier information of the sending node
  • the decrypting unit is further configured to: in the decrypting process of the data encryption information, use the parameter group of the elliptic curve, the identification information of the sending node, and the public key of the sending node to perform the digital signature information. Signature certification.
  • the decryption unit comprises:
  • a first determining unit configured to determine that the digital signature authentication fails when any one of the digital signature information (r, s) or s does not belong to the interval [1, "-1", wherein "is the ellipse The prime order of the base point of the curve;
  • the first calculating unit is configured to perform a hash operation on the identification information W of the sending node by using a preset hash function when the sum belongs to the interval [1, "-1], to obtain a hash value e , and to perform a "module” operation Get W;
  • Second calculating means for calculating and 3 ⁇ 4 ⁇ ⁇ 0, and calculates obtained ⁇ ⁇ + ⁇ 2 ⁇ r, wherein
  • the projected coordinate system is a Jacobian projected coordinate system
  • the second calculating unit is further used to calculate the 2F in the process of calculating the M1 P or ⁇ 2 ⁇ according to the following manner. , which represents the corpse or ⁇ :
  • ⁇ 3 (3 ⁇ '+ ⁇ ) -8 ⁇ 2

Description

一种数据加密方法、 数据解密方法、 发送节点及接收节点 技术领域
本发明涉及椭圓曲线密码( ECC, Elliptic Curve Cryptography )技术领 域, 具体涉及一种基于椭圓曲线公钥密码体制的数据加密方法、 数据解密 方法、 发送节点及接收节点。 背景技术
密码体制一般可以划分为两种类型: 对称密码体制和公钥密码体制。 其中, 公钥密码体制是由 Diffie-Hellman与 Merkle分别独立提出的, 第一 篇关于公钥密码学的论文 multiuser cryptographic techniques于 1976年 6月 提交给美国的全国计算机会议。 现在较为常用的公钥密码体制有 RSA公钥 密码体制, 椭圓曲线密码体制等。 在现有的公钥密码体制中, 椭圓曲线密 码体制是目前已知的公钥密码体制中每比特加密等级最高的一种。
数字签名技术是对公钥加密算法的主要应用, 其主要功能是用于提供 数据源认证, 数据完整性和不可否认性认证。 椭圓曲线数字签名技术是数 字签名的椭圓曲线版本。 它利用椭圓曲线密码体制较强的安全强度和相对 较短的密钥长度来实现对数据源和数据完整性的认证。 公钥加密算法的应 用还包括利用椭圓曲线公钥密码体制对待发送的信息进行加密和对密文信 息进行解密。
现有的椭圓曲线公钥密码体制中, 需要进行椭圓曲线上的倍点运算, 而倍点运算中的求逆运算的运算量非常大, 会耗费大量的运算资源, 这对 支持椭圓曲线公钥密码体制的节点设备的硬件有很高的要求, 限制了椭圓 曲线公钥密码体制在一些功能有限的节点终端 (如无线传感节点)上的应 用。 发明内容
本发明所要解决的技术问题是提供一种数据加密方法、 数据解密方法、 发送节点及接收节点, 用以降低椭圓曲线公钥密码体制的数字签名认证的 运算量。
为解决上述技术问题, 本发明提供方案如下:
一种基于椭圓曲线公钥密码体制的数据加密方法, 包括:
发送节点获取预先设置的椭圓曲线的参数组、 密钥以及数据信息; 发送节点利用椭圓曲线的参数组、 密钥以及数据信息, 计算得到数据 加密信息, 并将所述数据加密信息发送给接收节点;
其中, 在计算所述数据加密信息的过程中, 将所述椭圓曲线转换为投 影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与所述方程上的投影 点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转换到投影坐标系下 进行计算。
优选地, 上述数据加密方法中, 将所述椭圓曲线上的倍点运算, 转换 到投影坐标系下进行计算, 具体包括:
将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线转换为投影坐标 系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程上的投影点之间 的对应关系;
根据所述对应关系, 通过将所述椭圓曲线的倍点运算公式中的仿射点 的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍点运算在投影坐 标系下的计算公式;
利用所述对应关系和所述计算公式, 将所述椭圓曲线上的倍点运算, 转换到所述投影坐标系下进行计算。
优选地, 上述数据加密方法中, 所述密钥为接收节点的公钥, 所述数 据信息为明文信息, 所述数据加密信息是所述明文信息对应的密文信息。 优选地, 上述数据加密方法中, 所述密钥为发送节点的私钥, 所述数 据信息为发送节点的标识信息, 所述数据加密信息为发送节点的数字签名 信息;
且发送节点在将所述数字签名信息发送给接收节点时, 还将所述标识 信息发送给接收节点。
优选地, 上述数据加密方法中, 所述发送节点的数字签名信息的计算 包括:
从 1到《 - 1之间任意选取一个整数 其中《是椭圓曲线的基点的素数 计算 然后将 的 X坐标 x3转换为整数 并对整数 取模《运算, 得到 r, 其中 ρ = ( ,ρ , 表示所述椭圓曲线的基点;
使用预设的杂凑函数对发送节点的标识信息进行杂凑运算, 得到杂凑 值 e , 并对 r + )取模《运算, 得到 其中 为所述私钥;
在 r和 s均不等于 0时, 得到所述数字签名信息(r, 。
优选地, 上述数据加密方法中,
所述投影坐标系为雅可比投影坐标系;
在计算所述 kP的过程中, 对于 2P的计算按照以下方式进行:
才艮据所述对应关系, 得到仿射点 P对应的投影点 G = ( : } );
Figure imgf000005_0001
按照公式 Υ3 = (3 L 2 + al ) - X, ) -^4 , 求解得到
= 2Υ,Ζ, 根据所述对应关系, 将投影点 转换为仿射点 2Ρ。
本发明还提供了一种发送节点, 包括:
获取单元, 用于获取预先设置的椭圓曲线的参数组、 密钥以及数据信 加密单元, 用于利用椭圓曲线的参数组、 密钥以及数据信息, 计算得 到数据加密信息;
发送单元, 用于将所述数据加密信息发送给接收节点;
其中, 所述加密单元用于在计算所述数据加密信息的过程中, 将所述 椭圓曲线转换为投影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与 所述方程上的投影点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算。
优选地, 上述的发送节点中, 所述加密单元包括:
投影单元, 用于将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线 转换为投影坐标系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程 上的投影点之间的对应关系;
转换单元, 用于根据所述对应关系, 通过将所述椭圓曲线的倍点运算 公式中的仿射点的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍 点运算在投影坐标系下的计算公式;
计算单元, 用于利用所述对应关系和所述计算公式, 将所述椭圓曲线 上的倍点运算, 转换到所述投影坐标系下进行计算。
优选地, 上述的发送节点中, 所述密钥为发送节点的私钥, 所述数据 信息为发送节点的标识信息, 所述数据加密信息为发送节点的数字签名信 息;
所述发送单元, 用于在将所述数字签名信息发送给接收节点时, 还将 所述标识信息发送给接收节点。
优选地, 上述的发送节点中, 所述加密单元包括:
选择单元, 用于从 1到《-1之间任意选取一个整数 , 其中《是所述椭 圓曲线的基点的素数阶;
第一计算单元, 用于计算 , 然后将 的 X坐标 x3转换为整数 并 对整数 取模《运算, 得到 r, 其中 ρ = ( ,/^, 表示所述椭圓曲线的基点; 第二计算单元, 用于使用预设的杂凑函数对发送节点的标识信息进行 杂凑运算, 得到杂凑值 e , 并对 ^ + dr)取模《运算, 得到 其中 为所 述私钥;
输出单元, 用于在 r和 S均不等于 0时, 得到所述数字签名信息(r, 。 优选地, 上述的发送节点中, 所述投影坐标系为雅可比投影坐标系, 所述第一计算单元, 进一步用于在计算所述 的过程中, 对于 2P的计算按 照以下方式进行:
才艮据所述对应关系, 得到仿射点 P对应的投影点 G = ( : } );
Χ3 = { Χ, + αΖ^ ) -8 ^2
按照公式 Υ3 = (3 L 2 + al ) - X, ) -^4 , 求解得到
Ζ3 = ΙΥ^ 根据所述对应关系, 将投影点 转换为仿射点 2P。
本发明还提供了一种基于椭圓曲线公钥密码体制的数据解密方法, 包 括:
接收节点接收发送节点的数据加密信息, 所述数据加密信息是发送节 点利用预设的椭圓曲线的参数组、 第一密钥和数据信息计算得到的;
接收节点利用所述椭圓曲线的参数组和所述第一密钥对应的第二密 钥, 对所述数据加密信息进行解密;
其中, 在所述数据加密信息的解密过程中, 将所述椭圓曲线转换为投 影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与所述方程上的投影 点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转换到投影坐标系下 进行计算。
优选地, 上述的数据解密方法中, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算, 具体包括: 将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线转换为投影坐标 系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程上的投影点之间 的对应关系;
根据所述对应关系, 通过将所述椭圓曲线的倍点运算公式中的仿射点 的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍点运算在投影坐 标系下的计算公式;
利用所述对应关系和所述计算公式, 将所述椭圓曲线上的倍点运算, 转换到所述投影坐标系下进行计算。
优选地, 上述的数据解密方法中, 所述第一密钥为接收节点的公钥, 所述第二密钥为接收节点的私钥, 所述数据信息为明文信息, 所述数据加 密信息是所述明文信息对应的密文信息。
优选地, 上述的数据解密方法中, 所述第一密钥为发送节点的私钥, 所述第二密钥为发送节点的公钥, 所述数据信息为发送节点的标识信息, 所述数据加密信息为发送节点的数字签名信息;
接收节点进一步接收发送节点的标识信息, 并在所述数据加密信息的 解密过程中, 利用所述椭圓曲线的参数组、 发送节点的标识信息和所述发 送节点的公钥, 对所述数字签名信息进行签名认证。
优选地, 上述的数据解密方法中, 所述对所述数字签名信息进行签名 认证, 包括:
在所述数字签名信息(r, 中的 r或 s中任一个不属于区间 [1,《- 1]时, 判 断数字签名认证失败, 其中《是所述椭圓曲线的基点的素数阶;
在 r和 s均属于区间 [1,《 - 1]时, 使用预设的杂凑函数对发送节点的标识 信息 m进行杂凑运算, 得到杂凑值 并对^取模《运算得到
计算 ^ 和"^ ,并计算 ι^Ρ + ι^β得到 Γ ,其中, i ewmod " , u2 = rwmod n , p = (px, py ) , 表示所述椭圓曲线的基点, ρ表示所述公钥; 在 Γ =∞时, 判断数字签名认证失败;
在 ≠∞时, 将 Γ的 X坐标 转换为整数 , 并对 取模《运算得到 V , 并判断 v = r是否成立: 若成立, 则数字签名认证通过; 否则数字签名认证 失败。
优选地, 上述的数据解密方法中,
所述投影坐标系为雅可比投影坐标系;
在计算所述 MlP或 Μ2ρ的过程中, 对于 的计算按照以下方式进行, 其 中 F表示尸或 Q:
才艮据所述对应关系, 得到仿射点 F对应的投影点(? = ( :^4);
Χ3 =(3Χ^+αΖ^) -8 ^2
按照公式 Υ3 = (3X + al )(4 ^2 - 3 ) - 8 , 求解得到 2G
Z3 = ΙΥ^ 根据所述对应关系, 将投影点 2G转换为仿射点 2F。
本发明还提供了一种接收节点, 包括:
接收单元, 用于接收发送节点的数据加密信息, 所述数据加密信息是 发送节点利用预设的椭圓曲线的参数组、 第一密钥和数据信息计算得到的; 解密单元, 用于利用所述椭圓曲线的参数组和所述第一密钥对应的第 二密钥, 对所述数据加密信息进行解密;
其中, 所述解密单元用于在所述数据加密信息的解密过程中, 将所述 椭圓曲线转换为投影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与 所述方程上的投影点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算。
优选地, 上述的接收节点中, 所述解密单元包括:
投影单元, 用于将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线 转换为投影坐标系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程 上的投影点之间的对应关系;
转换单元, 用于根据所述对应关系, 通过将所述椭圓曲线的倍点运算 公式中的仿射点的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍 点运算在投影坐标系下的计算公式;
计算单元, 用于利用所述对应关系和所述计算公式, 将所述椭圓曲线 上的倍点运算, 转换到所述投影坐标系下进行计算。
优选地, 上述的接收节点中, 所述第一密钥为发送节点的私钥, 所述 第二密钥为发送节点的公钥, 所述数据信息为发送节点的标识信息, 所述 数据加密信息为发送节点的数字签名信息;
所述接收单元, 还用于接收发送节点的标识信息;
所述解密单元, 还用于在所述数据加密信息的解密过程中, 利用所述 椭圓曲线的参数组、 发送节点的标识信息和所述发送节点的公钥, 对所述 数字签名信息进行签名认证。
优选地, 上述的接收节点中, 所述解密单元包括:
第一判断单元, 用于在所述数字签名信息(r, s)中的 或 s中任一个不属 于区间 [1,《-1]时,判断数字签名认证失败,其中《是所述椭圓曲线的基点的 素数阶;
第一计算单元, 用于在 和 均属于区间 [1,《-1]时, 使用预设的杂凑函 数对发送节点的标识信息 w进行杂凑运算, 得到杂凑值 并对 ^取模《运 算得到 w;
第二计算单元, 用于计算 ¾^和^2 , 并计算 Μιρ+Μ2ρ得到 Γ , 其中,
P = (Px, Py ) , 表示所述椭圓曲线的基点, β表示所述公钥, i ewmod" , u2 = rw mod n;
第二判断单元, 用于在 Γ = οο时, 判断数字签名认证失败;
第三判断单元, 用于在 Γ≠∞时, 将 Γ的 X坐标 转换为整数 , 并对 取模《运算得到 并判断 v = r是否成立: 若成立, 则数字签名认证通过; 否则数字签名认证失败。
优选地, 上述的接收节点中,
所述投影坐标系为雅可比投影坐标系;
所述第二计算单元,进一步用于在计算所述 Mlp或 Μ2ρ的过程中,对于 2F 的计算按照以下方式进行, 其中 F表示尸或 ρ:
才艮据所述对应关系, 得到仿射点 F对应的投影点(? = ( : ^ 4 ) ;
Χ3 = (3Χ^ + αΖ^ ) -8 ^2
按照公式 Υ3 = (3X + al )(4 ^2 - 3 ) - 8 , 求解得到 2G = ( 3: :
Z, = 2KZ, 根据所述对应关系, 将投影点 2G转换为仿射点 2F。
从以上所述可以看出, 本发明提供的数据加密方法、 数据解密方法、 发送节点及接收节点, 在利用椭圓曲线公钥密码体制生成数据加密信息以 及在对加密信息进行解密 (例如计算数字签名信息以及在对数字签名信息 进行签名认证) 的过程中, 通过将椭圓曲线由原始坐标系投影到投影坐标 系, 将椭圓曲线转换为投影坐标系下的方程, 进而将所述椭圓曲线的倍点 运算, 转换为投影坐标系下的运算, 由于投影坐标系下的运算只需要计算 投影坐标系下坐标值之间的乘法、 加法计算, 从而避免了椭圓曲线倍点运 算中的求逆运算, 而求逆运算会耗费大量的系统资源, 因此本发明能够大 大减少运算量, 提高了计算效率。 并且, 由于本发明大大降低了数据加密 及解密过程中的运算量, 使得节点系统资源有限的情况下也可应用椭圓曲 线公钥密码体制, 扩大了椭圓曲线公钥密码体制的应用范围, 例如, 使得 椭圓曲线签名认证算法可以应用于无线传感网络中的无线传感节点, 既提 高了无线传感网络的安全性, 又不必增加节点的硬件成本。 附图说明
图 1 为本发明实施例所述基于椭圓曲线公钥密码体制的数据加密方法 的流程示意图;
图 2为本发明实施例所述基于椭圓曲线公钥密码体制的数据解密方法 的流程示意图;
图 3为本发明实施例中椭圓曲线数字签名的生成过程的举例示意图; 图 4为本发明实施例中椭圓曲线数字签名的验证过程的举例示意图; 图 5为本发明实施例所述发送节点的结构示意图;
图 6为本发明实施例所述接收节点的结构示意图。 具体实施方式
本发明针对现有的椭圓曲线公钥密码体制中加、 解密运算量大的不足, 通过对椭圓曲线进行坐标系转换, 将椭圓曲线的倍点运算转换到投影坐标 系下进行, 降低了签名认证算法的运算量, 扩大了椭圓曲线公钥密码体制 的应用范围。 以下将结合附图, 通过具体实施例对本发明做进一步的说明。
本发明实施例提供了一种基于椭圓曲线公钥密码体制的数据加密方 法。 请参照图 1 , 本发明实施例所述数据加密方法, 具体包括以下步骤: 步骤 11 , 发送节点获取预先设置的椭圓曲线的参数组、 密钥以及数据 信息。
步骤 12, 发送节点利用椭圓曲线的参数组、 密钥以及数据信息, 计算 得到数据加密信息, 并将所述数据加密信息发送给接收节点; 其中, 在计 算所述数据加密信息时, 将所述椭圓曲线转换为投影坐标系下的方程, 并 利用所述椭圓曲线上的仿射点与所述方程上的投影点之间的对应关系, 将 所述椭圓曲线上的倍点运算, 转换到投影坐标系下进行计算。
这里, 在应用本实施例所述数据加密方法对明文进行加密时, 上述步 骤 11中所述的密钥为接收节点的公钥, 所述数据信息为明文信息, 上述步 骤 12中所述的数据加密信息是所述明文信息对应的密文信息。
这里, 在应用本实施例所述数据加密方法对发送节点进行数字签名时, 上述步骤 11中所述的密钥为发送节点的私钥, 所述数据信息为发送节点的 标识信息,上述步骤 12中所述的数据加密信息为发送节点的数字签名信息, 并且发送节点在将所述数字签名信息发送给接收节点时, 还将所述标识信 息发送给接收节点。
在利用椭圓曲线公钥密码体制生成数字签名或对明文进行加密的过程 中, 都会涉及到椭圓曲线上的倍点运算。 本实施例在上述步骤 12中, 将所 述椭圓曲线上的倍点运算, 转换到投影坐标系下进行计算, 具体包括: 将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线转换为投影坐标 系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程上的投影点之间 的对应关系;
根据所述对应关系, 通过将所述椭圓曲线的倍点运算公式中的仿射点 的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍点运算在投影坐 标系下的计算公式, 所述计算公式的表达式中消去了分母;
利用所述对应关系和所述计算公式, 将所述椭圓曲线上的倍点运算, 转换到所述投影坐标系下进行计算。
从以上所述可以看出, 本实施例在利用椭圓曲线公钥密码体制计算数 据加密信息时, 通过将椭圓曲线由原始坐标系投影到投影坐标系, 将椭圓 曲线转换为投影坐标系下的方程, 原始坐标系下椭圓曲线的每一点 (仿射 点), 在投影坐标系下都有与之对应的一个点 (投影点); 进而本实施例将 所述椭圓曲线的倍点运算, 转换为投影坐标系下的运算, 由于投影坐标系 下的运算只需要计算投影坐标系下坐标值之间的乘法、 加法计算, 从而避 免了椭圓曲线倍点运算中的求逆运算, 而求逆运算会耗费大量的系统资源, 因此本实施例能够大大减少运算量, 提高了计算效率。 优选地, 本实施例所述发送节点为无线传感网络中的无线传感节点。 无线传感网络是一种由传感器节点构成的网络, 它能够协作监测、 感 知和釆集网络分布区域内的各种监测对象信息, 并对这些信息进行处理, 发布给观察者。 由于无线传感网络节点大都需要部署在相对危险或者环境 较为恶劣的地区, 而且在一般情况下, 无线传感节点处于无人监管和维护 的状况下, 所以无线传感节点极易受到各种恶意攻击, 从而威胁到整个无 线传感网络的安全。 所以必须要保证在无线传感网络中节点通信的合法身 份。 另一方面由于无线传感节点存储容量和计算能力都十分有限, 这使得 在无线传感节点中使用较为复杂的加密算法十分困难, 因此现有技术的椭 圓曲线密钥长度的算术运算不适合应用在硬件资源有限的无线传感节点, 因此现有技术的无线传感节点都没有釆用安全性很高的椭圓曲线签名算 法。 而本实施例通过坐标系转换, 避免了椭圓曲线的倍点运算中的求逆运 算, 大大降低了签名过程中的运算量, 使得椭圓曲线公钥密码体制可以应 用于无线传感节点, 既提高了节点的安全性, 又不必增加节点的硬件成本。
与上述数字签名方法相对应, 本实施例还提供了一种基于椭圓曲线公 钥密码体制的数据解密方法, 如图 2所示, 该数据解密方法具体包括: 步骤 21 , 接收节点接收发送节点的数据加密信息, 所述数据加密信息 是发送节点利用预设的椭圓曲线的参数组、 第一密钥和数据信息计算得到 的;
步骤 22, 接收节点利用所述椭圓曲线的参数组和所述第一密钥对应的 第二密钥, 对所述数据加密信息进行解密; 其中, 在所述数据加密信息的 解密过程中, 将所述椭圓曲线转换为投影坐标系下的方程, 并利用所述椭 圓曲线上的仿射点与所述方程上的投影点之间的对应关系, 将所述椭圓曲 线上的倍点运算, 转换到投影坐标系下进行计算。
这里, 在应用本实施例所述数据解密方法对密文信息进行解密时, 上 述步骤 21中所述的第一密钥为接收节点的公钥, 所述第二密钥为接收节点 的私钥, 所述数据信息为明文信息, 所述数据加密信息是所述明文信息对 应的密文信息。
这里, 在应用本实施例所述数据解密方法对发送节点的数字签名进行 签名认证时, 上述步骤 21中所述的第一密钥为发送节点的私钥, 所述第二 密钥为发送节点的公钥, 所述数据信息为发送节点的标识信息, 所述数据 加密信息为发送节点的数字签名信息; 且在步骤 21中, 接收节点进一步接 收发送节点的标识信息, 并在步骤 22中所述数据加密信息的解密过程中, 利用所述椭圓曲线的参数组、 发送节点的标识信息和所述发送节点的公钥, 对所述数字签名信息进行签名认证。
这里, 上述步骤 22中, 将所述椭圓曲线上的倍点运算, 转换到投影坐 标系下进行计算, 具体包括:
将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线转换为投影坐标 系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程上的投影点之间 的对应关系;
根据所述对应关系, 通过将所述椭圓曲线的倍点运算公式中的仿射点 的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍点运算在投影坐 标系下的计算公式, 所述计算公式的表达式中消去了分母;
利用所述对应关系和所述计算公式, 将所述椭圓曲线上的倍点运算, 转换到所述投影坐标系下进行计算。
优选地, 所述接收节点为无线传感网络中的无线传感节点。
从以上所述可以看出, 本实施例在对数据加密信息进行解密时, 通过 将椭圓曲线由原始坐标系投影到投影坐标系, 将椭圓曲线转换为投影坐标 系下的方程, 原始坐标系下椭圓曲线的每一点(仿射点), 在投影坐标系下 都有与之对应的一个点(投影点); 进而本实施例将所述椭圓曲线的倍点运 算, 转换为投影坐标系下的运算, 由于投影坐标系下的运算只需要计算投 影坐标系下坐标值之间的乘法、 加法计算, 从而避免了椭圓曲线倍点运算 中的求逆运算, 大大减少了运算量, 提高了计算效率。
为了更容易理解本实施例的上述方法, 本实施例进一步以雅可比投影 坐标系和数字签名及签名认证为例, 通过具体示例对上述方法做进一步的 说明。 该具体示例并不用于限制本发明, 本发明同样可以应用到其它投影 坐标系, 如标准投影坐标系中, 本发明同样可以应用在基于现有的椭圓曲 线公钥密码体制的各种加密解密算法对明文进行加密和对密文进行解密的 过程中。
首先说明椭圓曲线的倍点运算如何通过雅可比椭圓坐标下的计算实 现。
假设给出椭圓曲线的参数组
Figure imgf000016_0001
,该参数组能够定义一个椭 圓曲线方程 E: =x3+ x + b。 其中, p是一个大于 3的素数, 通常其二进制 长度大于 160比特, 可以是由美国国家标准技术研究院 (NIST)推荐的素 数, 从而可以得到相应的素数域。 是椭圓曲线 E: =x3+co: + b的系数。 尸 =( ,尸 为椭圓曲线 E上的基点。 A为余因子, "为基点 P的素数阶。 假设 本实施例中釆用的数字签名的密钥对( ρ), 其中 J是私钥; 是 1 到《-i之 间一个任意整数(即 ί Ε Ι —Ι] ), 为发送节点所有; β = ^是公钥, 为接 收节点所有。
这里, 将椭圓曲线转换为雅可比投影坐标系下的方程, 并确定所述椭 圓曲线上的仿射点与所述方程上的投影点之间的对应关系, 具体是: 将椭 圓 曲线 E: =x3 +ax + b转换成雅可比投影坐标系下的方程形式 Y2 =X3+aXZ4+bZ6 , 此时雅可比投影坐标系下的投影点 (其中, Z≠0 )与椭圓曲线所在原始坐标系下的仿射点 ( /Ζ2,ί7Ζ3)对应。
假设 j ,^)是椭圓曲线中的一个点, 则椭圓曲线的倍点运算公式 2w = (x2, >g为:
x2 = λ - 2xx mod p
Figure imgf000017_0001
其中, 1 = (3x^+^/23^。 这里的 mod;?是表示取模;?运算, 例如上式中 分别对 Λ2 - 2xx和 -x2)-yi取模 运算。
根据仿射点和投影点之间 的对应关 系 , 对于仿射点: W = (Xl,yi) = (x/Z2,Y/Z3) , 存在投影点(? = ( :!:4)与之对应, 因此, 令
G = {X1:Y1:Z1) , G = (X3' -.Y -A) , 将 、 A替换为雅可比投影坐标系下的坐 标, 代入上述椭圓曲线的倍点运算公式, 得到:
Figure imgf000017_0002
在表达式中消去分母, 则 2G = (Χ3 :Y3:Z3)
Figure imgf000017_0003
= 2 Ζ, 上述公式( 1 )便是椭圓曲线的倍点运算在雅可比投影坐标系下的计算 公式。 上述公式(1 ) 的表达式中都没有了分母, 从而避免了求逆运算。 同 时, 由于 (S +aZ^ i 等计算结果都可以重复使用, 以进一步减少运算量。
通过以上转换, 椭圓曲线上的仿射点 ^x^J^ /Z^iVZ3) , 其倍点 运算得到的点 2 , 对应于雅可比投影坐标下的 2G = ( 3:; Γ3 :Ζ3;), 因此, 在计 算椭圓曲线的倍点运算时, 只需要利用仿射点和投影点之间的对应关系和 上述公式(1 ), 将椭圓曲线上的倍点运算转换为雅可比投影坐标系下的计 算, 然后再根据上述对应关系, 将雅可比投影坐标系下的计算结果转换回 椭圓曲线所在的原始坐标系, 即可得到椭圓曲线的倍点计算结果。
本示例中, 作为发送节点的无线传感节点, 在发生通信时首先产生本 发送节点的数字签名信息(r,4 ,并将该数字签名信息(r,^发送给接收节点, 其具体过程如图 3所示, 包括:
步骤 300, 导出发送节点的标识信息 这里, 该标识信息可以是终端 号、 终端 MAC (media access control, 媒体访问控制)地址或其它能唯一标 识该终端的信息。
步骤 301, 导出预置在发送节点中的椭圓曲线的参数组 D = p,a,b,P,n,h、 和发送节点的私钥 。
步骤 302,发送节点选取 1到" _1之间一个任意整数 ( ^keR[l,n-l] ), 并计算 = (x3,j3), 然后将域参数 x3转换为整数 具体转换可以按照美国 国家标准学会 ANSI X9.62标准进行。
这里,在步骤 302中,可以在计算/ ^ = ( , 3)的过程中使用上述公式( 1 ), 对椭圓曲线的倍点运算进行优化, 以减少运算量, 提高运算效率。 按照椭 圓曲线中多倍点运算, 对于 N = 的计算过程如下:
首先, 将 表示为二进制形式^^^ …, , , 并令 N = 0:
然后, 对于 从 0到 _1 , 依次重复执行以下 Α、 Β的运算:
Α)若 ^=1, 则将 N更新为 N + P的结果(即 N— N + P ); 若 ^=0, 则保 持 N不变 (即 N— N );
Β)计算 Ρ, 并将 Ρ更新为 Ρ (即 Ρ— );
最后, 输出 N的值, 得到 N = 的计算结果。
其中, 所述步骤 B中计算 P具体包括:
根据所述仿射点和投影点之间的对应关系,得到仿射点 P对应的投影点 G = {X1:Y1:Z1); 3 =(3 1 2+αΖ1 4) -8 ^2
按照公式 Υ3 = (3X + al ){^Χ^ -X,)- X A , 求解得到 2G
= 2 Ζ, 根据所述对应关系,将投影点 2G转换为仿射点 Ρ,从而得到倍点 Ρ的 运算结果。
从上述计算过程可以看出, 在进行椭圓曲线中多倍点运算时, 需要反 复进行椭圓曲线的倍点运算(即步骤 Β中的 Ρ ),因此,本示例在计算 Ρ时, 将椭圓曲线投影到雅可比投影坐标系下, 利用仿射点和投影点的对应关系 和上述公式(1 ), 将倍点运算转换为雅可比投影坐标下的计算, 然后根据 上述对应关系, 将计算结果转换回椭圓曲线所属的原始坐标系, 即可得到 倍点运算结果, 从而避免了椭圓曲线倍点运算中的求逆计算, 大大减少了 运算量。
步骤 303, 计算 r = mod/ 。
步骤 304, 判断 r = 0是否成立: 若成立, 则返回步骤 302, 以重新选择 进行计算; 若不成立, 则得到 的值并进入步骤 305。
步骤 305, 使用预设的杂凑函数对节点的标识信息 w进行杂凑运算, 得 到杂凑值^。 例如使用安全散列演算法 SHA1对 w进行杂凑运算, 得到固定 长度的 160位的杂凑值。
步骤 306,
Figure imgf000019_0001
+ 取模《运算。
步骤 307, 判断 ^ = 0是否成立, 若成立, 则返回步骤 302; 若不成立, 得到 s的值并进入步骤 308。
步骤 308,得到发送节点的椭圓曲线的数字签名信息(r,s) ,发送节点将 数字签名信息(r,s)和自身标识信息发送给接收节点。 这里, 优选地, 发送 节点和接收节点都是无线传感网络中的无线传感节点。
本示例中,接收节点接收到发送节点发送的数字数字签名信息(r,s)后, 利用预置的公钥对其进行验证, 从而在发送节点接入网络时对发送节点的 合法性进行认证, 保证网络的安全通信, 具体认证过程如图 4所示, 包括: 步骤 400, 在通信过程开始后,接收节点收到发送节点的数字签名信息
{r, s)和发送节点的终端标识信息 m;
步骤 401 , 接收节点提取预置在本地的椭圓曲线的参数组
1) = (/^,6,尸,",/?)和公钥0。
步骤 402,接收节点检验 和 s是否都是区间 [1,《-1]内的整数: 若任何一 个检验失败, 则进入步骤 410; r和 s都是区间 [1,《-1]内的整数, 则进入步骤
403。
步骤 403 , 使用预设的杂凑函数(如 SHA1 , 与发送节点相同)对发送 节点的终端标识信息 进行杂凑运算, 得到固定长度的 160位的杂凑值 e。
步骤 404, 计算
Figure imgf000020_0001
(即对 ^取模《运算得到 w )。
步骤 405 , 计算 ^ = ewmod "和 M2 = rwmod n (即对 ew取模 n运算得到 ux , 对 取模《运算得到^ ); 然后, 计算 ^^和^^ , 并计算 ΜιΡ + Μ2β得到 Γ , Γ = ^尸 + Μ2β。
步骤 406, 判断 Γ =∞是否为真: 如果是, 则进入步骤 410; 否则进入步 骤 407。
步骤 407,根据 ANSI X9.62标准,将域参数 Γ的 x坐标 x4转换为整数 ; 并计算 v = x4 mod " 。
步骤 408, 由于
Figure imgf000020_0002
, 重新整理可得:
k = s~l (e + dr) = s~le + s~lrd = we + wrd = ux + u2d (mod n) , 即:
X = uvP + u2Q = uvP + u2dP = (uv + u2d ) P = kP ,所以有 v = r成立,因此判断 v = r 是否成立: 若成立, 则进入步骤 409; 否则进入步骤 410。
步骤 409, 数字签名认证通过, 返回 ("接受该签名") 的指示。 步骤 410, 数字签名认证失败, 返回 ("拒绝该签名") 的指示。
这里, 在上述步骤 405 中, 可以在计算 MlP和 Μ2β的过程中使用上述公 式(1 ), 对椭圓曲线的倍点运算进行优化, 以减少运算量, 提高运算效率, 具体说明如下:
其中计算 MlJP包括:
将^转换为二进制形式 Μι=(Λ— ^..,Λ,/Λ, 并令 N的初始值为 0; 对于 从 0到/? -1, 依次重复执行以下步骤八、 B的运算:
步骤 A)若 =1 , 则将 N更新为 N + P的结果; 若 =0 , 则保持 N不变; 步骤 B )计算 , 并将 P更新为 2P;
运算结束后输出 N的值, 得到 N = MlP的计算结果;
其中, 所述步骤 B中计算 P包括:
根据所述仿射点和投影点之间的对应关系,得到仿射点 P对应的投影点 G = {Xl :Yl :Zl) ;
Χ3 =(3Χ'+αΖ ) -8 ^2
按照公式 Υ3 = (3 L 2 + al ){^X^ -Χ3)-8Υ , 求解得到 = ( 3 : :
Z, = 2 Z, 再根据所述对应关系,将投影点 2G转换为仿射点 2P,从而得到倍点 Ρ 的运算结果。
而计算 Μ2β, 又具体包括:
将^转换为二进制形式 M2= — ^..,Λ,Λ , 并令 Μ的初始值为 0; 对于 从 0到 /-1 , 依次重复执行以下步骤 Α,、 Β,的运算:
步骤 Α,)若 · =1, 则将 Μ更新为 Μ + β的结果; 若 · =0, 则保持 Μ不 变;
步骤 Β,)计算 2β, 并将 β更新为 2β; 运算结束后输出 Μ的值, 得到 Μ = Μ2β的计算结果; 其中, 所述步骤 B,中计算 2β包括:
才艮据所述对应关系, 得到仿射点 ρ对应的投影点 s = ( 2: y2: z,
Figure imgf000022_0001
) - 8 2
按照公式 Y4 = (3 2 2 + αΖ2 4 ) (4Χ2Υ2 2 - Χ4 ) - 8Υ2 4, 求解得到 2Β = (Χ4 : 74 : Ζ,
ΖΛ = 2 Ζ, 再根据所述对应关系,将投影点 2S转换为仿射点 2β ,从而得到倍点 2β 的运算结果。
以上过程中, 发送节点在生成数字签名信息过程中, 接收节点在验证 数字签名信息过程中均可利用上述公式 ( 1 )对椭圓曲线的倍点运算进行简 化, 避免了倍点运算中的求逆运算, 减少了倍点运算所消耗的系统资源, 降低了对节点硬件的要求, 提高了运算效率。 感节点在生成公钥、 数字签名信息和验证数字签名时所需要的时间, 从下 表可以看出, 釆用本实施例方法后, 在同样的硬件条件下, 无线传感节点 可以大大减少运算所需时间, 本实施例所述方法能够在很大程度上提高运 算效率, 使得椭圓曲线公钥密码体制可以应用于系统资源较少的无线传感 节点, 而不必提高无线传感节点的硬件配置, 具有很好的经济效益, 又能 够提高无线传感网络的安全性。
Figure imgf000022_0002
最后, 本实施例还分别提供了用以实现上述数据加密方法和数据解密 方法的节点设备。
其中, 如图 5所示, 本实施例提供的一种发送节点, 具体包括: 获取单元, 用于获取预先设置的椭圓曲线的参数组、 密钥以及数据信 息;
加密单元, 用于利用椭圓曲线的参数组、 密钥以及数据信息, 计算得 到数据加密信息;
发送单元, 用于将所述数据加密信息发送给接收节点;
其中, 所述加密单元用于在计算所述数据加密信息的过程中, 将所述 椭圓曲线转换为投影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与 所述方程上的投影点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算。
作为一个优选实施例, 所述加密单元包括:
投影单元, 用于将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线 转换为投影坐标系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程 上的投影点之间的对应关系;
转换单元, 用于根据所述对应关系, 通过将所述椭圓曲线的倍点运算 公式中的仿射点的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍 点运算在投影坐标系下的计算公式;
计算单元, 用于利用所述对应关系和所述计算公式, 将所述椭圓曲线 上的倍点运算, 转换到所述投影坐标系下进行计算。
作为一个优选实施例, 所述密钥为接收节点的公钥, 所述数据信息为 明文信息, 所述数据加密信息是所述明文信息对应的密文信息。
作为一个优选实施例, 所述密钥为发送节点的私钥, 所述数据信息为 发送节点的标识信息, 所述数据加密信息为发送节点的数字签名信息; 且 所述发送单元, 用于在将所述数字签名信息发送给接收节点时, 还将所述 标识信息发送给接收节点。
优选地, 所述发送节点为无线传感网络中的无线传感节点。
作为一个优选实施例, 所述加密单元包括: 选择单元, 用于从 1到《-1之间任意选取一个整数 , 其中《是所述椭 圓曲线的基点的素数阶;
第一计算单元, 用于计算 , 然后将 的 X坐标 x3转换为整数 并 对整数 取模《运算, 得到 r, 其中 ρ = ( ,ρ , 表示所述椭圓曲线的基点; 第二计算单元, 用于使用预设的杂凑函数对发送节点的标识信息进行 杂凑运算, 得到杂凑值 e, 并对 ^ + )取模《运算, 得到 其中 为所 述私钥;
输出单元, 用于在 r和 s均不等于 0时, 得到所述数字签名信息(r,s)。 作为一个优选实施例, 所述投影坐标系为雅可比投影坐标系, 所述第 一计算单元, 进一步用于在计算所述/ ^的过程中, 对于 P的计算按照以下 方式进行:
根据所述对应关系, 得到仿射点 P对应的投影点 G = (A :1 :ZJ; 3 =(3 1 2+αΖ1 4) -8 ^2
按照公式 Υ3 = (3 L 2 + al ){^Χ^ -Χ3)-8Υ , 求解得到 2G
= 2 Ζ, 根据所述对应关系, 将投影点 2G转换为仿射点 2Ρ。
再参照图 6所示, 本实施例还提供了一种接收节点, 该接收节点具体 包括:
接收单元, 用于接收发送节点的数据加密信息, 所述数据加密信息是 发送节点利用预设的椭圓曲线的参数组、 第一密钥和数据信息计算得到的; 解密单元, 用于利用所述椭圓曲线的参数组和所述第一密钥对应的第 二密钥, 对所述数据加密信息进行解密;
其中, 所述解密单元用于在所述数据加密信息的解密过程中, 将所述 椭圓曲线转换为投影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与 所述方程上的投影点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算。
作为一个优选实施例, 所述解密单元包括:
投影单元, 用于将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线 转换为投影坐标系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程 上的投影点之间的对应关系;
转换单元, 用于根据所述对应关系, 通过将所述椭圓曲线的倍点运算 公式中的仿射点的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍 点运算在投影坐标系下的计算公式;
计算单元, 用于利用所述对应关系和所述计算公式, 将所述椭圓曲线 上的倍点运算, 转换到所述投影坐标系下进行计算。
优选地, 所述发送节点为无线传感网络中的无线传感节点。
作为一个优选实施例, 所述第一密钥为接收节点的公钥, 所述第二密 钥为接收节点的私钥, 所述数据信息为明文信息, 所述数据加密信息是所 述明文信息对应的密文信息。
作为一个优选实施例, 所述第一密钥为发送节点的私钥, 所述第二密 钥为发送节点的公钥, 所述数据信息为发送节点的标识信息, 所述数据加 密信息为发送节点的数字签名信息;
所述接收单元, 还用于接收发送节点的标识信息;
所述解密单元, 还用于在所述数据加密信息的解密过程中, 利用所述 椭圓曲线的参数组、 发送节点的标识信息和所述发送节点的公钥, 对所述 数字签名信息进行签名认证。
优选地, 所述解密单元包括:
第一判断单元, 用于在所述数字签名信息(r, s)中的 或 s中任一个不属 于区间 [1,《- 1]时,判断数字签名认证失败,其中《是所述椭圓曲线的基点的 素数阶; 第一计算单元, 用于在 和 均属于区间 [1,《-1]时, 使用预设的杂凑函 数对发送节点的标识信息 W进行杂凑运算, 得到杂凑值 e, 并对 ^取模《运 算得到 W;
第二计算单元, 用于计算 ¾^和^0, 并计算 Μιρ+Μ2ρ得到 r, 其中,
P = (Px,Py) , 表示所述椭圓曲线的基点, β表示所述公钥, Ml= mod" , u2 = rwmodn;
第二判断单元, 用于在 Γ = οο时, 判断数字签名认证失败;
第三判断单元, 用于在 Γ≠∞时, 将 Γ的 X坐标 χ4转换为整数 ^, 并对 ^ 取模《运算得到 V , 并判断 v = r是否成立: 若成立, 则数字签名认证通过; 否则数字签名认证失败。
作为一个优选实施例, 所述投影坐标系为雅可比投影坐标系, 所述第 二计算单元, 进一步用于在计算所述 MlP或 Μ2β的过程中, 对于 2F的计算按 照以下方式进行, 其中 表示尸或 ρ:
才艮据所述对应关系, 得到仿射点 F对应的投影点 G = ( : 1: );
Χ3 =(3Χ'+αΖ ) -8 ^2
按照公式 Υ3 = (3 L 2 + al ){^X^ -Χ3)-8Υ , 求解得到 = ( 3 : :
Z, = 2Y,Z, 根据所述对应关系, 将投影点 2G转换为仿射点 IF。
以上所述仅是本发明的实施方式, 应当指出, 对于本技术领域的普通 技术人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润 饰, 这些改进和润饰也应视为本发明的保护范围。

Claims

权利要求书
1、 一种基于椭圓曲线公钥密码体制的数据加密方法, 其特征在于, 包 括:
发送节点获取预先设置的椭圓曲线的参数组、 密钥以及数据信息; 发送节点利用椭圓曲线的参数组、 密钥以及数据信息, 计算得到数据 加密信息, 并将所述数据加密信息发送给接收节点;
其中, 在计算所述数据加密信息的过程中, 将所述椭圓曲线转换为投 影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与所述方程上的投影 点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转换到投影坐标系下 进行计算。
2、 如权利要求 1所述的数据加密方法, 其特征在于, 将所述椭圓曲线 上的倍点运算, 转换到投影坐标系下进行计算, 具体包括:
将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线转换为投影坐标 系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程上的投影点之间 的对应关系;
根据所述对应关系, 通过将所述椭圓曲线的倍点运算公式中的仿射点 的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍点运算在投影坐 标系下的计算公式;
利用所述对应关系和所述计算公式, 将所述椭圓曲线上的倍点运算, 转换到所述投影坐标系下进行计算。
3、 如权利要求 1所述的数据加密方法, 其特征在于,
所述密钥为接收节点的公钥, 所述数据信息为明文信息, 所述数据加 密信息是所述明文信息对应的密文信息。
4、 如权利要求 1所述的数据加密方法, 其特征在于,
所述密钥为发送节点的私钥, 所述数据信息为发送节点的标识信息, 所述数据加密信息为发送节点的数字签名信息;
且发送节点在将所述数字签名信息发送给接收节点时, 还将所述标识 信息发送给接收节点。
5、 如权利要求 4所述的数据加密方法, 其特征在于,
所述发送节点的数字签名信息的计算包括:
从 1到《 - 1之间任意选取一个整数 其中《是椭圓曲线的基点的素数 计算 然后将 的 X坐标 x3转换为整数 并对整数 取模《运算, 得到 r, 其中 ρ = ( ,ρ , 表示所述椭圓曲线的基点; 使用预设的杂凑函数对发送节点的标识信息进行杂凑运算, 得到杂凑 值 并对 /Γ^ + )取模《运算, 得到 其中 J为所述私钥;
在 r和 s均不等于 0时, 得到所述数字签名信息(r,s)。
6、 如权利要求 5所述的数据加密方法, 其特征在于,
所述投影坐标系为雅可比投影坐标系;
在计算所述 的过程中, 对于 2P的计算按照以下方式进行:
根据所述对应关系, 得到仿射点 P对应的投影点 G = (A :1 :ZJ;
Χ3 =(3Χ'+αΖ ) -8 ^2
按照公式 Υ3 = (3 L 2 + al ){^X^ -Χ3)-8Υ , 求解得到 = ( 3 : :
Z, = 2Y,Z, 根据所述对应关系, 将投影点 2G转换为仿射点 2Ρ。
7、 一种发送节点, 其特征在于, 包括:
获取单元, 用于获取预先设置的椭圓曲线的参数组、 密钥以及数据信 加密单元, 用于利用椭圓曲线的参数组、 密钥以及数据信息, 计算得 到数据加密信息; 发送单元, 用于将所述数据加密信息发送给接收节点;
其中, 所述加密单元用于在计算所述数据加密信息的过程中, 将所述 椭圓曲线转换为投影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与 所述方程上的投影点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算。
8、 如权利要求 7所述的发送节点, 其特征在于, 所述加密单元包括: 投影单元, 用于将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线 转换为投影坐标系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程 上的投影点之间的对应关系;
转换单元, 用于根据所述对应关系, 通过将所述椭圓曲线的倍点运算 公式中的仿射点的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍 点运算在投影坐标系下的计算公式;
计算单元, 用于利用所述对应关系和所述计算公式, 将所述椭圓曲线 上的倍点运算, 转换到所述投影坐标系下进行计算。
9、 如权利要求 7所述的发送节点, 其特征在于,
所述密钥为发送节点的私钥, 所述数据信息为发送节点的标识信息, 所述数据加密信息为发送节点的数字签名信息;
所述发送单元, 用于在将所述数字签名信息发送给接收节点时, 还将 所述标识信息发送给接收节点。
10、 如权利要求 9所述的发送节点, 其特征在于, 所述加密单元包括: 选择单元, 用于从 1到《-1之间任意选取一个整数 , 其中《是所述椭 圓曲线的基点的素数阶;
第一计算单元, 用于计算 , 然后将 的 X坐标 χ3转换为整数 并 对整数 取模《运算, 得到 r, 其中 ρ = ( ,ρ , 表示所述椭圓曲线的基点; 第二计算单元, 用于使用预设的杂凑函数对发送节点的标识信息进行 杂凑运算, 得到杂凑值 e, 并对 ^ + )取模《运算, 得到 其中 为所 述私钥;
输出单元, 用于在 r和 S均不等于 0时, 得到所述数字签名信息(r,s)。
11、 如权利要求 10所述的发送节点, 其特征在于, 所述投影坐标系为 雅可比投影坐标系, 所述第一计算单元, 进一步用于在计算所述 的过程 中, 对于 P的计算按照以下方式进行:
根据所述对应关系, 得到仿射点 P对应的投影点 G = (A :1 :ZJ;
Χ3 =(3Χ'+αΖ ) -8 ^2
按照公式 Υ3 = (3 L 2 + al ){^X^ -Χ3)-8Υ , 求解得到 = ( 3 : :
Z, = 2Y,Z, 根据所述对应关系, 将投影点 2G转换为仿射点 2Ρ。
12、 一种基于椭圓曲线公钥密码体制的数据解密方法, 其特征在于, 包括:
接收节点接收发送节点的数据加密信息, 所述数据加密信息是发送节 点利用预设的椭圓曲线的参数组、 第一密钥和数据信息计算得到的;
接收节点利用所述椭圓曲线的参数组和所述第一密钥对应的第二密 钥, 对所述数据加密信息进行解密;
其中, 在所述数据加密信息的解密过程中, 将所述椭圓曲线转换为投 影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与所述方程上的投影 点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转换到投影坐标系下 进行计算。
13、 如权利要求 12所述的数据解密方法, 其特征在于, 将所述椭圓曲 线上的倍点运算, 转换到投影坐标系下进行计算, 具体包括:
将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线转换为投影坐标 系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程上的投影点之间 的对应关系;
根据所述对应关系, 通过将所述椭圓曲线的倍点运算公式中的仿射点 的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍点运算在投影坐 标系下的计算公式;
利用所述对应关系和所述计算公式, 将所述椭圓曲线上的倍点运算, 转换到所述投影坐标系下进行计算。
14、 如权利要求 12所述的数据解密方法, 其特征在于,
所述第一密钥为接收节点的公钥, 所述第二密钥为接收节点的私钥, 所述数据信息为明文信息, 所述数据加密信息是所述明文信息对应的密文 信息。
15、 如权利要求 12所述的数据解密方法, 其特征在于,
所述第一密钥为发送节点的私钥, 所述第二密钥为发送节点的公钥, 所述数据信息为发送节点的标识信息, 所述数据加密信息为发送节点的数 字签名信息;
接收节点进一步接收发送节点的标识信息, 并在所述数据加密信息的 解密过程中, 利用所述椭圓曲线的参数组、 发送节点的标识信息和所述发 送节点的公钥, 对所述数字签名信息进行签名认证。
16、 如权利要求 15所述的数据解密方法, 其特征在于,
所述对所述数字签名信息进行签名认证, 包括:
在所述数字签名信息(r, s)中的 r或 s中任一个不属于区间 [1,《-1]时, 判 断数字签名认证失败, 其中《是所述椭圓曲线的基点的素数阶;
在 r和 s均属于区间 [1,《 - 1]时, 使用预设的杂凑函数对发送节点的标识 信息 进行杂凑运算, 得到杂凑值 并对^取模《运算得到
计算 尸和 Μ2β ,并计算 ^ + ^β得到 Γ ,其中, M^ ewmod " , u2 = rwmod n , p = (px, py ) , 表示所述椭圓曲线的基点, ρ表示所述公钥; 在 r =∞时, 判断数字签名认证失败;
在 ≠∞时, 将 Γ的 X坐标 χ4转换为整数 ^, 并对 ^取模《运算得到 V , 并判断 v = r是否成立: 若成立, 则数字签名认证通过; 否则数字签名认证 失败。
17、 如权利要求 16所述的数据解密方法, 其特征在于,
所述投影坐标系为雅可比投影坐标系;
在计算所述 MlP或 Μ2β的过程中, 对于 Ρ的计算按照以下方式进行, 其 中 表示尸或 Q:
才艮据所述对应关系, 得到仿射点 F对应的投影点 G = ( : 1: );
Χ3 = (3Χ' + αΖ ) -8 ^2
按照公式 Υ3 = (3 L 2 + al ) {^X^ - Χ3 ) - 8Υ , 求解得到 2G
Z3 = ΙΥ^ 根据所述对应关系, 将投影点 2G转换为仿射点 IF。
18、 一种接收节点, 其特征在于, 包括:
接收单元, 用于接收发送节点的数据加密信息, 所述数据加密信息是 发送节点利用预设的椭圓曲线的参数组、 第一密钥和数据信息计算得到的; 解密单元, 用于利用所述椭圓曲线的参数组和所述第一密钥对应的第 二密钥, 对所述数据加密信息进行解密;
其中, 所述解密单元用于在所述数据加密信息的解密过程中, 将所述 椭圓曲线转换为投影坐标系下的方程, 并利用所述椭圓曲线上的仿射点与 所述方程上的投影点之间的对应关系, 将所述椭圓曲线上的倍点运算, 转 换到投影坐标系下进行计算。
19、如权利要求 18所述的接收节点,其特征在于, 所述解密单元包括: 投影单元, 用于将所述椭圓曲线投影到投影坐标系, 将所述椭圓曲线 转换为投影坐标系下的方程, 并确定所述椭圓曲线上的仿射点与所述方程 上的投影点之间的对应关系;
转换单元, 用于根据所述对应关系, 通过将所述椭圓曲线的倍点运算 公式中的仿射点的坐标替换为投影点的坐标, 转换得到所述椭圓曲线的倍 点运算在投影坐标系下的计算公式;
计算单元, 用于利用所述对应关系和所述计算公式, 将所述椭圓曲线 上的倍点运算, 转换到所述投影坐标系下进行计算。
20、 如权利要求 18所述的接收节点, 其特征在于,
所述第一密钥为发送节点的私钥, 所述第二密钥为发送节点的公钥, 所述数据信息为发送节点的标识信息, 所述数据加密信息为发送节点的数 字签名信息;
所述接收单元, 还用于接收发送节点的标识信息;
所述解密单元, 还用于在所述数据加密信息的解密过程中, 利用所述 椭圓曲线的参数组、 发送节点的标识信息和所述发送节点的公钥, 对所述 数字签名信息进行签名认证。
21、如权利要求 20所述的接收节点,其特征在于, 所述解密单元包括: 第一判断单元, 用于在所述数字签名信息(r, s)中的 或 s中任一个不属 于区间 [1,《- 1]时,判断数字签名认证失败,其中《是所述椭圓曲线的基点的 素数阶;
第一计算单元, 用于在 和 均属于区间 [1,《- 1]时, 使用预设的杂凑函 数对发送节点的标识信息 w进行杂凑运算, 得到杂凑值 e , 并对 ^取模《运 算得到 w;
第二计算单元, 用于计算 ¾^和^0 , 并计算 ΜιΡ + Μ2β得到 Γ , 其中, P = (Px, Py ) , 表示所述椭圓曲线的基点, β表示所述公钥, Ml = mod " , u2 = rwmod n;
第二判断单元, 用于在 Γ = οο时, 判断数字签名认证失败; 第三判断单元, 用于在 Γ≠∞时, 将 Γ的 X坐标 χ4转换为整数 ^, 并对 ^ 取模《运算得到 V , 并判断 v = r是否成立: 若成立, 则数字签名认证通过; 否则数字签名认证失败。
22、 如权利要求 21所述的接收节点, 其特征在于,
所述投影坐标系为雅可比投影坐标系;
所述第二计算单元,进一步用于在计算所述 Mlp或 Μ2ρ的过程中,对于 2F 的计算按照以下方式进行, 其中 F表示尸或 ρ:
才艮据所述对应关系, 得到仿射点 F对应的投影点 G = ( : 1: ); 3 =(3 1 2+αΖ1 4) -8 ^2
按照公式 Υ3 = (3X + al ){^Χ^ -Χ3)-8Υ , 求解得到 2G
Ζ3 = 2ΎγΖγ 根据所述对应关系, 将投影点 2G转换为仿射点 2F
PCT/CN2010/079823 2010-08-09 2010-12-15 一种数据加密方法、数据解密方法、发送节点及接收节点 WO2012019407A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010249089.7 2010-08-09
CN201010249089.7A CN101931529B (zh) 2010-08-09 2010-08-09 一种数据加密方法、数据解密方法及节点

Publications (1)

Publication Number Publication Date
WO2012019407A1 true WO2012019407A1 (zh) 2012-02-16

Family

ID=43370466

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/079823 WO2012019407A1 (zh) 2010-08-09 2010-12-15 一种数据加密方法、数据解密方法、发送节点及接收节点

Country Status (2)

Country Link
CN (1) CN101931529B (zh)
WO (1) WO2012019407A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761412A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥加密、解密与加解密混合系统
CN102761415B (zh) * 2011-04-27 2015-04-08 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合系统
CN102255729B (zh) * 2011-07-07 2013-07-10 武汉理工大学 一种基于媒介数字证书的ibe数据加密系统
CN104915179B (zh) * 2015-04-28 2018-07-17 南京邮电大学 一种人体生理数据隐私保护的方法
CN105025474B (zh) * 2015-06-26 2018-04-13 安徽大学 一种面向无线传感网的轻量级数字签名方法
CN106712965B (zh) * 2017-01-17 2020-02-18 数安时代科技股份有限公司 数字签名方法、装置以及密码设备
CN106972924B (zh) * 2017-03-23 2020-06-23 联想(北京)有限公司 加密、解密、电子签章、验证签章的方法及装置
CN108933670B (zh) * 2018-10-18 2021-02-26 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质
CN112995784B (zh) * 2021-05-19 2021-09-21 杭州海康威视数字技术股份有限公司 视频数据切片加密方法、装置和系统
CN113364585B (zh) * 2021-06-04 2022-09-13 晶澄微电子(宁波)有限公司 减少模逆计算的ecc认证方法及系统
CN113254968B (zh) * 2021-06-04 2022-07-05 晶澄微电子(宁波)有限公司 减少模逆计算的ecc密钥交换方法、系统、网络设备及存储介质
CN114001650B (zh) * 2021-09-16 2023-09-29 北京市测绘设计研究院 一种地方坐标系与任意平面坐标系转换参数加密方法
CN114244552B (zh) * 2021-10-27 2024-04-19 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN114065171B (zh) * 2021-11-11 2022-07-08 北京海泰方圆科技股份有限公司 一种身份认证方法、装置、系统、设备及介质
CN115001685B (zh) * 2022-07-22 2022-10-21 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115378588B (zh) * 2022-10-25 2023-05-26 北京信安世纪科技股份有限公司 不经意传输方法、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
CN1890916A (zh) * 2003-10-03 2007-01-03 松下电器产业株式会社 使用椭圆曲线的信息传输系统、加密设备和解密设备
CN101018125A (zh) * 2007-03-02 2007-08-15 中兴通讯股份有限公司 一种基于椭圆曲线公钥密码的无线终端安全锁网锁卡方法
CN101262345A (zh) * 2008-01-04 2008-09-10 清华大学 椭圆曲线密码系统的倍点系统
CN101697513A (zh) * 2009-10-26 2010-04-21 深圳华为通信技术有限公司 数字签名方法、验证方法、数字签名装置及数字签名系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444168A (zh) * 2003-04-23 2003-09-24 浙江大学 一种椭圆曲线上基于公钥证书的概率型非对称加密方法
US20080104417A1 (en) * 2006-10-25 2008-05-01 Nachtigall Ernest H System and method for file encryption and decryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
CN1890916A (zh) * 2003-10-03 2007-01-03 松下电器产业株式会社 使用椭圆曲线的信息传输系统、加密设备和解密设备
CN101018125A (zh) * 2007-03-02 2007-08-15 中兴通讯股份有限公司 一种基于椭圆曲线公钥密码的无线终端安全锁网锁卡方法
CN101262345A (zh) * 2008-01-04 2008-09-10 清华大学 椭圆曲线密码系统的倍点系统
CN101697513A (zh) * 2009-10-26 2010-04-21 深圳华为通信技术有限公司 数字签名方法、验证方法、数字签名装置及数字签名系统

Also Published As

Publication number Publication date
CN101931529A (zh) 2010-12-29
CN101931529B (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
WO2012019407A1 (zh) 一种数据加密方法、数据解密方法、发送节点及接收节点
US10530585B2 (en) Digital signing by utilizing multiple distinct signing keys, distributed between two parties
CN107483212B (zh) 一种双方协作生成数字签名的方法
US7814320B2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US9503261B2 (en) Public key encryption with digital signature scheme
US8918648B2 (en) Digital signature and key agreement schemes
US11223486B2 (en) Digital signature method, device, and system
US9705683B2 (en) Verifiable implicit certificates
US20120096274A1 (en) Authenticated encryption for digital signatures with message recovery
WO2020103631A1 (zh) 一种基于非对称双线性对的匿签密方法
TWI807125B (zh) 用以分配數位簽署資料之份額的電腦實施系統及方法
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
US20220021526A1 (en) Certificateless public key encryption using pairings
TWI807103B (zh) 用於共享公共秘密之電腦實施系統及方法
Yin et al. An efficient and secured data storage scheme in cloud computing using ECC-based PKI
CN114900304A (zh) 数字签名方法和装置、电子设备和计算机可读存储介质
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
CN111756537B (zh) 基于sm2标准的两方协同解密方法、系统及存储介质
US20050135610A1 (en) Identifier-based signcryption
Wu et al. ID-based remote authentication with smart cards on open distributed system from elliptic curve cryptography
JP4307589B2 (ja) 認証プロトコル
CN114205077B (zh) 基于Blom密钥分配算法的混合加密安全通信方法
Bicakci et al. SAOTS: A new efficient server assisted signature scheme for pervasive computing
GB2421407A (en) Generating a shared symmetric key using identifier based cryptography

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10855827

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10855827

Country of ref document: EP

Kind code of ref document: A1