WO2016000447A1 - 公钥加密通信方法和装置 - Google Patents

公钥加密通信方法和装置 Download PDF

Info

Publication number
WO2016000447A1
WO2016000447A1 PCT/CN2015/071619 CN2015071619W WO2016000447A1 WO 2016000447 A1 WO2016000447 A1 WO 2016000447A1 CN 2015071619 W CN2015071619 W CN 2015071619W WO 2016000447 A1 WO2016000447 A1 WO 2016000447A1
Authority
WO
WIPO (PCT)
Prior art keywords
polynomial
random
truncated
ring
system parameter
Prior art date
Application number
PCT/CN2015/071619
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 华为技术有限公司
Priority to EP15790431.9A priority Critical patent/EP2996280A4/en
Priority to US14/985,942 priority patent/US20160119120A1/en
Publication of WO2016000447A1 publication Critical patent/WO2016000447A1/zh

Links

Images

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Definitions

  • Embodiments of the present invention relate to communication technologies, and in particular, to a public key encryption communication method and apparatus.
  • NTRU Number Theory Research Unit
  • the specific algorithm is as follows: The key and the private key are encrypted and decrypted, and the public key and the private key are obtained according to system parameters N, p, q and randomly selected two polynomials f and g.
  • N, p, q and randomly selected two polynomials f and g The problem with this method is that its security is not high.
  • Embodiments of the present invention provide a public key encryption communication method and apparatus, so as to implement a public key encryption communication method with higher security.
  • a first aspect of the embodiments of the present invention provides a public key encryption communication method, including:
  • the first device encrypts the random information according to the first public key to obtain a first ciphertext; the first device encrypts the plaintext information according to the second public key to obtain a second ciphertext; the plaintext information is the Unencrypted data to be sent by a device to a second device; the first public key is used in multiple Formally indicating that the first public key is calculated on a truncated polynomial ring according to system parameters; the second public key is represented by a polynomial form, and the second public key is randomly selected on a truncated polynomial ring; Information is randomly selected on the truncated polynomial ring;
  • the first device sends the first ciphertext and the second ciphertext to a second device.
  • the random information includes a first random polynomial and a second random polynomial; and the first device performs encryption according to the first public key and the random information, Obtain the first ciphertext, including:
  • the first device calculates the first ciphertext on a first truncated polynomial ring of a first system parameter according to the first public key, the first random polynomial, and the second random polynomial.
  • the plaintext information is represented as a polynomial on a second truncated polynomial ring of a second system parameter;
  • the first device encrypts the plaintext information according to the second public key to obtain the second ciphertext, which specifically includes:
  • the first device calculates, according to the second public key, the first random polynomial, the second random polynomial, and the plaintext information, on a second truncated polynomial ring of the second system parameter of the modulo The second ciphertext.
  • the first device according to the first public key, the first random polynomial, the first a second random polynomial, the first ciphertext is calculated on the first truncated polynomial ring of the first system parameter of the module, and specifically includes:
  • the first device according to the second public key, the first random polynomial, the first a second random polynomial and the plaintext information, the second ciphertext is calculated on the second truncated polynomial ring of the second system parameter of the modulo, and specifically includes:
  • the first public key is based on the first system parameter and the third random polynomial And a fourth random polynomial calculated on the first truncated polynomial ring of the first system parameter of the module, the third truncated polynomial in the first truncated polynomial ring and the third mode of the first system parameter of the module
  • the third truncated polynomial ring of the modulus of the system parameter has an inverse element at the same time
  • the fourth random polynomial has an inverse element on the first truncated polynomial ring of the first system parameter of the modulus.
  • the first public key is Calculated on the first truncated polynomial ring
  • the p is the third system parameter
  • the f is the third random polynomial
  • the second public key is randomly selected on the second truncated polynomial ring, the second truncation Polynomial ring
  • a second aspect of the embodiments of the present invention provides a public key encryption communication method, including:
  • the second device receives the first ciphertext and the second ciphertext sent by the first device;
  • the second device calculates a second random polynomial according to the first private key, the second private key, and the first ciphertext, and obtains a first random polynomial according to the third private key, where the first private key is represented by a polynomial form
  • the first private key is randomly selected on a truncated polynomial ring
  • the second private key is represented by a polynomial form
  • the second private key is an inverse element of the first private key on a truncated polynomial ring
  • the third private key is represented by a polynomial form, and the third private key is calculated according to an inverse element of the system parameter and a polynomial having an inverse element on the truncated polynomial;
  • the second device obtains the plaintext information according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key;
  • the plaintext information is that the first device is to be sent Unencrypted data sent to the second device;
  • the second public key is represented in a polynomial form, and the second public key is randomly selected on a truncated polynomial ring.
  • the second device calculates, according to the first private key, the second private key, and the first ciphertext, a second random polynomial, specifically including :
  • the second device calculates, according to the first ciphertext and the first private key, a process parameter on a first truncated polynomial ring of a first system parameter of the module;
  • the second device obtains the second random polynomial on a third truncated polynomial ring of a third system parameter according to the process parameter and the second private key.
  • the obtaining the first random polynomial according to the third private key includes:
  • the second device calculates the first random polynomial on the first truncated polynomial ring of the first system parameter of the module according to the process parameter and the third private key.
  • the second device according to the first random polynomial, the second random polynomial, the first The second ciphertext and the second public key obtain the plaintext information, including:
  • the second device calculates the plaintext on a second truncated polynomial ring of the second system parameter according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key information.
  • the second device is in the first mode according to the first ciphertext and the first private key.
  • the process parameters are calculated on the first truncated polynomial ring of the system parameters, including:
  • the second device in the third system parameter, according to the process parameter, the second private key Obtaining the second random polynomial on the third truncated polynomial ring, specifically comprising:
  • the second device according to the process parameter and the third private key, in the Calculating the first random polynomial on the first truncated polynomial ring of a system parameter, specifically including:
  • the second device according to the first random polynomial, the second random polynomial, the The second ciphertext and the second public key are used to calculate the plaintext information on the second truncated polynomial ring of the second system parameter of the module, which specifically includes:
  • the first private key is a third random polynomial
  • the second private key is the third random polynomial An inverse element on a third truncated polynomial ring of the third system parameter of the modulo, the third private key being in accordance with an inverse of the third system parameter, a fourth random polynomial at a modulus of the first system parameter An inverse element calculation on a truncated polynomial ring.
  • the third private key is Calculated on the mold a first cut of the first system parameter polynomial
  • p -1 is the inverse of the third molding system parameters of the first system parameter
  • q 1 is the first system parameter
  • g is the fourth random polynomial.
  • a third aspect of the embodiments of the present invention provides a public key encryption communication device, including:
  • the encryption unit is configured to perform encryption according to the first public key and the random information to obtain the first ciphertext, and is further configured to encrypt the plaintext information according to the second public key to obtain a second ciphertext;
  • the plaintext information is the Unencrypted data to be sent by a device to a second device;
  • the first public key is used in multiple Formally indicating that the first public key is calculated on a truncated polynomial ring according to system parameters;
  • the second public key is represented by a polynomial form, and the second public key is randomly selected on a truncated polynomial ring; Information is randomly selected on the truncated polynomial ring;
  • the transceiver unit sends the first ciphertext and the second ciphertext to the second device.
  • the random information includes a first random polynomial and a second random polynomial; the cryptographic unit is specifically configured to:
  • the plaintext information is represented as a polynomial on a second truncated polynomial ring of a second system parameter;
  • the encryption unit is also specifically used to:
  • the cryptographic unit is configured to perform, according to the first public key, the first random polynomial, a second random polynomial, the first ciphertext is calculated on a first truncated polynomial ring of a first system parameter of the modulo, specifically for:
  • the cryptographic unit is configured to perform, according to the second public key, the first random polynomial, And generating, by the second random polynomial and the plaintext information, the second ciphertext on the second truncated polynomial ring of the second system parameter of the modulo, specifically for:
  • the first public key is based on the first system parameter and the third random polynomial And a fourth random polynomial calculated on the first truncated polynomial ring of the first system parameter of the module, the third truncated polynomial in the first truncated polynomial ring and the third mode of the first system parameter of the module
  • the third truncated polynomial ring of the system parameter has an inverse element at the same time
  • the fourth random polynomial has an inverse element on the first truncated polynomial ring of the first system parameter of the modulus.
  • the first public key is Calculated on the first truncated polynomial ring
  • the p is the third system parameter
  • the f is the third random polynomial
  • the second public key is randomly selected on the second truncated polynomial ring, the second truncation Polynomial ring
  • a fourth aspect of the embodiments of the present invention provides a public key encryption communication device, including:
  • transceiver unit configured to receive a first ciphertext and a second ciphertext sent by the first device
  • a decrypting unit configured to calculate a second random polynomial according to the first private key, the second private key, and the first ciphertext, and obtain a first random polynomial according to the third private key, where the first private key is represented by a polynomial form
  • the first private key is randomly selected on a truncated polynomial ring
  • the second private key is represented by a polynomial form
  • the second private key is an inverse element of the first private key on a truncated polynomial ring
  • the third private key is represented by a polynomial form, and the third private key is calculated according to an inverse element of the system parameter and a polynomial having an inverse element on the truncated polynomial;
  • the decrypting unit is further configured to obtain the plaintext information according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key; the plaintext information is the first device to be Unencrypted data sent to the second device; the second public key is represented in a polynomial form, and the second public key is randomly selected on a truncated polynomial ring.
  • the decrypting unit is specifically configured to:
  • the decrypting unit is further configured to:
  • the second device calculates the first random polynomial on the first truncated polynomial ring of the first system parameter of the module according to the process parameter and the third private key.
  • the decrypting unit is further configured to:
  • the decrypting unit is in the first system according to the first ciphertext and the first private key
  • the process parameters are calculated on the first truncated polynomial ring of the parameter, specifically for:
  • the decrypting unit is configured to perform the third system parameter according to the process parameter and the second private key Obtaining the second random polynomial on the third truncated polynomial ring, specifically for:
  • the decrypting unit is first in the module according to the process parameter and the third private key Calculating the first random polynomial on the first truncated polynomial ring of the system parameter, specifically for:
  • the decrypting unit is configured according to the first random polynomial, the second random polynomial, and the second The ciphertext and the second public key are obtained by calculating the plaintext information on the second truncated polynomial ring of the second system parameter of the modulo, specifically for:
  • the first private key is a third random polynomial
  • the second private key is the third random polynomial
  • the inverse element calculation on the truncated polynomial ring is obtained.
  • the third private key is Calculated on the mold a first cut of the first system parameter polynomial
  • p -1 is the inverse of the third molding system parameters of the first system parameter
  • q 1 is the first system parameter
  • g is the fourth random polynomial.
  • the first device encrypts the random information according to the first public key to obtain the first ciphertext, and encrypts the plaintext information according to the second public key to obtain the second ciphertext.
  • the plaintext information is unencrypted data to be sent by the first device to the second device;
  • the first public key is represented by a polynomial form, and the first public key is calculated on the truncated polynomial ring according to system parameters.
  • the second public key is represented in a polynomial form, the second public key is randomly selected on the truncated polynomial ring; the random information is randomly selected on the truncated polynomial ring; the first device will use the first ciphertext And transmitting the second ciphertext to the second device, which is equivalent to using the random information as a shared key and encrypting the random information once, and then encrypting the plaintext information by using the public key and the random information, thereby realizing security more High public key encryption communication method.
  • Embodiment 1 is a flowchart of Embodiment 1 of a public key encryption communication method according to the present invention
  • Embodiment 2 is a flowchart of Embodiment 2 of a public key encryption communication method according to the present invention
  • Embodiment 3 is a flowchart of Embodiment 3 of a public key encryption communication method according to the present invention.
  • FIG. 4 is a schematic diagram of processing of an alternative embodiment of step 300 in the method of FIG. 3;
  • FIG. 5 is a schematic diagram of processing of an alternative embodiment of step 301 in the method shown in FIG. 3;
  • FIG. 6 is a schematic diagram of processing of an optional implementation manner of step 303 and step 304 in the method shown in FIG. 3;
  • FIG. 7 is a schematic structural diagram of Embodiment 1 of a public key encryption communication device according to the present invention.
  • FIG. 8 is a schematic structural diagram of Embodiment 2 of a public key encryption communication device according to the present invention.
  • FIG. 1 is a flowchart of Embodiment 1 of a public key encryption communication method according to the present invention. As shown in FIG. 1 , the method in this embodiment may include:
  • the first device encrypts the random information according to the first public key to obtain a first ciphertext; the first device encrypts the plaintext information according to the second public key to obtain a second ciphertext; the plaintext information is Decoding the first device to be sent to the second device; the first public key is represented by a polynomial form, and the first public key is calculated on the truncated polynomial ring according to the system parameter; the second public key Expressed in a polynomial form, the second public key is The truncated polynomial ring is randomly selected; the random information is randomly selected on the truncated polynomial ring.
  • the first device sends the first ciphertext and the second ciphertext to a second device.
  • the devices at the transmitting end and the receiving end of the public key communication may be referred to as a first device and a second device, respectively, and the first device in the public key communication is to be sent to the first device.
  • the unencrypted data of the two devices may be referred to as plaintext information.
  • the first public key and the second public key may be generated by a key generation device of the public key communication, and the key generation device may be a second device or other trusted third party device, where the Obtaining, by the device, the first public key and the first public key required for performing encrypted communication with the second device from the key generation device before preparing to send the encrypted data to the second device, that is, the a public key certificate of the second device, the key generation device simultaneously generating a first private key, a second private key, and a third private key paired with the first public key and the second public key.
  • the public key information is stored in a public key certificate issued by a public key infrastructure (PKI).
  • PKI public key infrastructure
  • the first public key may be represented in a polynomial form, and the first public key may be calculated on a truncated polynomial ring according to system parameters.
  • the system parameter refers to a set of parameters preset by the key generation device, the first device at the transmitting end, and the first device at the receiving end in consideration of security and computational efficiency in the process of public key communication.
  • a truncated polynomial ring is a set of univariate N-1 polynomials whose coefficients are integers. The truncated polynomial ring used to calculate the first public key can be determined according to the system parameters used in the current public key communication.
  • the second public key may be represented in a polynomial form, and the second public key is randomly selected on the truncated polynomial ring.
  • the truncated polynomial ring used to select the second public key may be determined according to system parameters used in the current public key communication.
  • the random information may be randomly selected by the first device on the truncated polynomial ring according to the requirements of security and encryption efficiency, that is, the random information may be any univariate polynomial.
  • the coefficients of the univariate polynomial may constitute a vector, and the norm magnitude of the vector of the coefficients is inversely proportional to the encryption efficiency. Therefore, the first device may prefer a univariate polynomial with the smallest norm of the vector of the coefficients as The random information.
  • the first device uses the first public key to encrypt the first ciphertext obtained by encrypting the random information, and the first device compares the plaintext according to the second public key and the random information.
  • the second ciphertext obtained by encrypting the information is a pair of polynomials.
  • the first device encrypts the random information according to the first public key to obtain the first ciphertext, similar to the communication party first performing a shared key negotiation, and embedding the shared key into a class of one-way trapdoor function for The probability encryption is implemented, and the encryption method of the first ciphertext is carried to carry the random information, and the random information is equivalent to a shared key of the communication parties.
  • the first device encrypts the plaintext information according to the second public key to obtain a second ciphertext, which is similar to using the shared key to implement one-time encryption, and the second ciphertext carries the plaintext information to obtain the first
  • the encryption mode of the second ciphertext does not reveal the plaintext information.
  • the mathematical method can prove that the public key communication method of the present invention has higher security than the prior art NTRU algorithm.
  • the first device encrypts the random information according to the first public key to obtain the first ciphertext, and encrypts the plaintext information according to the second public key to obtain the second ciphertext.
  • the plaintext information is unencrypted data to be sent by the first device to the second device;
  • the first public key is represented by a polynomial form, and the first public key is calculated on the truncated polynomial ring according to system parameters.
  • the second public key is represented in a polynomial form, the second public key is randomly selected on the truncated polynomial ring; the random information is randomly selected on the truncated polynomial ring; the first device will use the first ciphertext And transmitting the second ciphertext to the second device, which is equivalent to using the random information as a shared key and encrypting the random information once, and then encrypting the plaintext information by using the public key and the random information, thereby realizing security more High public key encryption communication method.
  • the method embodiment 1 shown in FIG. 1 includes an optional implementation manner, and FIG. 1 The difference between the methods is:
  • the random information in S101 may include a first random polynomial and a second random polynomial.
  • the first device in S101 performs encryption according to the first public key and the random information, and obtains the first ciphertext, which may specifically include:
  • the first device calculates, according to the first public key, the first random polynomial, and the second random polynomial, the first truncated polynomial ring of the first system parameter of the module. Cipher text.
  • the plaintext information in S101 can be represented as a polynomial on a second truncated polynomial ring of the second system parameter.
  • the first device in S101 encrypts the plaintext information according to the second public key, and obtains the second ciphertext, which may specifically include:
  • the first device according to the second public key, the first random polynomial, the second random polynomial, and the plaintext information, a second truncated polynomial ring in the second system parameter of the module
  • the second ciphertext is calculated.
  • the first public key in S101-1 may be calculated by the key generation device on the first truncated polynomial ring according to the first system parameter, the third random polynomial, and the fourth random polynomial.
  • the third random polynomial and the fourth random polynomial may be randomly selected by the key generation device, and the value range of the third random polynomial should satisfy the first truncation of the first system parameter in the module.
  • the third truncated polynomial ring of the polynomial ring and the third system parameter has an inverse element at the same time; the fourth random polynomial ranges from a polynomial having an inverse element on the first truncated polynomial ring.
  • the second public key in S101-2 may be randomly selected by the key generation device, and the value of the second public key ranges from an arbitrary polynomial on the second truncated polynomial ring.
  • the first public key can be based on Calculated on the first truncated polynomial ring, wherein h 1 is the first public key, p is the third system parameter, and f is the third random polynomial, An inverse of the third random polynomial on a first truncated polynomial ring of the first system parameter of the module, where g is the fourth random polynomial, and the first truncated polynomial ring is
  • the first system parameter in S101-1, the second system parameter in S101-2, and the fourth system parameter N may be performed by the key generation device according to security and a key. The resulting performance requirements are pre-set.
  • the fourth system parameter N may be selected 503.
  • the truncated polynomial ring refers to a set of univariate N-1 polynomials whose coefficients are integers, which can usually be expressed as
  • the first truncated polynomial ring of the first system parameter of the module described in S101-1 refers to the truncated polynomial ring obtained by the first system parameter of the truncated polynomial ring mode
  • the third truncated polynomial ring of the third system parameter of the mode refers to the truncated polynomial ring obtained by truncating the third system parameter of the polynomial ring mode.
  • the operation of the modular polynomial is a polynomial divided by a modular polynomial.
  • the operation result of the modular polynomial is the residual polynomial obtained by dividing the polynomial by the modular polynomial.
  • the operation result of a polynomial modular polynomial X N -1 is the polynomial except The remainder polynomial of the polynomial X N -1.
  • the modulo operation of the present invention only takes the modulo operation result in the absolute minimum complete residual system, for example, the operation result in a minimum complete residual system of a natural digital modulo 3 is -1, 0, 1, Instead of 0, 1, 2.
  • a polynomial having a coefficient of +1 or -1 or 0 may be selected on the truncated polynomial ring Z[X]/X N -1, wherein The number of items with a coefficient of +1 is about N/3, the number of items with a coefficient of -1 is about N/3-1, and the coefficient of the remaining items is 0.
  • the first ciphertext and the second ciphertext are sent to the second device by the first device, so that the second device is configured according to the first ciphertext and the second ciphertext, and Decrypting the first private key and the second private key and the third private key corresponding to the first public key and the second public key to obtain plaintext information, which is equivalent to using the random information as a shared key and implementing the random information
  • the public key and random information are used to encrypt the plaintext information, which realizes a more secure public key encryption communication method.
  • the encryption method of the present invention has a certain improvement in encryption speed, decryption speed, and ciphertext expansion ratio as compared with other encryption methods that can prove security.
  • Embodiment 2 is a flowchart of Embodiment 2 of a public key encryption communication method according to the present invention. As shown in FIG. 2, the method in this embodiment may include:
  • the second device receives the first ciphertext and the second ciphertext sent by the first device.
  • the second device calculates a second random polynomial according to the first private key, the second private key, the first system parameter, and the first ciphertext, and obtains the first random polynomial according to the third private key.
  • the first private key is represented by a polynomial form, the first private key is randomly selected on the truncated polynomial ring;
  • the second private key is represented by a polynomial form, and the second private key is the truncated polynomial of the first private key An inverse element on the ring;
  • the third private key is represented in a polynomial form, and the third private key is calculated according to an inverse element of the system parameter and a polynomial having an inverse element on the truncated polynomial.
  • the second device obtains plaintext information according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key.
  • the plaintext information is sent by the first device.
  • Unencrypted data for the second device the second public key is represented in a polynomial form, and the second public key is randomly selected on a truncated polynomial ring.
  • the second device receives the first ciphertext and the second ciphertext sent by the first device as encrypted data, and the first ciphertext and the second ciphertext may be a pair of polynomials.
  • the first private key may be represented by a polynomial form, the first private key may be randomly selected on a truncated polynomial ring; the second private key may be represented by a polynomial form, and the second private key may be the A private key is an inverse of the truncated polynomial ring; the third private key may be represented in a polynomial form, and the third private key may be calculated according to an inverse element of the system parameter and a polynomial having an inverse element on the truncated polynomial.
  • the system parameter refers to a set of parameters preset by the key generation device, the first device at the transmitting end, and the first device at the receiving end in consideration of security and computational efficiency in the process of public key communication.
  • a truncated polynomial ring is a set of univariate N-1 polynomials whose coefficients are integers.
  • the truncated polynomial ring for selecting the first private key, the truncated polynomial ring for selecting the second private key, and the truncated polynomial ring for selecting the third private key may be respectively determined according to system parameters used in the current public key communication.
  • the second device acquires the private key information and the public key information required for decryption from the key generation device of the public key communication before receiving the encrypted data sent by the first device.
  • the key generation device may be a second device or other trusted third party device, and the first private key, the second private key, the third private key, and the second public key may be used by the public
  • the key generation device of the key communication generates, and the first private key, the second private key, and the third private key generated by the key generation device match the first public key and the second public key.
  • the second device calculates a second random polynomial according to the first private key, the second private key, the first system parameter, and the first ciphertext, and obtains the first random polynomial according to the third private key, similar to the communication.
  • the two parties negotiate a shared key, and the second random polynomial corresponding to the one-way trapdoor function is solved according to the first private key and the second private key, the first ciphertext, and the first random polynomial is solved according to the third private key, which is equivalent to And obtaining a shared key of the communication parties from the first ciphertext.
  • the one-way trapdoor function is used when the first device encrypts data, and the system parameter is the same as that used by the first device when encrypting data.
  • the second device is configured according to the one-way trapdoor function, the first private key, the second private key, the first system parameter, the third private key, and the first ciphertext used by the first device in the encryption process.
  • a second random polynomial and a first random polynomial can be calculated.
  • the second device may calculate the plaintext information according to the one-way trapdoor function, the first random polynomial, the second random polynomial, the second public key, and the second ciphertext used by the first device encryption process.
  • the security of the method shown in the embodiment of the present invention is the same as that of the method shown in FIG. 1.
  • the method embodiment 2 shown in FIG. 2 includes an optional implementation manner, which is different from the method shown in FIG. 2:
  • the second device in S202 calculates, according to the first private key, the second private key, and the first ciphertext Obtaining a second random polynomial may specifically include:
  • the second device calculates, according to the first ciphertext and the first private key, a process parameter on a first truncated polynomial ring of a first system parameter of the module.
  • the second device obtains the second random polynomial on a third truncated polynomial ring of a third system parameter according to the process parameter and the second private key.
  • the obtaining the first random polynomial according to the third private key in S202 may specifically include:
  • the second device calculates the first random polynomial on the first truncated polynomial ring of the first system parameter of the module according to the process parameter and the third private key.
  • the second device in S203 obtains the plaintext information according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key, and may specifically include:
  • the second device calculates, according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key, on a second truncated polynomial ring of a second system parameter of the modulo
  • the plaintext information is obtained.
  • the first private key is a third random polynomial
  • the second private key is an inverse element of the third random polynomial on a third truncated polynomial ring of the third system parameter of the modulo, the third private key
  • the third random polynomial and the fourth random polynomial are randomly selected by the key generation device, and the value range of the third random polynomial is in the first truncated polynomial and the third system parameter.
  • a polynomial having an inverse element on the third truncated polynomial ring; the fourth random polynomial having a range of values is a polynomial having an inverse element on the first truncated polynomial ring of the first system parameter of the modulus.
  • s is the process parameter and f is the first private
  • c 1 is the first ciphertext.
  • the third private key can be based on Calculated on the first truncated polynomial ring of the first system parameter of the mode, Demodulating the inverse of the first system parameter for the third system parameter, q 1 is the first system parameter, and g is the fourth random polynomial, Is the inverse of the fourth random polynomial on the first truncated polynomial ring.
  • the first ciphertext and the second ciphertext sent by the first device are received by the second device, and according to the first private key, the second private key, the first system parameter, the third private key, and the The first ciphertext calculates a second random polynomial and a first random polynomial, and then obtains plaintext information according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key.
  • a public key cryptographic communication method that proves security is implemented.
  • the encryption method of the present application has a certain improvement in encryption speed, decryption speed, and ciphertext expansion ratio compared with other encryption methods that can prove security.
  • FIG. 3 is a flowchart of a third embodiment of a public key encryption communication method according to the present invention.
  • the interaction process between the first device at the transmitting end and the second device at the receiving end is performed by using the public key encrypted communication method described in FIG. 1-2.
  • the method in this embodiment may include:
  • the first device performs encryption according to the first public key and the random information to obtain a first ciphertext.
  • the first device encrypts the plaintext information according to the second public key to obtain a second ciphertext.
  • the plaintext information is unencrypted data to be sent by the first device to the second device; the random information is randomly selected on the truncated polynomial ring.
  • the first public key and the second public key are generated by a key generation device, and the key generation device may be a second device or other trusted third party device, wherein the first public key is represented by a polynomial form
  • the first public key is calculated on a truncated polynomial ring according to system parameters; the second public key is represented by a polynomial form, and the second public key is randomly selected on a truncated polynomial ring.
  • the plaintext information may be represented as a polynomial on a second truncated polynomial ring of the second system parameter.
  • the first device sends the first ciphertext and the second ciphertext to the second device.
  • the second device calculates a second random according to the first private key, the second private key, the first system parameter, and the first ciphertext, and obtains the first random polynomial according to the third private key.
  • the first private key, the second private key, and the third public key are generated by a key generation device, and the key generation device may be a second device or other trusted third-party device, where
  • the first private key may be represented in a polynomial form, the first private key may be randomly selected on a truncated polynomial ring;
  • the second private key may be represented in a polynomial form, and the second private key may be the first
  • the private key is an inverse element on the truncated polynomial ring;
  • the third private key may be represented in a polynomial form, and the third private key may be calculated according to an inverse element of the system parameter and a polynomial having an inverse element on the truncated polynomial.
  • the second device obtains plaintext information according to the first random polynomial, the second random polynomial, the second ciphertext, and the second public key.
  • step 301 the method further includes:
  • the key generation device calculates a first public key, the second public key, a first private key, and a second private key according to the first system parameter, the second system parameter, the third system parameter, and the fourth system parameter. And the third private key.
  • the first public key may be represented by a polynomial form, the first public key is calculated on a truncated polynomial ring according to a system parameter;
  • the second public key is represented by a polynomial form, and the second public key is Random selection on a truncated polynomial ring;
  • the first private key is represented in a polynomial form, and the first private key is in a truncated polynomial ring Randomly selected;
  • the second private key is represented by a polynomial form, the second private key is an inverse element of the first private key on the truncated polynomial ring;
  • the third private key is represented by a polynomial form, The third private key is calculated according to the inverse of the system parameter and the polynomial with the inverse element on the truncated polynomial.
  • the first device may search for a public key of the second device by using a PKI.
  • the first ciphertext and the second ciphertext are sent to the second device by using the first device, and the second device is configured according to the first ciphertext and the second ciphertext and the The first private key and the second private key corresponding to the first public key and the second public key are decrypted to obtain plaintext information, and a public key encrypted communication method capable of demonstrating security is realized.
  • the execution body of the embodiment is a key generation device, and the key generation device may be The second device or the third-party device, the method in this embodiment may include:
  • the system parameters are set according to security and encryption performance.
  • q 1 may be 239
  • q 2 may be 241
  • q 1 may be 269
  • q 2 may be 271.
  • N may preferably be 503.
  • S402. Determine a first truncated polynomial ring according to system parameters q 1 , q 2 , p, and N Second truncated polynomial ring And the third truncated polynomial ring Z p [X] / X N -1.
  • first truncated polynomial ring is a set of truncated polynomials of modulo q 1
  • second truncated polynomial ring is a set of truncated polynomials of modulo q 2
  • third truncated polynomial ring is a truncated polynomial of modulo p set.
  • the value range may be set according to the requirements of security and encryption performance. For example, to achieve higher security of the private key, when the polynomial f is chosen, a polynomial with a coefficient of +1 or -1 or 0 can be selected on the truncated polynomial ring Z[X]/X N -1, where the coefficient is The number of items of +1 is about N/3, the number of items with a coefficient of -1 is about N/3-1, and the coefficient of the remaining items is 0.
  • the third random polynomial f is the first private key, Is the second private key.
  • the key generation device publishes q 1 , q 2 , p, N, where h 1 , h 2 are the public keys of the second device.
  • FIG. 5 is a schematic diagram of a process of an optional implementation of the step 301 in the method shown in FIG. 3.
  • the execution body of the embodiment is a first device, and the method in this embodiment may include:
  • the q 1 is the first system parameter
  • the q 2 is the second system parameter
  • the p is the third system parameter
  • the N is the fourth system parameter
  • the system parameters q 1 , q 2 , p, N can be obtained by the method shown in FIG. 4;
  • the first truncated polynomial ring is a set of truncated polynomials of the modulo q 1
  • the second truncated polynomial ring is a truncation of the modulo q 2
  • the third truncated polynomial ring being a set of truncated polynomials of modulo p.
  • the value range may be set according to the requirements of security and encryption performance.
  • h 1 is a first public key, and h 1 can be obtained by the method shown in FIG. 4 .
  • h 2 is a second public key, and the system parameter h 2 can be obtained by the method shown in FIG. 4 .
  • FIG. 6 is a schematic diagram of a process of an optional embodiment of step 303 and step 304 in the method shown in FIG. 3.
  • the execution body of the embodiment is a second device, and the method in this embodiment may include :
  • the q 1 is the first system parameter
  • the q 2 is the second system parameter
  • the p is the third system parameter
  • the N is the fourth system parameter
  • the system parameters q 1 , q 2 , p, N can be obtained by the method shown in FIG. 4;
  • the first truncated polynomial ring is a set of truncated polynomials of the modulo q 1
  • the second truncated polynomial ring is a truncation of the modulo q 2
  • the third truncated polynomial ring being a set of truncated polynomials of modulo p.
  • f is the first private key
  • said c 1 is a first ciphertext
  • the f, c 1 can be obtained by the process shown in Figures 1-4.
  • G is the third private key, and the G can be obtained by the method shown in FIG.
  • h 2 is the second public key
  • the c 2 is the second ciphertext
  • the h 2 , c 2 can be obtained by the method shown in FIG. 4 .
  • the embodiment of the present invention further provides an optional implementation manner.
  • the method shown in FIG. 4 can be implemented by using the method shown in S405-1.
  • step S503 in the method shown in FIG. 5 can be implemented by using the method shown in S503-1:
  • h 1 is a first public key, and h 1 can be obtained by the method shown in step S405-1.
  • the encryption method provided by the present invention can still Provides greater security.
  • the encryption method of the present invention has certain advantages in terms of encryption speed, decryption speed and ciphertext expansion ratio, and the specific comparison is as follows:
  • the encryption speed of the public key encryption communication method of the present invention is superior to that of the NTRU algorithm.
  • the plaintext to be encrypted is set to Nlog 2 plog 2 q 2 bits long.
  • the present invention can encrypt Nlog 2 q 2 bit long plaintext each time, so it is necessary to encrypt log 2 p times.
  • Each NTRU encryption needs to be calculated on the ring Z q [X]/X N -1
  • the amount of calculation is about one ring Polynomial multiplication on. Therefore, the plaintext NTRU that encrypts Nlog 2 plog 2 q 2 bits long requires about log 2 q 1 ring Polynomial multiplication on.
  • the encryption speed of the present invention is about 2.5 times that of NTRU.
  • the decryption speed of the public key encryption communication method of the present invention is superior to that of the NTRU algorithm.
  • the length of the plaintext information corresponding to the ciphertext to be decrypted is set to Nlog 2 plog 2 q 2 bits.
  • the invention requires log 2 p decryption, and requires two rings for each decryption.
  • Nlog 2 plog 2 q 2 bit length corresponding to the plaintext decrypt the ciphertext the present invention requires about 3.04log 2 p RINGS Multiplication on.
  • the NTRU algorithm needs to run the log 2 q 2 ⁇ log 2 q 1 decryption algorithm to decrypt the ciphertext corresponding to the Nlog 2 plog 2 q 2 bit long plaintext.
  • the NTRU takes about 1.04log 2 q 1 RINGS Multiplication on.
  • the ciphertext is decrypted, and the decryption speed of the present invention is about 1.70 times that of NTRU.
  • the ciphertext extension ratio of the public key encryption communication method of the present invention is smaller than the NTRU algorithm. If the encrypted plaintext length of the present invention is expressed as Nlog 2 q 2 bits, the encrypted ciphertext length is c 1 is Nlog 2 q 1 bit long, c 2 is Nlog 2 q 2 bits long, and the ciphertext extension of the present invention is N(log 2 q 1 +log 2 q 2 ): Nlog 2 q 2 ⁇ 2:1.
  • the plaintext length of the NTRU is expressed as Nlog 2 p bits long
  • the encrypted ciphertext is Nlog 2 q bits long
  • the ciphertext extensions are approximately 4.42:1, 5.05:1, 5.68:1, respectively. Therefore, the present invention has a smaller ciphertext extension than NTRU.
  • FIG. 7 is a schematic structural diagram of Embodiment 1 of a public key encryption communication apparatus according to the present invention.
  • the apparatus in this embodiment may be a first device, that is, a transmitting end of a public key communication.
  • the apparatus 1 of this embodiment may include An encryption unit 11 and a transceiver unit 12, wherein the encryption unit 11 is configured to perform encryption according to the first public key and the random information to obtain a first ciphertext; and is further configured to encrypt the plaintext information according to the second public key to obtain a second Ciphertext; the plaintext information is unencrypted data to be sent by the first device to the second device; the first public key is represented by a polynomial form, and the first public key is on the truncated polynomial ring according to system parameters Calculated; the second public key is represented by a polynomial form, the second public key is randomly selected on the truncated polynomial ring; the random information is randomly selected on the truncated
  • the random information includes a first random polynomial and a second random polynomial;
  • the encryption unit 11 is specifically configured to:
  • the plaintext information is represented as a polynomial on a second truncated polynomial ring of the second system parameter; the encryption unit 11 is further specifically configured to:
  • the first public key is calculated on the first truncated polynomial ring of the first system parameter of the module according to the first system parameter, the third random polynomial, and the fourth random polynomial, and the third random polynomial And having an inverse element on the third truncated polynomial ring of the first system parameter of the mode and the third truncated polynomial ring of the third system parameter, wherein the fourth random polynomial is in the first parameter of the first system parameter of the mode
  • a truncated polynomial ring has an inverse element.
  • the second public key is randomly selected on the second truncated polynomial ring.
  • the encryption unit 11 is configured to calculate, according to the first public key, the first random polynomial, and the second random polynomial, on the first truncated polynomial ring of the modulus of the first system parameter.
  • the first ciphertext specifically for:
  • the cryptographic unit 11 is configured to calculate, on the second truncated polynomial ring of the second system parameter of the modulo, according to the second public key, the first random polynomial, the second random polynomial, and the plaintext information. Obtaining the second ciphertext, specifically for:
  • the first public key is based on Calculated on the first truncated polynomial ring, the p is the third system parameter, and the f is the third random polynomial, An inverse of the third random polynomial on a first truncated polynomial ring of the first system parameter of the modulo, the g being the fourth random polynomial, q 1 being the first system parameter, the a truncated polynomial ring
  • the second public key is randomly selected on the second truncated polynomial ring, and the second truncated polynomial ring is
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1-6, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 8 is a schematic structural diagram of Embodiment 2 of a public key encryption communication device according to the present invention.
  • the device in this embodiment may be a second device, that is, a receiving end of a public key communication.
  • the device 2 of this embodiment may include The transceiver unit 11 and the decryption unit 12, wherein the transceiver unit 11 is configured to receive the first ciphertext and the second ciphertext sent by the first device, and the decryption unit 12 is configured to use the first private key, the second private key, and the Calculating a second random polynomial according to the first ciphertext, and obtaining a first random polynomial according to the third private key, wherein the first private key is represented by a polynomial form, and the first private key is randomly selected on the truncated polynomial ring; The second private key is represented by a polynomial form, the second private key is an inverse element of the first private key on the truncated polynomi
  • the decryption unit 12 is specifically configured to:
  • the decryption unit 12 is also specifically configured to:
  • the second device calculates the first random polynomial on the first truncated polynomial ring of the first system parameter of the module according to the process parameter and the third private key.
  • the decryption unit 12 is also specifically configured to:
  • the first private key is a third random polynomial
  • the second private key is an inverse element of the third random polynomial on a third truncated polynomial ring of the third system parameter of the modulo, the third private key
  • the decryption unit 12 calculates the process parameters on the first truncated polynomial ring of the modulus of the first system parameter according to the first ciphertext and the first private key, and may be specifically used to:
  • the decryption unit 12 obtains the second random polynomial on the third truncated polynomial ring of the module of the third system parameter according to the process parameter and the second private key, which may be specifically used for:
  • s p s(mod p) and Calculating the second random polynomial on a third truncated polynomial ring of a third system parameter, wherein the p is the third system parameter,
  • s is the process parameter
  • the third truncated polynomial ring is Z p [X] / X N -1.
  • the decrypting unit 12 calculates the first random polynomial on the first truncated polynomial ring of the first system parameter of the module according to the process parameter and the third private key, which may be specifically used. to:
  • the decrypting unit 12 calculates the second truncated polynomial ring of the second system parameter according to the first random polynomial, the second random polynomial, the second ciphertext and the second public key.
  • the plain text information can be specifically used to:
  • the device in this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1-6, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes various media that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Lock And Its Accessories (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种公钥加密通信方法和装置。本发明公钥加密通信方法,包括:第一设备根据第一公钥对随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;所述第一设备将所述第一密文和所述第二密文发送给第二设备。本发明实施例实现了安全性更高的公钥加密通信方式。

Description

公钥加密通信方法和装置 技术领域
本发明实施例涉及通信技术,尤其涉及一种公钥加密通信方法和装置。
背景技术
在通信技术中,为保证两个通信个体间通信的保密性,需要在发送端使用密钥对数据进行加密,并在接收端使用密钥进行解密,加密时使用的密钥与解密时使用的密钥若相同,称为对称密钥加密,若不同,称为非对称密钥加密,也称为公开密钥加密,公开密钥加密方式具有两个重要的原则:第一,要求在加密算法和公钥都公开的前提下,其加密的密文必须是安全的;第二,要求发送端进行加密数据和接收端使用私钥解密数据的计算或处理都应比较简单,但对其他不掌握私钥的人,破译应极困难。随着计算机网络的发展,信息保密性要求的日益提高,公钥密码算法体现出了对称密钥加密算法不可替代的优越性。
现有的公开密钥体制的安全通信方法采用了数论研究单元(Number Theory Research Unit,简称NTRU)这种公开密钥体制,NTRU是一种基于多项式环的密码体制,具体算法如下:分别使用公钥和私钥进行加密和解密,所述公钥和所述私钥根据系统参数N、p、q和随机选取的两个多项式f和g计算获得,这种方法存在的问题就是其安全性不高。
发明内容
本发明实施例提供一种公钥加密通信方法和装置,以实现安全性更高的公钥加密通信方式。
本发明实施例的第一方面提供一种公钥加密通信方法,包括:
第一设备根据第一公钥对随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项 式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;
所述第一设备将所述第一密文和所述第二密文发送给第二设备。
结合第一方面,在第一方面的第一种可能的实现方式中,所述随机信息包括第一随机多项式和第二随机多项式;所述第一设备根据第一公钥和随机信息进行加密,得到第一密文,具体包括:
所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述明文信息表示为模第二系统参数的第二截断多项式环上的多项式;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文,具体包括:
所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文,具体包括:
根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000001
所述q1为所述第一系统参数。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文,具体包括:
根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所 述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000002
所述q2为所述第二系统参数。
结合第一方面的第二种至第三种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一公钥根据第一系统参数、第三随机多项式、第四随机多项式,在所述模第一系统参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一系统参数的第一截断多项式环和模第三系统参数的模的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述的模第一系统参数的所述第一截断多项式环上具有逆元。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一公钥根据
Figure PCTCN2015071619-appb-000003
在第一截断多项式环上计算得到,所述p为所述第三系统参数,所述f为所述第三随机多项式,所述
Figure PCTCN2015071619-appb-000004
为所述第三随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一系统参数,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000005
结合第一方面的第二种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000006
本发明实施例的第二方面提供一种公钥加密通信方法,包括:
第二设备接收第一设备发送的第一密文和第二密文;
所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到;
所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发 送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,具体包括:
所述第二设备根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数;
所述第二设备根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述根据第三私钥得到第一随机多项式,具体包括:
所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息,具体包括:
所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息。
结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二设备根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数,具体包括:
所述第二设备根据s=fc1在模第一系统参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二设备根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式,具体包括:
所述第二设备根据sp=s(mod p)以及
Figure PCTCN2015071619-appb-000007
在第三系统参数的模的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三系统参数,
Figure PCTCN2015071619-appb-000008
为所述第二私钥,s为所述过程参数,所述第三截断多项式环为
Figure PCTCN2015071619-appb-000009
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式,具体包括:
根据sp=s(mod p)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一系统参数,p为所述第三系统参数,G为所述第三私钥,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000010
结合第二方面的第三种可能的实现方式,在第二方面的第七种可能的实现方式中,所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息,具体包括:
根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
结合第二方面的第二种可能的实现方式,在第二方面的第八种可能的实现方式中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三系统参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三系统参数的逆、第四随机多项式在所述第一系统参数的模的第一截断多项式环上的逆元计算得到。
结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述第三私钥根据
Figure PCTCN2015071619-appb-000011
在所述模第一系统参数的所述第一截断多项式上计算得到,p-1为第三系统参数模所述第一系统参数的逆,q1为所述第一系统参数,
Figure PCTCN2015071619-appb-000012
为第四随机多项式在所述第一截断多项式环上的逆元,g为所述第四随机多项式。
本发明实施例的第三方面提供一种公钥加密通信装置,包括:
加密单元,用于根据第一公钥和随机信息进行加密,得到第一密文;还用于根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项 式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;
收发单元,将所述第一密文和所述第二密文发送给第二设备。
结合第三方面,在第三方面的第一种可能的实现方式中,所述随机信息包括第一随机多项式和第二随机多项式;所述加密单元具体用于:
根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述明文信息表示为模第二系统参数的第二截断多项式环上的多项式;所述加密单元还具体用于:
根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文。
结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述加密单元用于根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文,具体用于:
根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000013
所述q1为所述第一系统参数。
结合第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,所述加密单元用于根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文,具体用于:
根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000014
所述q2为所述第二系统参数。
结合第三方面的第二种至第三种任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述第一公钥根据第一系统参数、第三随机多项式、第四随机多项式,在所述模第一系统参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一系统参数的第一截断多项式环和模第三系统参数的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述模第一系统参数的所述第一截断多项式环上具有逆元。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述第一公钥根据
Figure PCTCN2015071619-appb-000015
在第一截断多项式环上计算得到,所述p为所述第三系统参数,所述f为所述第三随机多项式,所述
Figure PCTCN2015071619-appb-000016
为所述第三随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一系统参数,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000017
结合第三方面的第二种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000018
本发明实施例的第四方面提供一种公钥加密通信装置,包括:
收发单元,用于接收第一设备发送的第一密文和第二密文;
解密单元,用于根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到;
所述解密单元,还用于根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
结合第四方面,在第四方面的第一种可能的实现方式中,所述解密单元具体用于:
根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项 式环上计算得到过程参数;
根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述解密单元还具体用于:
所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述解密单元还具体用于:
根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息。
结合第四方面的第一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述解密单元根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数,具体用于:
根据s=fc1在模第一系统参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述解密单元根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式,具体用于:
根据sp=s(mod p)以及
Figure PCTCN2015071619-appb-000019
在第三系统参数的模的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三系统参数,
Figure PCTCN2015071619-appb-000020
为所述第二私钥,s为所述过程参数,所述第三截断多项式环为
Figure PCTCN2015071619-appb-000021
结合第四方面的第四种可能的实现方式,在第四方面的第六种可能的实现方式中,所述解密单元根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式,具体用于:
根据sp=s(mod p)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一系统参数,p为所述第三系统参数,G为所述第三私钥,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000022
结合第四方面的第三种可能的实现方式,在第四方面的第七种可能的实现方式中,所述解密单元根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息,具体用于:
根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
结合第四方面的第二种可能的实现方式,在第四方面的第八种可能的实现方式中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三系统参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三系统参数的逆、第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元计算得到。
结合第四方面的第八种可能的实现方式,在第四方面的第九种可能的实现方式中,所述第三私钥根据
Figure PCTCN2015071619-appb-000023
在所述模第一系统参数的所述第一截断多项式上计算得到,p-1为第三系统参数模所述第一系统参数的逆,q1为所述第一系统参数,
Figure PCTCN2015071619-appb-000024
为第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,g为所述第四随机多项式。
本发明实施例公钥加密通信方式,通过第一设备根据第一公钥对随机信息进行加密,得到第一密文,并根据第二公钥对明文信息进行加密,得到第二密文,其中,所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;所述第一设备将所述第一密文和所述第二密文发送给第二设备,相当于将随机信息作为共享密钥并对该随机信息实现了一次加密,再使用公钥和随机信息对明文信息进行加密,实现了安全性更高的公钥加密通信方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公钥加密通信方法实施例一的流程图;
图2为本发明公钥加密通信方法实施例二的流程图;
图3为本发明公钥加密通信方法实施例三的流程图;
图4为图3所示方法中步骤300的一种可选的实施方式的处理示意图;
图5为图3所示方法中步骤301的一种可选的实施方式的处理示意图;
图6为图3所示方法中步骤303和步骤304的一种可选的实施方式的处理示意图;
图7为本发明公钥加密通信装置实施例一的结构示意图;
图8为本发明公钥加密通信装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明公钥加密通信方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
S101、第一设备根据第一公钥对随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在 截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取。
S102、所述第一设备将所述第一密文和所述第二密文发送给第二设备。
在本发明提供的公钥加密通信方法的各种实施方式中,公钥通信的发送端和接收端的设备可以分别称为第一设备和第二设备,公钥通信中第一设备待发送给第二设备的的未加密数据可以称为明文信息。所述第一公钥和所述第二公钥可以由所述公钥通信的密钥生成设备生成,所述密钥生成设备可以是第二设备或其他可信的第三方设备,所述第一设备在准备向第二设备发送加密数据之前,从所述密钥生成设备获取与所述第二设备进行加密通信所需的所述第一公钥和所述第一公钥,即所述第二设备的公钥证书,所述密钥生成设备同时生成与所述第一公钥和第二公钥配对的第一私钥、第二私钥和第三私钥。所述公钥信息存储于公钥基础设施(Public Key Infrastructure,简称PKI)颁发的公钥证书中。
所述第一公钥可以采用多项式形式表示,所述第一公钥可以根据系统参数,在截断多项式环上计算得到。
其中,系统参数是指在公钥通信的过程中密钥生成设备、发送端的第一设备和接收端的第一设备基于安全性和计算效率的考虑预先设置的一组参数。截断多项式环是指系数为整数的单变量的N-1次多项式的集合。用于计算第一公钥的截断多项式环可以根据本次公钥通信采用的系统参数确定。
所述第二公钥可以采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
其中,用于选取第二公钥的截断多项式环可以根据本次公钥通信采用的系统参数确定。所述随机信息可以由所述第一设备根据安全性和加密效率的要求在截断多项式环上随机选取,也就是说,所述随机信息可以为任意单变量多项式。所述单变量多项式的系数可以组成一个向量,所述系数的向量的范数大小与加密效率成反比,因此,所述第一设备可以优选所述系数的向量的范数最小的单变量多项式作为所述随机信息。
所述第一设备使用所述第一公钥对所述随机信息进行加密得到的第一密文,和所述第一设备根据所述第二公钥和所述随机信息对所述明文 信息进行加密得到的第二密文为一对多项式。
所述第一设备根据第一公钥对随机信息进行加密得到第一密文,类似于通信双方先进行一次共享密钥协商,把共享密钥嵌入到一类单向陷门函数中,用于实现概率加密,得到所述第一密文的加密方式携载所述随机信息,所述随机信息相当于通信双方的共享密钥。所述第一设备根据第二公钥对明文信息进行加密得到第二密文,类似于使用共享密钥实现一次一密的加密,所述第二密文携载明文信息,得到所述第二密文的加密模式而不会泄露所述明文信息。利用数学方法可以证明本发明的这种公钥通信方法相比于现有技术的NTRU算法具有更高的安全性。一种安全性评估方法可描述如下:在一定攻击模式下,攻击者随机选取两个明文m1和m2,密码算法随机选取其中一个明文mb进行加密得到密文c,b为1或2,攻击者若能够从c以不可忽略概率判断出b=1或b=2,相当于攻击者正确猜出哪一个明文被加密得到密文c,则攻击者成功攻破该加密算法的语义安全性。应用上面的方法对本发明的加密方式的安全性进行验证,由于本发明是通过构造两次基于多项式的单向陷门函数进行两次加密,攻击者攻破算法的语义安全性的概率是可忽略的,而现有技术的NTRU加密算法其语义安全性被攻破的概率是不可忽略的,因此,通过数学方法可以评估出本发明相对于现有技术具有更高的安全性。
本发明实施例公钥加密通信方式,通过第一设备根据第一公钥对随机信息进行加密,得到第一密文,并根据第二公钥对明文信息进行加密,得到第二密文,其中,所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;所述第一设备将所述第一密文和所述第二密文发送给第二设备,相当于将随机信息作为共享密钥并对该随机信息实现了一次加密,再使用公钥和随机信息对明文信息进行加密,实现了安全性更高的公钥加密通信方式。
可选的,图1所示方法实施例一包括一种可选的实施方式,与图1所 示方法不同的是:
S101中的所述随机信息可以包括第一随机多项式和第二随机多项式。
相应地,S101中所述第一设备根据第一公钥和随机信息进行加密,得到第一密文,可以具体包括:
S101-1、所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文。
S101中的所述明文信息可以表示为模第二系统参数的第二截断多项式环上的多项式。
相应地,S101中所述第一设备根据第二公钥对明文信息进行加密,得到第二密文,可以具体包括:
S101-2、所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文。
其中,S101-1中的所述第一公钥可以由所述密钥生成设备根据第一系统参数、第三随机多项式、第四随机多项式,在所述第一截断多项式环上计算得到。其中,所述第三随机多项式和所述第四随机多项式可以由所述密钥生成设备随机选取,所述第三随机多项式的取值范围应满足在所述模第一系统参数的第一截断多项式环和模第三系统参数的第三截断多项式环上同时具有逆元;所述第四随机多项式的取值范围为在所述第一截断多项式环上具有逆元的多项式。
S101-2中的所述第二公钥可以由所述密钥生成设备随机选取,所述第二公钥的取值范围为第二截断多项式环上的任意多项式。
举例来说,所述第一公钥可以根据
Figure PCTCN2015071619-appb-000025
在第一截断多项式环上计算得到,其中,所述h1为所述第一公钥,所述p为所述第三系统参数,所述f为所述第三随机多项式,所述
Figure PCTCN2015071619-appb-000026
为所述第三随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000027
所述S101-1中的所述第一密文可以根据c1=r1h1+r2在第一截断多项式环上计算得到,其中,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000028
所述q1为所述第一系统参数。
所述S101-2中的所述第二密文可以根据c2=r1h2+r2+M在第二截断多项式环上计算得到,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000029
所述q2为所述系统第二参数。
在上述实施方式中,S101-1中的所述第一系统参数、S101-2中的所述第二系统参数以及第四系统参数N均可以由所述密钥生成设备根据安全性和密钥生成的性能要求预先设置。可选的,对于最高级别的安全性,第四系统参数N可以选取503。优选的,所述第一系统参数和第二系统参数为两个奇素数,且所述第二系统参数等于第一系统参数加2,即q2=q1+2,例如,q1为239,q2为241;或者,q1为269,q2为271。
需要说明的是,截断多项式环是指系数为整数的单变量的N-1次多项式的集合,通常可表示为
Figure PCTCN2015071619-appb-000030
S101-1中所述的模第一系统参数的第一截断多项式环
Figure PCTCN2015071619-appb-000031
是指所述截断多项式环模所述第一系统参数得到的截断多项式环,类似地,所述模第三系统参数的第三截断多项式环
Figure PCTCN2015071619-appb-000032
是指所述截断多项式环模所述第三系统参数得到的截断多项式环。另外,模多项式的运算是指一个多项式除以一个模多项式,模多项式的运算结果是该多项式除以模多项式所得的余多项式,例如,一个多项式模多项式XN-1的运算结果为该多项式除以多项式XN-1的余多项式。
进一步地,为了减少计算量,本发明所述模运算只取绝对最小完全剩余系内的模运算结果,例如,一个自然数模3最小完全剩余系内的运算结果为-1、0、1,而不是0、1、2。相应地,所述第一随机多项式和所述第二随机多项式的选取时,可以在截断多项式环Z[X]/XN-1上选择系数为+1或-1或0的多项式,其中,系数为+1的项数约为N/3个,系数为-1的项数约为N/3-1个,剩余的项的系数为0。
本实施例,通过所述第一设备将所述第一密文和所述第二密文发送给第二设备,以使所述第二设备根据所述第一密文和第二密文以及与所述第一公钥和第二公钥对应的第一私钥和第二私钥和第三私钥进行解密,得到明文信息,相当于将随机信息作为共享密钥并对该随机信息实现了一次加密,再使用公钥和随机信息对明文信息进行加密,实现了安全性更高的公钥加密通信方式。并且,本发明的加密方法与其他可证明安全性的加密方式相比,加密速度、解密速度以及密文扩展比方面都有一定提升。
图2为本发明公钥加密通信方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
S201、第二设备接收第一设备发送的第一密文和第二密文。
S202、所述第二设备根据第一私钥、第二私钥、第一系统参数和所述第一密文计算得到第二随机多项式,根据第三私钥、得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到。
S203、所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
其中,第二设备接收第一设备发送的所述第一密文和所述第二密文为加密后的数据,所述第一密文和所述第二密文可以为一对多项式。
所述第一私钥可以采用多项式形式表示,所述第一私钥可以在截断多项式环上随机选取;所述第二私钥可以采用多项式形式表示,所述第二私钥可以为所述第一私钥在截断多项式环上的逆元;所述第三私钥可以采用多项式形式表示,所述第三私钥可以根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到。
其中,系统参数是指在公钥通信的过程中密钥生成设备、发送端的第一设备和接收端的第一设备基于安全性和计算效率的考虑预先设置的一组参数。截断多项式环是指系数为整数的单变量的N-1次多项式的集合。
用于选取第一私钥的截断多项式环、用于选取第二私钥的截断多项式环和用于选取第三私钥的截断多项式环,可以分别根据本次公钥通信采用的系统参数确定。所述第二设备在接收所述第一设备发送的加密后的数据之前,从公钥通信的密钥生成设备获取解密需要的私钥信息和公钥信息。所述密钥生成设备可以是第二设备或其他可信任的第三方设备,所述第一私钥、所述第二私钥、所述第三私钥和第二公钥可以由所述公钥通信的密钥生成设备生成,所述密钥生成设备生成的第一私钥、第二私钥和第三私钥与所述第一公钥和第二公钥匹配。
所述第二设备根据第一私钥、第二私钥、第一系统参数和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式的过程,类似于通信双方协商共享密钥,根据第一私钥和第二私钥、第一密文解出单向陷门函数对应的第二随机多项式,以及根据第三私钥解出第一随机多项式,相当于从所述第一密文中获取通信双方的共享密钥。其中,所述单向陷门函数为所述第一设备在加密数据时使用的,且所述系统参数与所述第一设备在加密数据时使用的相同。
因此,所述第二设备根据所述第一设备在加密过程使用的单向陷门函数、第一私钥、第二私钥、第一系统参数、第三私钥和所述第一密文可以计算得到第二随机多项式和第一随机多项式。所述第二设备可以根据所述第一设备加密过程使用的单向陷门函数、第一随机多项式、第二随机多项式、第二公钥和所述第二密文计算得到所述明文信息。
本发明实施例所示方法的安全性与图1所示方法相同,具体可参考实施例一中的安全性证明过程,此处不再赘述。
可选的,图2所示方法实施例二包括一种可选的实施方式,与图2所示方法不同的是:
S202中的所述第二设备根据第一私钥、第二私钥和所述第一密文计算 得到第二随机多项式,可以具体包括:
S202-1、所述第二设备根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数。
S202-2、所述第二设备根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式。
S202中的所述根据第三私钥得到第一随机多项式,可以具体包括:
S202-3、所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式。
S203中的所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息,可以具体包括:
S203-1、所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息。
其中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三系统参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三系统参数的逆、第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元计算得到。
其中,所述第三随机多项式和所述第四随机多项式由所述密钥生成设备随机选取,所述第三随机多项式的取值范围为在所述第一截断多项式和模第三系统参数的第三截断多项式环上同时具有逆元的多项式;所述第四随机多项式的取值范围为在所述模第一系统参数的所述第一截断多项式环上具有逆元的多项式。
需要说明的是,上述各个系统参数及其对应的各个截断多项式环以及模运算的结果要求,与实施例一相同,此处不再赘述。
举例来说,S202-1中所述过程参数可以根据s=fc1在模第一系统参数的第一截断多项式环上计算得到,其中,s为所述过程参数,f为所述第一私钥,c1为所述第一密文。
S202-2中所述第二随机多项式可以根据sp=s(mod p)以及
Figure PCTCN2015071619-appb-000033
在模第三系统参数的第三截断多项式环上计算得到,其中,r2为所述第二随机 多项式,p为所述第三系统参数,
Figure PCTCN2015071619-appb-000034
为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
S202-3中所述第一随机多项式可以根据sp=s(mod p)以及r1=(s-sp)G在第一截断多项式环上计算得到,其中,s为所述过程参数,q1为所述第一系统参数,p为所述第三系统参数,G为所述第三私钥,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000035
其中,所述第三私钥可以根据
Figure PCTCN2015071619-appb-000036
在所述模第一系统参数的所述第一截断多项式环上计算得到,
Figure PCTCN2015071619-appb-000037
为第三系统参数模所述第一系统参数的逆,q1为所述第一系统参数,g为所述第四随机多项式,
Figure PCTCN2015071619-appb-000038
为第四随机多项式在所述第一截断多项式环上的逆元。
S203-1中所述明文信息可以根据M=c2-r1h2-r2在第二截断多项式环上计算得到,其中,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥,q2为所述第二系统参数。
本实施例,通过所述第二设备接收第一设备发送的第一密文和第二密文,并根据第一私钥、第二私钥、第一系统参数、第三私钥和所述第一密文计算得到第二随机多项式和第一随机多项式,再根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息。实现了可证明安全性的公钥加密通信方式。并且,本申请的加密方法与其他可证明安全性的加密方式相比,加密速度、解密速度以及密文扩展比方面都有一定提升。
下面采用几个具体的实施例,对图1-2所示方法实施例的技术方案进行详细说明。
图3为本发明公钥加密通信方法实施例三的流程图,本实施例对采用图1-2所述的公钥加密通信方法的发送端的第一设备和接收端的第二设备的交互过程进行说明,如图3所示,本实施例的方法可以包括:
S301、第一设备根据第一公钥和随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文。
其中,所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述随机信息在截断多项式环上随机选取。
所述第一公钥和所述第二公钥由密钥生成设备生成,密钥生成设备可以是第二设备或者其他可信的第三方设备,其中,所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
可选的,所述明文信息可以表示为模第二系统参数的第二截多项式环上的多项式。
S302、所述第一设备向所述第二设备发送所述第一密文和所述第二密文。
S303、所述第二设备根据第一私钥、第二私钥、第一系统参数和所述第一密文计算得到第二随机,根据第三私钥、得到第一随机多项式。
其中,所述第一私钥、所述第二私钥和所述第三公钥由密钥生成设备生成,密钥生成设备可以是第二设备或者其他可信的第三方设备,其中,所述第一私钥可以采用多项式形式表示,所述第一私钥可以在截断多项式环上随机选取;所述第二私钥可以采用多项式形式表示,所述第二私钥可以为所述第一私钥在截断多项式环上的逆元;所述第三私钥可以采用多项式形式表示,所述第三私钥可以根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到。
S304、所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息。
进一步地,在步骤301之前,还包括:
S300、所述密钥生成设备根据第一系统参数、第二系统参数、第三系统参数、第四系统参数计算第一公钥、所述第二公钥、第一私钥、第二私钥和第三私钥。
其中,所述第一公钥可以采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;
所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环 上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到。
可选的,所述第一设备可以通过PKI查找所述第二设备的公钥。
本实施例的技术方案和技术效果与图1-2所示的公钥加密通信方法相同,此处不再赘述。
本实施例,通过所述第一设备将所述第一密文和所述第二密文发送给第二设备,所述第二设备根据所述第一密文和第二密文以及与所述第一公钥和第二公钥对应的第一私钥和第二私钥和第三私钥进行解密,得到明文信息,实现了可证明安全性的公钥加密通信方式。
图4为图3所示方法中步骤300的一种可选的实施方式的处理示意图,如图4所示,本实施例的执行主体为密钥生成设备,所述密钥生成设备可以是所述第二设备或者所述第三方设备,本实施例的方法可以包括:
S401、确定系统参数q1、q2、p、N。
其中,所述q1为所述第一系统参数,所述q2为所述第二系统参数,所述所述p为所述第三系统参数,所述N为所述第四系统参数,所述系统参数根据安全性和加密性能设置。优选的,S401中确定的系统参数q1、q2、p、N,可以优选q1和q2为两个奇素数,且q2=q1+2。例如,q1可以为239,q2可以为241;或者,q1可以为269,q2可以为271。另外,对于最高级别的安全性,N可以优选为503。
S402、根据系统参数q1、q2、p、N确定第一截断多项式环
Figure PCTCN2015071619-appb-000039
第二截断多项式环
Figure PCTCN2015071619-appb-000040
和第三截断多项式环Zp[X]/XN-1。
其中,所述第一截断多项式环为模q1的截断多项式的集合,所述第二截断多项式环为模q2的截断多项式的集合,所述第三截断多项式环为模p的截断多项式的集合。
S403、确定第三随机多项式f的取值范围Lf和第四随机多项式g的取 值范围Lg
其中,所述取值范围可以根据安全性和加密性能的需要设置。例如,为达到更高的私钥的安全性,选取多项式f时,可以在截断多项式环Z[X]/XN-1上选择系数为+1或-1或0的多项式,其中,系数为+1的项数约为N/3个,系数为-1的项数约为N/3-1个,剩余的项的系数为0。
S404、随机选取第三随机多项式f∈Lf和第四随机多项式g∈Lg,其中,f在第三截断多项式环Zp[X]/XN-1和第一截断多项式环
Figure PCTCN2015071619-appb-000041
中分别有逆元
Figure PCTCN2015071619-appb-000042
Figure PCTCN2015071619-appb-000043
g在第一截断多项式环
Figure PCTCN2015071619-appb-000044
中有逆元
Figure PCTCN2015071619-appb-000045
其中,第三随机多项式f为第一私钥,
Figure PCTCN2015071619-appb-000046
为第二私钥。
S405、在第一截断多项式环上计算第一公钥
Figure PCTCN2015071619-appb-000047
S406、计算p模q1的逆元p-1
S407、在第一截断多项式环上计算第三私钥
Figure PCTCN2015071619-appb-000048
S408、在第二截断多项式环上随机选取第二公钥h2
在步骤408之后,密钥生成设备公布q1、q2、p、N,其中h1、h2为第二设备的公钥。
本实施例的技术方案和技术效果与图1-3所示的公钥加密通信方法相同,此处不再赘述。
图5为图3所示方法中步骤301的一种可选的实施方式的处理示意图,如图5所示,本实施例的执行主体为第一设备,本实施例的方法可以包括:
S501、根据系统参数q1、q2、p、N确定第一截断多项式环
Figure PCTCN2015071619-appb-000049
第二截断多项式环
Figure PCTCN2015071619-appb-000050
和第三截断多项式环Zp[X]/XN-1。
其中,所述q1为所述第一系统参数,所述q2为所述第二系统参数,所述p为所述第三系统参数,所述N为所述第四系统参数,所述系统参数q1、q2、p、N可以由图4所示方法获得;所述第一截断多项式环为模q1的截断多项式的集合,所述第二截断多项式环为模q2的截断多项式的集 合,所述第三截断多项式环为模p的截断多项式的集合。
S502、在第三截断多项式环上确定第一随机多项式r1的取值范围
Figure PCTCN2015071619-appb-000051
和第四随机多项式r2的取值范围
Figure PCTCN2015071619-appb-000052
其中,所述取值范围可以根据安全性和加密性能的需要设置。
S503、在第一截断多项式环
Figure PCTCN2015071619-appb-000053
上计算第一密文c1=r1h1+r2
其中,所述h1为第一公钥,所述h1可以由图4所示方法获得。
S504、将明文信息M表示为第二截断多项式环
Figure PCTCN2015071619-appb-000054
上的多项式。
S505、在第二截断多项式环
Figure PCTCN2015071619-appb-000055
上计算第二密文c2=r1h2+r2+M。
其中,所述h2为第二公钥,所述系统参数h2可以由图4所示方法获得。
S506、得到所述明文信息M对应的密文c=(c1,c2)。
本实施例的技术方案和技术效果与图1-4所示的公钥加密通信方法相同,此处不再赘述。
图6为图3所示方法中步骤303和步骤304的一种可选的实施方式的处理示意图,如图6所示,本实施例的执行主体为第二设备,本实施例的方法可以包括:
S601、根据系统参数q1、q2、p、N确定第一截断多项式环
Figure PCTCN2015071619-appb-000056
第二截断多项式环
Figure PCTCN2015071619-appb-000057
和第三截断多项式环Zp[X]/XN-1。
其中,所述q1为所述第一系统参数,所述q2为所述第二系统参数,所述p为所述第三系统参数,所述N为所述第四系统参数,所述系统参数q1、q2、p、N可以由图4所示方法获得;所述第一截断多项式环为模q1的截断多项式的集合,所述第二截断多项式环为模q2的截断多项式的集合,所述第三截断多项式环为模p的截断多项式的集合。
S602、在第一截断多项式环上计算过程参数s=fc1,并计算过程参数模p得到的余数sp=s(mod p)。
其中,所述f为所述第一私钥,所述c1为所述第一密文,所述f、c1可以由图1-4所示方法获得。
S603、在第三截断多项式环上计算第二随机多项式
Figure PCTCN2015071619-appb-000058
其中,所述
Figure PCTCN2015071619-appb-000059
为所述第二私钥,所述
Figure PCTCN2015071619-appb-000060
可以由图4所示方法获得。
S604、在第一截断多项式环上计算第一随机多项式r1=(s-sp)G。
其中,所述G为所述第三私钥,所述G可以由图4所示方法获得。
S605、在第二截断多项式环上计算明文信息M=c2-r1h2-r2
其中,所述h2为所述第二公钥,所述c2为所述第二密文,所述h2、c2可以由图4所示方法获得。
本实施例的技术方案和技术效果与图1-5所示的公钥加密通信方法相同,此处不再赘述。
可选的,本发明实施例还提供一种可选的实施方式,与图4-图6所示方法不同的是,图4所示方法中步骤S405可以采用S405-1所示的方法实现:
S405-1、在第一截断多项式环上计算第一公钥
Figure PCTCN2015071619-appb-000061
其中,所述
Figure PCTCN2015071619-appb-000062
为所述第三随机在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一系统参数,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000063
相应地,图5所示方法中步骤S503可以采用S503-1所示的方法实现:
S503-1、在第一截断多项式环
Figure PCTCN2015071619-appb-000064
上计算第一密文c1=pr1h1+r2
其中,所述h1为第一公钥,所述h1可以由步骤S405-1所示方法获得。
本实施例技术方案的其他步骤与图4-6所示的公钥加密通信方法相同,此处不再赘述。
不仅如此,在一些资源受限的场景中,本发明提供的加密方式仍能 够提供更高的安全性。本发明的加密方法与现有的其他可证明安全性的加密方式相比,在加密速度、解密速度以及密文扩展比方面也具有一定优势,具体比较如下:
本发明的公钥加密通信方法的加密速度优于NTRU算法。为方便比较本发明和NTRU算法所需要的加密工作的计算量,设待加密明文为Nlog2plog2q2比特长。本发明每次可加密Nlog2q2比特长的明文,故需加密log2p次。在本发明中,每次加密需要先在模q1的截断多项式环
Figure PCTCN2015071619-appb-000065
上计算c1=r1h1+r2,而加法的计算量可以忽略,因此,需要大约一次环
Figure PCTCN2015071619-appb-000066
上的多项式乘法运算,然后在模q2的截断多项式环
Figure PCTCN2015071619-appb-000067
上计算c2=r1h2+r2+M,因此也需要大约一次环
Figure PCTCN2015071619-appb-000068
上的多项式乘法运算。而这里q2=q1+2,因此大约需要两次环
Figure PCTCN2015071619-appb-000069
上的多项式乘法运算。故加密N log2plog2q2比特长的明文加密,本发明的方案需要约2log2p次环
Figure PCTCN2015071619-appb-000070
上的多项式乘法运算。NTRU原始算法每次可加密Nlog2p比特长的明文,故加密Nlog2plog2q2比特长的明文NTRU需加密log2q2≈log2q1次。NTRU每次加密需要作环Zq[X]/XN-1上的计算
Figure PCTCN2015071619-appb-000071
其计算量大约是一次环
Figure PCTCN2015071619-appb-000072
上的多项式乘法运算。因此,加密Nlog2plog2q2比特长的明文NTRU需要约log2q1次环
Figure PCTCN2015071619-appb-000073
上的多项式乘法运算。加密给定长度的明文,本发明和NTRU算法的计算量之比大约为2log2p:log2q1,在参数选取p=3,q1=239下,该比值约为0.4,也就是说,本发明的加密速度约为NTRU的2.5倍。
另外,本发明的公钥加密通信方法的解密速度优于NTRU算法。为方便比较本发明和NTRU算法所需要的解密工作的计算量,设待解密的密文对应的明文信息的长度为对Nlog2plog2q2比特。本发明需要log2p次解密,每次解密需要两次环
Figure PCTCN2015071619-appb-000074
上的乘法运算s=fc1和r1=(s-sp)G,一次环Zp[X]/XN-1上的乘法
Figure PCTCN2015071619-appb-000075
以及大约一次环
Figure PCTCN2015071619-appb-000076
上乘法M=c2-r1h2-r2,而一次环Zp[X]/XN-1上的乘法运算相当于log2 2p:log2 2q1≈0.04次(考虑p=3,q1=239)环
Figure PCTCN2015071619-appb-000077
上的乘法运算。因此,本发明解密Nlog2plog2q2比特长明文对应的密文大约需要3.04次环
Figure PCTCN2015071619-appb-000078
上的乘法运算。因此,对Nlog2plog2q2比特长明文对应的密文进行解密,本发明需要约3.04log2p次环
Figure PCTCN2015071619-appb-000079
上的乘法运算。而NTRU算法对Nlog2plog2q2比特长明文对应的密文进行解密需要运行log2q2≈log2q1次解密算法。NTRU每次解密需要一次环Zq[X]/XN-1上的乘法运算a=fc和一次环Zp[X]/XN-1上的乘法运算
Figure PCTCN2015071619-appb-000080
因此,NTRU每次解密需要约1.04次环
Figure PCTCN2015071619-appb-000081
上的乘法运算。于是,对Nlog2plog2q2比特长明文对应的密文进行解密,NTRU需要约1.04log2q1次环
Figure PCTCN2015071619-appb-000082
上的乘法运算。本发明和NTRU所需计算量之比为3.04log2p:1.04log2q1≈0.59(考虑p=3,q1=239),也就是说,对Nlog2plog2q2比特长明文对应的密文进行解密,本发明的解密速度大约为NTRU的1.70倍。
并且,本发明的公钥加密通信方法的密文扩展比小于NTRU算法。本发明加密的明文长度若表示为Nlog2q2比特,则加密后的密文长度为c1是Nlog2q1比特长,c2为Nlog2q2比特长,本发明的密文扩展为N(log2q1+log2q2):Nlog2q2<2:1。而NTRU的明文长度若表示为Nlog2p比特长,其加密后的密文为Nlog2q比特长,其密文扩展是Nlog2q:Nlog2p=logpq:1,在参数选取p=3,q=128,256,512的情况下,密文扩展分别约为4.42:1,5.05:1,5.68:1。因此,本发明较之NTRU具有更小的密文扩展。
图7为本发明公钥加密通信装置实施例一的结构示意图,本实施例的装置可以是第一设备,即公钥通信的发送端,如图7所示,本实施例的装置1可以包括:加密单元11和收发单元12,其中,加密单元11用于根据第一公钥和随机信息进行加密,得到第一密文;还用于根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;收发单元12用于将所述第一密文和所述第二密文发送给第二设备。
可选的,所述随机信息包括第一随机多项式和第二随机多项式;所述 加密单元11具体用于:
根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文。
相应的,所述明文信息表示为模第二系统参数的第二截断多项式环上的多项式;所述加密单元11还具体用于:
根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文。
其中,所述第一公钥根据第一系统参数、第三随机多项式、第四随机多项式,在所述模第一系统参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一系统参数的第一截断多项式环和模第三系统参数的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述模第一系统参数的所述第一截断多项式环上具有逆元。所述第二公钥在所述第二截断多项式环上随机选取。
进一步地,所述加密单元11用于根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在第一系统参数的模的第一截断多项式环上计算得到所述第一密文,具体用于:
根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000083
所述q1为所述第一系统参数。
所述加密单元11用于根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文,具体用于:
根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000084
所述q2为所述第二系统参数。
其中,所述第一公钥根据在第一截断多项式环上计算得到, 所述p为所述第三系统参数,所述f为所述第三随机多项式,所述
Figure PCTCN2015071619-appb-000086
为所述第三随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一系统参数,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000087
所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
Figure PCTCN2015071619-appb-000088
本实施例的装置,可以用于执行图1-6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明公钥加密通信装置实施例二的结构示意图,本实施例的装置可以是第二设备,即公钥通信的接收端,如图8所示,本实施例的装置2可以包括:收发单元11和解密单元12,其中,收发单元11用于接收第一设备发送的第一密文和第二密文,解密单元12,用于根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到;所述解密单元12,还用于根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
可选的,所述解密单元12具体用于:
根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数;
根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式。
所述解密单元12还具体用于:
所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式。
所述解密单元12还具体用于:
根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数在第二截断多项式环上计算得到所述明文信息。
其中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三系统参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三系统参数的逆、第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元计算得到。
举例来说,所述解密单元12根据所述第一密文、所述第一私钥在第一系统参数的模的第一截断多项式环上计算得到过程参数,可以具体用于:
根据s=fc1在模第一系统参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
并且,所述解密单元12根据所述过程参数、所述第二私钥在第三系统参数的模的第三截断多项式环上得到所述第二随机多项式,可以具体用于:
根据sp=s(mod p)以及
Figure PCTCN2015071619-appb-000089
在模第三系统参数的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三系统参数,
Figure PCTCN2015071619-appb-000090
为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
相应的,所述解密单元12根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式,可以具体用于:
根据sp=s(mod p)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一系统参数,p为所述第三系统参数,G为所述第三私钥,所述第一截断多项式环为
Figure PCTCN2015071619-appb-000091
然后,所述解密单元12根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息,可以具体用于:
根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机 多项式,所述h2为所述第二公钥。
本实施例的装置,可以用于执行图1-6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (36)

  1. 一种公钥加密通信方法,其特征在于,包括:
    第一设备根据第一公钥对随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示且所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示且所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;
    所述第一设备将所述第一密文和所述第二密文发送给第二设备。
  2. 根据权利要求1所述的方法,其特征在于,所述随机信息包括第一随机多项式和第二随机多项式;所述第一设备根据第一公钥对随机信息进行加密,得到第一密文,具体包括:
    所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文。
  3. 根据权利要求2所述的方法,其特征在于,所述明文信息表示为模第二系统参数的第二截断多项式环上的多项式;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文,具体包括:
    所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文。
  4. 根据权利要求2所述的方法,其特征在于,所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文,具体包括:
    根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为
    Figure PCTCN2015071619-appb-100001
    所述q1为所述第一系统参数。
  5. 根据权利要求3所述的方法,其特征在于,所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息, 在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文,具体包括:
    根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为
    Figure PCTCN2015071619-appb-100002
    所述q2为所述第二系统参数。
  6. 根据权利要求2或3所述的方法,其特征在于,所述第一公钥根据第一系统参数、第三随机多项式、第四随机多项式,在所述模第一系统参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一系统参数的第一截断多项式环和模第三系统参数的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述模第一系统参数的所述第一截断多项式环上具有逆元。
  7. 根据权利要求6所述的方法,其特征在于,所述第一公钥根据
    Figure PCTCN2015071619-appb-100003
    在第一截断多项式环上计算得到,所述p为所述第三系统参数,所述f为所述第三随机多项式,所述
    Figure PCTCN2015071619-appb-100004
    为所述第三随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一系统参数,所述第一截断多项式环为
    Figure PCTCN2015071619-appb-100005
  8. 根据权利要求3所述的方法,其特征在于,所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
    Figure PCTCN2015071619-appb-100006
  9. 一种公钥加密通信方法,其特征在于,包括:
    第二设备接收第一设备发送的第一密文和第二密文;
    所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到;
    所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所 述第二公钥在截断多项式环上随机选取。
  10. 根据权利要求9所述的方法,其特征在于,所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,具体包括:
    所述第二设备根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数;
    所述第二设备根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式。
  11. 根据权利要求10所述的方法,其特征在于,所述根据第三私钥得到第一随机多项式,具体包括:
    所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式。
  12. 根据权利要求11所述的方法,其特征在于,所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息,具体包括:
    所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息。
  13. 根据权利要求11所述的方法,其特征在于,所述第二设备根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数,具体包括:
    所述第二设备根据s=fc1在模第一系统参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
  14. 根据权利要求13所述的方法,其特征在于,所述第二设备根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式,具体包括:
    所述第二设备根据sp=s(mod p)以及
    Figure PCTCN2015071619-appb-100007
    在模第三系统参数的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三系统参数,
    Figure PCTCN2015071619-appb-100008
    为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
  15. 根据权利要求13所述的方法,其特征在于,所述第二设备根据所 述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式,具体包括:
    根据sp=s(mod p)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一系统参数,p为所述第三系统参数,G为所述第三私钥,所述第一截断多项式环为
    Figure PCTCN2015071619-appb-100009
  16. 根据权利要求12所述的方法,其特征在于,所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息,具体包括:
    根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
  17. 根据权利要求11所述的方法,其特征在于,所述第一私钥为第三随机多项式,所述第二私钥为所述第三随机多项式在所述模第三系统参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三系统参数的逆、第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元计算得到。
  18. 根据权利要求17所述的方法,其特征在于,所述第三私钥根据
    Figure PCTCN2015071619-appb-100010
    在所述模第一系统参数的所述第一截断多项式上计算得到,p-1为第三系统参数模所述第一系统参数的逆,q1为所述第一系统参数,
    Figure PCTCN2015071619-appb-100011
    为第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,g为所述第四随机多项式。
  19. 一种公钥加密通信装置,其特征在于,包括:
    加密单元,用于根据第一公钥对随机信息进行加密,得到第一密文;还用于根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据系统参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;
    收发单元,将所述第一密文和所述第二密文发送给第二设备。
  20. 根据权利要求19所述的装置,其特征在于,所述随机信息包括第一随机多项式和第二随机多项式;所述加密单元具体用于:
    根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的第一截断多项式环上计算得到所述第一密文。
  21. 根据权利要求20所述的装置,其特征在于,所述明文信息表示为模第二系统参数的第二截断多项式环上的多项式;所述加密单元还具体用于:
    根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文。
  22. 根据权利要求20所述的装置,其特征在于,所述加密单元用于根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一系统参数的截断多项式环上计算得到所述第一密文,具体用于:
    根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为
    Figure PCTCN2015071619-appb-100012
    所述q1为所述第一系统参数。
  23. 根据权利要求21所述的装置,其特征在于,所述加密单元用于根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二系统参数的第二截断多项式环上计算得到所述第二密文,具体用于:
    根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为
    Figure PCTCN2015071619-appb-100013
    所述q2为所述第二系统参数。
  24. 根据权利要求20或21所述的装置,其特征在于,所述第一公钥根据第一系统参数、第三随机多项式、第四随机多项式,在所述模第一系统参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一系统参数的第一截断多项式环和模第三系统参数的第三截断多项式 环上同时具有逆元,所述第四随机多项式在所述模第一系统参数的所述第一截断多项式环上具有逆元。
  25. 根据权利要求24所述的装置,其特征在于,所述第一公钥根据
    Figure PCTCN2015071619-appb-100014
    在第一截断多项式环上计算得到,所述p为所述第三系统参数,所述f为所述第三随机多项式,所述
    Figure PCTCN2015071619-appb-100015
    为所述第三随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一系统参数,所述第一截断多项式环为
    Figure PCTCN2015071619-appb-100016
  26. 根据权利要求21所述的装置,其特征在于,所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
    Figure PCTCN2015071619-appb-100017
  27. 一种公钥加密通信装置,其特征在于,包括:
    收发单元,用于接收第一设备发送的第一密文和第二密文;
    解密单元,用于根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据系统参数的逆元和截断多项式上具有逆元的多项式计算得到;
    所述解密单元,还用于根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
  28. 根据权利要求27所述的装置,其特征在于,所述解密单元具体用于:
    根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数;
    根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式。
  29. 根据权利要求28所述的装置,其特征在于,所述解密单元还具体用于:
    所述第二设备根据所述过程参数和所述第三私钥,在所述模第一系统 参数的所述第一截断多项式环上计算得到所述第一随机多项式。
  30. 根据权利要求29所述的装置,其特征在于,所述解密单元还具体用于:
    根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息。
  31. 根据权利要求29所述的装置,其特征在于,所述解密单元根据所述第一密文、所述第一私钥在模第一系统参数的第一截断多项式环上计算得到过程参数,具体用于:
    根据s=fc1在模第一系统参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
  32. 根据权利要求31所述的装置,其特征在于,所述解密单元根据所述过程参数、所述第二私钥在模第三系统参数的第三截断多项式环上得到所述第二随机多项式,具体用于:
    根据sp=s(mod p)以及
    Figure PCTCN2015071619-appb-100018
    在模第三系统参数的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三系统参数,
    Figure PCTCN2015071619-appb-100019
    为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
  33. 根据权利要求31所述的装置,其特征在于,所述解密单元根据所述过程参数和所述第三私钥,在所述模第一系统参数的所述第一截断多项式环上计算得到所述第一随机多项式,具体用于:
    根据sp=s(mod p)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一系统参数,p为所述第三系统参数,G为所述第三私钥,所述第一截断多项式环为
    Figure PCTCN2015071619-appb-100020
  34. 根据权利要求30所述的装置,其特征在于,所述解密单元根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二系统参数的第二截断多项式环上计算得到所述明文信息,具体用于:
    根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
  35. 根据权利要求29所述的装置,其特征在于,所述第一私钥为第三随机多项式,所述第二私钥为所述第三随机多项式在所述模第三系统参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三系统参数的逆、第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元计算得到。
  36. 根据权利要求35所述的装置,其特征在于,所述第三私钥根据
    Figure PCTCN2015071619-appb-100021
    在所述模第一系统参数的所述第一截断多项式上计算得到,p-1为第三系统参数模所述第一系统参数的逆,q1为所述第一系统参数,
    Figure PCTCN2015071619-appb-100022
    为第四随机多项式在所述模第一系统参数的第一截断多项式环上的逆元,g为所述第四随机多项式。
PCT/CN2015/071619 2014-07-03 2015-01-27 公钥加密通信方法和装置 WO2016000447A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15790431.9A EP2996280A4 (en) 2014-07-03 2015-01-27 COMMUNICATION PROCESS AND DEVICE WITH PUBLIC KEY ENCRYPTION
US14/985,942 US20160119120A1 (en) 2014-07-03 2015-12-31 Method and apparatus for public-key encrypted communication

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410315215.2 2014-07-03
CN201410315215.2A CN105337737B (zh) 2014-07-03 2014-07-03 公钥加密通信方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/985,942 Continuation US20160119120A1 (en) 2014-07-03 2015-12-31 Method and apparatus for public-key encrypted communication

Publications (1)

Publication Number Publication Date
WO2016000447A1 true WO2016000447A1 (zh) 2016-01-07

Family

ID=55018403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/071619 WO2016000447A1 (zh) 2014-07-03 2015-01-27 公钥加密通信方法和装置

Country Status (4)

Country Link
US (1) US20160119120A1 (zh)
EP (1) EP2996280A4 (zh)
CN (1) CN105337737B (zh)
WO (1) WO2016000447A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585749B (zh) * 2016-10-26 2023-04-07 创新先进技术有限公司 数据传输方法、装置、系统及设备
CN107359979B (zh) * 2017-07-25 2019-11-01 西安电子科技大学 基于截断多项式的对称全同态加密方法
CN109756335B (zh) * 2018-12-28 2022-04-15 江宝安 一种阶为梅森素数的有限域乘法群的公钥加密解密方法
CN111314287A (zh) * 2019-12-20 2020-06-19 淮北师范大学 一种公钥加密通信方式和装置
JP7273742B2 (ja) * 2020-02-07 2023-05-15 株式会社東芝 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム
CN112235112B (zh) * 2020-09-03 2022-03-18 中国电子科技集团公司第三十研究所 基于零语义化与一次一密的ip加密方法、系统及存储介质
CN112422275A (zh) * 2020-10-26 2021-02-26 深圳Tcl新技术有限公司 Uart通信中的秘钥协商方法、系统、设备及计算机存储介质
JP7443217B2 (ja) * 2020-11-12 2024-03-05 株式会社東芝 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム
US11444767B1 (en) * 2021-03-03 2022-09-13 Nxp B.V. Method for multiplying polynomials for a cryptographic operation
CN113093678B (zh) * 2021-04-07 2022-12-20 国能(泉州)热电有限公司 一种电厂dcs系统数据处理方法
CN114969805B (zh) * 2022-04-18 2023-09-19 中移互联网有限公司 服务查询方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692598A (zh) * 2002-12-03 2005-11-02 松下电器产业株式会社 密钥共享系统、共享密钥生成装置及共享密钥复原装置
US20070110232A1 (en) * 2005-11-15 2007-05-17 Koichiro Akiyama Encryption apparatus, decryption apparatus, and method
CN103580859A (zh) * 2013-11-11 2014-02-12 国家电网公司 一种用于智能用电互动的非对称加密方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2263588C (en) * 1996-08-19 2005-01-18 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
EP1569378A4 (en) * 2002-12-03 2006-08-02 Matsushita Electric Ind Co Ltd TOGETHER FOR USING KEYS, PRODUCING EQUIPMENT FOR SHARED KEYS, AND RESTORING KEYS TO SHARED KEYS
JP4422981B2 (ja) * 2003-06-12 2010-03-03 パナソニック株式会社 暗号通信システム
JP4786531B2 (ja) * 2004-05-12 2011-10-05 パナソニック株式会社 暗号システム、暗号装置、復号装置、プログラムおよび集積回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692598A (zh) * 2002-12-03 2005-11-02 松下电器产业株式会社 密钥共享系统、共享密钥生成装置及共享密钥复原装置
US20070110232A1 (en) * 2005-11-15 2007-05-17 Koichiro Akiyama Encryption apparatus, decryption apparatus, and method
CN103580859A (zh) * 2013-11-11 2014-02-12 国家电网公司 一种用于智能用电互动的非对称加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2996280A4 *

Also Published As

Publication number Publication date
CN105337737A (zh) 2016-02-17
US20160119120A1 (en) 2016-04-28
CN105337737B (zh) 2018-11-20
EP2996280A1 (en) 2016-03-16
EP2996280A4 (en) 2016-09-07

Similar Documents

Publication Publication Date Title
WO2016000447A1 (zh) 公钥加密通信方法和装置
US10785019B2 (en) Data transmission method and apparatus
US9379891B2 (en) Method and system for ID-based encryption and decryption
WO2012172080A1 (en) Generation of cryptographic keys
CN113259329A (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
TWI760546B (zh) 用於高安全性高速資料加密及傳輸的電腦實施系統與方法
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN111478911A (zh) 一种采用轻量化密钥交换算法的即时通信加密方法
Reshma et al. Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications
US11165758B2 (en) Keystream generation using media data
US7231048B2 (en) Key sharing system, public key cryptosystem, signature system, key sharing apparatus, encryption apparatus, decryption apparatus, signature apparatus, authentication apparatus, key sharing method, encryption method, decryption method, signature method, authentication method, and programs
JP2005176144A (ja) 端末装置、通信システム及び通信方法
CN110321722B (zh) Dna序列相似率安全计算方法及系统
Kester A public-key exchange cryptographic technique using matrix
CN107483387A (zh) 一种安全控制方法及装置
CN111865578A (zh) 一种基于sm2的多接收方公钥加密方法
KR101727691B1 (ko) Id 기반 수신자 제한 암호 서버 및 시스템
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Patel et al. A critical analysis on encryption techniques used for data security in cloud computing and IOT (internet of things) based smart cloud storage system: a survey
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
Almuhammadi et al. Double-hashing operation mode for encryption
Tomar et al. Implementation of elliptic–curve cryptography
Garba TextFort: An Efficient Hybrid Short Message Service Encryption Scheme for Mobile Devices
JP2000115157A (ja) 紛失通信方法
CN116915407A (zh) 基于区块链的电子公证书校验方法及系统

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2015790431

Country of ref document: EP

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

Ref document number: 15790431

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE