一种用于多自由度调制qkd后处理系统及纠错译码方法
技术领域
1.本发明专利涉及量子保密通信以及光纤通信领域,具体涉及一种用于多自由度调制qkd后处理系统及纠错译码方法。
背景技术:
2.自1988年第一个量子密钥分发(quantum key distribution,qkd)协议提出以来,相应的后处理补充协议层出不穷,其中针对纠错技术,1992年提出了 bbbss协议;1993年提出cascade协议;之后winnow协议应运而生。但是上述协议的交互次数都较高,对系统的安全性造成一定的影响。低密度奇偶校验码 (low density parity check codes,ldpc)是线性分组码的一种,是1962年 gallager提出的,给出了校验矩阵的定义、构造方法、编码方法,并证明了其卓越的性能,性能可以逼近香农限;1981年,tanner的两项发现再次推进了ldpc 的发展,其一他提出用二部图(即tanner图)的方式构造和表示ldpc校验矩阵更为直观且能明显简化译码过程,其二他提出了和积(sum-product,sp)译码算法以及最小和(min-sum,ms)译码算法,至今仍沿用。
3.在qkd过程中,器件的不完善、信道的噪声、潜在的窃听者eve的窃听行为,都会使得到达后处理系统的密钥仍包括部分误码,因此qkd需要经过在经典信道上的数据后处理作为补充,通过纠错使得通信双方得到完全相同的密钥比特,在此基础上通过保密增强消除泄露信息。现场可编程门阵列(field-programmablegate array,fpga)拥有流水线并行和数据并行能力,因此处理任务时候延迟更低,是实现纠错译码过程的最佳选择。另外,altera的arria10 fpga是目前市场上性能较好的,采用20纳米技术,性能比竞争器件高出一个速率等级。arria10 fpga和soc功耗比前一代fpga和soc低40%,具有业界唯一的硬核浮点数字信号处理(dsp)模块,其速率高达每秒1,500giga次浮点运算(gflops)。
4.在现有技术中,中国专利公开号cn106685655b提出了一种相位偏振多自由度调制qkd的物理系统网络,该专利未涉及密钥协商方法的研究;中国专利公开号cn111200493a提出了一种相位偏振联合调制qkd的后处理系统和方法,该专利提出信息交互单元、参数估计单元、纠错单元、保密放大单元的连接方式和信息交互方式,但未涉及具体密钥协商(纠错单元)内部系统和方法的研究。
5.因此,针对现有技术中存在的问题,亟需提供一种能够适用于qkd后处理的快速的纠错方法。
技术实现要素:
6.为此,本发明专利的目的在于提供一种用于多自由度调制qkd后处理系统及其纠错译码方法,该方法能够快速纠正由于窃听行为引起的密钥错误,并基于硬件并行实现。
7.为实现上述目的,本发明专利采取的技术方案如下:
8.一种用于多自由度调制qkd后处理系统,包括发送方alice和接收方bob,
9.所述发送方alice包括量子态产生和调制设备、上位机、altera arria 10 开发
板、编码器、译码器和保密增强系统;所述altera arria 10开发板是一种 fpga硬件加速设备;
10.所述接收方bob包括量子态探测解调设备、上位机、编码器、保密增强系统和altera arria 10开发板;
11.所述量子态产生和调制设备与量子态探测解调设备通过量子信道相连,所述发送方alice通过所述量子信道发送量子态至所述接收方bob的所述量子探测解调设备;
12.所述发送方alice的编码器、译码器、保密增强系统均设置在所述发送方 alice的altera arria 10开发板上,并与发送方alice的上位机相连;所述接收方bob的编码器、保密增强系统均设置在所述接收方bob的altera arria 10 开发板上,并与接收方bob的上位机相连,所述发送方alice的上位机和接收方 bob的上位机通过经典信道相连;
13.所述发送方alice和接收方bob通过各自的上位机抽取部分位置比特公开并计算qber,所述qber为量子比特误码率,所述发送方alice的上位机、接收方 bob的上位机内存储有一安全阈值,当所述qber大于安全阈值则密钥分发失败丢弃密钥,当所述qber小于安全阈值,则存储所述qber;发送方alice的上位机和所述接收方bob的上位机在公开部分位置比特计算qber后,分别将剩余比特作为筛后密钥k
sifta
和筛后密钥k
siftb
发送给各自的编码器进行编码;
14.所述发送方alice将其编码器生成校验的比特k
ca
和所述筛后密钥k
sifta
输入到发送方alice的译码器中;所述接收方bob的编码器生成校验比特k
cb
,并通过接收方bob的上位机由所述经典信道发送量子态给所述发送方alice的上位机,从而也输入到发送方alice的译码器中,进行译码;
15.当发送方alice译码成功后,则生成的纠错后密钥k
rec
输入发送方alice的保密增强系统,同时发送译码成功标志,并通过发送方alice的上位机由所述经典信道发送给接收方bob的上位机,从而控制接收方bob的筛后密钥k
siftb
进入接收方bob的保密增强系统;
16.发送方alice、接收方bob的保密增强系统在完成工作后,将发送最终密钥 k
end
到各自的上位机并存储,qkd全过程结束,通信双方得到完全一致且安全的密钥。
17.优选的,所述发送方alice的编码器、译码器和保密增强系统基于所述 altera arria 10开发板设计;
18.所述接收方bob的编码器、保密增强系统基于altera arria 10开发板设计。
19.在本发明中,进一步提出了一种适用于qkd后处理场景的纠错译码方法,通过重组译码比特,差异化设置初始概率可以通过提升公开的校验子可信度,以其为标准纠正密钥比特,从而从理论上提高收敛度、减少迭代次数、提升纠错的速度,同时提出一种了基于altera arria 10开发板的状态转移、矩阵存储、并行译码结构,提升硬件处理速度。
20.一种用于多自由度调制qkd后处理的纠错译码方法,应用于如上所述的一种用于多自由度调制qkd后处理系统上,包括以下步骤:
21.s1、密钥输入;所述密钥输入进一步包括以下步骤:
22.s1-1、输入发送方alice的筛后密钥k
sifta
,长度为m;
23.s1-2、输入接收方bob发送的校验子k
cb
,长度为k,同k
sifta
组成待译码子ks,长度为n,并存储在各自双方上位机的ram中,其中n=m k;
24.s2、差异化概率初始化;所述概率初始化进一步包括以下步骤:
25.s2-1、当ram中ks的码字位置索引add_ks∈[1,m],将其概率初始化为:
[0026][0027]
其中,qber为量子比特误码率,log(
·
)为对数函数;
[0028]
s2-2、当码字位置索引add_ks∈[m 1,n],将其概率初始化为:
[0029][0030]
其中,ε为极小值;
[0031]
s3、数据分层量化;所述数据分级量化进一步包括以下步骤:
[0032]
s3-1、确定量化范围,即概率值范围;
[0033]
s3-2、确定量化位宽,即概率值差;
[0034]
s3-3、量化后输入概率信息,并输出初始化概率量化完成标志 cin_llr_already=1,中间概率量化完成标志cin_llr_mid_already=1;
[0035]
s4、进行最小和译码算法;所述最小和译码算法进一步包括以下步骤:
[0036]
s4-1、当cin_llr_already=1,进行一轮水平更新;
[0037]
s4-2、进行一轮垂直更新;
[0038]
s4-3、判决:存储结果c_in_llr(add_k
sifta
),若c_in_llr(add_k
sifta
)<0则判决k
sifta
(add_k
sifta
)=1,反之则判决为k
sifta
(add_k
sifta
)=0,更新 ks={k
sifta
,k
cb
};其中add_k
sifta
为k
sifta
的位置索引;
[0039]
s4-4、若译码次数未达到最大迭代次数miter:计算若结果为则译码成功,输出成功标志decode_finish=1,若结果不为则返回执行步骤s4-1;若译码次数达到最大迭代次数,则输出失败标志miter_reach,返回等待重新进行译码,qch为ldpc校验矩阵;
[0040]
s5、输出最终密钥;若decode_finish=1,则输出最终密钥k
end
,全部输出完毕结束标志output_end=1,并返回等待下一轮数据的译码;
[0041]
步骤s1-s5均通过状态机实现状态转移,所述状态机包括以下状态:
[0042]
start_i:初始状态,当key_valid=1且check_bit_valid=1时跳转到下一状态input_ini_i;
[0043]
input_ini_i:密钥输入及初始化状态,当key_already=1时跳转到下一状态 input_ini_i;
[0044]
quanti_go:数据量化分级状态,当cin_llr_already=1跳转到下一状态 ms_cul;
[0045]
ms_cul:最小和译码状态,当decode_finish=1表示译码成功跳转到下一状态output_i;当miter_reach表示达到最大迭代译码次数但译码未成功跳转到初始状态start_i;
[0046]
output_i:数据输出状态,当output_end=1时输出结束跳转到初始状态 start_i。
[0047]
优选的,步骤s4-1进一步包括以下步骤:
[0048]
s4-1-1、设置ramr
cv
(i,add_ks)维度为(m
×
n),用于存储水平校验结果,初始化清零;
[0049]
s4-1-2、依据两个公式:
[0050][0051]
其中,为第k轮迭代时第(c,v)个存储器的水平校验概率,ω(c)\v为与校验节点c相连的除v以外的所有信息节点,α为归一化参数,范围为(0,1),通过仿真确定最优归一化参数;
[0052][0053]
其中,为第k轮迭代时第(c,v)个存储器的垂直校验概率,ψ(v)\c为与信息节点v相连的除c以外的所有校验节点;
[0054]
根据公式分层进行计算水平更新概率:
[0055]
s(add_ks)=c_in_llr(add_ks)-r
cv
(i,add_ks);
[0056]
s4-1-3、计算当前迭代层并将结果和其最小值地址索引分别存储到临时缓存ram中,记为min_cc和cc,再计算:
[0057][0058]
存储为sub_min;其中i指i∈[1,n];
[0059]
s4-1-4、计算符号函数:
[0060][0061]
s4-1-5、计算并存储水平更新概率:
[0062]rcv
(i)=α
·
min_cc
·
sgn(c_in_llr(i))
·
sgn_i,i∈ω(c)\cc;
[0063]rcv
(cc)=α
·
sub_min
·
sgn(c_in_llr(i))
·
sgn_i,i∈ω(i)\cc;
[0064]
优选的,步骤s4-2进一步包括以下计算:
[0065][0066]
本发明专利有益的技术效果:
[0067]
本发明专利基于qkd光学系统的设计、后处理系统设计及纠错编码设计环境,优化最小和译码算法,差异化设置初始概率,通过提升公开的校验子可信度,以其为标准纠正密钥比特,理论上提高收敛度,减少译码迭代次数,提升纠错的速度。同时,提出一种了基于开发环境和运行平台的状态转移、矩阵存储、并行译码结构,提升功能硬件模块的处理和运算速度。采用可二次开发的硬件的方式实现并行的纠错译码过程,提升译码速率从而提升整个qkd系统的效率。
附图说明
[0068]
图1是本发明专利提供的一种多自由度调制qkd的系统框图;
[0069]
图2是本发明专利提供的一种多自由度调制qkd后处理的纠错译码状态转移图;
[0070]
图3是本发明专利提供的一种多自由度调制qkd后处理的纠错译码流程图;
[0071]
图4是本发明专利提供的一种多自由度调制qkd后处理的ldpc校验矩阵及tanner图。
具体实施方式
[0072]
为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合实施例对本发明专利进行进一步详细说明,但本发明专利要求保护的范围并不局限于下述具体实施例。
[0073]
具体地说,在多自由度调制量子密钥分发协议是基于双速协议的,通过物理层面的信号传递、接收以及测量之后,发送方和接收方将产生对应的信息。由于这些信息并不完全对应相等,并且存在泄漏信息和出现错误的情况,因此,需要通过后处理来对这些信息进行进一步的加工,最后得到安全的共享密钥。基于此,本实施例提出了一种用于多自由度调制qkd的密钥协商系统。
[0074]
如图1-图4所示,一种用于多自由度调制qkd后处理系统,包括发送方alice 和接收方bob,
[0075]
所述发送方alice包括量子态产生和调制设备、上位机、altera arria 10 开发板、编码器、译码器和保密增强系统;所述上位机是指监视和控制通信过程的现场设备,是安装有组态软件(scada)或实现了常见组态软件功能的电脑;所述altera arria 10开发板是一种fpga硬件加速设备;
[0076]
所述接收方bob包括量子态探测解调设备、上位机、编码器、保密增强系统和altera arria 10开发板;
[0077]
所述保密增强系统,用于压缩映射密钥串,牺牲少量密钥量而使得泄露的信息以指数级减少,从而消除被窃听的密钥比特,并提取出最终的密钥。
[0078]
所述量子态产生和调制设备与量子态探测解调设备通过量子信道相连,所述发送方alice通过所述量子信道发送量子态至所述接收方bob的所述量子探测解调设备;
[0079]
所述发送方alice的编码器、译码器、保密增强系统均设置在所述发送方 alice的altera arria 10开发板上,并与发送方alice的上位机相连;所述接收方bob的编码器、保密增强系统均设置在所述接收方bob的altera arria 10 开发板上,并与接收方bob的上位机相连,所述发送方alice的上位机和接收方 bob的上位机通过经典信道相连。
[0080]
通过以上的技术方案,在具体的应用中,所述发送方alice和接收方bob 通过各自的上位机抽取部分位置比特公开并计算qber,所述qber为量子比特误码率,
[0081]
设公开的总比特数为n_p,比对后不一致的比特数为n_p,则:
[0082][0083]
所述发送方alice的上位机、接收方bob的上位机内存储有一安全阈值,当所述qber大于安全阈值则密钥分发失败丢弃密钥,当所述qber小于安全阈值,则存储所述qber;发送方alice的上位机和所述接收方bob的上位机在公开部分位置比特计算qber后,分别将剩余比特作为筛后密钥k
sifta
和筛后密钥k
siftb
发送给各自的编码器进行编码;
[0084]
所述发送方alice将其编码器生成校验的比特k
ca
和所述筛后密钥k
sifta
输入到发送方alice的译码器中;所述接收方bob的编码器生成校验比特k
cb
,并通过接收方bob的上位机由所述经典信道发送量子态给所述发送方alice的上位机,从而也输入到发送方alice的译码器中,进行译码;
[0085]
当发送方alice译码成功后,则生成的纠错后密钥k
rec
输入发送方alice的保密增强系统,同时发送译码成功标志,并通过发送方alice的上位机由所述经典信道发送给接收方bob的上位机,从而控制接收方bob的筛后密钥k
siftb
进入接收方bob的保密增强系统;
[0086]
发送方alice、接收方bob的保密增强系统在完成工作后,将发送最终密钥 k
end
到各自的上位机并存储,qkd全过程结束,通信双方得到完全一致且安全的密钥;
[0087]
在本实施例中,所述发送方alice的编码器、译码器和保密增强系统基于所述altera arria 10开发板设计;
[0088]
所述接收方bob的编码器、保密增强系统基于altera arria 10开发板设计。
[0089]
在本实施例中,进一步提出了一种适用于qkd后处理场景的纠错译码方法,通过重组译码比特,差异化设置初始概率可以通过提升公开的校验子可信度,以其为标准纠正密钥比特,从而从理论上提高收敛度、减少迭代次数、提升纠错的速度,同时提出一种了基于altera arria 10开发板的状态转移、矩阵存储、并行译码结构,提升硬件处理速度。
[0090]
一种用于多自由度调制qkd后处理的纠错译码方法,应用于如上所述的一种用于多自由度调制qkd后处理系统上,包括以下步骤:
[0091]
s1、密钥输入;所述密钥输入进一步包括以下步骤:
[0092]
s1-1、输入发送方alice的筛后密钥k
sifta
,长度为m;
[0093]
s1-2、输入接收方bob发送的校验子k
cb
,长度为k,同k
sifta
组成待译码子 ks,长度为n,并存储在各自双方上位机的ram中,其中n=m k;
[0094]
s2、差异化概率初始化;所述概率初始化进一步包括以下步骤:
[0095]
s2-1、当ram中ks的码字位置索引add_ks∈[1,m],将其概率初始化为:
[0096][0097]
其中,qber为量子比特误码率,log(
·
)为对数函数;
[0098]
s2-2、当码字位置索引add_ks∈[m 1,n],将其概率初始化为:
[0099][0100]
其中,ε为极小值;
[0101]
s3、数据分层量化;所述数据分级量化进一步包括以下步骤:
[0102]
s3-1、确定量化范围,即概率值范围;
[0103]
s3-2、确定量化位宽,即概率值差;
[0104]
s3-3、量化后输入概率信息,并输出初始化概率量化完成标志cin_llr_already=1,中间概率量化完成标志cin_llr_mid_already=1;
[0105]
s4、进行最小和译码算法;所述最小和译码算法进一步包括以下步骤:
[0106]
s4-1、当cin_llr_already=1,进行一轮水平更新;
[0107]
在本实施例中,步骤s4-1进一步包括以下步骤:
[0108]
s4-1-1、设置ramr
cv
(i,add_ks)维度为(m
×
n),用于存储水平校验结果,初始化清零;
[0109]
s4-1-2、依据两个公式:
[0110][0111]
其中,为第k轮迭代时第(c,v)个存储器的水平校验概率,ω(c)\v为与校验节点c相连的除v以外的所有信息节点,α为归一化参数,范围为(0,1),通过仿真确定最优归一化参数;
[0112][0113]
其中,为第k轮迭代时第(c,v)个存储器的垂直校验概率,ψ(v)\c为与信息节点v相连的除c以外的所有校验节点;
[0114]
如图4所示,所述变量节点和校验节点是ldpc校验矩阵tanner图中的概念,校验矩阵的列表示校验节点c,校验矩阵的行表示信息节点v,校验矩阵中非零位表示校验节点和信息节点相连,表示有约束关系:
[0115]
根据公式分层,即校验矩阵的行,进行计算水平更新概率:
[0116]
s(add_ks)=c_in_llr(add_ks)-r
cv
(i,add_ks);
[0117]
s4-1-3、计算当前迭代层并将结果和其最小值地址索引分别存储到临时缓存ram中,记为min_cc和cc,再计算:
[0118][0119]
存储为sub_min;其中i指i∈[1,n];
[0120]
s4-1-4、计算符号函数:
[0121][0122]
s4-1-5、计算并存储水平更新概率:
[0123]rcv
(i)=α
·
min_cc
·
sgn(c_in_llr(i))
·
sgn_i,i∈ω(c)\cc;
[0124]rcv
(cc)=α
·
sub_min
·
sgn(c_in_llr(i))
·
sgn_i,i∈ω(i)\cc;
[0125]
s4-2、进行一轮垂直更新;
[0126]
在本实施例中,步骤s4-2进一步包括以下计算:
[0127][0128]
s4-3、判决:存储结果c_in_llr(add_k
sifta
),若c_in_llr(add_k
sifta
)<0则判决k
sifta
(add_k
sifta
)=1,反之则判决为k
sifta
(add_k
sifta
)=0,更新 ks={k
sifta
,k
cb
};其中add_k
sifta
为k
sifta
的位置索引;
[0129]
s4-4、若译码次数未达到最大迭代次数miter:计算若结果为则译码成
功,输出成功标志decode_finish=1,若结果不为则返回执行步骤s4-1;若译码次数达到最大迭代次数,则输出失败标志miter_reach,返回等待重新进行译码,qch为ldpc校验矩阵;
[0130]
s5、输出最终密钥;若decode_finish=1,则输出最终密钥k
end
,全部输出完毕结束标志output_end=1,并返回等待下一轮数据的译码;
[0131]
如图2所示,步骤s1-s5均通过状态机实现状态转移,所述状态机包括以下状态:
[0132]
start_i:初始状态,当key_valid=1且check_bit_valid=1时跳转到下一状态input_ini_i;
[0133]
input_ini_i:密钥输入及初始化状态,当key_already=1时跳转到下一状态 input_ini_i;
[0134]
quanti_go:数据量化分级状态,当cin_llr_already=1跳转到下一状态 ms_cul;
[0135]
ms_cul:最小和译码状态,当decode_finish=1表示译码成功跳转到下一状态output_i;当miter_reach表示达到最大迭代译码次数但译码未成功跳转到初始状态start_i;
[0136]
output_i:数据输出状态,当output_end=1时输出结束跳转到初始状态 start_i。
[0137]
本实施例基于qkd光学系统的设计、后处理系统设计及纠错编码设计环境,优化最小和译码算法,差异化设置初始概率,通过提升公开的校验子可信度,以其为标准纠正密钥比特,理论上提高收敛度,减少译码迭代次数,提升纠错的速度。同时,提出一种了基于开发环境和运行平台的状态转移、矩阵存储、并行译码结构,提升功能硬件模块的处理和运算速度。采用可二次开发的硬件的方式实现并行的纠错译码过程,提升译码速率从而提升整个qkd系统的效率。
[0138]
据上述说明书的揭示和教导,本发明专利所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明专利并不局限于上面揭示和描述的具体实施方式,对发明专利的一些修改和变更也应当落入本发明专利的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对发明专利构成任何限制。
转载请注明原文地址:https://tc.8miu.com/read-1588.html