[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2024140141A1 - 椭圆曲线中的二倍点、一般点加量子运算方法及解密方法 - Google Patents

椭圆曲线中的二倍点、一般点加量子运算方法及解密方法 Download PDF

Info

Publication number
WO2024140141A1
WO2024140141A1 PCT/CN2023/137893 CN2023137893W WO2024140141A1 WO 2024140141 A1 WO2024140141 A1 WO 2024140141A1 CN 2023137893 W CN2023137893 W CN 2023137893W WO 2024140141 A1 WO2024140141 A1 WO 2024140141A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantum
register
point
mod
constant
Prior art date
Application number
PCT/CN2023/137893
Other languages
English (en)
French (fr)
Other versions
WO2024140141A9 (zh
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
Priority claimed from CN202211692081.7A external-priority patent/CN118313477A/zh
Priority claimed from CN202211716263.3A external-priority patent/CN118313478A/zh
Priority claimed from CN202211716349.6A external-priority patent/CN118297168A/zh
Application filed by 本源量子计算科技(合肥)股份有限公司 filed Critical 本源量子计算科技(合肥)股份有限公司
Publication of WO2024140141A1 publication Critical patent/WO2024140141A1/zh
Publication of WO2024140141A9 publication Critical patent/WO2024140141A9/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers

Definitions

  • the present application belongs to the field of quantum computing technology, and in particular to a double point and general point plus quantum operation method and a decryption method in an elliptic curve.
  • Elliptic curve cryptography is a very important public key cryptography system, which is widely used in digital currency, mobile phone chips, communication applications (Application, APP), bank cards and banking systems.
  • RSA an asymmetric encryption algorithm
  • ECC has excellent bit-rate encryption performance, and its significant advantages have become the focus of the National Security Agency.
  • An embodiment of the present application provides a general point addition quantum operation method in an elliptic curve, the method comprising: determining the quantum state corresponding to point P, and constructing a constant modulus operator based on point Q, wherein point P and point Q are any two points in the elliptic curve that do not overlap and are not symmetric about the x-axis except for the point at infinity; determining the slope of the straight line determined by point P and point Q based on the quantum state corresponding to point P and the constant modulus subtraction operator; and determining the general point addition operation result of point P and point Q based on the slope.
  • Another embodiment of the present application provides an ECC ciphertext decryption method based on a quantum circuit, the method comprising: obtaining a base point and a public key corresponding to the ECC ciphertext; constructing a controlled point addition operation based on the base point and the public key; constructing a quantum circuit based on the controlled point addition operation; running the quantum circuit to obtain a discrete logarithmic value; and decrypting the ECC ciphertext based on the discrete logarithmic value.
  • Yet another embodiment of the present application provides a storage medium, wherein the storage medium stores a computer program, wherein the computer program is configured to execute any of the methods described in the present application when run.
  • Another embodiment of the present application provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute any of the methods described in the present application.
  • FIG3 is a schematic diagram of a quantum circuit for a general point addition operation in an elliptic curve provided in an embodiment of the present application
  • FIG6 is a schematic diagram of a quantum circuit for double point operations in an elliptic curve provided in an embodiment of the present application.
  • FIG8 is a schematic diagram of a flow chart of an ECC ciphertext decryption method based on quantum circuits provided in an embodiment of the present application;
  • FIG9 is a schematic diagram of the structure of a quantum circuit provided in an embodiment of the present application.
  • a quantum program as a whole corresponds to a total quantum circuit, and the quantum program described in this application refers to the total quantum circuit, wherein the total number of quantum bits in the total quantum circuit is the same as the total number of quantum bits in the quantum program.
  • a quantum program can be composed of a quantum circuit, a measurement operation on the quantum bits in the quantum circuit, a register for storing the measurement results, and a control flow node (jump instruction).
  • a quantum circuit can contain dozens, hundreds, or even thousands of quantum logic gate operations.
  • the execution process of a quantum program is the process of executing all quantum logic gates in a certain sequence. It should be noted that the sequence is the time order in which a single quantum logic gate is executed.
  • a collection of quantum bits is called a quantum register, and the first quantum register and the second quantum register include at least one quantum bit.
  • constructing a constant modular subtraction operator based on point Q includes:
  • Step 202 determining the slope of the straight line determined by the point P and the point Q based on the quantum state corresponding to the point P and the constant modular subtraction operator;
  • the auxiliary quantum register The slope ⁇ of the straight line determined by the point P and the point Q.
  • the quantum state of the first quantum register evolves from
  • the quantum state of the second quantum register evolves from
  • the first quantum register is subjected to a modular inverse multiplication operation, and the modular inverse multiplication operation also acts on the corresponding quantum logic gate on the quantum bits included in the first quantum register.
  • the quantum state of the first quantum register evolves from
  • the specific implementation of the modular inverse multiplication operation can be found in the Chinese patent document with application number "202211465261.1" and titled "Construction method, device, medium and electronic device for modular inverse quantum circuit".
  • a variable modular multiplication operation is performed on the first quantum register, the second quantum register and the auxiliary quantum register with a quantum state of
  • the specific implementation of the variable modular multiplication operation can be found in the Chinese patent document with application number "202211465294.6" and name "Variable modular multiplication operator, operation method and related device”.
  • An inverse variable modular multiplication operation is performed on the auxiliary quantum register, the first quantum register, and the second quantum register to obtain a second quantum register whose quantum state is
  • evolving the quantum state of the second quantum register into a quantum state including the coordinates of the point R based on the slope includes:
  • the second quantum register and the auxiliary quantum register are subjected to an inverse variable square modulo operation to obtain a second quantum register with a quantum state of
  • the quantum logic gate corresponding to the inverse variable square modulo operation is transposed conjugate with the quantum logic gate corresponding to the variable square modulo operation.
  • the variable square modulo operation please refer to the Chinese patent document with application number "202211464665.9" and name "Variable square modulo operator, operation method and related device”.
  • the first quantum register is subjected to a modular inverse operation of addition to obtain a first quantum register having a quantum state of
  • the specific implementation of the modular inverse operation of addition can be found in the Chinese patent document with application number "202211465261.1" and titled "Construction method, device, medium and electronic device for modular inverse quantum circuit".
  • calculating -x mod p is equivalent to calculating (p-1) ⁇ x mod p, so the inverse operation of modular addition can also be implemented by a constant modular multiplication operation with a constant of (p-1).
  • the specific implementation method of the constant modular multiplication operation can be referred to the Chinese patent document with application number "202211125591.6” and titled "Constant modular addition modular multiplication operator, modular multiplication operator, operation method and related device".
  • a modular inverse multiplication operation is performed on the first quantum register to obtain a first quantum register with a quantum state of
  • the first quantum register, the second quantum register and the auxiliary quantum register are subjected to an inverse variable modular multiplication operation to obtain an auxiliary quantum register with a quantum state of
  • the quantum logic gate corresponding to the inverse variable modular multiplication operation is transposed conjugate with the quantum logic gate corresponding to the variable modular multiplication operation.
  • the present application provides a general point addition quantum operation method and related device in an elliptic curve.
  • the method determines the quantum state corresponding to point P and constructs a constant modular subtraction operator based on point Q.
  • the point P and the point Q are any two points in the elliptic curve that do not overlap and are not symmetric about the x-axis except the point at infinity; based on the quantum state corresponding to the point P and the constant modular subtraction operator, the slope of the straight line determined by the point P and the point Q is determined; based on the slope, the general point addition operation result of the point P and the point Q is determined, thereby realizing the general point addition operation in the elliptic curve through a quantum circuit, which is conducive to the subsequent use of the efficient processing power of quantum computing for ciphertext decryption.
  • the first processing unit 401 is used to: perform an inverse modular multiplication operation on the first quantum register to obtain a first quantum register with a quantum state of
  • the device may further include a first communication unit 402 and a first storage unit 403.
  • the first communication unit 402 may be a touch screen or a receiver
  • the first storage unit 403 may be a memory for storing program codes and data of the electronic device.
  • Yet another embodiment of the present application provides a storage medium, wherein the storage medium stores a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.
  • the above-mentioned storage medium may include but is not limited to: U disk, read-only memory (ROM), random access memory (RAM), mobile hard disk, magnetic disk or optical disk and other media that can store computer programs.
  • Yet another embodiment of the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments.
  • the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
  • the processor may be configured to perform the following steps through a computer program: determine the quantum state corresponding to point P, and construct a constant modular subtraction operator based on point Q, wherein point P and point Q are any two points in the elliptic curve that do not overlap and are not symmetric about the x-axis except for the point at infinity; determine the slope of the straight line determined by point P and point Q based on the quantum state corresponding to point P and the constant modular subtraction operator; and determine the general point addition result of point P and point Q based on the slope.
  • this application proposes a double point quantum operation method and related devices in elliptic curves, aiming to realize double point operations in elliptic curves through quantum circuits, thereby facilitating the use of the efficient processing power of quantum computing to decrypt ciphertext.
  • the elliptic curve on the finite field is mainly used.
  • This application mainly considers the elliptic curve E/FP on the prime field, where p is the characteristic of the finite field and is a prime number greater than 3. Therefore, all operations in this application are operations under the modulus p.
  • FIG. 5 is a schematic flow chart of a method for double point quantum operation in an elliptic curve provided in an embodiment of the present application. The method comprises the following steps:
  • Step 501 Determine the quantum state corresponding to point P, where point P is any point in the elliptic curve whose ordinate is not 0;
  • the quantum states corresponding to the point P (x 1 , y 1 ) are
  • Step 502 Determine the slope of the tangent line of the elliptic curve at the point P based on the quantum state corresponding to the point P;
  • determining the slope of the tangent of the elliptic curve at the point P based on the quantum state corresponding to the point P includes:
  • the slope of the tangent line of the elliptic curve at the point P is determined based on the numerator and the denominator.
  • the numerator of the slope of the tangent line of the elliptic curve at the point P is 3x 1 2 +A mod p
  • the denominator of the slope of the tangent line of the elliptic curve at the point P is 2y 1 mod p
  • the slope of the tangent line of the elliptic curve at the point P is (3x 1 2 +A)(2y 1 ) -1 mod p.
  • x 1 > corresponding to the point P includes:
  • a constant modular addition operation with a constant A is performed on the first auxiliary register to obtain a first auxiliary register with a quantum state of
  • a variable square modulo operation is performed on the first quantum register and the first auxiliary register to obtain a first auxiliary register with a quantum state of
  • a constant modular multiplication operation with a constant of 3 is performed on the first auxiliary register and the second auxiliary register to obtain a first auxiliary register with a quantum state of
  • a constant modular addition operation with a constant A is performed on the first auxiliary register to obtain a first auxiliary register with a quantum state of
  • y 1 > corresponding to the point P includes:
  • determining the slope of the tangent line of the elliptic curve at the point P based on the numerator and the denominator includes:
  • a variable modular multiplication operation is performed on the second quantum register, the first auxiliary register and the second auxiliary register to obtain a second quantum register whose quantum state is
  • the second quantum register is subjected to an inverse modular multiplication operation to obtain a second quantum register with a quantum state of
  • a variable modular multiplication operation is performed on the second quantum register, the first auxiliary register and the second auxiliary register to obtain a second auxiliary register with a quantum state of
  • Step 503 Determine a double point operation result of the point P based on the slope.
  • a double point operation result of the point P is determined based on the first quantum register and the second quantum register including the quantum state of the coordinate of the point R.
  • (2y 1 ) -1 mod p> is reset to
  • the first quantum register and the first auxiliary register are subjected to a constant modulo division operation with a constant of 3 to obtain a first auxiliary register with a quantum state of
  • the quantum logic gate corresponding to the constant modulo division operation is transposed conjugate with the quantum logic gate corresponding to the constant modulo multiplication operation.
  • the first quantum register and the first auxiliary register are subjected to an inverse variable square modulo operation to obtain a first auxiliary register with a quantum state of
  • 0> includes:
  • a constant modular subtraction operation with a constant of x 1 is performed on the first quantum register to obtain a first quantum register with a quantum state of
  • a constant modular subtraction operation with a constant of x 1 is performed on the first quantum register to obtain a first quantum register with a quantum state of
  • 0> comprises:
  • a constant modular subtraction operation with a constant of 2y 1 is performed on the second quantum register to obtain a second quantum register with a quantum state of
  • a constant modular subtraction operation with a constant of 2y 1 is performed on the second quantum register to obtain a second quantum register with a quantum state of
  • a double point operation result of the point P is determined based on the slope.
  • (2y 1 ) -1 mod p> of the second quantum register are reset to
  • the second processing unit 701 is specifically configured to:
  • the second processing unit 701 is specifically used to:
  • the above storage medium may be configured to store a computer program for performing the following steps:
  • the above-mentioned storage medium may include but is not limited to: U disk, read-only memory (ROM), random access memory (RAM), mobile hard disk, magnetic disk or optical disk and other media that can store computer programs.
  • Yet another embodiment of the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments.
  • the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
  • the processor may be configured to perform the following steps through a computer program:
  • a double point operation result of the point P is determined based on the slope.
  • FIG 8 is a flow chart of an ECC ciphertext decryption method based on quantum circuits provided in an embodiment of the present application.
  • the method includes:
  • ECC Elliptic Curve Discrete Logarithm Problem
  • the controlled point addition operation is a point addition operation controlled by another register (quantum bit). If the quantum state of the control register or the quantum bit is
  • Step 803 constructing a quantum circuit based on the controlled point addition operation
  • Step 804 running the quantum circuit to obtain a discrete logarithmic value
  • Running the quantum circuit to obtain a discrete logarithmic value includes measuring the quantum bits in the quantum circuit after running, and obtaining the discrete logarithmic value according to the measurement result.
  • n log 2 (p), that is, n is a prime number domain
  • Step 805 Decrypt the ECC ciphertext based on the discrete logarithmic value.
  • the decryption of the ECC ciphertext based on the discrete logarithmic value can be specifically referred to Zhang Guo’s patent document with application number 202111365914.4 and patent name “Ciphertext decryption method and related equipment”.
  • the controlled point addition operation includes a first controlled point addition operation and a second controlled point addition operation, and constructing a quantum circuit based on the controlled point addition operation includes:
  • the H gate is applied to the first register and the second register respectively, the first controlled point addition operation is applied to the second register and the third register, the second controlled point addition operation is applied to the first register and the third register, and the Fourier transform operation is applied to the first register and the second register respectively, to obtain a quantum circuit, wherein the first controlled point addition operation and the second controlled point addition operation are controlled by the second register and the first register respectively.
  • the H gate is a single quantum logic gate, and the H gate is applied to the first register and the second register respectively, that is, the H gate is applied to the first register, and the H gate is applied to the second register; the Fourier transform operation is applied to the first register and the second register respectively, that is, the Fourier transform operation is applied to the first register, and the Fourier transform operation is applied to the second register.
  • the first register and the second register each include n+1 quantum bits
  • the third register includes 2n quantum bits
  • the initial quantum states of the quantum bits are all
  • the number of the first controlled point addition operation and the second controlled point addition operation is n+1
  • the step of constructing the controlled point addition operation based on the base point and the public key includes:
  • the i-th first controlled point addition operation is constructed based on 2 i times the base point
  • the j-th second controlled point addition operation is constructed based on 2 j times the public key, to obtain n+1 first controlled point addition operations and second controlled point addition operations, where i and j are both integers greater than or equal to 0 and less than or equal to n.
  • FIG10 is a schematic diagram of the structure of another quantum circuit provided by an embodiment of the present application.
  • the 0th first controlled point addition operation that is, executing the point addition of point P and point O at infinity
  • this situation is not considered in the general point addition quantum circuit, but general point addition can still be performed.
  • the points obtained are not on the elliptic curve, as long as the point addition of some multiple points of P and Q is performed within a period (r ⁇ 2n +1 ), the periodic information can be obtained through QFT (quantum Fourier transform), which will not affect the final m solution.
  • QFT quantum Fourier transform
  • the specific implementation method of the doubling point operation in the controlled point addition operation is:
  • the elliptic curve on the finite field is mainly used.
  • This application mainly considers the elliptic curve E/F P on the prime field, where p is the characteristic of the finite field and is a prime number greater than 3. Therefore, all operations in this application are operations under the modulus p.
  • the horizontal and vertical coordinates of the double point of the target point can be expressed by ⁇ and the coordinates of the target point. It should be noted that the double point operation result of the target point can be pre-calculated by classical calculation or by quantum calculation, which is not limited here.
  • the double point operation result of the target point is calculated by quantum computing.
  • the specific implementation method can refer to the double point quantum operation method in the above-mentioned elliptic curve.
  • Figure 6, which is a structural diagram of a quantum circuit for double point operation provided by the present application.
  • y 1 > are stored by the fourth register and the fifth register respectively, and the initial quantum state of the first auxiliary register and the second auxiliary register is
  • the fourth register, the fifth register, the first auxiliary register and the second auxiliary register all include n quantum bits.
  • the operations Sqr, ⁇ 3, +A, ⁇ 2, Inv, and Mul are used to obtain the slope of the tangent line of the elliptic curve at the target point, and the operations -A, -x 1 , ⁇ 3, +x 1 , -2y 1 , -3x 1 , Operations such as Neg, -y 1 , etc. are used to determine the double point operation result of the target point based on the slope of the tangent line.
  • a general point addition result of the arbitrary point and the target point is determined based on the slope of the straight line.
  • -x 2 and -y 2 are the first constant modular subtraction operator and the second constant modular subtraction operator respectively
  • Inv is the inverse operation of modular multiplication or the inverse operation of modular addition
  • Mul is the variable modular multiplication operation
  • Sqr is the variable square modular operation
  • +3x 2 is a constant modulo addition operation
  • +x 2 is the constant modular addition operation
  • -y 2 is the constant modular subtraction operation.
  • the operations -x 2 , -y 2 , Inv, Mul, etc., which are applied in sequence in the front, are used to obtain the slope of the straight line determined by the arbitrary point and the target point, and the operations Sqr, +3x 2 , Operations such as Neg, +x 2 , and -y 2 are used to determine the general point addition result of the arbitrary point and the target point.
  • the present application can implement the Shor algorithm for solving the elliptic curve discrete logarithm problem when the number of quantum bits is less than or equal to 5n+8.
  • the decryption unit 1104 is configured to decrypt the ECC ciphertext based on the discrete logarithmic value.
  • the controlled point addition operation includes a first controlled point addition operation and a second controlled point addition operation.
  • the construction unit 1102 is specifically configured to:
  • the H gate is applied to the first register and the second register respectively, the first controlled point addition operation is applied to the second register and the third register, the second controlled point addition operation is applied to the first register and the third register, and the Fourier transform operation is applied to the first register and the second register respectively, to obtain a quantum circuit, wherein the first controlled point addition operation and the second controlled point addition operation are controlled by the second register and the first register respectively.
  • the processor may be configured to perform the following steps through a computer program:

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

一种椭圆曲线中的二倍点、一般点加量子运算方法及解密方法,本申请通过获取ECC密文对应的基点和公钥,基于基点和公钥构建受控点加运算操作,进而构建量子线路,通过量子线路运行的结果得到离散对数值,此离散对数值即为私钥,则基于离散对数值可以对ECC密文进行解密。从而实现了在不知道解密私钥的情况下,通过基点和公钥构建量子线路可以对ECC密文解密。

Description

椭圆曲线中的二倍点、一般点加量子运算方法及解密方法
本申请要求于2022年12月28日提交中国专利局、申请号为202211716263.3发明名称为“椭圆曲线中的一般点加量子运算方法及相关装置”的中国专利申请,2022年12月28日提交中国专利局、申请号为202211692081.7发明名称为“椭圆曲线中的二倍点量子运算方法及相关装置”的中国专利申请,以及2022年12月28日提交中国专利局、申请号为202211716349.6发明名称为“基于量子线路的ECC密文解密方法、装置、介质及电子装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于量子计算技术领域,尤其涉及椭圆曲线中的二倍点、一般点加量子运算方法及解密方法。
背景技术
椭圆曲线密码体制(Elliptic curve cryptography,ECC)是当前一类很重要的公钥密码体制,在数字货币、手机芯片、通信应用(Application,APP)、银行卡以及银行系统中都有广泛的应用。随着安全级别的增加,RSA(一种非对称加密算法)的密钥长度会成亚指数增加,而ECC密钥长度却是成线性增加,例如,128位安全加密需要3072位RSA密钥,但仅需要一个256位ECC密钥。ECC具有卓越的按位比率加密的性能,其显著优势也成为了国家安全局关注的重点。
相关技术中,需要在不知道解密私钥的情况下,根据已经公开的信息加密密文,例如私钥遗忘丢失时,以恢复相应明文,基于此,提出一种基于量子线路的ECC密文解密方法。
发明内容
本申请的一个实施例提供了一种椭圆曲线中的一般点加量子运算方法,所述方法包括:确定点P对应的量子态,以及基于点Q构造常数模运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
本申请的又一实施例提供了一种椭圆曲线中的一般点加量子运算装置,所述装置包括处理单元,用于:确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
本申请的又一个实施例提供了一种椭圆曲线中的二倍点量子运算方法,所述方法包括:确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;基于所述斜率确定所述点P的二倍点运算结果。
本申请的又一实施例提供了一种椭圆曲线中的二倍点量子运算装置,所述装置包括处理单元,用于:确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;基于所述斜率确定所述点P的二倍点运算结果。
本申请的又一个实施例提供了一种基于量子线路的ECC密文解密方法,所述方法包括:获取ECC密文对应的基点和公钥;基于所述基点和所述公钥构建受控点加运算操作;基于所述受控点加运算操作构建量子线路;运行所述量子线路得到离散对数值;基于所述离散对数值对所述ECC密文进行解密。
本申请的又一实施例提供了一种基于量子线路的ECC密文解密装置,所述装置包括:获取单元,用 于获取ECC密文对应的基点和公钥;构建单元,用于基于所述基点和所述公钥构建受控点加运算操作;基于所述受控点加运算操作构建量子线路;运行单元,用于运行所述量子线路得到离散对数值;解密单元,用于基于所述离散对数值对所述ECC密文进行解密。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行本申请中任一所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行本申请中任一所述的方法。
与现有技术相比,本申请提供的一种基于量子线路的ECC密文解密方法、装置、介质及电子装置,该方法首先获取ECC密文对应的基点和公钥,基于基点和公钥构建受控点加运算操作,进而构建量子线路,通过量子线路运行的结果得到离散对数值,此离散对数值即为私钥,最后基于离散对数值对ECC密文进行解密,从而实现了在不知道私钥情况下,通过基点和公钥构建量子线路去对ECC密文解密。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本申请实施例提供的计算机终端的硬件结构框图;
图2为本申请实施例提供的一种椭圆曲线中的一般点加量子运算方法的流程示意图;
图3为本申请实施例提供的一种椭圆曲线中一般点加运算的量子线路示意图;
图4为本申请实施例提供的一种椭圆曲线中的一般点加量子运算装置的流程示意图;
图5为本申请实施例提供的一种椭圆曲线中的二倍点量子运算方法的流程示意图;
图6为本申请实施例提供的一种椭圆曲线中二倍点运算的量子线路示意图;
图7为本申请实施例提供的一种椭圆曲线中的二倍点量子运算装置的结构示意图;
图8为本申请实施例提供的一种基于量子线路的ECC密文解密方法的流程示意图;
图9为本申请实施例提供的一种量子线路的结构示意图;
图10为本申请实施例提供的另一种量子线路的结构示意图;
图11为本申请实施例提供的一种基于量子线路的ECC密文解密装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
椭圆曲线是一类很特殊的代数曲线,其上的所有有理点可以构成加法群,且加法运算具有几何加法的特性。在椭圆曲线上取两个点P(x1,y1)和Q(x2,y2),若P≠±Q且P、Q不为无穷远点O,则连接P和Q两点作一条直线,这条直线将在该椭圆曲线上交于第三点G,过G点再作垂直于x轴的直线,将过椭圆曲线另一点R(一般是关于x轴对称的点),R点则被定义为P+Q的结果,即P+Q=R,此运算过程称作椭圆曲线的一般点加运算。在椭圆曲线上取两个点P(x1,y1)和Q(x2,y2),若P=Q且y1≠0,则确定椭圆曲线在点P的切线,这条切线将在该椭圆曲线上交于点G,过G点再作垂直于x轴的直线,将过椭圆曲 线另一点R(一般是关于x轴对称的点),R点则被定义为P的二倍运算结果,即2P=R,此运算过程称作椭圆曲线的二倍点运算。
基于椭圆曲线的一般点加运算及二倍点运算是ECC的核心原理之一,其安全性主要基于椭圆曲线离散对数问题:已知椭圆曲线上的两个点P、Q,且满足[d]P=Q,求解离散对数d。
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,如何通过量子计算实现椭圆曲线的一般点加运算、二倍点运算及ECC密文解密,成为亟待解决的技术问题。
下面以运行在计算机终端上为例对其进行详细说明。图1为本申请实施例提供的一种椭圆曲线中的一般点加量子运算方法、椭圆曲线中的二倍点量子运算方法或基于量子线路的ECC密文解密方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储椭圆曲线中的一般点加量子运算方法、椭圆曲线中的二倍点量子运算方法或基于量子线路的ECC密文解密方法的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的椭圆曲线中的一般点加量子运算方法、椭圆曲线中的二倍点量子运算方法或基于量子线路的ECC密文解密方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线)、以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至成千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
还需要说明的是,本申请涉及量子计算机,在基于硅芯片的普通计算设备中,处理芯片的单元是CMOS管,这种计算单元不受时间和想干性的限制,即,这种计算单元是不受使用时长限制,随时可用。此外,目前,在硅芯片中,这种计算单元的数量是充足的,即,目前一个芯片中的计算单元的数量是成千上万的。计算单元数量的充足且CMOS管可选择的计算逻辑是固定的,例如:与逻辑。借助CMOS管运算时,通过大量的CMOS管结合有限的逻辑功能,以实现运算效果。
与普通计算设备中的这种逻辑单元不同,目前量子计算机中,基本的计算单元是量子比特,量子比特的输入受相干性的限制,也受相干时间的限制,即,量子比特是受使用时长限制的,并不是随时可用的。在量子比特的可用使用时长内充分使用量子比特是量子计算的关键性难题。此外,量子计算机中量子比特的数量时量子计算的关键性难题。此外,量子计算机中量子比特的数量是量子计算机性能的代表指标之一,每个量子比特通过按需配置的逻辑功能实现计算功能,鉴于量子比特数量受限,而量子计算领域的逻辑功能是多样化的,例如:哈德玛门(Hadamard门,H门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。量子计算时,借助有限的量子比特结合多样的逻辑功能组合实现运算效果。
基于量子计算机的这些不同,逻辑功能作用在量子比特的设计(包括量子比特使用与否的设计以及每个量子比特使用效率的设计)是提升量子计算机的运算性能的关键,且需要进行特殊的设计。而上述针对量子比特的设计是普通计算设备所不需要考虑的、也不需要面对的技术问题。
基于此,针对如何在量子计算中实现椭圆曲线中的一般点加运算,本申请提出了一种椭圆曲线中的一般点加运算方法及相关装置,旨在实现通过量子线路实现椭圆曲线中的一般点加运算,从而便于利用量子计算的高效处理能力进行密文解密。
在椭圆曲线密码体制中,用到的主要是有限域上的椭圆曲线,本申请主要考虑素数域上的椭圆曲线E/FP,其中p为有限域的特征且为大于3的素数。所以,本申请中的所有运算均是在模p下的运算。本申请考虑一般点加运算:若P≠±Q且P、Q不为无穷远点O,即点P和点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点,则有:
x3=(λ2-x1-x2)mod p,y3=(λ(x1-x3)-y1)mod p,
其中,(x1,y1)为点P的坐标,(x2,y2)为点Q的坐标,(x3,y3)为点R的坐标,所述P+Q=R,λ为点P和点Q所确定的直线的斜率。
因此,若是能够确定λ,则可以将点R的横纵坐标用λ以及点P和点Q的坐标表示出来。
参见图2,图2为本申请实施例提供的一种椭圆曲线中的一般点加量子运算方法的流程示意图。该方法包括以下步骤:
步骤201:确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;
其中,所述点P(x1,y1)对应的量子态为|x1>与|y1>,所述|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储。
量子比特的集合称为量子寄存器,第一量子寄存器和第二量子寄存器包括至少一个量子比特。
可选的,所述基于点Q构造常数模减运算器,包括:
构造常数为x2、模数为p的第一常数模减运算器和常数为y2、模数为p第二常数模减运算器。
其中,常数模减运算器可以是基于常数模加运算器对应的逆量子线路构建,即对常数模加运算器中的量子逻辑门执行转置共轭操作再作用在量子比特上即可得到常数模减运算器对应的量子线路,常数模减运算器即为该量子线路中按照次序作用的量子逻辑门。常数模加运算器可以参考“申请号为‘202211114261.7’,申请名称为‘基于量子傅里叶变换的常数模加运算器、方法及相关装置’”的中国专利文献,当然也可以有其他实现方式,在此不做限定。
步骤202:基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;
可选的,所述基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率,包括:
将所述第一常数模减运算器作用于所述第一量子寄存器以及将所述第二常数模减运算器作用于所述第二量子寄存器,得到量子态为|(x1-x2)mod p>的第一量子寄存器与量子态为|(y1-y2)mod p>的第二量子寄存器;
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)-1mod p>的第一量子寄存器;
对所述第一量子寄存器、所述第二量子寄存器和量子态为|0>的辅助量子寄存器做变量模乘操作,得到量子态为的辅助量子寄存器,所述为所述点P和所述点Q所确定的直线的斜率λ。
其中,常数模减运算器即为一系列按照一定顺序作用在量子比特上的量子逻辑门,因此,这里将所述第一常数模减运算器作用于所述第一量子寄存器以及将所述第二常数模减运算器作用于所述第二量子寄存器,即将第一常数模减运算器对应量子逻辑门作用在第一量子寄存器包括的量子比特上,将第二常数模减运算器对应量子逻辑门作用在第二量子寄存器包括的量子比特上,以使得第一量子寄存器和第二量子寄存器中量子比特的量子态进行演化。
这里,第一量子寄存器的量子态由|x1>演化至|(x1-x2)mod p>,第二量子寄存器的量子态由|y1>演化至|(y1-y2)mod p>。其中,对所述第一量子寄存器做模乘法逆操作,模乘法逆操作同样是将其对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x1-x2)mod p>演化至|(x1-x2)-1mod p>,第二量子寄存器的量子态不变,还是为|(y1-y2)mod p>。模乘法逆操作的具体实现可以参见申请号为“202211465261.1”,名称为“模逆量子线路的构造方法、装置、介质及电子装置”的中国专利文献。
其中,对所述第一量子寄存器、所述第二量子寄存器和量子态为|0>的辅助量子寄存器做变量模乘操作,即将变量模乘操作对应的量子逻辑门作用在第一量子寄存器、第二量子寄存器和辅助量子寄存器包括的量子比特上,第一量子寄存器和第二量子寄存器的量子态保持不变,分别为|(x1-x2)-1mod p>和|(y1-y2)mod p>,辅助量子寄存器的量子态由|0>演化至|λmod p>。变量模乘操作的具体实现可以参见申请号为“202211465294.6”,名称为“变量模乘运算器、运算方法及相关装置”的中国专利文献。
步骤203:基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
可选的,所述基于所述斜率确定所述点P和所述点Q的一般点加运算结果,包括:
基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,以及基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态;
基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P和所述点Q的一般点加运算结果。
具体的,所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)mod p>的第一量子寄存器;
将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>,以及对所述辅助量子寄存器与所述第二量子寄存器做变量平方模操作,得到量子态为|λ2mod p>的第二量子寄存器;
对所述第一量子寄存器和所述第二量子寄存器做变量模减操作,得到量子态为|(x1-x22)mod p>的第一量子寄存器;
对所述第一量子寄存器做常数为3x2的常数模加操作,得到量子态为|-(x3-x2)mod p>的第一量子寄存器。
进一步地,所述将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>,包括:
对所述辅助量子寄存器、所述第一量子寄存器和所述第二量子寄存器做逆变量模乘操作,得到量子态为|0>的第二量子寄存器。
其中,逆变量模乘操作对应的量子逻辑门与变量模乘操作对应的量子逻辑门转置共轭。对所述辅助量子寄存器、所述第一量子寄存器和所述第二量子寄存器做逆变量模乘操作,即将逆变量模乘操作对应的量子逻辑门作用在辅助量子寄存器、第一量子寄存器和第二量子寄存器包括的量子比特上,第一量子寄存器和辅助量子寄存器的量子态保持不变,分别为|(x1-x2)mod p>和|λmod p>,第二量子寄存器的量子态由|(y1-y2)mod p>演化至|0>。
当然,所述将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>还可以有其他实现方式,这里通过逆变量模乘操作只是本申请实施例提供的一种优选实现方式,通过其他方式实现时,该步骤可以 在所述对所述第一量子寄存器和所述第二量子寄存器做变量模减操作,得到量子态为|(x1-x22)mod p>的第一量子寄存器之前,也可以在所述对所述第一量子寄存器和所述第二量子寄存器做变量模减操作,得到量子态为|(x1-x22)mod p>的第一量子寄存器之后。
其中,对所述辅助量子寄存器与所述第二量子寄存器做变量平方模操作,得到量子态为|λ2mod p>的第二量子寄存器,即将变量平方模操作对应的量子逻辑门作用在辅助量子比特和第二量子寄存器包括的量子比特上,辅助量子寄存器的量子态为|λmod p>,保持不变,第二量子寄存器的量子态由|0>演化至|λ2mod p>。变量平方模操作的具体实现可以参见申请号为“202211464665.9”,名称为“变量平方模运算器、运算方法及相关装置”的中国专利文献。
其中,对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)mod p>的第一量子寄存器,即将模乘法逆操作对量的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x1-x2)-1mod p>演化至|(x1-x2)mod p>。模乘法逆操作的具体实现可以参见申请号为“202211465261.1”,名称为“模逆量子线路的构造方法、装置、介质及电子装置”的中国专利文献。
其中,对所述第一量子寄存器和所述第二量子寄存器做变量模减操作,得到量子态为|(x1-x22)mod p>的第一量子寄存器,即将变量模减操作对应的量子逻辑门作用于第一量子寄存器和第二量子寄存器包括的量子比特上,第二量子寄存器的量子态为|λ2mod p>,保持不变,第一量子寄存器的量子态由|(x1-x2)mod p>演化至|(x1-x22)mod p>。变量模减操作对应的量子逻辑门与变量模加操作对应的量子逻辑门转置共轭,变量模加操作的具体实现可以参见申请号为“202211465284.2”,名称为“基于常数加减法的变量模加运算器、运算方法及相关装置”的中国专利文献。
其中,对所述第一量子寄存器做常数为3x2的常数模加操作,得到量子态为|-(x3-x2)mod p>的第一量子寄存器,即将常数模加操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x1-x22)mod p>演化至|-(x3-x2)mod p>。常数模加操作的具体实现可以参见申请号为“202211114261.7”,名称为“基于量子傅里叶变换的常数模加运算器、方法及相关装置”的中国专利文献。
具体的,所述基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
将所述第二量子寄存器的量子态|λ2mod p>重置为|0>,以及对所述辅助量子寄存器、第一量子寄存器和第二量子寄存器做变量模乘操作,得到量子态为|(y2+y3)mod p>的第二量子寄存器。
进一步地,所述将所述第二量子寄存器的量子态|λ2mod p>重置为|0>,包括:
对所述第二量子寄存器和所述辅助量子寄存器做逆变量平方模操作,得到量子态为|0>的第二量子寄存器。
其中,对所述第二量子寄存器和所述辅助量子寄存器做逆变量平方模操作,得到量子态为|0>的第二量子寄存器,即将逆变量平方模操作对应的量子逻辑门作用在第二量子寄存器和辅助量子寄存器包括的量子比特上,辅助寄存器的量子态为|λmod p>,保持不变,第二量子寄存器的量子态由|λ2mod p>演化至|0>。逆变量平方模操作对应的量子逻辑门与变量平方模操作对应的量子逻辑门转置共轭。变量平方模操作的具体实现可以参见申请号为“202211464665.9”,名称为“变量平方模运算器、运算方法及相关装置”的中国专利文献。
其中,对所述辅助量子寄存器、第一量子寄存器和第二量子寄存器做变量模乘操作,得到量子态为|(y2+y3)mod p>的第二量子寄存器,即将变量模乘操作对应的量子逻辑门作用于辅助量子寄存器和第一量子寄存器包括的量子比特上,辅助量子寄存器和第一量子寄存器的量子态保持不变,分别为|λmod p>和|-(x3-x2)mod p>,第二量子寄存器的量子态由|0>演化至|(y2+y3)mod p>。变量模乘操作的具体实现可以参见申请号为“202211465294.6”,名称为“变量模乘运算器、运算方法及相关装置”的中国专利文献。
具体的,所述基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P和所述点Q的一般点加运算结果,包括:
对所述第一量子寄存器做模加法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器;
对所述第一量子寄存器做常数为x2的常数模加操作,以及对所述第二量子寄存器做常数为y2的常数模减操作,得到量子态为|x3mod p>的第一量子寄存器和量子态为|y3mod p>的第二量子寄存器;
基于所述|x3mod p>和|y3mod p>确定所述点P和所述点Q的一般点加运算结果。
其中,对所述第一量子寄存器做模加法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器,即将模加法逆操作对应的量子逻辑门作用于第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|-(x3-x2)mod p>演化至|(x3-x2)mod p>。模加法逆操作的具体实现方式可以参见申请号为“202211465261.1”,名称为“模逆量子线路的构造方法、装置、介质及电子装置”的中国专利文献。
除此之外,对于任意数x,求-x mod p,可等价于计算(p-1)·x mod p,从而模加法逆操作也可以通过常数为(p-1)的常数模乘操作实现。常数模乘操作的具体实现方式可以参见申请号为“202211125591.6”,名称为“常数模加模乘运算器、模乘运算器、运算方法及相关装置”的中国专利文献。
其中,对所述第一量子寄存器做常数为x2的常数模加操作,以及对所述第二量子寄存器做常数为y2的常数模减操作,得到量子态为|x3mod p>的第一量子寄存器和量子态为|y3mod p>的第二量子寄存器,即将常数模加操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x3-x2)mod p>演化至|x3mod p>;将常数模减操作对应的量子逻辑门作用在第二量子寄存器包括的量子比特上,第二量子寄存器的量子态由|(y2+y3)mod p>演化至|y3mod p>。
其中,基于所述|x3mod p>和|y3mod p>确定所述点P和所述点Q的一般点加运算结果,即将(x3,y3)作为所述点P和所述点Q的一般点加运算结果。
进一步地,为了方便节省量子比特资源,可以对辅助量子寄存器进行复位,方便辅助量子寄存器包括的量子比特用于其他数据计算或存储,所述方法还包括:
将所述辅助量子寄存器的量子态|λmod p>重置为|0>。
其中,所述将所述辅助量子寄存器的量子态|λmod p>重置为|0>可以是在步骤对所述第一量子寄存器做模加法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器之前,也可以在该步骤之后,在此不做限定。
在本申请的一具体实现方式中,在所述对所述第一量子寄存器做模加法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器之后,所述将所述辅助量子寄存器的量子态|λmod p>重置为|0>,包括:
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)-1mod p>的第一量子寄存器;
对所述第一量子寄存器、第二量子寄存器和辅助量子寄存器做逆变量模乘操作,得到量子态为|0>的辅助量子寄存器;
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器。
其中,对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)-1mod p>的第一量子寄存器,即将模乘法逆操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x3-x2)mod p>演化至|(x3-x2)-1mod p>。
其中,对所述第一量子寄存器、第二量子寄存器和辅助量子寄存器做逆变量模乘操作,得到量子态为|0>的辅助量子寄存器,即将逆变量模乘操作对应的量子逻辑门作用在第一量子寄存器、第二量子寄存器和辅助量子寄存器包括的量子比特上,第一量子寄存器和第二量子寄存器对应的量子态不变,分别为|(x3-x2)-1mod p>和|(y2+y3)mod p>,辅助量子寄存器由|λmod p>演化至|0>。逆变量模乘操作对应的量子逻辑门与变量模乘操作对应的量子逻辑门转置共轭。
其中,对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器,即将模乘法逆操作对应的量子逻辑门作用于第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x3-x2)-1mod p>演化至|(x3-x2)mod p>。
如图3所示,图3为本申请实施例提供的一种椭圆曲线中一般点加运算的量子线路示意图。|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储,辅助量子寄存器的初始量子态为|0>。第一量子寄存器、第二量子寄存器和辅助量子寄存器均包括n个量子比特。图中,-x2和-y2分别为第一常数模减运算器和第二常数模减运算器,Inv为模乘法逆操作或模加法逆操作,Mul为变量模乘操作,为逆变量模乘操作,Sqr为变量平方模操作,为变量模减操作(即逆变量模加操作),+3x2为常数模加操作,为逆变量平方模操作,Neg为模加法逆操作,+x2为常数模加操作,-y2为常数模减操作。
与现有技术相比,本申请提供的一种椭圆曲线中的一般点加量子运算方法及相关装置,该方法通过确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;基于所述斜率确定所述点P和所述点Q的一般点加运算结果,实现了通过量子线路实现椭圆曲线中的一般点加运算,有利于后续利用量子计算的高效处理能力进行密文解密。
参见图4,图4为本申请实施例提供的一种椭圆曲线中的一般点加量子运算装置的流程示意图。该装置包括第一处理单元401,用于:确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
可选的,所述点P(x1,y1)对应的量子态为|x1>与|y1>,所述|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储。
可选的,所述点Q的坐标为(x2,y2),在所述基于点Q构造常数模减运算器方面,所述第一处理单元401具体用于:构造常数为x2、模数为p的第一常数模减运算器和常数为y2、模数为p第二常数模减运算器。
可选的,在所述基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率方面,所述第一处理单元401具体用于:
将所述第一常数模减运算器作用于所述第一量子寄存器以及将所述第二常数模减运算器作用于所述第二量子寄存器,得到量子态为|(x1-x2)mod p>的第一量子寄存器与量子态为|(y1-y2)mod p>的第二量子寄存器;
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)-1mod p>的第一量子寄存器;
对所述第一量子寄存器、所述第二量子寄存器和量子态为|0>的辅助量子寄存器做变量模乘操作,得到量子态为的辅助量子寄存器,所述为所述点P和所述点Q所确定的直线的斜率λ。
可选的,所述P+Q=R,在所述基于所述斜率确定所述点P和所述点Q的一般点加运算结果方面,所述第一处理单元401具体用于:基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,以及基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态;基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P和所述点Q的一般点加运算结果。
可选的,所述点R的坐标为(x3,y3),在所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态方面,所述第一处理单元401具体用于:对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)mod p>的第一量子寄存器;将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>,以及对所述辅助量子寄存器与所述第二量子寄存器做变量平方模操作,得到量子态为|λ2mod p>的第二量子寄存器;对所述第一量子寄存器和所述第二量子寄存器做变量模减操作,得到量子态为|(x1-x22)mod p>的第一量子寄存器;对所述第一量子寄存器做常数为3x2的常数模加操作,得到量子态为|-(x3-x2)mod p>的第一量子寄存器。
可选的,在所述将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>方面,所述第一处理单元401具体用于:对所述辅助量子寄存器、所述第一量子寄存器和所述第二量子寄存器做逆变量模乘操作,得到量子态为|0>的第二量子寄存器。
可选的,在所述基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态方面,所述第一处理单元401具体用于:将所述第二量子寄存器的量子态|λ2mod p>重置为|0>,以及对所述辅助量子寄存器、第一量子寄存器和第二量子寄存器做变量模乘操作,得到量子态为|(y2+y3)mod p>的第二量子寄存器。
可选的,在所述将所述第二量子寄存器的量子态|λ2mod p>重置为|0>方面,所述第一处理单元401具体用于:对所述第二量子寄存器和所述辅助量子寄存器做逆变量平方模操作,得到量子态为|0>的第二量子寄存器。
可选的,在所述基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P和所述点Q的一般点加运算结果方面,所述第一处理单元401具体用于:对所述第一量子寄存器做模加法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器;对所述第一量子寄存器做常数为x2的常数模加操作,以及对所述第二量子寄存器做常数为y2的常数模减操作,得到量子态为|x3mod p>的 第一量子寄存器和量子态为|y3mod p>的第二量子寄存器;基于所述|x3mod p>和|y3mod p>确定所述点P和所述点Q的一般点加运算结果。
可选的,所述第一处理单元401还用于:将所述辅助量子寄存器的量子态|λmod p>重置为|0>。
可选的,在所述将所述辅助量子寄存器的量子态|λmod p>重置为|0>方面,所述第一处理单元401用于:对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)-1mod p>的第一量子寄存器;对所述第一量子寄存器、第二量子寄存器和辅助量子寄存器做逆变量模乘操作,得到量子态为|0>的辅助量子寄存器;对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器。
其中,所述装置还可以包括第一通信单元402和第一存储单元403,所述第一通信单元402可以是触控显示屏或者接收器,所述第一存储单元403可以是存储器,用于存储电子装置的程序代码和数据。
本申请的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
针对如何在量子计算中实现椭圆曲线中的二倍点运算,本申请提出了一种椭圆曲线中的二倍点量子运算方法及相关装置,旨在实现通过量子线路实现椭圆曲线中的二倍点运算,从而便于利用量子计算的高效处理能力进行密文解密。
在椭圆曲线密码体制中,用到的主要是有限域上的椭圆曲线,本申请主要考虑素数域上的椭圆曲线E/FP,其中p为有限域的特征且为大于3的素数。所以,本申请中的所有运算均是在模p下的运算。本申请考虑二倍点运算:若P=Q且P的纵坐标不为0,则有:
x3=λ2-2x1mod p,y3=(λ(x1-x3)-y1)mod p,
其中,(x1,y1)为点P和点Q的坐标,(x3,y3)为点R的坐标,所述2P=R,λ为椭圆曲线在点P的切线的斜率,所述椭圆曲线为y2=x3+Ax+B。
因此,若是能够确定λ,则可以将点R的横纵坐标用λ以及点P的坐标表示出来。
参见图5,图5为本申请实施例提供的一种椭圆曲线中的二倍点量子运算方法的流程示意图。该方法包括以下步骤:
步骤501:确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;
其中,所述点P(x1,y1)对应的量子态为|x1>与|y1>,所述|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储。
量子比特的集合称为量子寄存器,第一量子寄存器和第二量子寄存器包括至少一个量子比特。
步骤502:基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;
可选的,所述基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率,包括:
基于所述点P对应的量子态|x1>确定所述椭圆曲线在所述点P的切线的斜率的分子,以及基于所述点P对应的量子态|y1>确定所述椭圆曲线在所述点P的切线的斜率的分母;
基于所述分子与所述分母确定所述椭圆曲线在所述点P的切线的斜率。
其中,所述椭圆曲线在所述点P的切线的斜率的分子为3x1 2+A mod p,所述椭圆曲线在所述点P的切线的斜率的分母为2y1mod p,所述椭圆曲线在所述点P的切线的斜率为(3x1 2+A)(2y1)-1mod p。
在本申请提供的一具体实施例中,所述基于所述点P对应的量子态|x1>确定所述椭圆曲线在所述点P的切线的斜率的分子,包括:
获取第一辅助寄存器和第二辅助寄存器;
对所述第一量子寄存器和所述第一辅助寄存器做变量平方模操作,得到量子态为|x1 2mod p>的第一辅助寄存器;
对所述第一辅助寄存器和所述第二辅助寄存器做常数为3的常数模乘操作,得到量子态为|3x1 2mod p>的第一辅助寄存器;
对所述第一辅助寄存器做常数为A的常数模加操作,得到量子态为|3x1 2+A mod p>的第一辅助寄存器,所述A为所述椭圆曲线中自变量的一次项系数,所述3x1 2+A mod p为所述椭圆曲线在所述点P的切线的斜率的分子。
其中,第一辅助寄存器和第二辅助寄存器的初始量子态为|0>。
其中,对所述第一量子寄存器和所述第一辅助寄存器做变量平方模操作,得到量子态为|x1 2mod p>的第一辅助寄存器,即将变量平方模操作对应的量子逻辑门作用在第一量子寄存器和第一辅助寄存器包括的量子比特上,第一量子寄存器的量子态为|x1>,保持不变,第一辅助寄存器的量子态由|0>演化至|x1 2mod p>。
其中,对所述第一辅助寄存器和所述第二辅助寄存器做常数为3的常数模乘操作,得到量子态为|3x1 2mod p>的第一辅助寄存器,即将常数模乘操作对应的量子逻辑门作用在第一辅助寄存器和第二辅助寄存器包括的量子比特上,第一辅助寄存器的量子态由|x1 2mod p>演化至|3x1 2mod p>,第二辅助寄存器的量子态为|0>,保持不变。
其中,椭圆曲线的方程为y2=x3+Ax+B,A为所述椭圆曲线中自变量x的一次项系数,B为所述椭圆曲线中的常数项。
其中,对所述第一辅助寄存器做常数为A的常数模加操作,得到量子态为|3x1 2+A mod p>的第一辅助寄存器,即将常数为A的常数模加操作对应的量子逻辑门作用在第一辅助寄存器包括的量子比特上,第一辅助寄存器的量子态由|3x1 2mod p)演化至|3x1 2+A mod p>。
在本申请提供的一具体实施例中,所述基于所述点P对应的量子态|y1>确定所述椭圆曲线在所述点P的切线的斜率的分母,包括:
对所述第二量子寄存器和所述第二辅助寄存器做常数为2的常数模乘操作,得到量子态为|2y1mod p>的第二量子寄存器,所述2y1mod p为所述椭圆曲线在所述点P的切线的斜率的分母。
其中,对所述第二量子寄存器和所述第二辅助寄存器做常数为2的常数模乘操作,得到量子态为|2y1mod p>的第二量子寄存器,即将常数模乘操作对应的量子逻辑门作用在第二量子寄存器和第二辅助寄存器包括的量子比特上,第二量子寄存器的量子态由|y1>演化至|2y1mod p>,第二辅助寄存器的量子态为|0>,保持不变。
在本申请提供的一具体实施例中,所述基于所述分子与所述分母确定所述椭圆曲线在所述点P的切线的斜率,包括:
对所述第二量子寄存器做模乘法逆操作,得到量子态为|(2y1)-1mod p>的第二量子寄存器;
对所述第二量子寄存器、所述第一辅助寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|(3x1 2+A)(2y1)-1mod p>的第二量子寄存器,所述(3x1 2+A)(2y1)-1mod p为所述椭圆曲线在所述点P的切线的斜率λ。
其中,对所述第二量子寄存器做模乘法逆操作,得到量子态为|(2y1)-1mod p>的第二量子寄存器,即将模乘法逆操作对应的量子逻辑门作用在第二量子寄存器包括的量子比特上,第二量子寄存器的量子态由|2y1mod p>演化至|(2y1)-1mod p>。
其中,对所述第二量子寄存器、所述第一辅助寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|(3x1 2+A)(2y1)-1mod p>的第二辅助寄存器,即将变量模乘操作对应的量子逻辑门作用在第二量子寄存器、第一辅助寄存器和第二辅助寄存器包括的量子比特上,第二辅助寄存器的量子态由|(2y1)-1mod p>演化至|(3x1 2+A)(2y1)-1mod p>,第一辅助寄存器和第二量子寄存器的量子态不变,分别为|3x1 2+A mod p>和|(2y1)-1mod p>。
步骤503:基于所述斜率确定所述点P的二倍点运算结果。
可选的,2P=R,所述基于所述斜率确定所述点P的二倍点运算结果,包括:
基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,以及基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态;
基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果。
在本申请的一具体实施例中,所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态之前,所述方法还包括:
将所述第一辅助寄存器的量子态|3x1 2+A mod p>、所述第一量子寄存器的量子态|x1>、所述第二 量子寄存器的量子态|(2y1)-1mod p>重置为|0>。
具体地,所述将所述第一辅助寄存器的量子态|3x1 2+A mod p>重置为|0>,包括:
对所述第一辅助寄存器做常数为A的常数模减操作,以及对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|3x1 2mod p>的第一辅助寄存器和量子态为|0>的第一量子寄存器;
对所述第一量子寄存器和所述第一辅助寄存器做常数为3的常数模除操作,得到量子态为|x1 2mod p>的第一辅助寄存器;
对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x1>的第一量子寄存器;
对所述第一量子寄存器和所述第一辅助寄存器做逆变量平方模操作,得到量子态为|0>的第一辅助寄存器。
其中,对所述第一辅助寄存器做常数为A的常数模减操作,以及对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|3x1 2mod p>的第一辅助寄存器和量子态为|0>的第一量子寄存器,即将常数为A的常数模减操作对应的量子逻辑门作用在第一辅助寄存器包括的量子比特上,第一辅助寄存器的量子态由|3x1 2+A mod p>演化至|3x1 2mod p>,将常数为x1的常数模减操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|x1>演化至|0>。
其中,对所述第一量子寄存器和所述第一辅助寄存器做常数为3的常数模除操作,得到量子态为|x1 2mod p>的第一辅助寄存器,即将常数为3的常数模除操作对应的量子逻辑门作用于第一量子寄存器和第一辅助寄存器包括的量子比特上,第一辅助寄存器的量子态由|3x1 2mod p>演化至|x1 2mod p>,第一量子寄存器的量子态为|0>,保持不变。常数模除操作对应的量子逻辑门与常数模乘操作对应的量子逻辑门转置共轭。
其中,对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x1>的第一量子寄存器,即将常数为x1的常数模加操作对应的量子逻辑门作用于第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|0>演化至|x1>。
其中,对所述第一量子寄存器和所述第一辅助寄存器做逆变量平方模操作,得到量子态为|0>的第一辅助寄存器,即将逆变量平方模操作对应的量子逻辑门作用在和第一量子寄存器和第一辅助寄存器包括的量子比特上,第一辅助寄存器的量子态由|x1 2mod p>演化至|0>,第一量子寄存器的量子态为|x1>,保持不变。
具体地,所述将所述第一量子寄存器的量子态|x1>重置为|0>,包括:
对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|0>的第一量子寄存器。
其中,对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|0>的第一量子寄存器,即将常数为x1的常数模减操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|x1>演化至|0>。
具体地,所述将所述第二量子寄存器的量子态|(2y1)-1mod p>重置为|0>,包括:
对所述第二量子寄存器做模乘法逆操作,得到量子态为|2y1mod p>的第二量子寄存器;
对所述第二量子寄存器做常数为2y1的常数模减操作,得到量子态为|0>的第二量子寄存器。
其中,对所述第二量子寄存器做模乘法逆操作,得到量子态为|2y1mod p>的第二量子寄存器,即将模乘法逆操作对应的量子逻辑门作用在第二量子寄存器包括的量子比特上,第二量子寄存器的量子态 由|(2y1)-1mod p>演化至|2y1mod p>。
其中,对所述第二量子寄存器做常数为2y1的常数模减操作,得到量子态为|0>的第二量子寄存器,即将常数为2y1的常数模减操作对应的量子逻辑门作用在第二量子寄存器包括的量子比特上,第二量子寄存器的量子态由|2y1mod p>演化至|0>。
可选的,所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
对所述第一量子寄存器和所述第二辅助寄存器做变量平方模操作,得到量子态为|λ2mod p>的第一量子寄存器;
对所述第一量子寄存器做常数为3x1的常数模减操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器,其中(x3-x1)mod p=(λ2-3x1)mod p。
其中,对所述第一量子寄存器和所述第二辅助寄存器做变量平方模操作,得到量子态为|λ2mod p>的第一量子寄存器,即将变量平方模操作对应的量子逻辑门作用在第一量子寄存器和第二辅助寄存器包括的量子比特上,第一量子寄存器的量子态由|0>演化至|λ2mod p>,第二辅助寄存器的量子态为|λmod p>,保持不变。
其中,对所述第一量子寄存器做常数为3x1的常数模减操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器,即将常数为3x1的常数模减操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|λ2mod p>演化至|(λ2-3x1)mod p>,即|(x3-x1)mod p>。
可选的,所述基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
对所述第一量子寄存器、第二量子寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|-(y1+y3)mod p>的第二量子寄存器,其中-(y1+y3)mod p=-λ(x3-x1)mod p。
其中,对所述第一量子寄存器、第二量子寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|-(y1+y3)mod p>的第二量子寄存器,即将变量模乘操作对应的量子逻辑门作用在第一量子寄存器和第二辅助寄存器包括的量子比特上,第一量子寄存器和第二量子寄存器的量子态保持不变,分别为|(λ2-3x1)mod p>和|λmod p>,第二量子寄存器的量子态由|0>演化至|-(y1+y3)mod p>。
可选的,所述基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果,包括:
对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器;
对所述第二量子寄存器做模加法逆操作,得到量子态为|(y1+y3)mod p>的第二量子寄存器;
对所述第二量子寄存器做常数为y1的常数模减操作,得到量子态为|y3mod p>的第二量子寄存器;
基于所述|x3mod p>和|y3mod p>确定所述点P的二倍点运算结果。
其中,对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器,即将常数为x1的常数模加操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x3-x1)mod p>演化至|x3mod p>。
其中,对所述第二量子寄存器做模加法逆操作,得到量子态为|(y1+y3)mod p>的第二量子寄存器,即将模加法逆操作对应的量子逻辑门作用在第二量子寄存器包括的量子比特上,第二量子寄存器的量子 态由|-(y1+y3)mod p>演化至|(y1+y3)mod p>。
其中,对所述第二量子寄存器做常数为y1的常数模减操作,得到量子态为|y3mod p>的第二量子寄存器,即将常数为y1的常数模减操作对应的量子逻辑门作用在第二量子寄存器包括的量子比特上,第二量子寄存器的量子态由|(y1+y3)mod p>演化至|y3mod p>。
可选的,所述方法还包括:
将所述第二辅助寄存器的量子态|λmod p>重置为|0>。
将第二辅助寄存器的量子态|λmod p>重置为|0>可以是在所述对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器之前,也可以是在所述对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器之后,在此不作限定。此操作可以使得第二辅助寄存器重复利用,用于其他的量子计算或存储。
在本申请的一具体实施例中,在所述对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器之前,将所述第二辅助寄存器的量子态|λmod p>重置为|0>。
具体地,所述将所述第二辅助寄存器的量子态|λmod p>重置为|0>,包括:
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)-1mod p>的第一量子寄存器;
对所述第一量子寄存器、所述第二量子寄存器和所述第二辅助寄存器做逆变量模乘操作,得到量子态为|0>的第二辅助量子寄存器;
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器。
其中,对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)-1mod p>的第一量子寄存器,即将模乘法逆操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x3-x1)mod p>演化至|(x3-x1)-1mod p>。
其中,对所述第一量子寄存器、所述第二量子寄存器和所述第二辅助寄存器做逆变量模乘操作,得到量子态为|0>的第二辅助量子寄存器,即将变量模乘操作对应的量子逻辑门作用在第一量子寄存器、第二量子寄存器和第二辅助寄存器包括的量子比特上,第一量子寄存器和第二量子寄存器的量子态保持不变,分别为|(x3-x1)-1mod p>和|-(y1+y3)mod p>,第二辅助寄存器的量子态由|λmod p>演化至|0>。
其中,对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器,即将,模乘法逆操作对应的量子逻辑门作用在第一量子寄存器包括的量子比特上,第一量子寄存器的量子态由|(x3-x1)-1mod p>演化至|(x3-x1)mod p>。该步骤将第一量子寄存器的量子态进行了复原,方便后续基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果。
其中,变量平方模操作的具体实现可以参见申请号为“202211464665.9”,名称为“变量平方模运算器、运算方法及相关装置”的中国专利文献。逆变量平方模操作对应的量子逻辑门与变量平方模操作对应的量子逻辑门转置共轭。
其中,常数模乘操作的具体实现方式可以参见申请号为“202211125591.6”,名称为“常数模加模乘运算器、模乘运算器、运算方法及相关装置”的中国专利文献。
其中,常数模加操作的具体实现方式可以参见申请号为“202211114261.7”,名称为“基于量子傅里叶变换的常数模加运算器、方法及相关装置”的中国专利文献。常数模减操作对应的量子逻辑门与常数 模加操作对应的量子逻辑门转置共轭。
其中,模乘法逆操作、模加法逆操作的具体实现方式均可以参见申请号为“202211465261.1”,名称为“模逆量子线路的构造方法、装置、介质及电子装置”的中国专利文献。
其中,变量模乘操作的具体实现方式可以参见申请号为“202211465294.6”,名称为“变量模乘运算器、运算方法及相关装置”的中国专利文献。逆变量模乘操作对应的量子逻辑门与变量模乘操作对应的量子逻辑门转置共轭。
除此之外,对于任意数x,求-x mod p,可等价于计算(p-1)·x mod p,从而模加法逆操作也可以通过常数为(p-1)的常数模乘操作实现。
如图6所示,图6为本申请实施例提供的一种椭圆曲线中二倍点运算的量子线路示意图。|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储,第一辅助寄存器和第二辅助寄存器的初始量子态为|0>。第一量子寄存器、第二量子寄存器、第一辅助寄存器和第二辅助寄存器均包括n个量子比特。Sqr为变量平方模操作,×3为常数为3的常数模乘操作,+A为常数为A的常数模加操作,×2为常数为2的常数模乘操作,Inv为模乘法逆操作,Mul为变量模乘操作,-A为常数为A的常数模减操作,-x1为常数为x1的常数模减操作,÷3为常数为3的常数模除操作,+x1常数为x1的常数模加操作,为逆变量平方模操作,-2y1为常数为2y1的常数模减操作,-3x1为常数为3x1的常数模减操作,为逆变量模乘操作,Neg为模加法逆操作,-y1为常数为y1的常数模减操作。
与现有技术相比,本申请提供的一种椭圆曲线中的二倍点量子运算方法及相关装置,该方法通过确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;基于所述斜率确定所述点P的二倍点运算结果,实现了通过量子线路实现椭圆曲线中的二倍点运算,有利于后续利用量子计算的高效处理能力进行密文解密。
参见图7,图7为本申请实施例提供的一种椭圆曲线中的二倍点量子运算装置的流程示意图。该装置包括第二处理单元701,用于:
确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;
基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;
基于所述斜率确定所述点P的二倍点运算结果。
可选的,所述点P(x1,y1)对应的量子态为|x1>与|y1>,所述|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储。
可选的,在所述基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率方面,所述第二处理单元701具体用于:
基于所述点P对应的量子态|x1>确定所述椭圆曲线在所述点P的切线的斜率的分子,以及基于所述点P对应的量子态|y1>确定所述椭圆曲线在所述点P的切线的斜率的分母;
基于所述分子与所述分母确定所述椭圆曲线在所述点P的切线的斜率。
可选的,在所述基于所述点P对应的量子态|x1>确定所述椭圆曲线在所述点P的切线的斜率的分子方面,所述第二处理单元701具体用于:
获取第一辅助寄存器和第二辅助寄存器;
对所述第一量子寄存器和所述第一辅助寄存器做变量平方模操作,得到量子态为|x1 2mod p>的第一 辅助寄存器;
对所述第一辅助寄存器和所述第二辅助寄存器做常数为3的常数模乘操作,得到量子态为|3x1 2mod p)的第一辅助寄存器;
对所述第一辅助寄存器做常数为A的常数模加操作,得到量子态为|3x1 2+A mod p>的第一辅助寄存器,所述A为所述椭圆曲线中自变量的一次项系数,所述3x1 2+A mod p为所述椭圆曲线在所述点P的切线的斜率的分子。
可选的,在所述基于所述点P对应的量子态|y1>确定所述椭圆曲线在所述点P的切线的斜率的分母方面,所述第二处理单元701具体用于:
对所述第二量子寄存器和所述第二辅助寄存器做常数为2的常数模乘操作,得到量子态为|2y1mod p>的第二量子寄存器,所述2y1mod p为所述椭圆曲线在所述点P的切线的斜率的分母。
可选的,在所述基于所述分子与所述分母确定所述椭圆曲线在所述点P的切线的斜率方面,所述第二处理单元701具体用于:
对所述第二量子寄存器做模乘法逆操作,得到量子态为|(2y1)-1mod p>的第二量子寄存器;
对所述第二量子寄存器、所述第一辅助寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|(3x1 2+A)(2y1)-1mod p>的第二辅助寄存器,所述(3x1 2+A)(2y1)-1mod p为所述椭圆曲线在所述点P的切线的斜率λ。
可选的,2P=R,在所述基于所述斜率确定所述点P的二倍点运算结果方面,所述第二处理单元701具体用于:
基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,以及基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态;
基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果。
可选的,在所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态之前,所述第二处理单元701还用于:
将所述第一辅助寄存器的量子态|3x1 2+A mod p>、所述第一量子寄存器的量子态|x1>、所述第二量子寄存器的量子态|(2y1)-1mod p>重置为|0>。
可选的,在所述将所述第一辅助寄存器的量子态|3x1 2+A mod p>重置为|0>方面,所述第二处理单元701具体用于:
对所述第一辅助寄存器做常数为A的常数模减操作,以及对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|3x1 2mod p>的第一辅助寄存器和量子态为|0>的第一量子寄存器;
对所述第一量子寄存器和所述第一辅助寄存器做常数为3的常数模除操作,得到量子态为|x1 2mod p>的第一辅助寄存器;
对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x1>的第一量子寄存器;
对所述第一量子寄存器和所述第一辅助寄存器做逆变量平方模操作,得到量子态为|0>的第一辅助寄存器。
可选的,在所述将所述第一量子寄存器的量子态|x1>重置为|0>方面,所述第二处理单元701具体用 于:
对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|0>的第一量子寄存器。
可选的,在所述将所述第二量子寄存器的量子态|(2y1)-1mod p>重置为|0>方面,所述第二处理单元701具体用于:
对所述第二量子寄存器做模乘法逆操作,得到量子态为|2y1mod p>的第二量子寄存器;
对所述第二量子寄存器做常数为2y1的常数模减操作,得到量子态为|0>的第二量子寄存器。
可选的,在所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态方面,所述第二处理单元701具体用于:
对所述第一量子寄存器和所述第二辅助寄存器做变量平方模操作,得到量子态为|λ2mod p>的第一量子寄存器;
对所述第一量子寄存器做常数为3x1的常数模减操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器,其中(x3-x1)mod p=(λ2-3x1)mod p。
可选的,在所述基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态方面,所述第二处理单元701具体用于:
对所述第一量子寄存器、第二量子寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|-(y1+y3)mod p>的第二量子寄存器,其中-(y1+y3)mod p=-λ(x3-x1)mod p。
可选的,在所述基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果方面,所述第二处理单元701具体用于:
对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器;
对所述第二量子寄存器做模加法逆操作,得到量子态为|(y1+y3)mod p>的第二量子寄存器;
对所述第二量子寄存器做常数为y1的常数模减操作,得到量子态为|y3mod p>的第二量子寄存器;
基于所述|x3mod p>和|y3mod p>确定所述点P的二倍点运算结果。
可选的,所述第二处理单元701还用于:
将所述第二辅助寄存器的量子态|λmod p>重置为|0>。
可选的,在所述将所述第二辅助寄存器的量子态|λmod p>重置为|0>方面,所述第二处理单元701具体用于:
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)-1mod p>的第一量子寄存器;
对所述第一量子寄存器、所述第二量子寄存器和所述第二辅助寄存器做逆变量模乘操作,得到量子态为|0>的第二辅助量子寄存器;
对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器。
其中,所述装置还可以包括第二通信单元702和第二存储单元703,所述第二通信单元702可以是触控显示屏或者接收器,所述第二存储单元703可以是存储器,用于存储电子装置的程序代码和数据。
本申请的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;
基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;
基于所述斜率确定所述点P的二倍点运算结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;
基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;
基于所述斜率确定所述点P的二倍点运算结果。
参见图8,图8为本申请实施例提供的一种基于量子线路的ECC密文解密方法的流程示意图。所述方法包括:
步骤801:获取ECC密文对应的基点和公钥;
其中,ECC的安全性是基于椭圆曲线离散对数问题(Elliptic Curve Discrete Logarithm Problem,ECDLP):设是定义在有限域上的椭圆曲线,是阶为r的循环加法群。设Q∈<P>且Q=[m]P,求解m,其中P为ECC密文对应的基点,Q为ECC密文对应的公钥,m为离散对数值,即私钥。
步骤802:基于所述基点和所述公钥构建受控点加运算操作;
椭圆曲线是一类很特殊的代数曲线,其上的所有有理点可以构成加法群,且加法运算具有几何加法的特性。在椭圆曲线上取两个点A(x1,y1)和B(x2,y2),若A≠±B且A、B不为无穷远点O,则连接A和B两点作一条直线,这条直线将在该椭圆曲线上交于第三点G,过G点再作垂直于x轴的直线,将过椭圆曲线另一点R(一般是关于x轴对称的点),R点则被定义为A+B的结果,即A+B=R,此运算过程称作椭圆曲线的一般点加运算。
若A=B且y1≠0,则确定椭圆曲线在点A的切线,这条切线将在该椭圆曲线上交于点G,过G点再作垂直于x轴的直线,将过椭圆曲线另一点R(一般是关于x轴对称的点),R点则被定义为A的二倍运算结果,即2A=R,此运算过程称作椭圆曲线的二倍点运算。
其中,所述受控点加运算即由另外的寄存器(量子比特)控制的点加运算,若控制寄存器或量子比特的量子态为|1>,该点加运算会被执行,则为实控;若控制寄存器或量子比特的量子态为|0>,该点加运算会被执行,则为虚控;该点加运算可以是椭圆曲线的一般点加运算,也可以是椭圆曲线的二倍点运算。
步骤803:基于所述受控点加运算操作构建量子线路;
步骤804:运行所述量子线路得到离散对数值;
运行所述量子线路得到离散对数值,包括对运行之后的量子线路中的量子比特进行测量,根据测量结果得到离散对数值。
例如,若测量结果为量子态|x,y>,通过经典计算预先得知群阶r,计算u,ν,则可得到离散对数m=ν/u,其中:
其中,n=log2(p),即n为素数域的比特长度。
步骤805:基于所述离散对数值对所述ECC密文进行解密。
其中,所述基于所述离散对数值对所述ECC密文进行解密具体可以参见申请号为202111365914.4,专利名称为“密文解密方法及相关设备”的张国专利文献。
与现有技术相比,本申请提供的一种基于量子线路的ECC密文解密方法、装置、介质及电子装置,该方法首先获取ECC密文对应的基点和公钥,基于基点和公钥构建受控点加运算操作,进而构建量子线路,通过量子线路运行的结果得到离散对数值,最后基于离散对数值对ECC密文进行解密,从而实现了在不知道私钥情况下,通过基点和公钥构建量子线路去对ECC密文解密。
可选的,所述受控点加运算操作包括第一受控点加运算操作和第二受控点加运算操作,所述基于所述受控点加运算操作构建量子线路,包括:
获取第一寄存器、第二寄存器、第三寄存器、H门和傅里叶变换操作;
将所述H门分别作用在所述第一寄存器和所述第二寄存器上,将所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上,将所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上,将所述傅里叶变换操作分别作用在所述第一寄存器和所述第二寄存器上,得到量子线路,所述第一受控点加运算操作和所述第二受控点加运算操作分别受所述第二寄存器和所述第一寄存器控制。
其中,H门为单量子逻辑门,将所述H门分别作用在所述第一寄存器和所述第二寄存器上,即将所述H门作用在所述第一寄存器上,以及将所述H门作用在所述第二寄存器上;将所述傅里叶变换操作分别作用在所述第一寄存器和所述第二寄存器上,即将所述傅里叶变换操作作用在所述第一寄存器上,以及将所述傅里叶变换操作作用在所述第二寄存器上。
如图9所示,图9为本申请实施例提供的一种量子线路的结构示意图。
可选的,所述第一寄存器和所述第二寄存器均包括n+1个量子比特,所述第三寄存器包括2n个量子比特,所述量子比特的初始量子态均为|0>。
可选的,所述第一受控点加运算操作和所述第二受控点加运算操作的数量为n+1,所述基于所述基点和所述公钥构建受控点加运算操作,包括:
基于所述基点的2i倍构建第i个所述第一受控点加运算操作,以及基于所述公钥的2j倍构建第j个所述第二受控点加运算操作,得到n+1个所述第一受控点加运算操作和所述第二受控点加运算操作,所述i、j均为大于或等于0且小于或等于n的整数。
举例说明,当i=0时,第0个第一受控点加运算操作用于将点P与前面的运算结果进行一般点加运算;当i=1时,第1个第一受控点加运算操作用于将点P的2倍点运算结果与前面的运算结果进行一般点加运算;···;当i=n时,第n个第一受控点加运算操作用于将点P的2n倍点运算结果与前面的运算结果进行一般点加运算;该一般点加运算均受第二寄存器中的量子比特控制。
当j=0时,第0个第二受控点加运算操作用于将点Q与前面的运算结果进行一般点加运算;当i=1时, 第1个第二受控点加运算操作用于将点Q的2倍点运算结果与前面的运算结果进行一般点加运算;···;当i=n时,第n个第二受控点加运算操作用于将点Q的2n倍点运算结果与前面的运算结果进行一般点加运算;该一般点加运算均受第一寄存器中的量子比特控制。
可选的,所述将所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上,包括:
将第i个所述第一受控点加运算操作作用于所述第二寄存器包括的第(n-i)个量子比特和所述第三寄存器包括的2n个量子比特上,以实现将n+1个所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上。
举例说明,即将第0个第一受控点加运算操作(+P)作用在第二寄存器包括的第n个量子比特和第三寄存器包括的2n个量子比特上,第二寄存器包括的第n个量子比特为控制比特;将第1个第一受控点加运算操作(+2P)作用在第二寄存器包括的第n-1个量子比特和第三寄存器包括的2n个量子比特上,第二寄存器包括的第n-1个量子比特为控制比特;···;将第n个第一受控点加运算操作(+2nP)作用在第二寄存器包括的第0个量子比特和第三寄存器包括的2n个量子比特上,第二寄存器包括的第0个量子比特为控制比特。
可选的,所述将所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上,包括:
将第j个所述第二受控点加运算操作作用于所述第一寄存器包括的第(n-j)个量子比特和所述第三寄存器包括的2n个量子比特上,以实现将n+1个所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上。
举例说明,即将第0个第二受控点加运算操作(+Q)作用在第一寄存器包括的第n个量子比特和第三寄存器包括的2n个量子比特上,第一寄存器包括的第n个量子比特为控制比特;将第1个第二受控点加运算操作(+2Q)作用在第一寄存器包括的第n-1个量子比特和第三寄存器包括的2n个量子比特上,第一寄存器包括的第n-1个量子比特为控制比特;···;将第n个第二受控点加运算操作(+2nQ)作用在第一寄存器包括的第0个量子比特和第三寄存器包括的2n个量子比特上,第一寄存器包括的第0个量子比特为控制比特。
如图10所示,图10为本申请实施例提供的另一种量子线路的结构示意图。需要注意的是,在执行第0个第一受控点加操作时,即执行点P与无穷远点O的点加,然而在一般点加量子线路上是没有考虑这种情况,但依然可以做一般点加,得到的点虽然不在椭圆曲线上了,只要保证对P和Q的一些倍点点加做到了一个周期内(r<2n+1)的点运算即可,进而通过QFT(量子傅里叶变换)可以获得周期信息,不会影响最后的m求解结果。其中,表示第三寄存器的2n个量子比特的初始量子态均为|0>。
可选的,所述受控点加运算操作中倍点运算的具体实现方式为:
确定目标点的二倍点运算结果,基于所述二倍点运算结果确定所述目标点的2k倍运算结果,所述目标点为所述基点或所述公钥,所述k=i或j。
其中,对于任意倍点运算都可以将其分解成二倍点运算与一般点加运算之和,例如4P=2P+2P,先确定2倍点运算结果,然后对2倍点运算结果进行一般点加运算。
可选的,所述目标点为椭圆曲线中纵坐标不为0的任意一点;所述确定目标点的二倍点运算结果,包括:
确定所述椭圆曲线在所述目标点的切线的斜率;
基于所述切线的斜率确定所述目标点的二倍点运算结果。
在椭圆曲线密码体制中,用到的主要是有限域上的椭圆曲线,本申请主要考虑素数域上的椭圆曲线E/FP,其中p为有限域的特征且为大于3的素数。所以,本申请中的所有运算均是在模p下的运算。本申请考虑二倍点运算:
x3=λ2-2x1mod p,y3=(λ(x1-x3)-y1)mod p,
其中,(x1,y1)为目标点的坐标,(x3,y3)为目标点的二倍点的坐标,λ为椭圆曲线在目标点的切线的斜率,所述椭圆曲线为y2=x3+Ax+B。
因此,若是能够确定λ,则可以将目标点的二倍点的横纵坐标用λ以及目标点的坐标表示出来。需要说明的是,目标点的二倍点运算结果可以通过经典计算预先计算出来,也可以是通过量子计算计算出来,在此不做限定。
在本申请的一具体实施例中,目标点的二倍点运算结果通过量子计算计算出来,具体的实现方式可以参见上述椭圆曲线中的二倍点量子运算方法。一个例子中,参见图6,图6为本申请提供的一种二倍点运算的量子线路的结构示意图。|x1>与|y1>分别由第四寄存器和第五寄存器进行存储,第一辅助寄存器和第二辅助寄存器的初始量子态为|0>。第四寄存器、第五寄存器、第一辅助寄存器和第二辅助寄存器均包括n个量子比特。Sqr为变量平方模操作,×3为常数为3的常数模乘操作,+A为常数为A的常数模加操作,×2为常数为2的常数模乘操作,Inv为模乘法逆操作,Mul为变量模乘操作,-A为常数为A的常数模减操作,-x1为常数为x1的常数模减操作,÷3为常数为3的常数模除操作,+x1常数为x1的常数模加操作,为逆变量平方模操作,-2y1为常数为2y1的常数模减操作,-3x1为常数为3x1的常数模减操作,为逆变量模乘操作,Neg为模加法逆操作,-y1为常数为y1的常数模减操作。
其中,前面依次作用的Sqr、×3、+A、×2、Inv、Mul等操作用于得到椭圆曲线在目标点的切线的斜率,后面依次作用的-A、-x1、÷3、+x1-2y1、-3x1Neg、-y1等操作用于基于所述切线的斜率确定所述目标点的二倍点运算结果。
可选的,所述受控点加运算操作与任意一点的一般点加量子运算具体实现方式为:
确定所述任意一点对应的量子态,以及基于目标点构造常数模减运算器,所述任意一点和所述目标点为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点,所述目标点为所述基点或所述公钥;
基于所述任意一点对应的量子态和所述常数模减运算器确定所述任意一点和所述目标点所确定的直线的斜率;
基于所述直线的斜率确定所述任意一点和所述目标点的一般点加运算结果。
本申请考虑一般点加运算:
x3=(λ2-x1-x2)mod p,y3=(λ(x1-x3)-y1)mod p,
其中,(x1,y1)为任意一点的坐标,(x2,y2)为目标点的坐标,(x3,y3)为一般点加运算结果的坐标,λ为所述任意一点和所述目标点所确定的直线的斜率。
因此,若是能够确定λ,则可以将一般点加运算结果的横纵坐标用λ以及所述任意一点和所述目标点 的坐标表示出来。
具体的实现方式可以参见上述椭圆曲线中的一般点加量子运算方法。一个例子中,参见图3,图3为本申请提供的一种一般点加运算的量子线路的结构示意图。|x1>与|y1>分别由第六寄存器和第七寄存器进行存储,辅助量子寄存器的初始量子态为|0>。第六寄存器、第七寄存器和辅助量子寄存器均包括n个量子比特。图中,-x2和-y2分别为第一常数模减运算器和第二常数模减运算器,Inv为模乘法逆操作或模加法逆操作,Mul为变量模乘操作,为逆变量模乘操作,Sqr为变量平方模操作,为变量模减操作(即逆变量模加操作),+3x2为常数模加操作,为逆变量平方模操作,Neg为模加法逆操作,+x2为常数模加操作,-y2为常数模减操作。
其中,前面依次作用的-x2、-y2、Inv、Mul等操作用于得到所述任意一点和所述目标点所确定的直线的斜率,后面依次作用的Sqr、+3x2Neg、+x2、-y2等操作用于确定所述任意一点和所述目标点的一般点加运算结果。
本申请基于所述受控一般点加量子线路,可以实现小于或等于5n+8量子比特数下Shor算法求解椭圆曲线离散对数问题。
参见图11,图11为本申请实施例提供的一种基于量子线路的ECC密文解密装置的结构示意图,所述装置包括:
获取单元1101,用于获取ECC密文对应的基点和公钥;
构建单元1102,用于基于所述基点和所述公钥构建受控点加运算操作;基于所述受控点加运算操作构建量子线路;
运行单元1103,用于运行所述量子线路得到离散对数值;
解密单元1104,用于基于所述离散对数值对所述ECC密文进行解密。
可选的,所述受控点加运算操作包括第一受控点加运算操作和第二受控点加运算操作,在所述基于所述受控点加运算操作构建量子线路方面,所述构建单元1102,具体用于:
获取第一寄存器、第二寄存器、第三寄存器、H门和傅里叶变换操作;
将所述H门分别作用在所述第一寄存器和所述第二寄存器上,将所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上,将所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上,将所述傅里叶变换操作分别作用在所述第一寄存器和所述第二寄存器上,得到量子线路,所述第一受控点加运算操作和所述第二受控点加运算操作分别受所述第二寄存器和所述第一寄存器控制。
可选的,所述第一寄存器和所述第二寄存器均包括n+1个量子比特,所述第三寄存器包括2n个量子比特,所述量子比特的初始量子态均为|0>。
可选的,所述第一受控点加运算操作和所述第二受控点加运算操作的数量为n+1,在所述基于所述基点和所述公钥构建受控点加运算操作方面,所述构建单元1102,具体用于:
基于所述基点的2i倍构建第i个所述第一受控点加运算操作,以及基于所述公钥的2j倍构建第j个所述第二受控点加运算操作,得到n+1个所述第一受控点加运算操作和所述第二受控点加运算操作,所述i、j均为大于或等于0且小于或等于n的整数。
可选的,在所述将所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上方面,所 述构建单元1102,具体用于:
将第i个所述第一受控点加运算操作作用于所述第二寄存器包括的第(n-i)个量子比特和所述第三寄存器包括的2n个量子比特上,以实现将n+1个所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上。
可选的,在所述将所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上方面,所述构建单元1102,具体用于:
将第j个所述第二受控点加运算操作作用于所述第一寄存器包括的第(n-j)个量子比特和所述第三寄存器包括的2n个量子比特上,以实现将n+1个所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上。
可选的,所述受控点加运算操作中倍点运算的具体实现方式为:
确定目标点的二倍点运算结果,基于所述二倍点运算结果确定所述目标点的2k倍运算结果,所述目标点为所述基点或所述公钥,所述k=i或j。
可选的,所述目标点为椭圆曲线中纵坐标不为0的任意一点;所述确定目标点的二倍点运算结果,包括:
确定所述椭圆曲线在所述目标点的切线的斜率;
基于所述切线的斜率确定所述目标点的二倍点运算结果。
可选的,所述受控点加运算操作与任意一点的一般点加量子运算具体实现方式为:
确定所述任意一点对应的量子态,以及基于目标点构造常数模减运算器,所述任意一点和所述目标点为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点,所述目标点为所述基点或所述公钥;
基于所述任意一点对应的量子态和所述常数模减运算器确定所述任意一点和所述目标点所确定的直线的斜率;
基于所述直线的斜率确定所述任意一点和所述目标点的一般点加运算结果。
本申请的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
获取ECC密文对应的基点和公钥;
基于所述基点和所述公钥构建受控点加运算操作;
基于所述受控点加运算操作构建量子线路;
运行所述量子线路得到离散对数值;
基于所述离散对数值对所述ECC密文进行解密。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取ECC密文对应的基点和公钥;
基于所述基点和所述公钥构建受控点加运算操作;
基于所述受控点加运算操作构建量子线路;
运行所述量子线路得到离散对数值;
基于所述离散对数值对所述ECC密文进行解密。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (42)

  1. 一种椭圆曲线中的一般点加量子运算方法,所述方法包括:
    确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;
    基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;
    基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
  2. 如权利要求1所述的方法,其中,所述点P(x1,y1)对应的量子态为|x1>与|y1>,所述|x1>与|y1>分别由第一量子寄存器和第二量子寄存器进行存储。
  3. 如权利要求2所述的方法,其中,所述点Q的坐标为(x2,y2),所述基于点Q构造常数模减运算器,包括:
    构造常数为x2、模数为p的第一常数模减运算器和常数为y2、模数为p第二常数模减运算器。
  4. 如权利要求3所述的方法,其中,所述基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率,包括:
    将所述第一常数模减运算器作用于所述第一量子寄存器以及将所述第二常数模减运算器作用于所述第二量子寄存器,得到量子态为|(x1-x2)mod p>的第一量子寄存器与量子态为|(y1-y2)mod p>的第二量子寄存器;
    对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)-1mod p>的第一量子寄存器;
    对所述第一量子寄存器、所述第二量子寄存器和量子态为|0>的辅助量子寄存器做变量模乘操作,得到量子态为的辅助量子寄存器,所述为所述点P和所述点Q所确定的直线的斜率λ。
  5. 如权利要求4所述的方法,其中,所述P+Q=R,所述基于所述斜率确定所述点P和所述点Q的一般点加运算结果,包括:
    基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,以及基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态;
    基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P和所述点Q的一般点加运算结果。
  6. 如权利要求5所述的方法,其中,所述点R的坐标为(x3,y3),所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
    对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x1-x2)mod p>的第一量子寄存器;
    将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>,以及对所述辅助量子寄存器与所述第二量子寄存器做变量平方模操作,得到量子态为|λ2mod p>的第二量子寄存器;
    对所述第一量子寄存器和所述第二量子寄存器做变量模减操作,得到量子态为|(x1-x22)mod p>的第一量子寄存器;
    对所述第一量子寄存器做常数为3x2的常数模加操作,得到量子态为|-(x3-x2)mod p>的第一量子寄存器。
  7. 如权利要求6所述的方法,其中,所述将所述第二量子寄存器的量子态|(y1-y2)mod p>重置为|0>,包括:
    对所述辅助量子寄存器、所述第一量子寄存器和所述第二量子寄存器做逆变量模乘操作,得到量子态为|0>的第二量子寄存器。
  8. 如权利要求6或7所述的方法,其中,所述基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
    将所述第二量子寄存器的量子态|λ2mod p>重置为|0>,以及对所述辅助量子寄存器、第一量子寄存器和第二量子寄存器做变量模乘操作,得到量子态为|(y2+y3)mod p>的第二量子寄存器。
  9. 如权利要求8所述的方法,其中,所述将所述第二量子寄存器的量子态|λ2mod p>重置为|0>,包括:
    对所述第二量子寄存器和所述辅助量子寄存器做逆变量平方模操作,得到量子态为|0>的第二量子寄存器。
  10. 如权利要求9所述的方法,其中,所述基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P和所述点Q的一般点加运算结果,包括:
    对所述第一量子寄存器做模加法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器;
    对所述第一量子寄存器做常数为x2的常数模加操作,以及对所述第二量子寄存器做常数为y2的常数模减操作,得到量子态为|x3mod p>的第一量子寄存器和量子态为|y3mod p>的第二量子寄存器;
    基于所述|x3mod p>和|y3mod p>确定所述点P和所述点Q的一般点加运算结果。
  11. 如权利要求10所述的方法,其中,所述方法还包括:
    将所述辅助量子寄存器的量子态|λmod p>重置为|0>。
  12. 如权利要求11所述的方法,其中,所述将所述辅助量子寄存器的量子态|λmod p>重置为|0>,包括:
    对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)-1mod p>的第一量子寄存器;
    对所述第一量子寄存器、第二量子寄存器和辅助量子寄存器做逆变量模乘操作,得到量子态为|0>的辅助量子寄存器;
    对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x2)mod p>的第一量子寄存器。
  13. 一种椭圆曲线中的一般点加量子运算装置,所述装置包括第一处理单元,用于:
    确定点P对应的量子态,以及基于点Q构造常数模减运算器,所述点P和所述点Q为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点;
    基于所述点P对应的量子态和所述常数模减运算器确定所述点P和所述点Q所确定的直线的斜率;
    基于所述斜率确定所述点P和所述点Q的一般点加运算结果。
  14. 一种椭圆曲线中的二倍点量子运算方法,所述方法包括:
    确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;
    基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;
    基于所述斜率确定所述点P的二倍点运算结果。
  15. 如权利要求14所述的方法,其中,所述点P(x1,y1)对应的量子态为|x1>与|y1>,所述|x1>与|y1>分 别由第一量子寄存器和第二量子寄存器进行存储。
  16. 如权利要求15所述的方法,其中,所述基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率,包括:
    基于所述点P对应的量子态|x1>确定所述椭圆曲线在所述点P的切线的斜率的分子,以及基于所述点P对应的量子态|y1>确定所述椭圆曲线在所述点P的切线的斜率的分母;
    基于所述分子与所述分母确定所述椭圆曲线在所述点P的切线的斜率。
  17. 如权利要求16所述的方法,其中,所述基于所述点P对应的量子态|x1>确定所述椭圆曲线在所述点P的切线的斜率的分子,包括:
    获取第一辅助寄存器和第二辅助寄存器;
    对所述第一量子寄存器和所述第一辅助寄存器做变量平方模操作,得到量子态为|x1 2mod p>的第一辅助寄存器;
    对所述第一辅助寄存器和所述第二辅助寄存器做常数为3的常数模乘操作,得到量子态为|3x1 2mod p>的第一辅助寄存器;
    对所述第一辅助寄存器做常数为A的常数模加操作,得到量子态为|3x1 2+A mod p>的第一辅助寄存器,所述A为所述椭圆曲线中自变量的一次项系数,所述3x1 2+A mod p为所述椭圆曲线在所述点P的切线的斜率的分子。
  18. 如权利要求17所述的方法,其中,所述基于所述点P对应的量子态|y1>确定所述椭圆曲线在所述点P的切线的斜率的分母,包括:
    对所述第二量子寄存器和所述第二辅助寄存器做常数为2的常数模乘操作,得到量子态为|2y1mod p>的第二量子寄存器,所述2y1mod p为所述椭圆曲线在所述点P的切线的斜率的分母。
  19. 如权利要求18所述的方法,其中,所述基于所述分子与所述分母确定所述椭圆曲线在所述点P的切线的斜率,包括:
    对所述第二量子寄存器做模乘法逆操作,得到量子态为|(2y1)-1mod p>的第二量子寄存器;
    对所述第二量子寄存器、所述第一辅助寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|(3x1 2+A)(2y1)-1mod p>的第二辅助寄存器,所述(3x1 2+A)(2y1)-1mod p为所述椭圆曲线在所述点P的切线的斜率λ。
  20. 如权利要求19所述的方法,其中,2P=R,所述基于所述斜率确定所述点P的二倍点运算结果,包括:
    基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,以及基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态;
    基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果。
  21. 如权利要求20所述的方法,其中,所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态之前,所述方法还包括:
    将所述第一辅助寄存器的量子态|3x1 2+A mod p>、所述第一量子寄存器的量子态|x1>、所述第二量子寄存器的量子态|(2y1)-1mod p>重置为|0>。
  22. 如权利要求21所述的方法,其中,所述将所述第一辅助寄存器的量子态|3x1 2+A mod p>重置为|0>,包括:
    对所述第一辅助寄存器做常数为A的常数模减操作,以及对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|3x1 2mod p>的第一辅助寄存器和量子态为|0>的第一量子寄存器;
    对所述第一量子寄存器和所述第一辅助寄存器做常数为3的常数模除操作,得到量子态为|x1 2mod p>的第一辅助寄存器;
    对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x1>的第一量子寄存器;
    对所述第一量子寄存器和所述第一辅助寄存器做逆变量平方模操作,得到量子态为|0>的第一辅助寄存器。
  23. 如权利要求22所述的方法,其中,所述将所述第一量子寄存器的量子态|x1>重置为|0>,包括:
    对所述第一量子寄存器做常数为x1的常数模减操作,得到量子态为|0>的第一量子寄存器。
  24. 如权利要求23所述的方法,其中,所述将所述第二量子寄存器的量子态|(2y1)-1mod p>重置为|0>,包括:
    对所述第二量子寄存器做模乘法逆操作,得到量子态为|2y1mod p>的第二量子寄存器;
    对所述第二量子寄存器做常数为2y1的常数模减操作,得到量子态为|0>的第二量子寄存器。
  25. 如权利要求24所述的方法,其中,所述基于所述斜率将所述第一量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
    对所述第一量子寄存器和所述第二辅助寄存器做变量平方模操作,得到量子态为|λ2mod p>的第一量子寄存器;
    对所述第一量子寄存器做常数为3x1的常数模减操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器,其中(x3-x1)mod p=(λ2-3x1)mod p。
  26. 如权利要求25所述的方法,其中,所述基于所述斜率将所述第二量子寄存器的量子态演化为包括所述点R坐标的量子态,包括:
    对所述第一量子寄存器、第二量子寄存器和所述第二辅助寄存器做变量模乘操作,得到量子态为|-(y1+y3)mod p>的第二量子寄存器,其中-(y1+y3)mod p=-λ(x3-x1)mod p。
  27. 如权利要求26所述的方法,其中,所述基于包括所述点R坐标的量子态的所述第一量子寄存器和所述第二量子寄存器确定所述点P的二倍点运算结果,包括:
    对所述第一量子寄存器做常数为x1的常数模加操作,得到量子态为|x3mod p>的第一量子寄存器;
    对所述第二量子寄存器做模加法逆操作,得到量子态为|(y1+y3)mod p>的第二量子寄存器;
    对所述第二量子寄存器做常数为y1的常数模减操作,得到量子态为|y3mod p>的第二量子寄存器;
    基于所述|x3mod p>和|y3mod p>确定所述点P的二倍点运算结果。
  28. 如权利要求27所述的方法,其中,所述方法还包括:
    将所述第二辅助寄存器的量子态|λmod p>重置为|0>。
  29. 如权利要求28所述的方法,其中,所述将所述第二辅助寄存器的量子态|λmod p>重置为|0>,包括:
    对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)-1mod p>的第一量子寄存器;
    对所述第一量子寄存器、所述第二量子寄存器和所述第二辅助寄存器做逆变量模乘操作,得到量子态为|0>的第二辅助量子寄存器;
    对所述第一量子寄存器做模乘法逆操作,得到量子态为|(x3-x1)mod p>的第一量子寄存器。
  30. 一种椭圆曲线中的二倍点量子运算装置,所述装置包括第二处理单元,用于:
    确定点P对应的量子态,所述点P为椭圆曲线中纵坐标不为0的任意一点;
    基于所述点P对应的量子态确定所述椭圆曲线在所述点P的切线的斜率;
    基于所述斜率确定所述点P的二倍点运算结果。
  31. 一种基于量子线路的ECC密文解密方法,所述方法包括:
    获取ECC密文对应的基点和公钥;
    基于所述基点和所述公钥构建受控点加运算操作;
    基于所述受控点加运算操作构建量子线路;
    运行所述量子线路得到离散对数值;
    基于所述离散对数值对所述ECC密文进行解密。
  32. 如权利要求31所述的方法,其中,所述受控点加运算操作包括第一受控点加运算操作和第二受控点加运算操作,所述基于所述受控点加运算操作构建量子线路,包括:
    获取第一寄存器、第二寄存器、第三寄存器、H门和傅里叶变换操作;
    将所述H门分别作用在所述第一寄存器和所述第二寄存器上,将所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上,将所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上,将所述傅里叶变换操作分别作用在所述第一寄存器和所述第二寄存器上,得到量子线路,所述第一受控点加运算操作和所述第二受控点加运算操作分别受所述第二寄存器和所述第一寄存器控制。
  33. 如权利要求32所述的方法,其中,所述第一寄存器和所述第二寄存器均包括n+1个量子比特,所述第三寄存器包括2n个量子比特,所述量子比特的初始量子态均为|0>。
  34. 如权利要求33所述的方法,其中,所述第一受控点加运算操作和所述第二受控点加运算操作的数量为n+1,所述基于所述基点和所述公钥构建受控点加运算操作,包括:
    基于所述基点的2i倍构建第i个所述第一受控点加运算操作,以及基于所述公钥的2j倍构建第j个所述第二受控点加运算操作,得到n+1个所述第一受控点加运算操作和所述第二受控点加运算操作,所述i、j均为大于或等于0且小于或等于n的整数。
  35. 如权利要求34所述的方法,其中,所述将所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上,包括:
    将第i个所述第一受控点加运算操作作用于所述第二寄存器包括的第(n-i)个量子比特和所述第三寄存器包括的2n个量子比特上,以实现将n+1个所述第一受控点加运算操作作用在所述第二寄存器和所述第三寄存器上。
  36. 如权利要求34所述的方法,其中,所述将所述第二受控点加运算操作作用在所述第一寄存器和所述第三寄存器上,包括:
    将第j个所述第二受控点加运算操作作用于所述第一寄存器包括的第(n-j)个量子比特和所述第三寄存器包括的2n个量子比特上,以实现将n+1个所述第二受控点加运算操作作用在所述第一寄存器和所 述第三寄存器上。
  37. 如权利要求31-36任一项所述的方法,其中,所述受控点加运算操作中倍点运算的具体实现方式为:
    确定目标点的二倍点运算结果,基于所述二倍点运算结果确定所述目标点的2k倍运算结果,所述目标点为所述基点或所述公钥,所述k=i或j。
  38. 如权利要求37所述的方法,其中,所述目标点为椭圆曲线中纵坐标不为0的任意一点;所述确定目标点的二倍点运算结果,包括:
    确定所述椭圆曲线在所述目标点的切线的斜率;
    基于所述切线的斜率确定所述目标点的二倍点运算结果。
  39. 如权利要求31-36任一项所述的方法,其中,所述受控点加运算操作与任意一点的一般点加量子运算具体实现方式为:
    确定所述任意一点对应的量子态,以及基于目标点构造常数模减运算器,所述任意一点和所述目标点为椭圆曲线中除无穷远点之外不重合且不关于x轴对称的任意两点,所述目标点为所述基点或所述公钥;
    基于所述任意一点对应的量子态和所述常数模减运算器确定所述任意一点和所述目标点所确定的直线的斜率;
    基于所述直线的斜率确定所述任意一点和所述目标点的一般点加运算结果。
  40. 一种基于量子线路的ECC密文解密装置,所述装置包括:
    获取单元,用于获取ECC密文对应的基点和公钥;
    构建单元,用于基于所述基点和所述公钥构建受控点加运算操作;基于所述受控点加运算操作构建量子线路;
    运行单元,用于运行所述量子线路得到离散对数值;
    解密单元,用于基于所述离散对数值对所述ECC密文进行解密。
  41. 一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1-12、14-29、31-39任一项中所述的方法。
  42. 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1-12、14-29、31-39任一项中所述的方法。
PCT/CN2023/137893 2022-12-28 2023-12-11 椭圆曲线中的二倍点、一般点加量子运算方法及解密方法 WO2024140141A1 (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN202211716263.3 2022-12-28
CN202211716349.6 2022-12-28
CN202211692081.7 2022-12-28
CN202211692081.7A CN118313477A (zh) 2022-12-28 2022-12-28 椭圆曲线中的二倍点量子运算方法及相关装置
CN202211716263.3A CN118313478A (zh) 2022-12-28 2022-12-28 椭圆曲线中的一般点加量子运算方法及相关装置
CN202211716349.6A CN118297168A (zh) 2022-12-28 2022-12-28 基于量子线路的ecc密文解密方法、装置、介质及电子装置

Publications (2)

Publication Number Publication Date
WO2024140141A1 true WO2024140141A1 (zh) 2024-07-04
WO2024140141A9 WO2024140141A9 (zh) 2024-10-03

Family

ID=91716377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/137893 WO2024140141A1 (zh) 2022-12-28 2023-12-11 椭圆曲线中的二倍点、一般点加量子运算方法及解密方法

Country Status (1)

Country Link
WO (1) WO2024140141A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712256A (zh) * 2018-07-02 2018-10-26 复旦大学 一种基于椭圆曲线子域子码的加密解密算法
US20180336015A1 (en) * 2017-05-18 2018-11-22 Microsoft Technology Licensing, Llc Quantum resource estimates for computing elliptic curve discrete logarithms
CN109639407A (zh) * 2018-12-28 2019-04-16 浙江神州量子通信技术有限公司 一种基于量子网络对信息进行加密和解密的方法
CN109962774A (zh) * 2017-12-22 2019-07-02 山东量子科学技术研究院有限公司 量子密码网络密钥中继动态路由方法
CN111277411A (zh) * 2020-01-21 2020-06-12 南京如般量子科技有限公司 基于秘密共享和多个移动设备的抗量子计算车载网身份认证系统及其方法
CN112685758A (zh) * 2020-12-31 2021-04-20 南方电网科学研究院有限责任公司 基于椭圆曲线加密算法的数据加密系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180336015A1 (en) * 2017-05-18 2018-11-22 Microsoft Technology Licensing, Llc Quantum resource estimates for computing elliptic curve discrete logarithms
CN109962774A (zh) * 2017-12-22 2019-07-02 山东量子科学技术研究院有限公司 量子密码网络密钥中继动态路由方法
CN108712256A (zh) * 2018-07-02 2018-10-26 复旦大学 一种基于椭圆曲线子域子码的加密解密算法
CN109639407A (zh) * 2018-12-28 2019-04-16 浙江神州量子通信技术有限公司 一种基于量子网络对信息进行加密和解密的方法
CN111277411A (zh) * 2020-01-21 2020-06-12 南京如般量子科技有限公司 基于秘密共享和多个移动设备的抗量子计算车载网身份认证系统及其方法
CN112685758A (zh) * 2020-12-31 2021-04-20 南方电网科学研究院有限责任公司 基于椭圆曲线加密算法的数据加密系统

Also Published As

Publication number Publication date
WO2024140141A9 (zh) 2024-10-03

Similar Documents

Publication Publication Date Title
Teh et al. Unkeyed hash function based on chaotic sponge construction and fixed-point arithmetic
US11902432B2 (en) System and method to optimize generation of coprime numbers in cryptographic applications
Fang et al. Secure function evaluation using an fpga overlay architecture
Koppermann et al. 18 seconds to key exchange: Limitations of supersingular isogeny Diffie-Hellman on embedded devices
Hu et al. The analysis and investigation of multiplicative inverse searching methods in the ring of integers modulo m
CN116318660B (zh) 一种消息扩展与压缩方法及相关装置
Farzam et al. Implementation of supersingular isogeny-based Diffie-Hellman and key encapsulation using an efficient scheduling
CN116137564A (zh) 密文解密方法及相关设备
CN106464484A (zh) 预定函数的混淆执行
CN110417545B (zh) 有限域离散对数量子求解线路优化构造方法
WO2020165931A1 (ja) 情報処理装置、秘密計算方法及びプログラム
Vijayakumar et al. Comparative study of hyperelliptic curve cryptosystem over prime field and its survey
Kotukh et al. Method of security improvement for MST3 cryptosystem based on automorphism group of Ree function field
Ugwuoke et al. Secure fixed-point division for homomorphically encrypted operands
CN111740821B (zh) 建立共享密钥的方法及装置
WO2024140141A1 (zh) 椭圆曲线中的二倍点、一般点加量子运算方法及解密方法
Ganesan et al. Efficient ml models for practical secure inference
Oder Efficient and side-channel resistant implementation of lattice-based cryptography
Liu et al. Secure and verifiable outsourcing protocol for non-negative matrix factorisation
Jiang et al. Lancelot: Towards efficient and privacy-preserving byzantine-robust federated learning within fully homomorphic encryption
Deryabin et al. Comparative performance analysis of information dispersal methods
CN118297168A (zh) 基于量子线路的ecc密文解密方法、装置、介质及电子装置
CN111461178A (zh) 数据处理方法、系统及装置
CN116055049B (zh) 多方安全计算方法、装置、系统、电子设备和存储介质
KR102253211B1 (ko) 소수체와 이진체 상의 타원곡선을 지원하는 공개키 암호 시스템의 하드웨어 구현을 위한 연산장치 및 방법

Legal Events

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

Ref document number: 23910071

Country of ref document: EP

Kind code of ref document: A1