基于级联Polar码和多级译码方法的连续变量QKD数据协商协议

2022-06-10 13:53周晓东王晟张天兵胡宗富冯宝肖红
量子电子学报 2022年3期
关键词:译码级联密钥

周晓东,王晟,张天兵,胡宗富,冯宝,3*,肖红

(1国网福建省电力有限公司信息通信分公司,福建 福州 350003;2南京南瑞信息通信科技有限公司,江苏 南京 211000;3南京南瑞国盾量子技术有限公司,江苏 南京 211000;4南京邮电大学通信与信息工程学院,江苏 南京 210003)

0 引言

在量子密钥分发(QKD)[1-9]协议中,发送方Alice和接收方Bob最终能获得一串二进制随机数作为密钥。但是,由于量子信道中不可避免地存在噪声,或者存在窃听干扰,导致通信双方获得的密钥会存在一定的误码。所以在实际应用中需要引入数据协商(DR)和秘密放大(PA)等技术手段,以此保证在由于各种噪声和窃听而导致误码的情况下提取出完全一致的安全密钥,使通信双方可以共享无差错的密钥。

QKD分为离散变量量子密钥分发[3-8]和连续变量量子密钥分发[9-11](CVQKD)两种。而数据协商协议作为CVQKD中重要的组成部分,可以纠正CVQKD在实际信道中存在的密钥错误。数据协商的过程是:通信的一方先将数据进行信道编码,然后将协商信息[如校验子(Syndrome)或校验位(Parity)等信道编码中的校验序列]传递给另一方,另一方将接收到的协商信息和已知的边信息结合起来,进行联合译码,从而更正密钥错误。数据协商的译码过程具有边信息参与译码这一特点,因此数据协商的译码过程可被认为是一种特殊的分布式信源编码模型(DSC)。但由于数据协商过程是在经典公共信道上进行的,所有的协商数据存在着被Eve窃听的可能,因此常常使用一个高效的信道编码对数据进行纠错来提高CVQKD的数据协商协议的安全性。目前已被应用于CVQKD的数据协商的信道编码有LDPC码、汉明码、BCH码和Turbo码等[12-14]。

在CVQKD的数据协商协议中,分层错误校正协议[15](SEC)采用了将连续变量离散化时使得互信息量最大作为协议优化目标,实现了协议的最优量化。Nguyen等[16]于2004年,在SEC协议的基础上,使用Cascade协商算法对SEC量化后的数据进行处理在理论上达到了极佳的效果。随后,Bloch等[13]使用多级编码/多级译码协议和LDPC码,实现了88.7%的协商效率,但是对于实际CVQKD系统来说,该协商效率较低。如何进一步提升数据协商协议的协商效率性能是一个重要的研究目标。

2009年,Arikan[17]首次提出了信道极化的概念,同时基于信道极化给出了一种编码方式,即Polar码(Polar codes)。Polar码的构造方法是确定性的,并且是目前唯一一种可严格证明“达到”信道容量的信道编码方法。在完成合并信道以及分割信道的操作后,2n个独立的二进制输入信道会变为2n个前后依赖的极化信道。相比于操作前的信道,信道出现了极化现象:一部分信道的容量减小,另外一部分信道的容量增大。而且,在极化接近无穷多个信道后(即n趋于无穷大),将会有一部分信道的容量趋近于0,意味着在信道上可靠地传输信息没有可能性,而其余的信道容量将会趋于1,也就是说接收端从该信道接收的信息接近百分百正确,同时,原来二进制输入离散信道的容量恰好是信道容量趋于1的信道在总信道数中所占的比例,以上内容在理论上已得到证明。

本文提出一种基于级联Polar码和多级译码方法的CVQKD数据协商协议。该数据协商协议在多级编码调制系统的基础上,利用纠错性能更好的级联Polar码作为分量码应用到多级编码和多级译码中。通过仿真分析协议的性能,结果表明所提协议的协商效率被极大地提高,同时密钥的比特错误率也极大地降低。该数据协商协议对CV-QKD的应用具有一定的价值。

1 方案描述和理论分析

作为CVQKD协议的一种数据协商模型,多级编码/多级译码协议的结构如图1所示。由图1可见一个多级译码器和多级的编码器是该模型的主要构成部分。由于某一级译码产生了错误,接着该错误在其他各级之间的传播而导致最终误比特率增加的现象在该模型中不会出现,原因是在模型中可以灵活地设计各级编码器,且这些编码器使用的分量码的信息比特块不同,而干扰并不存在于这K个比特块之间。针对多级编码的一种准最佳的译码算法是多级译码(MSD)。

在多级译码中,最低一级最先译码,下一级译码器译码时使用的先验信息是上一级得到的译码结果,而且上一级译码器译码时也会使用下一级译码器获得的结果。这样可降低译码复杂度,且使系统信道容量逼近基于最大似然概率译码时的值,这就是使用多级译码算法的优势。

由于CVQKD分发协议得到的密钥是连续的,所以这些连续密钥序列需要被量化,量化后的密钥序列需用二进制比特串表示,可通过二进制比特编码函数实现。逆向协商协议是此处使用的协议,在接收端进行量化以及二进制比特编码后将会获得一串多级且各级间存在一定相关性的二进制比特序列。此处根据各级等价信道,对各级二进制序列进行合适码率的信道编码从而转化为校验子序列,将其发送给Alice,接着Alice进行多级译码。由于两端密钥之间存在关联,可根据两端密钥之间的相关性进行级间信息的迭代译码。各级译码采用的是边信息联合译码结构,而联合译码的辅助信息使用的是接收到的校验子信息,边信息使用的则是结合自身的密钥得到的信息。

为了进一步减小CVQKD数据协商协议的误码率,同时提高协商效率,在图1模型的基础上,使用级联Polar码作为多级编码中的信道编码,提出一种基于级联Polar码和多级译码的CV-QKD数据协商协议,图2给出了该协议的系统框图。

图1 多级编码/多级译码协议的结构示意图Fig.1 Schematic diagram of the structure of multistage encoding/multistage decoding protocol

图2 基于级联Polar码和多级译码的CVQKD数据协商协议示意图Fig.2 Schematic diagram of CVQKD data reconciliation protocol based on cascaded Polar code and multistage decoding

协议中,Bob端先对连续变量密钥进行量化,由于CVQKD的密钥是连续的,且其服从高斯分布,需对其进行量化操作,分为两步,分别是划分连续区间和二进制编码。图2展示了层数为4的译码CVQKD数据协商协议过程,在该方法中,在Bob端,一个连续变量密钥在经过量化后会转化为四条长度为l的序列,分别标记为L1、L2、L3和L4,代表各层的二进制比特串。接下来,每一层的二进制比特的编码都会使用级联Polar码,然后,通过公共经典信道Alice端会收到发送过来的校验子。在连续密钥X已知的情况下,Alice端设计比特估计函数,将四级序列E1、E2、E3和E4估算出来作为边信息,最终的密钥信息四层二进制密钥b1、b2、b3、b4通过边信息与Bob端发送过来的校验子结合后使用联合译码得到的。

1.1 MLC系统各级码率的确定

在多级编码/多级译码系统中,各级编码器都对应一个等效信道,所以各级编码器的码率可以由每个子信道的信道容量来确定。每个子信道信道容量的求解方法为:假设第i个等价信道的信道容量为Ci,那么第i级的码率Ri最大值为由于在多级编码协议中,并行的m路编码器等价为m个等价子信道,因此,根据香农信息论可以求出信道容量

式中:各级编码器中的级联Polar码表示为Xi,Bob端的接收序列表示为Y。因此,每一级子信道的信道容量可表示为

由此可以确定各级分量码的码率。

1.2 级联码码率的确定

级联Polar码由外码与内码共同组成。通过已有的研究可以知道,现在存在Polar码为内码、LDPC码为外码的LDPC-Polar级联码,在级联Polar码中其纠错性能表现较好。所以LDPC-Polar级联码的级联Polar码是本协议采用的纠错编码。

级联Polar码中,将r设为LDPC码长,n设为Polar码长。内码Polar码部分对应的信道对于LDPC码的码率并没有严格的要求,其原因是内码Polar码的信息位长度与外码LDPC码的码率是相关的,而且Polar码信息位的比特信道拥有较小的巴氏参数,这就表示有很小的可能信息会出现错误。但是冻结位部分对应的比特信道的巴氏参数趋于1,代表信道里几乎都是噪声,则需要使用低码率的LDPC码,目的是为了纠错。不管如何,级联Polar码中每一个比特信道与其各成员码的码率之间都存在着相关性。若将内码Polar码的信息位长度设为k,则可用k/n表示出内码Polar码的码率。因为外码LDPC码的码率与Polar码中的比特出错概率是相关的,所以要先把内码Polar码中每一个比特出现错误的概率Pi求出,i=1,2,···k,而其之间的关系可表示为

式中:LDPC-Polar级联码的误码率用Pe表示,LDPC码的最大纠错个数用τi表示,利用τi能够计算出外码LDPC码的码率。

接下来对Bob端的四串二进制序列L1、L2、L3和L4使用级联Polar码来编码,并且可以在公共经典信道给Alice传递校验信息。

1.3 多级译码算法的优化

多级译码算法在译码过程中对于某一级译码结果的判定,不仅要有这一级的信息参与,还要对其他级的译码结果进行迭代。一般来说一个m级的MLC系统,在某一级的译码产生的错误会影响其他级的译码,为了减少这种影响造成的错误,多级译码过程开始于第1级,得到译码结果后再将其传给第2级,这样做是因为在最低级的数据中含有的信息量是最少的,而且其本身译码器的主要依靠就是第一级传输给第二级的先验信息和第二级自身的数据。由此不断类推,一级一级逐次传递译码结果,那么可推得前m-1级的译码结果应是最后一级译码器的参考。通过四级译码结构来理解该过程,该多级译码的结构图如图3所示。

图3 多级译码框图示意图Fig.3 Block diagram of multistage decoding

下面主要介绍接收端中译码器是如何在每一级之间传送数据的,采用图3所示的四级译码作为例子。首先进行第一级译码,密钥中的第k个密钥(数据)首先被译码,其中译码器的先验信息是对数似然比Lk,可表示为

另外对于所使用的LDPC-Polar级联码,利用内码Polar码在各级对数据译码,在LDPC码的译码器中放入译码之后的结果进行操作,最终结果要在两次译码后才能得出,其译码的计算复杂度在多出了一步译码步骤的情况下却并没有增加。对于LDPC码和Polar码,所采用的都是BP译码算法,协议的密钥就是最终译码结果。

2 仿真结果分析

在Matlab上进行仿真分析。仿真中设高斯随机变量X的方差为1,Y则是由X叠加上方差为σ2的高斯噪声产生,改变σ2就可以对信噪比RSN的大小进行改变。此外,首先对连续变量密钥Y进行均匀量化,其他参数设置为:信噪比RSN=4 dB,量化层数m=4,划分区间数N=16。仿真结果表明Alice的密钥X和Bob端量化后的密钥Q(Y)的互信息在步长Δ=0.315 dB时最大。根据以上信息可得到如图4所示的编码协议仿真结果。

图4 四层量化区间编码的仿真结果Fig.4 Simulation results of four-layer quantization interval coding

至此,在使用量化和比特编码后,Bob端的密钥会变为L1、L2、L3和L4这样的四级比特串,之后的仿真中对该比特串的编码需采用级联Polar码。因此,各级中级联Polar码码率的确定得先计算出四级二进制比特串相对应的等价信道的信道容量。

另外,分析每一级的码率可得,前面两级的码率远小于后两级的码率,若不将其编码而直接在传输的信道中公开,只会有0.011 bit/symbol的损耗。因此,选取使用码率为0.3/0.9 bit/symbol的级联Polar码对第三级和第四级的二进制比特串进行编码,然后可得校验子,将其发送给Alice,最后使用多级译码算法进行译码来获取密钥信息。

仿真采用LDPC-Polar级联码,其中内码为Polar码,外码为LDPC码。MLC系统中的第三级编码器中内码码率是0.3593,而第四级编码器中内码码率设为0.9063。BP译码算法最大迭代次数为60。当固定外码LDPC的码长为60,而内码Polar码的长度分别为512和1024时,所得协商协议的误比特率(BER)性能仿真结果如图5所示。

图5 不同码长级联Polar码协商协议的性能比较结果Fig.5 Performance comparison results of the proposed protocol for concatenated Polar codes with different code lengths

由图5可知,LDPC-Polar码的多级译码协商协议的误比特率与信噪比SNR成反比,分析图5可得,码长设定为512时,该协议的误比特率在信噪比大于0.8 dB后已经非常低了。而如果纠错码是码长为1024的LDPC-Polar级联码,那么可以发现基于级联Polar码和多级译码协商协议的纠错能力更强。

3 结论

提出了一种级联Polar码和多级译码的CVQKD中的数据协商协议。该协议在多级编码调制系统的基础上,利用纠错性能更好的级联Polar码作为分量码应用到多级编码以及多级译码中。通过仿真分析协议的性能表明所提协议的纠错性能极大提高,该数据协商协议对CV-QKD的应用具有一定价值。

猜你喜欢
译码级联密钥
一种中间电容谐振型级联双向DC-DC变换器
铀浓缩厂级联系统核安全分析
实现级联形状回归方法对视线追踪
幻中邂逅之金色密钥
幻中邂逅之金色密钥
一种改进的TPC混合译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
Android密钥库简析
一种新的动态批密钥更新算法