System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及量子计算,特别是涉及一种基于脏量子比特的常量轴翻转和模加方法以及线路。
技术介绍
1、计算机在处理过程中可能需要进行轴翻转计算,例如,在加密/解密的应用场景中,计算机需要进行多次计算两个数的和,并将和除以指定的除数以得到余数(下文称该计算过程为模数加法,简称模加),而在进行模加运算的过程需要进行轴翻转运算,即对于数值a,若数值a大于指定的阈值k,则保持a的数值不变,否数值a的值变化为k-a-1。
2、为充分提高加密/解密的效率,相关技术中可以使用量子计算机实现前述轴翻转运算,进而实现模数加法运算、加密/解密。但是,相关技术中量子计算机在进行轴翻转运算的过程中,将数值记录于干净比特,而受限制于硬件资源,量子计算机中的干净比特的数量往往有限,导致难以使用量子计算机计算效率高的优势充分提高加密/解密的效率。
技术实现思路
1、本专利技术实施例的目的在于提供一种基于脏量子比特的常量轴翻转和模加方法以及线路,以实现充分利用量子计算机的资源以提高加密/解密效率。具体技术方案如下:
2、在本申请的第一方面,提供了一种基于脏量子比特的常量轴翻转方法,所述方法包括:
3、步骤1:若第一干净比特的态所表示的数小于预设常数k,则翻转第一脏比特的态;若所述第一干净比特的态所表示的数不小于所述k,则保持所述第一脏比特的态,其中,所述第一干净比特的态初始时表示待处理数a;
4、步骤2:若经过所述步骤1后所述第一脏比特的态为预设第一态,则对所述第一干
5、步骤3:若经过所述步骤2后所述第一干净比特的态所表示的数小于所述k,则翻转所述第一脏比特的态;若经过所述步骤2后所述第一干净比特的态所表示的数不小于所述k,则保持所述第一脏比特的态;
6、步骤4:若经过所述步骤3后所述第一脏比特的态为预设第一态,则对所述第一干净比特的态进行模k-1取逆运算;若经过所述步骤3后所述第一脏比特的态为预设第二态,则保持所述第一干净比特的态;
7、输出经过所述步骤4后所述第一干净比特的态所表示的数,作为所述a针对所述k的轴翻转结果。
8、在一种可能的实施方式中,所述对所述第一干净比特的态进行模k-1取逆运算,包括:
9、通过基于脏比特的常数加法器将所述第一干净比特的态加上负的所述k;
10、对所述第一干净比特的态进行逻辑非运算。
11、在本申请的第二方面,提供了一种基于脏量子比特的常量模加方法,所述方法包括:
12、以第一变量作为待处理数,并以预设第一常量和预设第二常量的差值作为预设常数,按照前述常量轴翻转方法计算得到轴翻转结果,作为第一中间量;
13、以所述第一中间量作为待处理数,并以所述第一常量作为预设常数,按照前述常量轴翻转方法计算得到轴翻转结果,作为第二中间量;
14、以所述第二中间量作为待处理数,并以所述第二常量作为预设常数,按照前述常量轴翻转方法计算得到轴翻转结果,作为对所述第一变量与所述第二常量的和模所述第一常量得到的模数加法结果。
15、在本申请的第三方面,提供了一种基于脏量子比特的变量轴翻转方法,所述方法包括:
16、步骤5:若第二干净比特的态小于第三干净比特的态,则翻转第二脏比特的态;若所述第二干净比特的态不小于所述第三干净比特的态,则保持所述第二脏比特的态,其中,所述第二干净比特的态初始时表示待处理数a,所述第三干净比特的态初始时表示阈值数b;
17、步骤6:若经过所述步骤5后所述第二脏比特的态为预设第一态,则对所述第二干净比特的态进行模b-1取逆运算;若经过所述步骤5后所述第二脏比特的态为预设第二态,则保持所述第二干净比特的态;
18、步骤7:若经过所述步骤6后第二干净比特的态小于第三干净比特的态,则翻转第二脏比特的态;若经过所述步骤6后所述第二干净比特的态不小于所述第三干净比特的态,则保持所述第二脏比特的态;
19、步骤8:若经过所述步骤7后所述第二脏比特的态为预设第一态,则对所述第二干净比特的态进行模b-1取逆运算;若经过所述步骤7后所述第二脏比特的态为预设第二态,则保持所述第二干净比特的态;
20、输出经过步骤8后所述第二干净比特的态,作为所述a针对所述b的轴翻转结果。
21、在一种可能的实施方式中,所述方法还包括:
22、通过基于脏比特的变量比较器比较第二干净比特的态和第三干净比特的态。
23、在本申请的第四方面,提供了一种基于脏量子比特的变量模加方法,所述方法包括:
24、以第二变量作为待处理数,并以预设第三常量和第三变量的差值作为阈值数,按照前述变量轴翻转方法计算得到所轴翻转结果,作为第三中间量;
25、以所述第三中间量作为待处理数,并以所述第三常量作为预设常数,按照前述常量轴翻转方法计算得到轴翻转结果,作为第四中间量;
26、以所述第四中间量作为待处理数,并以所述第三变量作为阈值数,按照前述变量轴翻转方法计算得到轴翻转结果,作为对所述第二变量与所述第三变量的和模所述第三常量得到的模数加法结果。
27、在本申请的第五方面,提供了一种基于脏量子比特的常量轴翻转量子线路,所述量子线路包括第一干净比特、第一脏比特、第一计算模块以及第二计算模块,所述第一干净比特初始时表示待处理数a,所述第一干净比特和所述第一脏比特依次经过第一计算模块和第二计算模块;
28、所述第一计算模块,用于若所述第一干净比特的态所表示的数小于预设常数k,则翻转所述第一脏比特的态;若所述第一干净比特的态所表示的数不小于所述k,则保持所述第一脏比特的态;若所述第一脏比特的态为预设第一态,则对所述第一干净比特的态进行模k-1取逆运算;若所述第一脏比特的态为预设第二态,则保持所述第一干净比特的态;
29、所述第二计算模块,用于若所述第一干净比特的态所表示的数小于所述k,则翻转所述第一脏比特的态;若所述第一干净比特的态所表示的数不小于所述k,则保持所述第一脏比特的态;若所述第一脏比特的态为预设第一态,则对所述第一干净比特的态进行模k-1取逆运算;若所述第一脏比特的态为预设第二态,则保持所述第一干净比特的态;输出所述第一干净比特的态所表示的数,作为所述a针对所述k的轴翻转结果。
30、在一种可能的实施方式中,所述第一计算模块包括第一常量比较器,以所述第一脏比特为控制位的第一常量加法器以及第一x门,所述第一干净比特依次经过所述第一常量比较器、第一常量加法器以及第一x门,所述第一脏比特经过所述第一常量比较器;
31、所述第一常量比较器用于比较所述第一干净比特的态与预设常数k的大小,若所述第一干净比特的态小于所述k,则翻转所述第一脏比特的态;若所述第一干净比特的态不小于所述k,则保持所述第一脏比特的态本文档来自技高网...
【技术保护点】
1.一种基于脏量子比特的常量轴翻转方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述第一干净比特的态进行模K-1取逆运算,包括:
3.一种基于脏量子比特的常量模加方法,其特征在于,所述方法包括:
4.一种基于脏量子比特的变量轴翻转方法,其特征在于,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.一种基于脏量子比特的变量模加方法,其特征在于,所述方法包括
7.一种基于脏量子比特的常量轴翻转量子线路,其特征在于,所述量子线路包括第一干净比特、第一脏比特、第一计算模块以及第二计算模块,所述第一干净比特初始时表示待处理数A,所述第一干净比特和所述第一脏比特依次经过第一计算模块和第二计算模块;
8.根据权利要求7所述的量子线路,其特征在于,所述第一计算模块包括第一常量比较器,以所述第一脏比特为控制位的第一常量加法器以及第一X门,所述第一干净比特依次经过所述第一常量比较器、第一常量加法器以及第一X门,所述第一脏比特经过所述第一常量比较器;
...【技术特征摘要】
1.一种基于脏量子比特的常量轴翻转方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述第一干净比特的态进行模k-1取逆运算,包括:
3.一种基于脏量子比特的常量模加方法,其特征在于,所述方法包括:
4.一种基于脏量子比特的变量轴翻转方法,其特征在于,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.一种基于脏量子比特的变量模加方法,其特征在于,所述方法包括
7.一种基于脏量子比特的常量轴翻转量子线路,其特征在于,所述量子线路包括第一干净比特、第一脏比特、第一计算模块以及第二计算模块,所述第一干净比特初始时表示待处理数a,所述第一干净比特和所述第一脏比特依次经过第一计算模块和第二计算模块;
8.根据权利要求7所述的量子线路,其特征在于,所述第一计算模块包括第一常量比较器,以所述第一脏比特为控制位的第一常量加法器以及第一x门,所述第一干净比特依次经过所述第一常量比较器、第一常量加法器以及第一x门,所述第一脏比特经过所述第一常量比较器;
9.根据权利要求8所述的量子线路,其特征在于,所述第二计算模块包括第二常量比较...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,窦猛汉,
申请(专利权)人:本源量子计算科技合肥股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。