一种适用于连续变量量子密钥分发残余误码消除的方法与系统与流程



1.本发明涉及量子密钥分发技术领域,具体而言,涉及一种适用于连续变量量子密钥分发残余误码消除的方法与系统。


背景技术:



2.随着量子物理和量子信息论的发展,建立在量子力学原理基础上的量子密码学已经被证明具备信息论意义上的无条件安全性。其中,最具代表性的技术是通过量子技术实现通信双方的安全在线密钥共享,即量子密钥分发(quantum key distribution,qkd)。qkd主要包括离散变量和连续变量两大技术途径,其中连续变量量子密钥分发(continuous variable quantum key distribution,cv-qkd)采用量子光场的正交分量作为信息载体,具备中短传输距离内安全码率高,且可与传统光通信的大部分器件通用的优势,是量子密钥分发技术的重要发展方向。
3.cv-qkd系统包括量子信息的产生、传输、探测和数据后处理,其整体框图如图1所示。发送端(alice)首先通过量子信道向接收端(bob)发送量子信号,bob对信号进行探测接收。然后通过经典信道上的数据后处理过程,alice和bob得到一致的安全密钥。数据后处理是获取安全密钥必不可少的重要步骤,显著影响系统整体的安全性和密钥生成速率。cv-qkd系统数据后处理的流程图如图2所示,其主要步骤如下:
4.(1)基对比——如果bob采用零差探测,将探测信号时采用的测量基数据发送给alice,alice接收该数据后保留基选择一致的正交分量,基比对完成后alice和bob得到一组关联的原始密钥。如果bob采用外差探测,不需执行本步骤。
5.(2)参数估计——alice和bob从原始密钥中随机选出部分数据来进行参数估计,从而计算出系统关键参数,并依据安全码率模型判断是否继续此轮次量子密钥分发。
6.(3)数据协商——除去做参数估计部分的剩余原始密钥数据进入数据协商步骤,通过一定的协商算法将连续数据离散化,从而进一步进行误码纠错。
7.(4)误码纠错——目前cv-qkd系统在典型传输距离下常用的纠错码为多边类型ldpc码,通过对接收到的数据进行迭代译码完成纠错,然后alice和bob得到了一串完全相同的二进制比特序列。
8.(5)私钥放大——alice和bob将误码纠错后得到的相同的二进制比特序列进行压缩,以去除其中被窃听者获取的部分信息,从而使密钥达到信息论安全。
9.在上述数据后处理过程中,误码纠错步骤是决定系统性能的关键。cv-qkd系统工作在低信噪比条件下,需要低码率、长码长的纠错码。多边类型的ldpc码不但译码性能接近香农限,而且可以用具有并行处理能力的器件实现快速译码。因此,多边类型的ldpc码广泛应用于cv-qkd的后处理过程中。基于gpu设计的多边类型的ldpc码译码吞吐量在近几年也不断提高。然而gpu的体积较大、功耗高,制约了cv-qkd的应用场景,相对而言fpga体积和功耗小,可以并行运算,适合用于实现高效纠错译码,应用场景更广。
10.由于fpga外部存储ddr的读写速度不能满足高速译码需求,所以在译码过程中的数据需要使用fpga的片上存储资源。在fpga中,通常采用一个定点数来表示数值(定点数的位宽越大,表示的数值越精确),而fpga的片上存储资源有限,这就限制了译码过程中定点数的位宽,使得数值表示不够精确,导致译码后存在残余误码,不能满足cv-qkd在误码纠错后要得到完全一致的二进制比特序列的要求,帧错误率(frame errors rate,fer)很高,最终导致系统实际安全码率严重受限。


技术实现要素:



11.本发明旨在提供一种适用于连续变量量子密钥分发残余误码消除的方法与系统,以解决在cv-qkd系统中,基于fpga设计的ldpc码译码器为满足高速译码的需求,译码过程中的数据需要使用fpga的片上存储资源,而有限的片上存储资源限制了在fpga中用于表示数据的定点数的位宽,使得数值表示不够精确,译码结束后存在残余误码,fer很高,系统实际安全码率受限的问题。
12.本发明提供的一种适用于连续变量量子密钥分发残余误码消除的方法,包括:
13.增加译码数据修改模块;
14.采用译码数据修改模块将整个译码流程根据使用参数t修改译码数据的时间节点分为第一译码阶段和第二译码阶段,然后通过第二译码阶段实现残余误码消除。
15.进一步的,所述译码数据修改模块将整个译码流程分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除的方法为:
16.(1)根据终止条件结束第一译码阶段;
17.(2)用参数t修改根据设定的门限值δ挑选出的llr值,然后将修改后的llr值用于第二译码阶段实现残余误码消除。
18.在一些实施例中,设定一个ldpc码对应的校验矩阵h的大小为m行n列;其中,m行对应m个校验方程,用集合j={0,1,

,m-1}来标识每一行;n列对应n个节点,用集合i={0,1,

,n-1}来标识每一列;定义集合llr={llr1,llr2,

,llr
n-1
}表示接收端译码后各节点用于译码判决的llr值,s表示发送端的校正子,集合表示根据llr值进行译码判决后得到的各码元比特,译码后接收端的校正子s与中对应位置不相等的元素个数称为非满足校验节点数,用参数nu表示;
19.则所述残余误码消除的过程如下:
20.(1)第一译码阶段开始时,设置非满足校验节点数的最小值n
u_min
=m;
21.(2)每次迭代译码结束后,根据译码判决得到的计算接收端校正子
22.如果或者译码达到设定的最大迭代次数,则结束整个译码流程;
23.如果则统计当前迭代次数下的非满足校验节点数nu,并根据nu的值更新n
u_min

24.(3)如果n
u_min
的值在连续x次的迭代译码中没有改变,则结束第一译码阶段,否则继续迭代;
25.(4)第一译码阶段完成后,根据设定的门限值δ,得到集合e={i|llri≤δ},然后根
据集合e以及设定的参数t修改对应的llr值,即llri=t,
26.(5)根据修改后的llr值进行第二译码阶段的迭代译码,直到达到设定的最大迭代次数或者译码成功,结束整个译码流程。
27.在一些实施例中,参数t以及门限值δ的值通过大量仿真,选取误码残余消除效果最好的值进行设定。
28.在一些实施例中,x=3。
29.本发明还挺一种适用于连续变量量子密钥分发残余误码消除的系统,所述系统包括节点信息更新模块、llr值存储模块、译码判决模块以及译码数据修改模块;所述译码数据修改模块用于将整个译码流程根据使用参数t修改译码数据的时间节点分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除。
30.进一步的,所述译码数据修改模块将整个译码流程分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除的方法为:
31.(1)根据终止条件结束第一译码阶段;
32.(2)用参数t修改根据设定的门限值δ挑选出的llr值,然后将修改后的llr值用于第二译码阶段实现残余误码消除。
33.在一些实施例中,设定一个ldpc码对应的校验矩阵h的大小为m行n列;其中,m行对应m个校验方程,用集合j={0,1,

,m-1}来标识每一行;n列对应n个节点,用集合i={0,1,

,n-1}来标识每一列;定义集合llr={llr1,llr2,

,llr
n-1
}表示接收端译码后各节点用于译码判决的llr值,s表示发送端的校正子,集合表示根据llr值进行译码判决后得到的各码元比特,译码后接收端的校正子s与中对应位置不相等的元素个数称为非满足校验节点数,用参数nu表示;
34.则所述对第一译码阶段和第二译码阶段消除残余误码的过程如下:
35.(1)第一译码阶段开始时,设置非满足校验节点数的最小值n
u_min
=m;
36.(2)每次迭代译码结束后,根据译码判决得到的计算接收端校正子
37.如果或者译码达到设定的最大迭代次数,则结束整个译码流程;
38.如果则统计当前迭代次数下的非满足校验节点数nu,并根据nu的值更新n
u_min

39.(3)如果n
u_min
的值在连续x次的迭代译码中没有改变,则结束第一译码阶段,否则继续迭代;
40.(4)第一译码阶段完成后,根据设定的门限值δ,得到集合e={i|llri≤δ},然后根据集合e以及设定的参数t修改对应的llr值,即llri=t,
41.(5)根据修改后的llr值进行第二阶段阶段的迭代译码,直到达到设定的最大迭代次数或者译码成功,结束整个译码流程。
42.在一些实施例中,参数t以及门限值δ的值通过大量仿真,选取误码残余消除效果最好的值进行设定。
43.在一些实施例中,x=3。
44.综上所述,由于采用了上述技术方案,本发明的有益效果是:
45.本发明提出在基于fpga的译码系统中增加一个译码数据修改模块,该译码数据修改模块将整个译码过程分为两个阶段,第一译码阶段结束后,该模块修改挑选出来的llr值,然后将修改后的llr值用于第二译码阶段,使得在第一译码阶段完成后存在的译码错误的比特能够在第二阶段成功译码,从而达到有效降低系统译码fer、提升cv-qkd系统安全码率的目的。
附图说明
46.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
47.图1为cv-qkd系统流程图。
48.图2为cv-qkd系统数据后处理流程图。
49.图3为本发明实施例中适用于连续变量量子密钥分发残余误码消除的系统的原理图。
50.图4为本发明实施例中适用于连续变量量子密钥分发残余误码消除的方法的流程图。
具体实施方式
51.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
52.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.实施例1
54.基于fpga设计的ldpc码译码器在使用精度受限的定点数时,译码后的fer很高,但是对译码结果进行统计分析可以发现,译码错误的数据帧中错误的比特数较少,且译码错误的比特对应的用于译码判决的对数似然比(log likelihood ratio,llr)值的绝对值主要集中在数值较小的区域,而译码正确的比特对应的llr值绝对值则集中在数值相对较大的区域。因此根据统计分析结果,设定一个门限值δ,如果译码后某个比特用于译码判决的llr值的绝对值小于等于门限值δ,则该比特大概率译码错误,将其加入到译码错误的比特集合中,从而将译码错误的比特从译码结果中区分出来。
55.ldpc码对数域置信传播译码方法是根据译码判决的llr值的符号进行译码后的0,1比特判定,产生相应的译码比特。对于译码错误的比特,其用于译码判决的llr值符号与正确的llr值相反。如果用参数t对所有挑选出来的译码错误的比特对应的llr值进行赋值,那么与参数t符号相反的llr值对应的译码错误的比特便可以被纠正,从而减少了译码错误的
比特数量。那么对赋值过后的用于译码判决的llr值序列再次进行迭代译码时,由于经过参数t的赋值,译码迭代过程中正确的信息增加,剩下的译码错误的比特便更容易被纠正过来,从而达到消除残余误码的目的。
56.基于上述原理,如图3所示,本实施例提供适用于连续变量量子密钥分发残余误码消除的方法,包括:
57.增加译码数据修改模块;
58.采用译码数据修改模块将整个译码流程根据使用参数t修改译码数据的时间节点分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除。
59.本实施例增加的译码数据修改模块将整个译码流程分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除的方法为:
60.(1)根据终止条件结束第一译码阶段;
61.(2)用参数t修改根据设定的门限值δ挑选出的llr值,然后将修改后的llr值用于第二译码阶段实现残余误码消除。
62.进一步地:设定一个ldpc码对应的校验矩阵h的大小为m行n列;其中,m行对应m个校验方程,用集合j={0,1,

,m-1}来标识每一行;n列对应n个节点,用集合i={0,1,

,n-1}来标识每一列;定义集合llr={llr1,llr2,

,llr
n-1
}表示接收端译码后各节点用于译码判决的llr值,s表示发送端的校正子,集合表示根据llr值进行译码判决后得到的各码元比特,译码后接收端的校正子s与中对应位置不相等的元素个数称为非满足校验节点数,用参数nu表示;
63.则所述段消除残余误码的过程如下:
64.(1)第一译码阶段开始时,设置非满足校验节点数的最小值n
u_min
=m;
65.(2)每次迭代译码结束后,根据译码判决得到的计算接收端校正子
66.如果或者译码达到设定的最大迭代次数,则结束整个译码流程;
67.如果则统计当前迭代次数下的非满足校验节点数nu,并根据nu的值更新n
u_min

68.(3)如果n
u_min
的值在连续x(一般取x=3,可以根据需要设定)次的迭代译码中没有改变,则结束第一译码阶段,否则继续迭代;
69.(4)第一译码阶段完成后,根据设定的门限值δ,得到集合e={i|llri≤δ},然后根据集合e以及设定的参数t修改对应的llr值,即llri=t,其中,为保证第一译码阶段之后的数据在用门限值δ能进行有效区分的同时尽可能减少该阶段的迭代次数,需要根据实际译码情况终止第一译码阶段。
70.(5)根据修改后的llr值进行第二译码阶段的迭代译码,直到达到设定的最大迭代次数或者译码成功,结束整个译码流程。
71.其中,参数t的绝对值越小,译码错误的比特对应的用于译码判决的llr值在经过参数t赋值后的错误概率也越小,更容易通过迭代译码进行纠正。参数t以及门限值δ的值可以通过大量仿真,选取误码残余消除效果最好的值进行设定。定义变量iter_num表示当前迭代次数,max_iternum表示设定的最大迭代次数,unup_num表示n
u_min
未更新的次数,整个
两阶段译码的流程图如图4所示。
72.示例:
73.对于一个码率为0.2,码长为80000的多边类型的ldpc码,在信噪比snr=0.38的条件下,使用位宽为8的定点数(1位符号位,4位整数位,3位小数位)来表示译码过程中的中间数据。然后通过cv-qkd系统发送误码纠错的数据帧到fpga译码系统,最大译码迭代次数设置为20。译码完成后将译码结果发送回上位机用于统计分析译码效果。经实际测试,当完成100帧数据的误码纠错时,其fer典型值为0.93。
74.当使用本发明的适用于连续变量量子密钥分发残余误码消除的方法时,设置门限值δ的值为40,参数t的值为1,最大迭代次数为20,然后进行误码纠错。当完成100帧数据的误码纠错过后,其fer为0.23。由此可见,经过分发明中的适用于连续变量量子密钥分发残余误码消除的方法,fer显著降低,能够极大地改善由于定点数表示数据精度不够引起的fer过高的问题。
75.实施例2
76.本实施例提供一种适用于连续变量量子密钥分发残余误码消除的系统,所述系统包括节点信息更新模块、llr值存储模块、译码判决模块以及译码数据修改模块;
77.所述译码数据修改模块用于将整个译码流程根据使用参数t修改译码数据的时间节点分为第一译码阶段和第二译码阶段,并通过第二阶段译码实现残余误码消除。
78.所述译码数据修改模块通过修改第二译码阶段译码数据,在第二译码阶段实现残余误码消除的过程参照实施例1,在此不再赘述。
79.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种适用于连续变量量子密钥分发残余误码消除的方法,其特征在于,包括:增加译码数据修改模块;采用译码数据修改模块将整个译码流程根据使用参数t修改译码数据的时间节点分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除。2.根据权利要求1所述的适用于连续变量量子密钥分发残余误码消除的方法,其特征在于,所述译码数据修改模块将整个译码流程分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除的方法为:(1)根据终止条件结束第一译码阶段;(2)用参数t修改根据设定的门限值δ挑选出的llr值,然后将修改后的llr值用于第二译码阶段实现残余误码消除。3.根据权利要求2所述的适用于连续变量量子密钥分发残余误码消除的方法,其特征在于,设定一个ldpc码对应的校验矩阵h的大小为m行n列;其中,m行对应m个校验方程,用集合j={0,1,

,m-1}来标识每一行;n列对应n个节点,用集合i={0,1,

,n-1}来标识每一列;定义集合llr={llr1,llr2,

,llr
n-1
}表示接收端译码后各节点用于译码判决的llr值,s表示发送端的校正子,集合表示根据llr值进行译码判决后得到的各码元比特,译码后接收端的校正子s与中对应位置不相等的元素个数称为非满足校验节点数,用参数n
u
表示;则所述残余误码消除的过程如下:(1)第一译码阶段开始时,设置非满足校验节点数的最小值n
u_min
=m;(2)每次迭代译码结束后,根据译码判决得到的计算接收端校正子如果或者译码达到设定的最大迭代次数,则结束整个译码流程;如果则统计当前迭代次数下的非满足校验节点数n
u
,并根据n
u
的值更新n
u_min
;(3)如果n
u_min
的值在连续x次的迭代译码中没有改变,则结束第一译码阶段,否则继续迭代;(4)第一译码阶段完成后,根据设定的门限值δ,得到集合e={i|llr
i
≤δ},然后根据集合e以及设定的参数t修改对应的llr值,即llr
i
=t,(5)根据修改后的llr值进行第二译码阶段的迭代译码,直到达到设定的最大迭代次数或者译码成功,结束整个译码流程。4.根据权利要求3所述的适用于连续变量量子密钥分发残余误码消除的方法,其特征在于,参数t以及门限值δ的值通过大量仿真,选取误码残余消除效果最好的值进行设定。5.根据权利要求3所述的适用于连续变量量子密钥分发残余误码消除的方法,其特征在于,x=3。6.一种适用于连续变量量子密钥分发残余误码消除的系统,所述系统包括节点信息更新模块、llr值存储模块和译码判决模块;其特征在于,所述系统还包括:译码数据修改模块;所述译码数据修改模块用于将整个译码流程根据使用参数t赋值的时间节点分为第一译码阶段和第二译码阶段,并通过第二译码阶段实现残余误码消除。7.根据权利要求6所述的适用于连续变量量子密钥分发残余误码消除的系统,其特征
在于,所述译码数据修改模块将整个译码流程分为第一阶段译码和第二阶段译码,并通过第二译码阶段实现残余误码消除的方法为:(1)根据终止条件结束第一译码阶段;(2)用参数t修改根据设定的门限值δ挑选出的llr值,然后将修改后的llr值用于第二译码阶段实现残余误码消除。8.根据权利要求7所述的适用于连续变量量子密钥分发残余误码消除的系统,其特征在于,设定一个ldpc码对应的校验矩阵h的大小为m行n列;其中,m行对应m个校验方程,用集合j={0,1,

,m-1}来标识每一行;n列对应n个节点,用集合i={0,1,

,n-1}来标识每一列;定义集合llr={llr1,llr2,

,llr
n-1
}表示接收端译码后各节点用于译码判决的llr值,s表示发送端的校正子,集合表示根据llr值进行译码判决后得到的各码元比特,译码后接收端的校正子s与中对应位置不相等的元素个数称为非满足校验节点数,用参数n
u
表示;则所述残余误码消除的过程如下:(1)第一译码阶段开始时,设置非满足校验节点数的最小值n
u_min
=m;(2)每次迭代译码结束后,根据译码判决得到的计算接收端校正子如果或者译码达到设定的最大迭代次数,则结束整个译码流程;如果则统计当前迭代次数下的非满足校验节点数n
u
,并根据n
u
的值更新n
u_min
;(3)如果n
u_min
的值在连续x次的迭代译码中没有改变,则结束第一译码阶段,否则继续迭代;(4)第一译码阶段完成后,根据设定的门限值δ,得到集合e={i|llr
i
≤δ},然后根据集合e以及设定的参数t修改对应的llr值,即llr
i
=t,(5)根据修改后的llr值进行第二译码阶段的迭代译码,直到达到设定的最大迭代次数或者译码成功,结束整个译码流程。9.根据权利要求8所述的适用于连续变量量子密钥分发残余误码消除的系统,其特征在于,参数t以及门限值δ的值通过大量仿真,选取误码残余消除效果最好的值进行设定。10.根据权利要求8所述的适用于连续变量量子密钥分发残余误码消除的系统,其特征在于,x=3。

技术总结


本发明提供一种适用于连续变量量子密钥分发残余误码消除的方法与系统,所述方法包括在译码器架构中增加译码数据修改模块;译码数据修改模块根据将整个译码流程根据使用参数T修改译码数据的时间节点分为第一译码阶段和第二译码阶段,并在第二译码阶段实现残余误码消除。本发明能够有效降低系统译码后的FER,提升CV-QKD系统安全码率。QKD系统安全码率。QKD系统安全码率。


技术研发人员:

周创 李扬 徐兵杰 马荔 黄伟 杨杰 罗钰杰 吴梅 胡金龙 张亮亮 张帅

受保护的技术使用者:

中国电子科技集团公司第三十研究所

技术研发日:

2022.07.20

技术公布日:

2022/11/15

本文发布于:2024-09-23 02:22:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/3376.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:译码   残余   阶段   密钥
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议