CN116137564A - 密文解密方法及相关设备 - Google Patents
密文解密方法及相关设备 Download PDFInfo
- Publication number
- CN116137564A CN116137564A CN202111365902.1A CN202111365902A CN116137564A CN 116137564 A CN116137564 A CN 116137564A CN 202111365902 A CN202111365902 A CN 202111365902A CN 116137564 A CN116137564 A CN 116137564A
- Authority
- CN
- China
- Prior art keywords
- module
- quantum
- ciphertext
- elliptic curve
- modulus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000005259 measurement Methods 0.000 claims description 71
- 239000011159 matrix material Substances 0.000 claims description 70
- 239000013598 vector Substances 0.000 claims description 64
- 238000004590 computer program Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000007792 addition Methods 0.000 description 48
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 239000002096 quantum dot Substances 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006854 communication Effects 0.000 description 4
- 102220198146 rs1057519886 Human genes 0.000 description 3
- 102220495583 Caspase-5_S33K_mutation Human genes 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 102200044935 rs121913400 Human genes 0.000 description 2
- 102220198036 rs121913400 Human genes 0.000 description 2
- 102200081477 rs1554102559 Human genes 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 102220477838 Arf-GAP with GTPase, ANK repeat and PH domain-containing protein 11_S33D_mutation Human genes 0.000 description 1
- 102220476893 Developmental pluripotency-associated protein 3_S33G_mutation Human genes 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Electromagnetism (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种密文解密方法及相关设备,应用于根据椭圆曲线密码学加密的密文,所述方法包括:获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;基于所述私钥解密所述密文得到对应于所述密文的明文。通过上述技术方案,可以在私钥未知时从已公开信息恢复出私钥,进而解密密文,填补了相关的技术空白。
Description
技术领域
本发明属于量子计算技术领域,特别是涉及一种密文解密方法及相关设备。
背景技术
为了确保信息传输的安全性,信息在发送端经过密钥加密后发送至接收端,信息加密后本身为杂乱无章的数据,无法直接读取有用信息,并且加密过程多基于难解决数学问题如大数分解问题、离散对数问题等建立,在这些数学问题当前难以解决的情况下,保证了加密信息的安全性。椭圆曲线密码学(Elliptic curve cryptography,ECC)是一种建立公开密钥加密的密码体系,基于椭圆曲线的离散对数问题建立,只有在知道对应私钥的情况下,才能顺利解密得到明文。
相关技术中,需要在不知道解密密钥的情况下,根据已经公开的信息解密密文,例如密钥遗忘丢失时,以恢复相应明文,基于此,提出一种密文解密方法及相关设备。
发明内容
本发明的目的是提供一种密文解密方法及相关设备,旨在解决相关技术中密钥未知的情况下,难以对密文进行解密恢复明文的技术问题。
为了实现上述目的,本发明实施例的第一方面,提供一种密文解密方法,应用于根据椭圆曲线密码学加密的密文,所述方法包括:
获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;
将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;
从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;
基于所述私钥解密所述密文得到对应于所述密文的明文。
可选地,所述基于所述私钥解密所述密文得到对应于所述密文的明文,包括:
获取对应于所述密文的辅助解密信息,所述辅助解密信息为所述基点信息与所述密文的接收者设置的随机数的椭圆曲线乘法之积;
计算所述辅助解密信息与所述私钥的椭圆曲线乘法之积;
计算所述密文与该椭圆曲线乘法之积的椭圆曲线减法之差;
对所述椭圆曲线减法之差解码得到明文。
可选地,所述初始量子态由包括第一数量量子比特的信息量子寄存器制备得到,所述量子计算模块包括量子傅里叶变换模块和几何运算模块,所述将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态,包括:
获取包括第二数量量子比特的参数量子寄存器,并将所述参数量子寄存器制备至等振幅的量子子态形成的叠加态;
将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,处于所述第二目标量子态时,所述信息量子寄存器的量子态和所述参数量子寄存器的量子态满足预设的椭圆曲线几何运算对应的纠缠关系;
将所述第二目标量子态中所述参数量子寄存器的量子态输入所述量子傅里叶变换模块,得到第一目标量子态。
可选地,所述几何运算模块包括级联的第一椭圆曲线乘法模块和第二椭圆曲线乘法模块,所述信息量子寄存器包括第一信息量子寄存器和第二信息量子寄存器,所述参数量子寄存器包括第一参数量子寄存器和第二参数量子寄存器,所述将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,包括:
将所述初始量子态中所述第一信息量子寄存器的量子态,以及所述叠加态中所述第一参数量子寄存器的量子态输入所述第一椭圆曲线乘法模块,得到中间量子态;
将所述初始量子态中所述第二信息量子寄存器的量子态、所述叠加态中所述第二参数量子寄存器的量子态,以及所述中间量子态输入所述第二椭圆曲线乘法模块,得到第二目标量子态。
可选地,所述第一椭圆曲线乘法模块与所述第二椭圆曲线乘法模块均包括级联的椭圆曲线加法模块,所述椭圆曲线加法模块的输入为待运算的输入点信息,所述椭圆曲线加法模块的输出为所述输入点信息经过椭圆曲线加法运算得到的输出点信息,所述椭圆曲线加法模块包括用于计算所述输入点信息对应直线斜率的斜率运算模块,以及用于根据所述直线斜率和所述输入点信息计算所述输出点信息的输出点运算模块。
可选地,所述输入点信息包括第一输入点与第二输入点的信息,所述斜率运算模块包括模数乘逆模块;所述第一输入点与所述第二输入点的横坐标的第一模数差,以及所述第一输入点与所述第二输入点的纵坐标的第二模数差为所述模数乘逆模块的输入,所述直线斜率为所述模数乘逆模块的输出。
可选地,所述输出点运算模块包括第一模数加法模块、第二模数加法模块、第三模数加法模块、模数减法模块、模数平方模块、模数平方逆模块、模数乘法模块以及常数乘法模块,其中:
所述第二输入点的横坐标与3的模数乘积以及所述第一模数差为所述第一模数加法模块的输入;
所述直线斜率为所述模数平方模块的输入;
所述第一模数加法模块和所述模数平方模块的输出为所述模数减法模块的输入;
所述模数平方模块的输出为所述模数平方逆模块的输入;
所述模数减法模块的输出和所述直线斜率为所述模数乘法模块的输入;
所述模数减法模块的输出为所述常数乘法模块的输入,所述常数乘法模块的常数为-1;
所述常数乘法模块的输出和所述第二输入点的横坐标为所述第二模数加法模块的输入;
所述乘法模块的输出和所述第二输入点的纵坐标为所述第三模数加法模块的输入;
所述第二模数加法模块和所述第三模数加法模块的输出为所述输出点信息。
可选地,所述量子傅里叶变换模块包括用于实现正向量子傅里叶变换的模块和/或用于实现逆向量子傅里叶变换的模块。
可选地,所述从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥,包括:
测量处于所述第一目标量子态的参数量子寄存器,得到测量结果;
基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
基于所述矩阵L的行向量得到所述矩阵L的生成子空间;
对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数;
确定所述待验证的待求解对数满足所述离散对数问题的对数关系;
确定所述待验证的待求解对数为所述密文的私钥。
可选地,所述测量结果为多个,所述基于所述测量结果构建矩阵L,包括:
从所有的所述测量结果中获取预设数量的测量结果构建矩阵L。
可选地,所述对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数之前,所述方法还包括:
计算所述生成子空间中的每一向量与参考向量的目标距离,所述参考向量的最后一个元素为0,其余元素为-2n与所述第二量子寄存器对应的所述测量结果的乘积,n为所述第一量子寄存器与所述第二量子寄存器的量子比特的数量之差;
确定每一所述目标距离小于预设距离。
可选地,所述方法还包括:
确定任一所述目标距离大于或等于所述预设距离;
从所有的所述测量结果中获取预设数量的新的测量结果构建矩阵L′;
将所述矩阵L′作为所述矩阵L,并返回执行基于所述矩阵L的行向量得到所述矩阵L的生成子空间的步骤。
本发明实施例的第二方面,提供一种密文解密装置,应用于根据椭圆曲线密码学加密的密文,所述装置包括:
获取转化模块,用于获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;
输入模块,用于将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;
求解模块用于从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;
解密模块,用于根据所述私钥解密所述密文得到对应于所述密文的明文。
可选地,所述解密模块还用于:
获取对应于所述密文的辅助解密信息,所述辅助解密信息为所述基点信息与所述密文的接收者设置的随机数的椭圆曲线乘法之积;
计算所述辅助解密信息与所述私钥的椭圆曲线乘法之积;
计算所述密文与该椭圆曲线乘法之积的椭圆曲线减法之差;
对所述椭圆曲线减法之差解码得到明文。
可选地,所述初始量子态由包括第一数量量子比特的信息量子寄存器制备得到,所述量子计算模块包括量子傅里叶变换模块和几何运算模块,所述输入模块还用于:
获取包括第二数量量子比特的参数量子寄存器,并将所述参数量子寄存器制备至等振幅的量子子态形成的叠加态;
将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,处于所述第二目标量子态时,所述信息量子寄存器的量子态和所述参数量子寄存器的量子态满足预设的椭圆曲线几何运算对应的纠缠关系;
将所述第二目标量子态中所述参数量子寄存器的量子态输入所述量子傅里叶变换模块,得到第一目标量子态。
可选地,所述几何运算模块包括级联的第一椭圆曲线乘法模块和第二椭圆曲线乘法模块,所述信息量子寄存器包括第一信息量子寄存器和第二信息量子寄存器,所述参数量子寄存器包括第一参数量子寄存器和第二参数量子寄存器,所述输入模块还用于:
将所述初始量子态中所述第一信息量子寄存器的量子态,以及所述叠加态中所述第一参数量子寄存器的量子态输入所述第一椭圆曲线乘法模块,得到中间量子态;
将所述初始量子态中所述第二信息量子寄存器的量子态、所述叠加态中所述第二参数量子寄存器的量子态,以及所述中间量子态输入所述第二椭圆曲线乘法模块,得到第二目标量子态。
可选地,所述第一椭圆曲线乘法模块与所述第二椭圆曲线乘法模块均包括级联的椭圆曲线加法模块,所述椭圆曲线加法模块的输入为待运算的输入点信息,所述椭圆曲线加法模块的输出为所述输入点信息经过椭圆曲线加法运算得到的输出点信息,所述椭圆曲线加法模块包括用于计算所述输入点信息对应直线斜率的斜率运算模块,以及用于根据所述直线斜率和所述输入点信息计算所述输出点信息的输出点运算模块。
可选地,所述输入点信息包括第一输入点与第二输入点的信息,所述斜率运算模块包括模数乘逆模块;所述第一输入点与所述第二输入点的横坐标的第一模数差,以及所述第一输入点与所述第二输入点的纵坐标的第二模数差为所述模数乘逆模块的输入,所述直线斜率为所述模数乘逆模块的输出。
可选地,所述输出点运算模块包括第一模数加法模块、第二模数加法模块、第三模数加法模块、模数减法模块、模数平方模块、模数平方逆模块、模数乘法模块以及常数乘法模块,其中:
所述第二输入点的横坐标与3的模数乘积以及所述第一模数差为所述第一模数加法模块的输入;
所述直线斜率为所述模数平方模块的输入;
所述第一模数加法模块和所述模数平方模块的输出为所述模数减法模块的输入;
所述模数平方模块的输出为所述模数平方逆模块的输入;
所述模数减法模块的输出和所述直线斜率为所述模数乘法模块的输入;
所述模数减法模块的输出为所述常数乘法模块的输入,所述常数乘法模块的常数为-1;
所述常数乘法模块的输出和所述第二输入点的横坐标为所述第二模数加法模块的输入;
所述乘法模块的输出和所述第二输入点的纵坐标为所述第三模数加法模块的输入;
所述第二模数加法模块和所述第三模数加法模块的输出为所述输出点信息。
可选地,所述量子傅里叶变换模块包括用于实现正向量子傅里叶变换的模块和/或用于实现逆向量子傅里叶变换的模块。
可选地,所述求解模块还用于:
测量处于所述第一目标量子态的参数量子寄存器,得到测量结果;
基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
基于所述矩阵L的行向量得到所述矩阵L的生成子空间;
对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数;
确定所述待验证的待求解对数满足所述离散对数问题的对数关系;
确定所述待验证的待求解对数为所述密文的私钥。
可选地,所述测量结果为多个,所述求解模块还用于:
从所有的所述测量结果中获取预设数量的测量结果构建矩阵L。
可选地,所述装置还包括:
计算模块,用于在所述求解模块用于对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数之前,计算所述生成子空间中的每一向量与参考向量的目标距离,所述参考向量的最后一个元素为0,其余元素为-2n与所述第二量子寄存器对应的所述测量结果的乘积,n为所述第一量子寄存器与所述第二量子寄存器的量子比特的数量之差;
第一确定模块,用于确定每一所述目标距离小于预设距离。
可选地,所述装置还包括:
第二确定模块,用于确定任一所述目标距离大于或等于所述预设距离;
构建模块,用于从所有的所述测量结果中获取预设数量的新的测量结果构建矩阵L′;
返回执行模块,用于将所述矩阵L′作为所述矩阵L,并返回执行基于所述矩阵L的行向量得到所述矩阵L的生成子空间的步骤。
本发明实施例的第三方面,提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述第一方面中任一项所述方法的步骤。
本发明实施例的第四方面,提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一方面中任一项所述方法的步骤。
基于上述技术方案,在获取公钥和基点信息后,将公钥和基点信息转化为初始量子态,然后将其输入执行求解离散对数问题的量子计算模块,借助量子计算的强大算力,得到包含离散对数问题求解结果的第一目标量子态,然后即可从第一目标量子态中提取求解结果得到密文的私钥,通过私钥可以对密文还原得到明文,进而仅根据已经公开的公钥和基点信息便可以还原出对应的私钥,并恢复明文,解决了私钥未知时难以恢复明文的技术问题,填补了相关的技术空白。
附图说明
图1是根据一示例性实施例示出的一种密文解密方法的计算机终端的硬件结构框图。
图2是根据一示例性实施例示出的一种椭圆曲线的示意图。
图3是根据一示例性实施例示出的一种密文解密方法的流程图。
图4是根据一示例性实施例示出的一种密文解密方法中步骤S32的流程图。
图5是根据一示例性实施例示出的一种量子计算模块的示意图。
图6是根据一示例性实施例示出的一种密文解密方法中步骤S322的流程图。
图7是根据一示例性实施例示出的一种密文解密方法中步骤S33的流程图。
图8是根据一示例性实施例示出的一种密文解密方法中步骤S33的另一流程图。
图9是根据一示例性实施例示出的一种密文解密方法中步骤S33的又一流程图。
图10是根据一示例性实施例示出的一种密文解密方法中步骤S34的流程图。
图11是根据一示例性实施例示出的一种椭圆曲线加法模块的示意图。
图12是根据一示例性实施例示出的一种椭圆曲线加法模块的另一示意图。
图13是根据一示例性实施例示出的一种密文解密装置的框图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种密文解密方法,应用于根据椭圆曲线密码学加密的密文,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1是根据一示例性实施例示出的一种密文解密方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储基于量子线路的密文解密方法的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的密文解密方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线)、以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至成千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算。
在椭圆曲线密码学中,椭圆曲线加法和椭圆曲线乘法均基于如下椭圆曲线定义:
y2=x3+ix+j(mod p)
其中,i,j,p均为非负整数,且i,j满足关系4i3+27j2≠0(mod p),参见图2,图2中的曲线为椭圆曲线,定义椭圆曲线上点A和点B的椭圆曲线加法之和,为点A和点B所在直线与椭圆曲线的交点关于x轴的对称点C,即常数n与点C的椭圆曲线乘法之积为n个点C经过上述椭圆曲线加法的结果。
由于上述椭圆曲线的特性,该椭圆曲线的所有点都可以通过一个基点与自身的数次椭圆曲线加法得到。在通信过程中,接收端在椭圆曲线上选取椭圆曲线的基点P和随机数k,并生成公钥Q=k⊙P,即基点P与随机数k的椭圆曲线乘法之积为点Q,然后将点Q与点P的信息发送给发送端,用于对明文加密,而自己保留k作为私钥用于对发送端发送的密文进行解密。对于上述生成公钥的运算Q=k⊙P,即使已知点Q和点P的情况,也很难计算私钥k,进而保证了通信过程的安全,其被称为椭圆曲线的离散对数问题。
参见图3,图3是根据一示例性实施例示出的一种密文解密方法的流程图,该方法可以应用于根据椭圆曲线密码学加密的密文,如图3所示,该密文解密方法包括:
S31,获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态。
S32,将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态。
S33,从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥。
S34,基于所述私钥解密所述密文得到对应于所述密文的明文。
在步骤S31中,公钥至少包括上述点Q,例如仅包括上述点Q,也可以同时包括上述点Q与上述椭圆曲线,视具体情况而定,本发明对此不作具体限制。由于密文、公钥以及基点均通过公共渠道公开,故可以通过这些公开的渠道获取这些信息,且获取的公钥中的点Q和基点P均为上述密文加密过程中所用到的信息。
进一步,获取上述密文、公钥以及基点P后,可以选取具有一定数量量子比特的量子寄存器,将量子寄存器制备至对应的初始量子态,例如可以选取公钥中的点Q的横坐标和纵坐标组成坐标信息Q,以及基点P的横坐标和纵坐标组成坐标信息P,将其分别制备至量子态|Q>以及|P>。
在步骤S32中,求解离散对数问题即已知上述点P和点Q,求出随机数k即上述求解结果。在初始量子态制备完毕后,将所述初始量子态输入执行求解离散对数问题的量子计算模块,输出第一目标量子态,此时,离散对数问题的求解结果直接或间接的存储在第一目标量子态中,其可以是存在于第一目标量子态的各量子子态的复振幅中,也可以是存在其各个量子子态的纠缠关系中,可以是求解结果本身存在于第一目标量子态中,也可以是与求解结果相关的信息如求解结果分解后的信息存在于第一目标量子态中,进而可以根据这些信息运算求出该求解结果。需要说明的是,量子态的量子子态即叠加构成该量子态的基矢态,例如对于量子态|0>和|1>为其量子子态。
可选地,参见图4和图5,所述初始量子态由包括第一数量量子比特的信息量子寄存器制备得到,所述量子计算模块包括量子傅里叶变换模块520和几何运算模块510。可选地,将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态,包括:
S321,获取包括第二数量量子比特的参数量子寄存器,并将所述参数量子寄存器制备至等振幅的量子子态形成的叠加态。
S322,将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,处于所述第二目标量子态时,所述信息量子寄存器的量子态和所述参数量子寄存器的量子态满足预设的椭圆曲线几何运算对应的纠缠关系。
S323,将所述第二目标量子态中所述参数量子寄存器的量子态输入所述量子傅里叶变换模块,得到第一目标量子态。
信息量子寄存器和参数量子寄存器均为包含一定数量量子比特的量子寄存器。在步骤S321中,为便于实现量子计算模块对离散对数问题的求解,引入参数量子寄存器在下述纠缠关系中构建关于初始量子态的参数。获取包括第二数量量子比特的参数量子寄存器可以是对已有量子寄存器的调用。制备上述叠加态可以通过对参数量子寄存器的每个量子比特通过H门作用得到。在一种可能的实施方式中,参数量子寄存器可以包括第一参数量子寄存器和第二参数量子寄存器。需要说明的是,本发明所述的量子寄存器指一个或多个量子比特的集合。
沿用上述例子,可以选取包含l+n个量子比特的第一参数量子寄存器,参见图5中从上至下第四个线路上的量子寄存器,其中,即能表示待求解的求解结果k的最小量子比特数,可以通过相关信息估算得到,若没有相关信息,可以将椭圆曲线中点的个数视为k,s为预设数字。同时选取包含l个量子比特的第二参数量子寄存器,即图5中从上至下最后一个线路的量子寄存器,将第一参数量子寄存器和第二参数量子寄存器的每个量子比特的制备至量子态态|0>,然后将H门作用于每一个量子态为|0>的量子比特上,得到等振幅的量子子态形成的叠加态如下:
其中,u=2l+n,v=2l,a,b分别对应第一参数量子寄存器和第二参数量子寄存器的量子态。
在步骤S322中,几何运算模块510用于实现上述纠缠关系,上述初始量子态和叠加态输入几何运算模块510后,其在几何运算模块510中量子逻辑门的作用下不断演化,最终得到第二目标量子态,使得信息量子寄存器的量子比特和参数量子寄存器的量子比特按照预设的纠缠关系实现相互纠缠。上述椭圆曲线几何运算对应的纠缠关系,指由椭圆曲线加法运算和/或椭圆曲线乘法运算构成的运算关系对应的纠缠关系。几何运算模块即用于实现该纠缠关系的模块。
可选地,参见图5,所述几何运算模块510包括级联的第一椭圆曲线乘法模块511和第二椭圆曲线乘法模块512,所述信息量子寄存器包括第一信息量子寄存器和第二信息量子寄存器。
可选地,参见图6,将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,包括:
S3221,将所述初始量子态中所述第一信息量子寄存器的量子态,以及所述叠加态中所述第一参数量子寄存器的量子态输入所述第一椭圆曲线乘法模块,得到中间量子态。
S3222,将所述初始量子态中所述第二信息量子寄存器的量子态、所述叠加态中所述第二参数量子寄存器的量子态,以及所述中间量子态输入所述第二椭圆曲线乘法模块,得到第二目标量子态。
第一椭圆曲线乘法模块511和第二椭圆曲线乘法模块512均用于实现上述椭圆曲线乘法运算。在步骤S3221中,举例来讲,第一信息量子寄存器的初始量子态可以为上述|P>,叠加态中所述第一参数量子寄存器的量子态为|a>,将|P>和|a>输入第一椭圆曲线乘法模块511,得到中间量子态。
得到中间量子态后,执行步骤S3222,沿用上述例子,第二信息量子寄存器的初始量子态可以为上述|Q>,叠加态中所述第二参数量子寄存器的量子态为|b>,进而将|Q>、|b>以及中间量子态输入第二椭圆曲线乘法模块512,得到第二目标量子态 表示上述椭圆曲线加法运算,⊙表示上述椭圆曲线乘法运算,且椭圆曲线乘法运算的优先级高于椭圆曲线加法运算。需要说明的是,由于椭圆曲线乘法运算实际是多次椭圆曲线加法运算实现,故步骤S3221中,可以视为对P的多次椭圆曲线加法得到纠缠关系P⊙a,而步骤S3222中,视为对P⊙a与多个Q的椭圆曲线加法得到纠缠关系图5中,从上至下前三行线路的量子比特均属于信息量子寄存器,第一信息量子寄存器与第二信息量子寄存器的量子比特均来自其中,关于其具体如何划分,本发明不作具体限制。
在步骤S323中,参见图5,第二目标量子态中参数量子寄存器在量子傅里叶变换模块520的作用下,演化为上述第一目标量子态。量子傅里叶变换模块520是用于实现傅里叶变换的量子线路构成的模块,可选地,量子傅里叶变换模块520包括用于实现正向量子傅里叶变换的模块和/或用于实现逆向量子傅里叶变换的模块。沿用上述例子,将几何运算模块510输出的第二目标量子态中第一参数量子寄存器和第二参数量子寄存器的量子态输入量子傅里叶变换模块520,得到如下第一目标量子态:
其中,c和d分别表示经过上述量子傅里叶变换模块520作用后第一参数量子寄存器和第二参数量子寄存器的量子态,i为虚数,k为上述作为私钥的随机数,其余参数可以参见以上描述。
得到第一目标量子态后,执行步骤S33,从第一目标量子态提取求解结果,并将该求解结果作为解密密文的私钥。可以通过测量第一目标量子态得到与求解结果相关的测量结果,然后对测量结果进行转化,提取出求解结果。
可选地,参见图7,从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥,包括:
S331,测量处于所述第一目标量子态的参数量子寄存器,得到测量结果。
S332,基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
S333,基于所述矩阵L的行向量得到所述矩阵L的生成子空间。
S334,对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数。
S335,确定所述待验证的待求解对数满足所述离散对数问题的对数关系。
S336,确定所述待验证的待求解对数为所述密文的私钥。
在步骤S331中,沿用上述例子,对处于第一目标量子态的第一参数量子寄存器和第二参数量子寄存器进行测量,测量后第一目标量子态塌缩至量子态|c,d,e⊙P=(a+bk)⊙P>,振幅为:
其中,r为椭圆曲线的阶数,其余参数可参见以上描述。对第一目标量子态的测量可以通过如投影测量等方式进行。为使得测量结果尽量准确,可以多次测量,进而得到的测量结果可以包括不同的量子态以及塌缩至对应量子态的次数。
在步骤S332中,根据测量结果构建上述矩阵L,在矩阵L中,A为对角矩阵,对角元素为u,向量中的元素可以为对应不同塌缩量子态出现的次数。进而在步骤S333中,对矩阵L的行向量进行线性组合,得到矩阵L的生成子空间。然后执行步骤S334,从该生成子空间任取一向量,将该向量的最后一个元素作为待验证的待求解对数,以在步骤S335中,验证其是否满足离散对数问题的对数关系如上述运算关系Q=k⊙P,将得到的待求解对数代入该公式验算公式是否成立,若成立则确定其对数关系成立。进而在步骤S336中,将满足该对数关系的待求解对数作为密文的私钥用于后续密文的解密。
可选地,在步骤S332中,所述测量结果为多个,基于所述测量结果构建矩阵L,包括:
从所有的所述测量结果中获取预设数量的测量结果构建矩阵L。
其中,{kc+2nd}u表示其余元素可以参见以上描述。当|c,d>满足{kc+2nd}u≤2n-2时,|c,d>定义为良态,其对应的振幅更加集中,便于对待求解对数进行确定。由于良态个数至少为2l+n-1个,观测到指定良态的几率至少为2-n-l-2。因此,单次运行观测到任意良态的几率为2-3。所以在运行8s次后我们能以大约50%的几率获得s个良态测量结果。进而在步骤S332中,从所有的测量结果中获取预设数量的测量结果,有一定概率获得良态,例如测量结果为8s次时,预设数量为s,获取s个测量结果,若其均为良态,则可以提高后续运算得到正确的待求解对数的效率。
可选地,参见图8,从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥,包括:
S33a,测量处于所述第一目标量子态的参数量子寄存器,得到测量结果。S33b,基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
S33c,基于所述矩阵L的行向量得到所述矩阵L的生成子空间。
S33d,计算所述生成子空间中的每一向量与参考向量的目标距离,所述参考向量的最后一个元素为0,其余元素为-2n与所述第二量子寄存器对应的所述测量结果的乘积,n为所述第一量子寄存器与所述第二量子寄存器的量子比特的数量之差。
S33e,确定每一所述目标距离小于预设距离。
S33f,对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数。
S33g,确定所述待验证的待求解对数满足所述离散对数问题的对数关系。
S33h,确定所述待验证的待求解对数为所述密文的私钥。
对于上述步骤S33a至步骤S33c,可以参见上述步骤S331至步骤S333。
在步骤S33d中,沿用上述例子,构建参考向量如下:
其中,d1,…,ds为上述第二参数量子寄存器对应不同塌缩后的量子态出现的次数,其余参数可以参见以上描述。进而应用基于格的技术(lattice-based techniques),对上述生成子空间的每一向量计算两者的目标距离
计算出目标距离后,执行步骤S33e,判断目标距离是否小于预设距离,若小于预设距离,则说明|c,d>均为良态,进而进入执行步骤S33f。可选地,所述预设距离为其中,s为所述预设数量。步骤S33f至步骤S33h,可以参见上述步骤S334至步骤S336的描述。
可选地,参见图9,从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥,包括:
S33A,测量处于所述第一目标量子态的参数量子寄存器,得到测量结果。S33B,基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
S33C,基于所述矩阵L的行向量得到所述矩阵L的生成子空间。
S33D,计算所述生成子空间中的每一向量与参考向量的目标距离,所述参考向量的最后一个元素为0,其余元素为-2n与所述第二量子寄存器对应的所述测量结果的乘积,n为所述第一量子寄存器与所述第二量子寄存器的量子比特的数量之差。
S33E,确定每一所述目标距离小于预设距离。
S33F,对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数。
S33G,确定所述待验证的待求解对数满足所述离散对数问题的对数关系。
S33H,确定所述待验证的待求解对数为所述密文的私钥。
S33I,确定任一所述目标距离大于或等于所述预设距离。
S33J,从所有的所述测量结果中获取预设数量的新的测量结果构建矩阵L′。
S33K,将所述矩阵L′作为所述矩阵L,并返回执行基于所述矩阵L的行向量得到所述矩阵L的生成子空间的步骤。
对于上述步骤S33A至步骤S33H,可以参考上述步骤S33a至步骤S33h的描述。
在步骤S33I中,若判断上述目标距离大于或等于预设距离,说明|c,d>并非均为良态,进而不执行步骤S33F,转入执行步骤S33J,从所有的测量结果中重新选取预设数量个测量结果以构建所述矩阵L的方式构建矩阵L′,矩阵L′与上述矩阵L的构建方式相同,区别仅在于元素值不同。进而在步骤S33K中,将矩阵L′作为所述矩阵L,并返回执行步骤S33C及后续步骤,直至得到的矩阵L对应的目标距离小于预设距离,以能求出正确的求解结果作为私钥为止。
得到私钥后,执行步骤S34,利用私钥对密文进行解密得到原本的明文,可以利用ECC加密体系中的解密方式对密文进行解密。
可选地,参见图10,基于所述私钥解密所述密文得到对应于所述密文的明文,包括:
S341,获取对应于所述密文的辅助解密信息,所述辅助解密信息为所述基点信息与所述密文的接收者设置的随机数的椭圆曲线乘法之积。
S342,计算所述辅助解密信息与所述私钥的椭圆曲线乘法之积。
S343,计算所述密文与该椭圆曲线乘法之积的椭圆曲线减法之差。
S344,对所述椭圆曲线减法之差解码得到明文。
在步骤S341中,沿用前述例子,获取辅助解密信息C1=r⊙P,r为发送端选取的随机数,P为基点,辅助解密信息通常由发送端通过公开渠道发送给接收端,故可以通过这些公开渠道获取辅助解密信息。
获取辅助解密信息后,执行步骤S342,计算辅助解密信息与私钥的椭圆曲线乘法之积,沿用上述例子,计算k⊙C1。在计算出该椭圆曲线乘法之积后,执行步骤S343,计算密文与该椭圆曲线乘法之积的椭圆曲线减法之差,沿用前述例子,计算 表示椭圆曲线减法运算,C2为密文,椭圆曲线减法运算的优先级低于椭圆曲线乘法,其可以视为在ECC加密体系中,密文故M为明文编码于椭圆曲线上的点,Q=k⊙P,P为基点,k为私钥。由于明文一般编码在椭圆曲线的点上以参与加密运算,故执行步骤S344,对椭圆曲线减法之差解码即可得到明文,由于解码方式公开,故可以通过已知的解码方式直接对椭圆曲线减法之差进行解码以恢复出明文。
通过上述技术方案,在获取公钥和基点信息后,将公钥和基点信息转化为初始量子态,然后将其输入执行求解离散对数问题的量子计算模块,借助量子计算的强大算力,得到包含离散对数问题求解结果的第一目标量子态,然后即可从第一目标量子态中提取求解结果得到密文的私钥,通过私钥可以对密文还原得到明文,进而仅根据已经公开的公钥和基点信息便可以还原出对应的私钥,并恢复明文,解决了私钥未知时难以恢复明文的技术问题,填补了相关的技术空白。
可选地,参见图5、图11和图12,所述第一椭圆曲线乘法模块511与所述第二椭圆曲线乘法模块512均包括级联的椭圆曲线加法模块110,所述椭圆曲线加法模块110的输入为待运算的输入点信息,所述椭圆曲线加法模块110的输出为所述输入点信息经过椭圆曲线加法运算得到的输出点信息,所述椭圆曲线加法模块110包括用于计算所述输入点信息对应直线斜率的斜率运算模块111,以及用于根据所述直线斜率和所述输入点信息计算所述输出点信息的输出点运算模块112。
举例来讲,如图11,输入点信息为点P和点Q的坐标信息对应的量子态,输入椭圆曲线加法模块110后,输出为点P和点Q经过椭圆曲线加法运算得到的点R对应的量子态,其具体运算规则如下:
(XR,YR)=(λ2-XP-XQ,λ(XP-XR)-YP)
其中,XQ为Q点横坐标,XP,YP分别为P点横坐标和纵坐标,XR,YR分别为R点横坐标和纵坐标,λ为点P和点Q所在直线斜率。需要说明的是,该运算规则中的运算均为对应的模运算。
由以上运算规则可以发现,需要先计算点P和点Q所在直线的斜率,才能计算出相应点R的坐标。进一步,参见图12,椭圆曲线加法模块110包括斜率运算模块111,用于计算输入点所在直线的斜率,此外还包括输出点运算模块112,根据斜率和输入点信息计算输出点信息。
可选地,参见图12,所述输入点信息包括第一输入点与第二输入点的信息,所述斜率运算模块111包括模数乘逆模块1111;所述第一输入点与所述第二输入点的横坐标的第一模数差,以及所述第一输入点与所述第二输入点的纵坐标的第二模数差为所述模数乘逆模块1111的输入,所述直线斜率为所述模数乘逆模块1111的输出。
沿用上述例子,第一输入点为点P,第二输入点为点Q,进而输入点信息包括点P与点Q的坐标信息,模数乘逆模块1111用于实现模数乘逆运算即模数乘法的逆运算,与除法运算类似。进而将XP-XQ的第一模数差,以及YP-YQ的第二模数差输入该模数乘逆模块1111,即可得到直线斜率,其中,YQ为Q点纵坐标,其余见上述描述。需要说明的是,第一模数差和第二模数差可以通过用于实现模数减法的模块实现,在此本发明不做赘述。
可选地,参见图12,所述输出点运算模块112包括第一模数加法模块1121、第二模数加法模块1122、第三模数加法模块1123、模数减法模块1124、模数平方模块1125、模数平方逆模块1126、模数乘法模块1127以及常数乘法模块1128,其中:
所述第二输入点的横坐标与3的模数乘积以及所述第一模数差为所述第一模数加法模块1121的输入;
所述直线斜率为所述模数平方模块1125的输入;
所述第一模数加法模块1121和所述模数平方模块1125的输出为所述模数减法模块1124的输入;
所述模数平方模块1125的输出为所述模数平方逆模块1126的输入;
所述模数减法模块1124的输出和所述直线斜率为所述模数乘法模块1127的输入;
所述模数减法模块1124的输出为所述常数乘法模块1128的输入,所述常数乘法模块1128的常数为-1;
所述常数乘法模块1128的输出和所述第二输入点的横坐标为所述第二模数加法模块1122的输入;
所述乘法模块的输出和所述第二输入点的纵坐标为所述第三模数加法模块1123的输入;
所述第二模数加法模块1122和所述第三模数加法模块1123的输出为所述输出点信息。
举例来讲,参加图12,将计算出XR的线路称为横坐标运算线路,将计算出YR的线路称为纵坐标运算线路,第一模数差XP-XQ与3XQ输入第一模数加法模块1121,进行模数加法运算,输出XP+2XQ。模数乘逆模块1111输出直线斜率λ并输入至模数平方模块1125,并借助于下方的辅助量子比特,输出λ2并输入模数减法模块1124与模数平方逆模块1126。λ2与第一模数加法模块1121输出的XP+2XQ输入模数减法模块1124,模数减法模块1124输出XP-λ2+2XQ。λ2与λ输入至模数平方逆模块1126,使得辅助量子比特的量子态被还原至初始态,并输出λ至模数乘法模块1127中,加之XP-λ2+2XQ输入至模数乘法模块1127,其输出XP-λ2+2XQ至常数乘法模块1128,以及输出YR-YQ至第三模数加法模块1123。对于常数乘法模块1128,输入XP-λ2+2XQ做乘以-1的运算,得到-XP+λ2-2XQ,然后再与XQ一同输入第二模数加法模块1122,得到λ2-XP-XQ,也即XR。对于第三模数加法模块1123,YR-YQ与YQ一同输入进来,进而第三模数加法模块1123输出YR,至此完成了对于点P与点Q的椭圆曲线加法运算。需要说明的是,为便于描述,图中对于部分量子线路做了简化,例如对于第一模数加法模块1121,未示出输入3XQ的线路。此外,以上描述的输入输出均为对应的信息的量子态。模数平方逆模块1126用于实现模数平方的逆运算,上述椭圆曲线加法模块110的各个模块均可以采用现有技术实现,对此本发明不作赘述。
图13是根据一示例性实施例示出的一种密文解密装置,应用于根据椭圆曲线密码学加密的密文,如图13所示,该装置130包括:
获取转化模块131,用于获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;
输入模块132,用于将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;
求解模块133,用于从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;
解密模块134,用于根据所述私钥解密所述密文得到对应于所述密文的明文。
可选地,解密模块134还用于:
获取对应于所述密文的辅助解密信息,所述辅助解密信息为所述基点信息与所述密文的接收者设置的随机数的椭圆曲线乘法之积;
计算所述辅助解密信息与所述私钥的椭圆曲线乘法之积;
计算所述密文与该椭圆曲线乘法之积的椭圆曲线减法之差;
对所述椭圆曲线减法之差解码得到明文。
可选地,所述初始量子态由包括第一数量量子比特的信息量子寄存器制备得到,所述量子计算模块包括量子傅里叶变换模块和几何运算模块,输入模块132还用于:
获取包括第二数量量子比特的参数量子寄存器,并将所述参数量子寄存器制备至等振幅的量子子态形成的叠加态;
将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,处于所述第二目标量子态时,所述信息量子寄存器的量子态和所述参数量子寄存器的量子态满足预设的椭圆曲线几何运算对应的纠缠关系;
将所述第二目标量子态中所述参数量子寄存器的量子态输入所述量子傅里叶变换模块,得到第一目标量子态。
可选地,所述几何运算模块包括级联的第一椭圆曲线乘法模块和第二椭圆曲线乘法模块,所述信息量子寄存器包括第一信息量子寄存器和第二信息量子寄存器,所述参数量子寄存器包括第一参数量子寄存器和第二参数量子寄存器,输入模块132还用于:
将所述初始量子态中所述第一信息量子寄存器的量子态,以及所述叠加态中所述第一参数量子寄存器的量子态输入所述第一椭圆曲线乘法模块,得到中间量子态;
将所述初始量子态中所述第二信息量子寄存器的量子态、所述叠加态中所述第二参数量子寄存器的量子态,以及所述中间量子态输入所述第二椭圆曲线乘法模块,得到第二目标量子态。
可选地,所述第一椭圆曲线乘法模块与所述第二椭圆曲线乘法模块均包括级联的椭圆曲线加法模块,所述椭圆曲线加法模块的输入为待运算的输入点信息,所述椭圆曲线加法模块的输出为所述输入点信息经过椭圆曲线加法运算得到的输出点信息,所述椭圆曲线加法模块包括用于计算所述输入点信息对应直线斜率的斜率运算模块,以及用于根据所述直线斜率和所述输入点信息计算所述输出点信息的输出点运算模块。
可选地,所述输入点信息包括第一输入点与第二输入点的信息,所述斜率运算模块包括模数乘逆模块;所述第一输入点与所述第二输入点的横坐标的第一模数差,以及所述第一输入点与所述第二输入点的纵坐标的第二模数差为所述模数乘逆模块的输入,所述直线斜率为所述模数乘逆模块的输出。
可选地,所述输出点运算模块包括第一模数加法模块、第二模数加法模块、第三模数加法模块、模数减法模块、模数平方模块、模数平方逆模块、模数乘法模块以及常数乘法模块,其中:
所述第二输入点的横坐标与3的模数乘积以及所述第一模数差为所述第一模数加法模块的输入;
所述直线斜率为所述模数平方模块的输入;
所述第一模数加法模块和所述模数平方模块的输出为所述模数减法模块的输入;
所述模数平方模块的输出为所述模数平方逆模块的输入;
所述模数减法模块的输出和所述直线斜率为所述模数乘法模块的输入;
所述模数减法模块的输出为所述常数乘法模块的输入,所述常数乘法模块的常数为-1;
所述常数乘法模块的输出和所述第二输入点的横坐标为所述第二模数加法模块的输入;
所述乘法模块的输出和所述第二输入点的纵坐标为所述第三模数加法模块的输入;
所述第二模数加法模块和所述第三模数加法模块的输出为所述输出点信息。
可选地,所述量子傅里叶变换模块包括用于实现正向量子傅里叶变换的模块和/或用于实现逆向量子傅里叶变换的模块。
可选地,求解模块133还用于:
测量处于所述第一目标量子态的参数量子寄存器,得到测量结果;
基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
基于所述矩阵L的行向量得到所述矩阵L的生成子空间;
对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数;
确定所述待验证的待求解对数满足所述离散对数问题的对数关系;
确定所述待验证的待求解对数为所述密文的私钥。
可选地,所述测量结果为多个,求解模块133还用于:
从所有的所述测量结果中获取预设数量的测量结果构建矩阵L。
可选地,该装置130还包括:
计算模块,用于在所述求解模块133用于对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数之前,计算所述生成子空间中的每一向量与参考向量的目标距离,所述参考向量的最后一个元素为0,其余元素为-2n与所述第二量子寄存器对应的所述测量结果的乘积,n为所述第一量子寄存器与所述第二量子寄存器的量子比特的数量之差;
第一确定模块,用于确定每一所述目标距离小于预设距离。
可选地,该装置130还包括:
第二确定模块,用于确定任一所述目标距离大于或等于所述预设距离;
构建模块,用于从所有的所述测量结果中获取预设数量的新的测量结果构建矩阵L′;
返回执行模块,用于将所述矩阵L′作为所述矩阵L,并返回执行基于所述矩阵L的行向量得到所述矩阵L的生成子空间的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明的再一实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;基于所述私钥解密所述密文得到对应于所述密文的明文。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (16)
1.一种密文解密方法,其特征在于,应用于根据椭圆曲线密码学加密的密文,所述方法包括:
获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;
将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;
从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;
基于所述私钥解密所述密文得到对应于所述密文的明文。
2.如权利要求1所述的方法,其特征在于,所述基于所述私钥解密所述密文得到对应于所述密文的明文,包括:
获取对应于所述密文的辅助解密信息,所述辅助解密信息为所述基点信息与所述密文的接收者设置的随机数的椭圆曲线乘法之积;
计算所述辅助解密信息与所述私钥的椭圆曲线乘法之积;
计算所述密文与该椭圆曲线乘法之积的椭圆曲线减法之差;
对所述椭圆曲线减法之差解码得到明文。
3.如权利要求1所述的方法,其特征在于,所述初始量子态由包括第一数量量子比特的信息量子寄存器制备得到,所述量子计算模块包括量子傅里叶变换模块和几何运算模块,所述将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态,包括:
获取包括第二数量量子比特的参数量子寄存器,并将所述参数量子寄存器制备至等振幅的量子子态形成的叠加态;
将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,处于所述第二目标量子态时,所述信息量子寄存器的量子态和所述参数量子寄存器的量子态满足预设的椭圆曲线几何运算对应的纠缠关系;
将所述第二目标量子态中所述参数量子寄存器的量子态输入所述量子傅里叶变换模块,得到第一目标量子态。
4.如权利要求3所述的方法,其特征在于,所述几何运算模块包括级联的第一椭圆曲线乘法模块和第二椭圆曲线乘法模块,所述信息量子寄存器包括第一信息量子寄存器和第二信息量子寄存器,所述参数量子寄存器包括第一参数量子寄存器和第二参数量子寄存器,所述将所述初始量子态和所述叠加态输入所述几何运算模块,得到第二目标量子态,包括:
将所述初始量子态中所述第一信息量子寄存器的量子态,以及所述叠加态中所述第一参数量子寄存器的量子态输入所述第一椭圆曲线乘法模块,得到中间量子态;
将所述初始量子态中所述第二信息量子寄存器的量子态、所述叠加态中所述第二参数量子寄存器的量子态,以及所述中间量子态输入所述第二椭圆曲线乘法模块,得到第二目标量子态。
5.如权利要求4所述的方法,其特征在于,所述第一椭圆曲线乘法模块与所述第二椭圆曲线乘法模块均包括级联的椭圆曲线加法模块,所述椭圆曲线加法模块的输入为待运算的输入点信息,所述椭圆曲线加法模块的输出为所述输入点信息经过椭圆曲线加法运算得到的输出点信息,所述椭圆曲线加法模块包括用于计算所述输入点信息对应直线斜率的斜率运算模块,以及用于根据所述直线斜率和所述输入点信息计算所述输出点信息的输出点运算模块。
6.如权利要求5所述的方法,其特征在于,所述输入点信息包括第一输入点与第二输入点的信息,所述斜率运算模块包括模数乘逆模块;所述第一输入点与所述第二输入点的横坐标的第一模数差,以及所述第一输入点与所述第二输入点的纵坐标的第二模数差为所述模数乘逆模块的输入,所述直线斜率为所述模数乘逆模块的输出。
7.如权利要求6所述的方法,其特征在于,所述输出点运算模块包括第一模数加法模块、第二模数加法模块、第三模数加法模块、模数减法模块、模数平方模块、模数平方逆模块、模数乘法模块以及常数乘法模块,其中:
所述第二输入点的横坐标与3的模数乘积以及所述第一模数差为所述第一模数加法模块的输入;
所述直线斜率为所述模数平方模块的输入;
所述第一模数加法模块和所述模数平方模块的输出为所述模数减法模块的输入;
所述模数平方模块的输出为所述模数平方逆模块的输入;
所述模数减法模块的输出和所述直线斜率为所述模数乘法模块的输入;
所述模数减法模块的输出为所述常数乘法模块的输入,所述常数乘法模块的常数为-1;
所述常数乘法模块的输出和所述第二输入点的横坐标为所述第二模数加法模块的输入;
所述乘法模块的输出和所述第二输入点的纵坐标为所述第三模数加法模块的输入;
所述第二模数加法模块和所述第三模数加法模块的输出为所述输出点信息。
8.如权利要求3所述的方法,其特征在于,所述量子傅里叶变换模块包括用于实现正向量子傅里叶变换的模块和/或用于实现逆向量子傅里叶变换的模块。
9.如权利要求4所述的方法,其特征在于,所述从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥,包括:
测量处于所述第一目标量子态的参数量子寄存器,得到测量结果;
基于所述测量结果构建矩阵L,所述矩阵L满足以下形式:
基于所述矩阵L的行向量得到所述矩阵L的生成子空间;
对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数;
确定所述待验证的待求解对数满足所述离散对数问题的对数关系;
确定所述待验证的待求解对数为所述密文的私钥。
10.如权利要求9所述的方法,其特征在于,所述测量结果为多个,所述基于所述测量结果构建矩阵L,包括:
从所有的所述测量结果中获取预设数量的测量结果构建矩阵L。
11.如权利要求10所述的方法,其特征在于,所述对所述生成子空间中的任一向量,获取该向量的最后一个元素作为待验证的待求解对数之前,所述方法还包括:
计算所述生成子空间中的每一向量与参考向量的目标距离,所述参考向量的最后一个元素为0,其余元素为-2n与所述第二量子寄存器对应的所述测量结果的乘积,n为所述第一量子寄存器与所述第二量子寄存器的量子比特的数量之差;
确定每一所述目标距离小于预设距离。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
确定任一所述目标距离大于或等于所述预设距离;
从所有的所述测量结果中获取预设数量的新的测量结果构建矩阵L′;
将所述矩阵L′作为所述矩阵L,并返回执行基于所述矩阵L的行向量得到所述矩阵L的生成子空间的步骤。
14.一种密文解密装置,其特征在于,应用于根据椭圆曲线密码学加密的密文,所述装置包括:
获取转化模块,用于获取所述密文、与所述密文对应的公钥以及与所述密文对应的基点信息,并将所述公钥和所述基点信息转化至初始量子态;
输入模块,用于将所述初始量子态输入执行求解离散对数问题的量子计算模块,得到存储有所述离散对数问题的求解结果的第一目标量子态;
求解模块,用于从所述第一目标量子态提取所述求解结果作为解密所述密文的私钥;
解密模块,用于根据所述私钥解密所述密文得到对应于所述密文的明文。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至13任一项中所述的方法。
16.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至13任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111365902.1A CN116137564A (zh) | 2021-11-18 | 2021-11-18 | 密文解密方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111365902.1A CN116137564A (zh) | 2021-11-18 | 2021-11-18 | 密文解密方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116137564A true CN116137564A (zh) | 2023-05-19 |
Family
ID=86332710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111365902.1A Pending CN116137564A (zh) | 2021-11-18 | 2021-11-18 | 密文解密方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116137564A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117353898A (zh) * | 2023-12-04 | 2024-01-05 | 粤港澳大湾区数字经济研究院(福田) | 用于浮点数明文的全同态加密方法、系统、终端及介质 |
CN118018200A (zh) * | 2024-04-08 | 2024-05-10 | 北京宏思电子技术有限责任公司 | 一种加解密实现方法及装置 |
CN118659886A (zh) * | 2024-08-14 | 2024-09-17 | 北京信安世纪科技股份有限公司 | 数据加密方法、数据解密方法、装置、设备及存储介质 |
-
2021
- 2021-11-18 CN CN202111365902.1A patent/CN116137564A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117353898A (zh) * | 2023-12-04 | 2024-01-05 | 粤港澳大湾区数字经济研究院(福田) | 用于浮点数明文的全同态加密方法、系统、终端及介质 |
CN117353898B (zh) * | 2023-12-04 | 2024-03-26 | 粤港澳大湾区数字经济研究院(福田) | 用于浮点数明文的全同态加密方法、系统、终端及介质 |
CN118018200A (zh) * | 2024-04-08 | 2024-05-10 | 北京宏思电子技术有限责任公司 | 一种加解密实现方法及装置 |
CN118018200B (zh) * | 2024-04-08 | 2024-06-28 | 北京宏思电子技术有限责任公司 | 一种加解密实现方法及装置 |
CN118659886A (zh) * | 2024-08-14 | 2024-09-17 | 北京信安世纪科技股份有限公司 | 数据加密方法、数据解密方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116137564A (zh) | 密文解密方法及相关设备 | |
Tang et al. | Non-interactive privacy-preserving truth discovery in crowd sensing applications | |
CN111598254A (zh) | 联邦学习建模方法、设备及可读存储介质 | |
CN112232513B (zh) | 一种量子态的制备方法及装置 | |
CN112633507B (zh) | 一种将复向量编码到量子线路的方法及装置 | |
CN114417414A (zh) | 一种基于边缘计算的隐私性保护方法 | |
CN114819163B (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
CN115622685B (zh) | 隐私数据同态加密方法、装置及系统 | |
CN113517986A (zh) | 基于量子行走的身份认证方法及相关设备 | |
CN113222153B (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 | |
CN114819168B (zh) | 一种矩阵特征值的量子比较方法及装置 | |
CN116136970B (zh) | 稳定子校验线路构建方法、量子纠错解码方法及相关设备 | |
CN116136969A (zh) | 求解离散对数问题的方法及相关设备 | |
CN114881238A (zh) | 量子鉴别器的构造方法、装置、介质及电子装置 | |
CN113904780A (zh) | 基于量子的批量身份认证方法、系统、设备和存储介质 | |
CN114881239A (zh) | 量子生成器的构造方法、装置、介质及电子装置 | |
CN115809707A (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
Bristow et al. | Pragmatic Quantum-Classic Phase Estimation of a Quantum Channel | |
CN108509386B (zh) | 生成可逆模m矩阵的方法和装置 | |
CN116137565A (zh) | 密文解密方法及相关设备 | |
CN115879554B (zh) | 量子模数平方运算方法、装置、电子装置及模数算术组件 | |
CN116137536B (zh) | 稳定子校验线路构建方法、量子纠错解码方法及相关设备 | |
CN115879552B (zh) | 量子模数乘逆运算方法、装置、电子装置及模数算术组件 | |
CN116136971B (zh) | 量子纠错解码方法及相关设备 | |
WO2024140141A1 (zh) | 椭圆曲线中的二倍点、一般点加量子运算方法及解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, Hefei high tech Zone, Hefei City, Anhui Province Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd. Address before: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, Hefei high tech Zone, Hefei City, Anhui Province Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI |
|
CB02 | Change of applicant information |