CN117196053A - 多项式模平方运算器、运算方法及相关装置 - Google Patents

多项式模平方运算器、运算方法及相关装置 Download PDF

Info

Publication number
CN117196053A
CN117196053A CN202311277423.3A CN202311277423A CN117196053A CN 117196053 A CN117196053 A CN 117196053A CN 202311277423 A CN202311277423 A CN 202311277423A CN 117196053 A CN117196053 A CN 117196053A
Authority
CN
China
Prior art keywords
polynomial
quantum
modular
bit
squaring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311277423.3A
Other languages
English (en)
Inventor
请求不公布姓名
窦猛汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Benyuan Quantum Computing Technology Hefei Co ltd
Original Assignee
Benyuan Quantum Computing Technology Hefei Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Benyuan Quantum Computing Technology Hefei Co ltd filed Critical Benyuan Quantum Computing Technology Hefei Co ltd
Priority to CN202311277423.3A priority Critical patent/CN117196053A/zh
Publication of CN117196053A publication Critical patent/CN117196053A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种多项式模平方运算器、运算方法及相关装置,应用于量子计算领域,多项式模平方运算器用于确定输入的第一多项式的模平方运算结果,模平方运算中的模为第二多项式;包括交替级联的n个受控加法器和n‑1个模乘运算器,受控加法器用于在辅助比特的量子态为目标量子态时,确定ai倍的第一多项式与初始状态的数值之和,或,确定ai倍的第一多项式与前一模乘运算器的输出结果之和;辅助比特用于存储第一多项式中各次项的系数ai的量子态,第一多项式的次数不大于n‑1;模乘运算器用于确定前一受控加法器的输出结果与第一多项式中的变量的模乘运算结果,模乘运算中的模为第二多项式。从而实现了量子计算中的多项式模平方运算。

Description

多项式模平方运算器、运算方法及相关装置
技术领域
本发明属于量子计算技术领域,特别是一种多项式模平方运算器、运算方法及相关装置。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
模运算在数论和密码学中都有着广泛的应用,从奇偶数到素数的判别,从孙子定理到凯撒密码,从有限域到分组密码域塔的实现,从有限域上椭圆曲线到基于椭圆曲线公钥密码,无不充斥着模运算的身影。由于模运算是运算部件中最常用的功能,因此对于量子计算而言也是如此,如何实现多项式模平方运算是量子计算中亟需解决的技术问题。
发明内容
本发明的目的是提供一种多项式模平方运算器、运算方法及相关装置,旨在实现量子计算中的多项式模平方运算。
本发明的一个实施例提供了一种多项式模平方运算器,所述多项式模平方运算器用于确定输入的第一多项式的模平方运算结果,模平方运算中的模为第二多项式;包括交替级联的n个受控加法器和n-1个模乘运算器,其中:
所述受控加法器用于在辅助比特的量子态为目标量子态时,确定ai倍的所述第一多项式与初始状态的数值之和,或,确定ai倍的所述第一多项式与前一所述模乘运算器的输出结果之和;所述辅助比特用于存储所述第一多项式中各次项的系数ai的量子态,所述第一多项式的次数不大于n-1;
所述模乘运算器用于确定前一所述受控加法器的输出结果与所述第一多项式中的变量的模乘运算结果,模乘运算中的模为所述第二多项式。
可选的,所述辅助比特的数量为1,所述辅助比特的量子态是通过作用于存储所述ai的量子比特和所述辅助比特上的逻辑门得到的。
可选的,所述作用于存储所述ai的量子比特和所述辅助比特上的逻辑门包括两个分别位于对应的受控加法器前后的CNOT门,位于所述对应的受控加法器前后的CNOT门的控制比特均为所述存储所述ai的量子比特,受控比特均为所述辅助比特。
可选的,每一所述受控加法器分别由所述第一多项式的高位系数到低位系数对应的量子态依次控制;其中,第1个所述受控加法器用于在所述第一多项式的最高位系数对应的量子态为目标量子态时,确定所述最高位系数倍的所述第一多项式与初始状态的数值之和;除第1个之外的所述受控加法器用于在所述第一多项式的其它位系数对应的量子态为目标量子态时,确定对应系数倍的所述第一多项式与前一所述模乘运算器的输出结果之和。
可选的,所述第一多项式f(x)的次数为n-1,所述第二多项式m(x)的次数为n;所述多项式模平方运算器包括第一量子寄存器和第二量子寄存器,所述第一量子寄存器和所述第二量子寄存器包括的量子比特数量均为n;所述第一量子寄存器中的量子比特用于存储所述第一多项式f(x)中各次项的系数的量子态;每一所述受控加法器用于在所述辅助比特的量子态为|1>时,对所述第二量子寄存器中的量子比特执行CNOT门操作,以确定所述第一多项式f(x)的系数的量子态与所述第二量子寄存器中对应的量子比特的量子态之和。
可选的,所述模乘运算器用于在所述第二多项式m(x)的第i位系数对应的量子态为|1>时,对所述第二量子寄存器中的第i-1位系数对应的量子比特执行CNOT门操作;并基于所述第二量子寄存器中对应的系数从高到低的顺序,对所述第二量子寄存器中的量子比特依次执行SWAP门操作;其中,所述第i位为所述第二多项式m(x)的非最高位和非最低位。
本发明的又一实施例提供了一种多项式模平方运算方法,所述方法包括:
获取上述实施例中所述的多项式模平方运算器、第一多项式和第二多项式;
将所述第一多项式和所述第二多项式输入至所述多项式模平方运算器,以及运行所述多项式模平方运算器,得到所述第一多项式的模平方运算结果对应的量子态;
基于所述模平方运算结果对应的量子态确定所述第一多项式的模平方运算结果。
本发明的又一实施例提供了一种多项式模平方运算装置,所述装置包括:
获取模块,用于获取上述实施例中所述的多项式模平方运算器、第一多项式和第二多项式;
计算模块,用于将所述第一多项式和所述第二多项式输入至所述多项式模平方运算器,以及运行所述多项式模平方运算器,得到所述第一多项式的模平方运算结果对应的量子态;
确定模块,用于基于所述模平方运算结果对应的量子态确定所述第一多项式的模平方运算结果。
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述实施例中所述的方法。
本发明的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述实施例中所述的方法。
与现有技术相比,本发明提供的一种多项式模平方运算器、运算方法及相关装置,多项式模平方运算器用于确定输入的第一多项式的模平方运算结果,模平方运算中的模为第二多项式;多项式模平方运算器包括交替级联的n个受控加法器和n-1个模乘运算器,其中:受控加法器用于在辅助比特的量子态为目标量子态时,确定ai倍的第一多项式与初始状态的数值之和,或,确定ai倍的第一多项式与前一模乘运算器的输出结果之和;辅助比特用于存储第一多项式中各次项的系数ai的量子态,第一多项式的次数不大于n-1;模乘运算器用于确定前一受控加法器的输出结果与第一多项式中的变量的模乘运算结果,模乘运算中的模为第二多项式。
通过将多项式模平方运算分解为多个迭代的受控加法运算和变量模乘运算,并将上述运算过程转化为可执行的量子线路形式,构造出了多项式模平方运算器,从而实现了量子计算中的多项式模平方运算。
附图说明
图1为本发明实施例提供的一种多项式模平方运算系统的网络框图;
图2为本发明实施例提供的一种多项式模平方运算器的示意图;
图3为本发明实施例提供的一种模乘运算器的示意图;
图4为本发明实施例提供的另一种多项式模平方运算器的示意图;
图5为本发明实施例提供的一种多项式模平方运算方法的流程示意图;
图6为本发明实施例提供的一种多项式模平方运算装置的结构示意图;
图7为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图1是本发明实施例提供的一种多项式模平方运算系统的网络框图。多项式模平方运算系统可以包括网络110、服务器120、无线设备130、客户机140、存储150、经典计算单元160、量子计算单元170,还可以包括未示出的附加存储器、经典处理器、量子处理器和其他设备。
网络110是用于为多项式模平方运算系统内连接在一起的各种设备和计算机之间提供通信链路的介质,包括但不限于互联网、企业内部网、局域网、移动通信网及其组合,连接方式可以采用有线、无线通信链路或光纤电缆等。
服务器120、无线设备130和客户机140是常规的数据处理系统,可包含数据和具有执行常规计算过程的应用程序或软件工具。客户机140可以是个人计算机或网络计算机,故数据也可以是服务器120提供的。无线设备130可以是智能手机、平板、笔记本电脑、智能可穿戴设备等。存储单元150可以包括数据库151,其可以被配置为存储量子比特参数、量子逻辑门参数、量子线路、量子程序等数据。
经典计算单元160(量子计算单元170)可以包括用于处理经典数据(量子数据)的经典处理器161(量子处理器171)和用于存储经典数据(量子数据)的存储器162(存储器172),经典数据(量子数据)可以是引导文件、操作系统镜像、以及应用程序163(应用程序173),应用程序163(应用程序173)可以用于实现根据本发明实施例提供的多项式模平方运算方法编译的量子算法。
经典计算单元160(量子计算单元170)中存储或产生的任何数据或信息也可以被配置成以类似的方式在另一个经典(量子)处理系统中存储或产生,同样其执行的任何应用程序也可以被配置成以类似的方式在另一个经典(量子)处理系统中执行。
需要说明的是,真正的量子计算机是混合结构的,它至少包括图1中的两大部分:经典计算单元160,负责执行经典计算与控制;量子计算单元170,负责运行量子程序进而实现量子计算。
上述经典计算单元160和量子计算单元170可以是集成在一台设备中,也可以是分布在两台不同的设备之中。例如包括经典计算单元160的第一设备运行经典计算机操作系统,其上提供了量子应用程序开发工具和服务,以及还提供了量子应用程序所需的存储和网络服务。用户通过其上的量子应用程序开发工具和服务开发量子程序,以及通过其上的网络服务将量子程序发送至包括量子计算单元170的第二设备。第二设备运行量子计算机操作系统,通过量子计算机操作系统对该量子程序的代码进行解析编译成量子处理器170可以识别和执行的指令,量子处理器170根据该指令实现量子程序对应的量子算法。
经典计算单元160中的经典处理器161的计算单元是基于硅芯片的CMOS管,这种计算单元不受时间和相干性的限制,即,这种计算单元是不受使用时长限制,随时可用。此外,在硅芯片中,这种计算单元的数量也是充足的,目前一个经典处理器161中的计算单元的数量是成千上万的,计算单元数量的充足且CMOS管可选择的计算逻辑是固定的,例如:与逻辑。借助CMOS管运算时,通过大量的CMOS管结合有限的逻辑功能,以实现运算效果。
量子计算单元170中量子处理器171的基本计算单元是量子比特,量子比特的输入受相干性的限制,也受相干时间的限制,即,量子比特是受使用时长限制的,并不是随时可用的。在量子比特的可用使用时长内充分使用量子比特是量子计算的关键性难题。此外,量子计算机中量子比特的数量是量子计算机性能的代表指标之一,每个量子比特通过按需配置的逻辑功能实现计算功能,鉴于量子比特数量受限,而量子计算领域的逻辑功能是多样化的,例如:哈德玛门(Hadamard门,H门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、X门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli门等等。量子计算时,需借助有限的量子比特结合多样的逻辑功能组合实现运算效果。
基于这些不同,经典逻辑功能作用在CMOS管的设计和量子逻辑功能作用在量子比特的设计是显著和本质不同的;经典逻辑功能作用在CMOS管的设计是不需要考虑CMOS管的个体性,如CMOS管在硅芯片中的表示是第几个CMOS管的个体标识、位置、每个CMOS管的可使用时长,故而经典逻辑功能组成的经典算法只表达算法的运算关系,不表达算法对CMOS管个体的依赖。
而量子逻辑功能作用在量子比特需要考虑量子比特的个体性,如量子比特在量子芯片中是第几个量子比特的个体标识、位置以及和周围量子比特的关系、以及每个量子比特可使用时长。故而量子逻辑功能组成的量子算法不仅表达算法的运算关系,更表达算法对量子比特个体的依赖。
量子芯片可以包括量子比特和对量子比特进行调控的通道,量子逻辑门通过模拟信号实现,不同组合的模拟信号通过对量子比特进行调控的通道施加在量子比特上,从而实现不同功能的量子电路,完成对数据的处理。所以,量子逻辑功能作用在量子比特的设计(包括量子比特使用与否的设计以及每个量子比特使用效率的设计)是提升量子计算机的运算性能的关键,且需要进行特殊的设计,这也是基于量子逻辑功能实现的量子算法的独特性,是和基于经典逻辑功能实现的经典算法的本质和显著不同。而上述针对量子比特的设计是普通计算设备所不需要考虑的、也不需要面对的技术问题。
本发明提出了一种多项式模平方运算器、运算方法及相关装置,旨在实现量子计算中的多项式模平方运算。
本发明实施例提供的一种多项式模平方运算器用于确定输入的第一多项式的模平方运算结果,模平方运算中的模为第二多项式;所述多项式模平方运算器包括交替级联的n个受控加法器和n-1个模乘运算器,其中:
所述受控加法器用于在辅助比特的量子态为目标量子态时,确定ai倍的所述第一多项式与初始状态的数值之和,或,确定ai倍的所述第一多项式与前一所述模乘运算器的输出结果之和;所述辅助比特用于存储所述第一多项式中各次项的系数ai的量子态,所述第一多项式的次数不大于n-1;
所述模乘运算器用于确定前一所述受控加法器的输出结果与所述第一多项式中的变量的模乘运算结果,模乘运算中的模为所述第二多项式。
具体的,输入上述多项式模平方运算器的第一多项式可以为f(x),模平方运算中的模可以为第二多项式m(x),那么,上述多项式模平方运算则可以表示为多项式运算:f(x)2modm(x)。
在本实施例中,第一多项式f(x)的次数不大于n-1,可以表示为即f(x)=an-1xn-1+an-2xn-2+…+a1x+a0。首先对上述f(x)2mod m(x)的计算过程进行分解,可以得到:
由此可以确定,多项式模平方运算f(x)2mod m(x)可以分解为n个由ai控制的受控加法运算和n-1个*x的模乘运算,相应的,该多项式模平方运算器需要n个受控加法器和n-1个模乘运算器。
那么首先可以将第一多项式f(x)中各次项的系数ai分别编码到一组量子比特的量子态中,编码方式可以为常用的基底编码、角度编码、振幅编码等方式,在此不做具体限定。
例如,当系数ai为二元域上的元素,即ai等于1或者0时,可以通过基底编码的方式将系数an-1编码到一个量子比特的量子态上,编码得到的该量子比特的量子态为|1>或者|0>。相应的,当系数ai为多元域上的元素时,可以先对各次项的系数ai做归一化处理,再通过振幅编码的方式将归一化得到的各次项的系数编码到量子态的振幅上,可以表示为:cosθ|1>+sinθ|0>。
通过上述编码方式,可以使用第一组n个量子比特来分别编码第一多项式f(x)中各次项的系数an-1、an-2、…、a0的量子态,得到n个量子比特。由于该系数ai的量子态既用于控制受控加法器,确定对应的受控加法器是否运行;又用于在受控加法器运行时,参与量子加法计算。
因此,一方面,可以将该n个量子比特的量子态通过量子逻辑门转移或复制到辅助比特上,由此辅助比特控制也可以存储第一多项式f(x)中各次项的系数ai的量子态,作为控制受控加法器的目标量子态。在一种实施方式中,还可以基于该n个量子比特的量子态,通过量子逻辑门控制辅助比特的量子态演化为其它目标量子态,所述其它目标量子态也可以用于控制上述n个受控加法器,例如,其它目标量子态可以为|1>、或预设的可识别的某量子态,在此不做具体限定。
另一方面,该存储第一多项式f(x)中各次项的系数an-1、an-2、…、a0的量子态的n个量子比特还可以用于每一受控加法器中的量子加法运算,即可以将该n个量子比特的量子态分别与其它量子态相加,从而实现上述受控加法运算过程。其中,受控加法器用于在辅助比特的量子态为目标量子态时,确定ai倍的第一多项式与初始状态的数值之和,或,确定ai倍的第一多项式与前一模乘运算器的输出结果之和。
进一步的,上述辅助比特的数量可以为1个或多个。当存在多个辅助比特时,每一辅助比特可以分别存储第一多项式f(x)中一个系数ai的量子态,进而分别控制一个受控加法器。考虑到节约计算资源和减少多项式模平方运算所需的量子比特数量,通常也可以选择仅使用一个辅助比特。
相应的,当辅助比特的数量为1个时,可以通过量子逻辑门控制该辅助比特的量子态在上述量子模平方运算的过程中,按照受控加法器的执行时序分别演化为不同系数ai对应的量子态,从而依次控制每一个受控加法器。
作为本发明实施例的一种实施方式,所述辅助比特的数量为1,所述辅助比特的量子态是通过作用于存储所述ai的量子比特和所述辅助比特上的逻辑门得到的。
在一种实施方式中,当第一多项式f(x)中各次项的系数ai为二元域上的元素,即ai等于1或者0时;所述作用于存储所述ai的量子比特和所述辅助比特上的逻辑门包括两个分别位于对应的受控加法器前后的CNOT门,位于所述对应的受控加法器前后的CNOT门的控制比特均为所述存储所述ai的量子比特,受控比特均为所述辅助比特。
具体的,本发明实施例提供的一种多项式模平方运算器可以如图2所示,所述多项式模平方运算器包括交替级联的n个受控加法器和n-1个模乘运算器,其中,带“*x”标识的方框表示模乘运算器;带“+”标识的方框表示受控加法器,受控加法器顶部连线的实心圆点表示该受控加法器的控制比特,即为上述实施例中的辅助比特。该辅助比特的初态为|0>,通过作用于存储ai的量子比特和该辅助比特上的逻辑门,可以演化得到与ai相对应的目标量子态;并且可以在控制受控加法器进行量子加法运算后,通过逻辑门将目标量子态复位为|0>。
进而在本实施例中,可以通过CNOT门对上述辅助比特的量子态进行演化。针对每一受控加法器,在其运行时序前后分别执行一个CNOT门操作,例如,图2中的第一个受控加法器由最高位系数对应的量子态|an-1>控制,由于第一多项式f(x)中各次项的系数ai为二元域上的元素,即ai等于1或者0,上述量子态|an-1>则为|1>或|0>。那么,将存储该量子态的量子比特作为控制比特,将上述辅助比特作为受控比特,作用CNOT门,便可以将上述辅助比特的量子态演化为该量子比特的量子态,在辅助比特控制第一个受控加法器完成加法运算后,再执行一个CNOT门操作,将该辅助比特的量子态复位为|0>。并迭代进行上述量子态演化过程,上述辅助比特即可控制任一受控加法器。同理,当第一多项式f(x)中各次项的系数ai为多元域上的元素时,可以通过其他的量子逻辑门对上述辅助比特的量子态进行演化,在此不再赘述。
由此,上述每一所述受控加法器可以分别由所述第一多项式的高位系数到低位系数对应的量子比特依次控制。其中,第1个所述受控加法器用于在所述第一多项式的最高位系数对应的量子态为目标量子态时,确定所述最高位系数倍的所述第一多项式与初始状态的数值之和;除第1个之外的所述受控加法器用于在所述第一多项式的其它位系数对应的量子态为目标量子态时,确定对应系数倍的所述第一多项式与前一所述模乘运算器的输出结果之和。
具体的,存储第一多项式f(x)系数an-1的辅助比特对受控加法器的控制方式可以理解为:当系数an-1为二元域上的元素时,对应的目标量子态为|1>表示需要进行加法运算,为|0>则表示不需要进行加法运算。可以理解的是,当系数an-1为多元域上的元素时,对应的目标量子态表示需要进行加法运算,为其它量子态则表示不需要进行加法运算。
由于已经将第一多项式f(x)的各次项的系数预先编码到第一组量子比特的量子态上,基于上述辅助比特的量子态,第一个受控加法器可以在f(x)系数an-1对应的量子态的控制下,分别计算an-1倍的第一多项式的各次项系数ai与初始状态的数值之和,并将计算结果对应存储到第二组n个量子比特中,其中,第二组n个量子比特的初始状态均为|0>。那么,第一个受控加法器便可以在辅助比特的量子态为目标量子态时,输出an-1*f(x)对应的量子态。
进而,第一个模乘运算器可以计算第一个受控加法器的输出结果与第一多项式f(x)中的变量x的模乘运算结果,模乘运算中的模为第二多项式m(x),即计算x(an-1*f(x)modm(x)),也即计算得到余多项式,并输出该计算结果对应的量子态。
相应的,第二个受控加法器可以在系数an-2对应的量子态的控制下,分别计算an-2倍的第一多项式的各次项系数ai与第一个模乘运算器输出的量子态的数值之和,也即是计算an-2*f(x)+x(an-1*f(x)modm(x)),从而输出对应的量子态。
那么通过上述交替级联的n个受控加法器和n-1个模乘运算器的迭代计算,第n个受控加法器可以计算a0*f(x)的量子态与第n-1个模乘运算器的输出结果的数值之和,那么,最终上述多项式模平方运算器便可以确定并输出a0*f(x)+x(a1*f(x)+x(a2*f(x)+…+x(an-2*f(x)+x(an-1*f(x)mod m(x))mod m(x))mod m(x))…mod m(x)对应的量子态,从而得到f(x)2mod m(x)的模平方运算结果,也即表示为图2中下方的n个量子比特输出的量子态|f(x)2mod m(x)>。
在本实施例中,通过将多项式模平方运算分解为多个迭代的受控加法运算和变量模乘运算,并将上述运算过程转化为可执行的量子线路,并通过1个辅助比特按执行时序对受控加法器进行控制,从而仅使用了2n+1个量子比特,即可构造出多项式模平方运算器,实现了量子计算中的多项式模平方运算。并且基于多项式模乘运算器和本发明实施例实现的多项式模平方运算器,可以进一步实现二元域上椭圆曲线点加量子线路和Shor算法求解二元扩域上ECDLP量子线路等更复杂的量子计算任务。
下面介绍本发明实施例中多项式模平方运算器中的受控加法器和模乘运算器的基本结构。有限域是密码学上的重要基础工作,例如有限域上的Diffie-Hellman密码算法、有限域上椭圆曲线密码体制、二元域塔在分组密码上的应用等,有限域在密码应用上一般分为素域Fp和二元扩域二元扩域/>指通过在一个给定域F2上添加两个元素来构造一个新的域,从而对原始域进行扩展。其中,当素域Fp中定义的素数p为2时,F2即为二元域,若某一多项式为二元域上的多项式,其每一次项的系数即为二元域上的其中一个元素;相应的,当某一多项式为多元域上的多项式,其系数也就存在更多的取值。
在一种实施方式中,若第一多项式和第二多项式中各次项的系数为多元域上的元素,那么可以使用振幅编码的方式将第一多项式中各次项的系数编码到第一组量子比特的振幅上;若编码得到的某一量子比特的振幅为0,即量子态为|0>,即表示该量子比特对应的第一多项式中某一次项的系数为0,其余量子态均表示系数不为0。
再使用第二组初始状态为|0>的量子比特用于存放中间计算过程的计算结果,那么,受控加法器便可以在系数对应的控制比特的量子态不为|0>时,确定ai倍的第一多项式与初始状态的数值之和,或,确定ai倍的第一多项式与前一模乘运算器的输出结果之和。
在一种实施方式中,该受控加法器可以包括量子乘法器和量子加法器,首先通过量子乘法器计算ai与第一多项式的各次项的系数的乘积的量子态,再通过量子加法器将计算得到的乘积的量子态与初始状态|0>相加,或与前一模乘运算器输出的量子态相加,并将对应的量子态输入后一模乘运算器中。
相应的,模乘运算器也可以包括量子乘法器和模乘运算模块,量子乘法器用于计算变量x与输入的量子态的乘积,模乘运算模块用于计算该乘积与第一多项式的模乘,并将对应的量子态输入后一受控加法器。上述计算过程得到的量子态均存储在第二组量子比特中,从而通过上述受控加法器和模乘运算器的迭代运算,第n个受控加法器最终可以输出量子态|f(x)*g(x)mod m(x)>。
在本实施例中,当第一多项式和第二多项式中各次项的系数为多元域上的元素时,通过振幅编码等方式,多项式模平方运算器可以分别通过量子乘法器计算ai与第一多项式的各次项的系数的乘积,和计算变量x与输入的量子态的乘积,从而解决多元域上的多项式模平方运算问题。
作为本发明实施例的一种实施方式,上述第一多项式和第二多项式中各次项的系数可以为二元域上的元素,上述受控加法器用于在其对应的控制比特的量子态为|1>时,确定所述第一多项式与初始状态的数值之和,或,确定所述第一多项式与前一所述模乘运算器的输出结果之和。
具体的,在模运算的一些应用场景中,例如,在设计Shor算法求解二元域上离散对数或者二元域上椭圆曲线离散对数时,需要实现二元域上的模加、模乘、模平方等相关组件。
在一种实施方式中,若第一多项式和第二多项式中各次项的系数为二元域上的元素,那么可以使用基底编码的方式将第一多项式中各次项的系数编码到第一组量子比特的基底上。那么编码得到的量子比特的量子态均为|1>或|0>,其中,当量子比特的量子态为|1>时,表示其对应的第一多项式的某一次项的系数为1,需要进行加法计算;同理,量子比特的量子态为|0>表示无需进行加法计算。
作为本发明实施例的一种实施方式,所述第一多项式f(x)的次数为n-1,所述第二多项式m(x)的次数为n;所述多项式模平方运算器包括第一量子寄存器和第二量子寄存器,所述第一量子寄存器和所述第二量子寄存器包括的量子比特数量均为n;所述第一量子寄存器中的量子比特用于存储所述第一多项式f(x)中各次项的系数的量子态。
具体的,在域论中,二元扩域指通过在一个给定域上添加两个元素来构造一个新的域,从而对原始域进行扩展。二元扩域在代数学和数学应用中具有重要的作用,特别是在研究多项式方程和代数结构时,通过构造合适的二元扩域,可以解决一些复杂的数学问题。例如,一种常用的二元扩域的表示方法可以表示为:
设F2[x]为定义在二元素域F2上的多项式环,其上元素为多项式f(x)=anxn+an-1xn -1+…+a1x+a0。进一步,可以通过上述多项式环F2[x]实现二元扩域其中m(x)为多项式环F2[x]上的不可约多项式,m(x)的次数为n(即deg(m(x)=n),理想<m(x)>可作为F2[x]的极大理想。一般可以将二元扩域/>表示为:
其中ai=0或者1,i=0,1,…,n-1}
在一种实施方式中,可以将作为定义在二元域F2上的n-维向量空间,并选择{1,x,x2,…,xn-1}作为该二元扩域/>上的一组基,此组基也被称为多项式基。从而,二元扩域/>上的元素f(x)可以用向量表示,即可以将多项式f(x)=an-1xn-1+an-2xn-2+…+a1x+a0表示为向量/>其中ai=0或者1,i=0,1,…,n-1。在量子线路中,由于已将多项式用{0,1}向量数组表示,从而很容易表示成量子态,那么便可以很方便地将该多项式的信息编码到量子比特的量子态|1>或|0>上。
若要计算二元扩域上的元素的模平方运算,也即实现f(x)2mod m(x),其中,deg(f(x))≤n-1。设/> 均有ai,ci=0或者1,i=0,1,…,n-1。由于m(x)是不可约多项式,其最高位和最低位系数为1,所以,必有c0=cn=1。可以默认模多项式m(x)用n维的数组表示,且默认最高位为1。
那么便可以使用包括n个量子比特的第一量子寄存器存储第一多项式f(x)中各次项的系数的量子态。由于上述系数均为二元域上的元素,存在以下的计算规则:0+0=0,0+1=1,1+0=1,1+1=0,上述多项式对应的数组的相加可以通过量子态间的CNOT门操作实现;对于f(x)数组的*x模乘操作,相当于对数组的左移操作后再模去m(x)。
作为本发明实施例的一种实施方式,每一所述受控加法器用于在所述辅助比特的量子态为|1>时,对所述第二量子寄存器中的量子比特执行CNOT门操作,以确定所述第一多项式f(x)的系数的量子态与所述第二量子寄存器中对应的量子比特的量子态之和。
具体的,第二量子寄存器包括n个量子比特,其初态均为|0>,其包括的量子比特数量与第一量子寄存器相同。那么针对每一受控加法器,当该辅助比特的量子态为|1>时,表示需要将第一多项式的系数的量子态与第二量子寄存器中的量子比特的量子态相加。该相加操作可以通过如下的CNOT门完成计算:
在第一量子寄存器和第二量子寄存器中,在每一系数对应的量子比特上作用CNOT门,该CNOT门的控制比特为第一量子寄存器中的量子比特,受控比特为第二量子寄存器中对应的量子比特。从而通过n个这样的CNOT门,可以计算得到第一多项式f(x)的系数的量子态与第二量子寄存器中对应的量子比特的量子态之和,上述计算结果可以存储在第二量子寄存器中的量子比特上,作为输入后一模乘运算器的量子态。
在本实施例中,第一多项式为二元扩域上的多项式元素,第二多项式为对应的多项式环上的不可约多项式,通过将多项式的各次项的系数表示为二元数组的形式,可以很方便地将其编码为量子态。并且在进行多项式模平方运算时,可以通过CNOT门操作准确且便捷地实现多项式间的受控加法。
作为本发明实施例的一种实施方式,所述模乘运算器用于在所述第二多项式m(x)的第i位系数对应的量子态为|1>时,对所述第二量子寄存器中的第i-1位系数对应的量子比特执行CNOT门操作;并基于所述第二量子寄存器中对应的系数从高到低的顺序,对所述第二量子寄存器中的量子比特依次执行SWAP门操作;其中,所述第i位为所述第二多项式m(x)的非最高位和非最低位。
具体的,对于f(x)数组的*x模乘操作,相当于对数组的左移操作后再模去m(x),在量子线路中,可以通过多个CNOT门和SWAP门的组合方式实现。首先说明x*f(x)mod m(x)的计算过程,设 由于m(x)是不可约多项式,设除了最高位与最低位之外,有t个位置的系数ci=1,将为1的系数ci重新定义为{cit},显然,t为偶数且小于n-1,x*f(x)mod m(x)的计算过程可以如下:
那么便可以利用模多项式(即第二多项式)的非零i位(最高位,最低位除外)对第一多项式f(x)的(i-1)位作受控加法操作,再从左向右(即从加法操作的计算结果的高位到低位)分别做SWAP门操作。
举例来说,例如多项式f(x)=x^3+x+1,m(x)=x^4+x^3+x^2+x+1,由于m(x)总是比f(x)多一个最高项且最高项系数为1,那么在转化为二元数组的过程中,上述多项式可以利用二元数组表示为f(x)=[1,0,1,1],m(x)=[1,1,1,1](默认最高位为1且省略),此时f(x)与m(x)的数组的系数是完全对应的。x*f(x)mod m(x)的处理过程可以如下:
已知m(x)的x^3,x^2,x项(除已省略的最高项和最低项)的系数均为1,则依次对f(x)的x^2,x,x^0项分别关于f(x)的x^3项系数(由于g(x)的最高项为x^3项,此时该项系数必为1)做受控加法操作,得到数组[1,1,0,0]。
再将该数组[1,1,0,0]从左到后做交换,得到结果[1,0,0,1],表示x*f(x)mod m(x)得到的多项式为x^3+1。
在一种实施方式中,上述示例中的计算过程对应的模乘运算器的结构可以如图3所示,该模乘运算器作用在4个量子比特上,从上到下分别用于存储x*f(x)mod m(x)的计算结果的最高位到最低位。
该量子线路中的量子比特的初态为|0>,首先,通过三个X门将初态演化为多项式f(x)数组[1,0,1,1]对应的量子态|1011>。
由于多项式m(x)数组[1,1,1,1]除最高项和最低项,仍有x^3,x^2,x项的系数为1,需要依次对f(x)的x^2,x,x^0项做受控加法操作。因此可以通过多项式f(x)数组[1,0,1,1]的最高位,即最高项x^3项系数对应的量子态|1>对下方的低位量子比特执行CNOT门操作,演化得到量子态|1100>。
最后,再按照对应的系数从高到低的顺序,对这4个量子比特依次执行SWAP门操作,演化得到量子态|1001>。可以看出,与上述经典计算得到的结果数组[1,0,0,1]完全对应。
在本实施例中,通过多个CNOT门和SWAP门组合的方式,通过计算深度较低的量子线路即可实现x*f(x)mod m(x)的模乘运算,从而构造了用于量子计算的多项式模平方运算器。
在一种实施方式中,如图4所示,所述多项式模平方运算器还用于确定所述第一多项式的平方与输入的第三多项式的模加模平方运算结果,模加模乘平方算中的模为所述第二多项式,所述多项式模平方运算器还包括n-1个模除运算器。
其中:所述模除运算器在所述受控加法器和所述模乘运算器之前,用于计算所述第三多项式与所述第二多项式的模除运算结果,模除运算中的模为所述第二多项式。
具体的,所述第二量子寄存器中的量子比特的初态为所述第三多项式中各次项的系数的量子态,所述模除运算器用于基于所述第三多项式的系数从低到高的顺序,对所述第二量子寄存器中的量子比特依次执行SWAP门操作;并在所述第二多项式的第i位系数对应的量子态为|1>时,对所述第二量子寄存器中所述第三多项式的第i-1位系数对应的量子比特执行CNOT门操作;其中,所述第i位为所述第二多项式的非最高位和非最低位。
进一步的,为了实现量子计算上的多项式模加模平方操作,即h(x)+f(x)2mod m(x),可以设那么上述多项式模加模平方的具体实现公式为:
那么,若将第二量子寄存器中的量子比特的初态设置为第三多项式h(x)中各次项的系数的量子态,便可以在进行上述多项式模平方运算f(x)2mod m(x)之前,对h(x)进行除以xn-1的模操作,即通过模除运算器计算第三多项式h(x)与第二多项式m(x)的模除运算结果,进而通过上述实施方式中的多项式模平方运算器,计算第一多项式f(x)的模平方运算结果,即可得到多项式模加模平方运算结果的量子态|h(x)+f(x)2mod m(x)>。
上述模除运算器设置在受控加法器和模乘运算器之前,上述除以xn-1的模操作为*x操作的逆操作,也即需要对h(x)做n-1次的除x的模操作,模除运算中的模为第二多项式m(x)。与上述模乘运算器相反,模除运算器用于基于第三多项式的系数从低到高的顺序,对第二量子寄存器中的量子比特依次执行SWAP门操作;并在第二多项式的第i位(第i位为第二多项式的非最高位和非最低位)系数对应的量子态为|1>时,对第二量子寄存器中第三多项式的第i-1位系数对应的量子比特执行CNOT门操作。该量子线路的结构和原理与具体构造与上述模乘运算器类似,在此不再赘述。
在本实施例中,通过多个SWAP门和CNOT门组合的方式,通过计算深度较低的量子线路即可实现模除运算器的构造,从而进一步地扩大了本发明实施例中的多项式模平方运算器的适用范围,可以用于确定量子计算中的多项式模加模平方运算结果,可以更好地解决模运算的一些问题。
如图5所示,本发明实施例还提供了一种多项式模平方运算方法,所述方法可以包括以下步骤:
步骤501:获取上述实施例中所述的多项式模平方运算器、第一多项式和第二多项式;
步骤502:将所述第一多项式和所述第二多项式输入至所述多项式模平方运算器,以及运行所述多项式模平方运算器,得到所述第一多项式的模平方运算结果对应的量子态;
步骤503:基于所述模平方运算结果对应的量子态确定所述第一多项式的模平方运算结果。
具体的,在一些实施例中,还可以获取第三多项式,并基于上述实施例中提供的多项式模加模平方运算方法,确定第一多项式的平方与输入的第三多项式的模加模平方运算结果,模加模平方运算中的模为第三多项式,在此不再赘述。
参见图6,图6为本发明实施例提供的一种多项式模平方运算装置,所述装置包括:
获取模块601,用于获取上述实施例中所述的多项式模平方运算器、第一多项式和第二多项式;
计算模块602,用于将所述第一多项式和所述第二多项式输入至所述多项式模平方运算器,以及运行所述多项式模平方运算器,得到所述第一多项式的模平方运算结果对应的量子态;
确定模块603,用于基于所述模平方运算结果对应的量子态确定所述第一多项式的模平方运算结果。
关于多项式模平方运算方法、运算装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述多项式模平方运算装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图7。本说明书实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的多项式模平方运算方法。请参阅图7,所述计算机设备可以是经典计算机,所述计算机设备也可以是量子计算机。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述实施例中的多项式模平方运算方法。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述实施例中的多项式模平方运算方法。
可以理解,本说明书中的具体的示例只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程组成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种多项式模平方运算器,其特征在于,所述多项式模平方运算器用于确定输入的第一多项式的模平方运算结果,模平方运算中的模为第二多项式;包括交替级联的n个受控加法器和n-1个模乘运算器,其中:
所述受控加法器用于在辅助比特的量子态为目标量子态时,确定ai倍的所述第一多项式与初始状态的数值之和,或,确定ai倍的所述第一多项式与前一所述模乘运算器的输出结果之和;所述辅助比特用于存储所述第一多项式中各次项的系数ai的量子态,所述第一多项式的次数不大于n-1;
所述模乘运算器用于确定前一所述受控加法器的输出结果与所述第一多项式中的变量的模乘运算结果,模乘运算中的模为所述第二多项式。
2.如权利要求1所述的多项式模平方运算器,其特征在于,所述辅助比特的数量为1,所述辅助比特的量子态是通过作用于存储所述ai的量子比特和所述辅助比特上的逻辑门得到的。
3.如权利要求2所述的多项式模平方运算器,其特征在于,所述作用于存储所述ai的量子比特和所述辅助比特上的逻辑门包括两个分别位于对应的受控加法器前后的CNOT门,位于所述对应的受控加法器前后的CNOT门的控制比特均为所述存储所述ai的量子比特,受控比特均为所述辅助比特。
4.如权利要求1所述的多项式模平方运算器,其特征在于,每一所述受控加法器分别由所述第一多项式的高位系数到低位系数对应的量子态依次控制;其中,第1个所述受控加法器用于在所述第一多项式的最高位系数对应的量子态为目标量子态时,确定所述最高位系数倍的所述第一多项式与初始状态的数值之和;除第1个之外的所述受控加法器用于在所述第一多项式的其它位系数对应的量子态为目标量子态时,确定对应系数倍的所述第一多项式与前一所述模乘运算器的输出结果之和。
5.如权利要求3所述的多项式模平方运算器,其特征在于,所述第一多项式f(x)的次数为n-1,所述第二多项式m(x)的次数为n;所述多项式模平方运算器包括第一量子寄存器和第二量子寄存器,所述第一量子寄存器和所述第二量子寄存器包括的量子比特数量均为n;所述第一量子寄存器中的量子比特用于存储所述第一多项式f(x)中各次项的系数的量子态;每一所述受控加法器用于在所述辅助比特的量子态为|1>时,对所述第二量子寄存器中的量子比特执行CNOT门操作,以确定所述第一多项式f(x)的系数的量子态与所述第二量子寄存器中对应的量子比特的量子态之和。
6.如权利要求5所述的多项式模平方运算器,其特征在于,所述模乘运算器用于在所述第二多项式m(x)的第i位系数对应的量子态为|1>时,对所述第二量子寄存器中的第i-1位系数对应的量子比特执行CNOT门操作;并基于所述第二量子寄存器中对应的系数从高到低的顺序,对所述第二量子寄存器中的量子比特依次执行SWAP门操作;其中,所述第i位为所述第二多项式m(x)的非最高位和非最低位。
7.一种多项式模平方运算方法,其特征在于,所述方法包括:
获取如权利要求1-6任一项所述的多项式模平方运算器、第一多项式和第二多项式;
将所述第一多项式和所述第二多项式输入至所述多项式模平方运算器,以及运行所述多项式模平方运算器,得到所述第一多项式的模平方运算结果对应的量子态;
基于所述模平方运算结果对应的量子态确定所述第一多项式的模平方运算结果。
8.一种多项式模平方运算装置,其特征在于,所述装置包括:
获取模块,用于获取如权利要求1-6任一项所述的多项式模平方运算器、第一多项式和第二多项式;
计算模块,用于将所述第一多项式和所述第二多项式输入至所述多项式模平方运算器,以及运行所述多项式模平方运算器,得到所述第一多项式的模平方运算结果对应的量子态;
确定模块,用于基于所述模平方运算结果对应的量子态确定所述第一多项式的模平方运算结果。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求7中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求7中所述的方法。
CN202311277423.3A 2023-09-28 2023-09-28 多项式模平方运算器、运算方法及相关装置 Pending CN117196053A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311277423.3A CN117196053A (zh) 2023-09-28 2023-09-28 多项式模平方运算器、运算方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311277423.3A CN117196053A (zh) 2023-09-28 2023-09-28 多项式模平方运算器、运算方法及相关装置

Publications (1)

Publication Number Publication Date
CN117196053A true CN117196053A (zh) 2023-12-08

Family

ID=89005261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311277423.3A Pending CN117196053A (zh) 2023-09-28 2023-09-28 多项式模平方运算器、运算方法及相关装置

Country Status (1)

Country Link
CN (1) CN117196053A (zh)

Similar Documents

Publication Publication Date Title
Meftah et al. Doren: toward efficient deep convolutional neural networks with fully homomorphic encryption
CN101194457B (zh) 随机模数化多项式约简方法及其硬件
Pornin et al. More efficient algorithms for the NTRU key generation using the field norm
Farzam et al. Implementation of supersingular isogeny-based Diffie-Hellman and key encapsulation using an efficient scheduling
Drucker et al. BLEACH: cleaning errors in discrete computations over CKKS
JPWO2019087317A1 (ja) 秘密計算装置、システム、方法、プログラム
JP6916770B2 (ja) 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム
Basilakis et al. Efficient parallel binary operations on homomorphic encrypted real numbers
US6662201B1 (en) Modular arithmetic apparatus and method having high-speed base conversion function
CN114338049B (zh) 基于模归约的国密算法sm2的快速实现方法及系统
JP3953253B2 (ja) 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置
WO2020152831A1 (ja) 情報処理装置、秘密計算方法及びプログラム
CN117196053A (zh) 多项式模平方运算器、运算方法及相关装置
JP4182226B2 (ja) 剰余系の計算方法及び装置並びにプログラム
CN117196052A (zh) 多项式模乘运算器、运算方法及相关装置
CN117521833A (zh) 一种多项式模平方运算器、运算方法及相关装置
CN111480140B (zh) 计算设备和方法
CN117455001A (zh) 多项式模逆运算器、多项式模逆运算方法及相关装置
Martins et al. Arithmetical improvement of the round-off for cryptosystems in high-dimensional lattices
CN117573074A (zh) 常数模加乘法运算器、常数模乘运算器、解密方法及介质
CN113434886B (zh) 联合生成用于安全计算的数据元组的方法及装置
CN117075844A (zh) 数据分解任务的处理方法、装置、存储介质及电子装置
CN117332864A (zh) 变量模加运算器、量子点加运算器及密文解密方法
Jin et al. Short-iteration constant-time GCD and modular inversion
JP3966875B2 (ja) 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置

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