CN113259101B - 一种量子密钥分发系统的纠错方法及装置 - Google Patents
一种量子密钥分发系统的纠错方法及装置 Download PDFInfo
- Publication number
- CN113259101B CN113259101B CN202110634157.XA CN202110634157A CN113259101B CN 113259101 B CN113259101 B CN 113259101B CN 202110634157 A CN202110634157 A CN 202110634157A CN 113259101 B CN113259101 B CN 113259101B
- Authority
- CN
- China
- Prior art keywords
- data
- corrected
- error correction
- error
- transmitting
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
- H04L9/0858—Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种量子密钥分发系统的纠错方法及装置。该方法包括:检测待纠错数据的纠错轮数是否小于迭代阈值,迭代阈值用于指示单次纠错中纠错迭代轮数的最大值;若待纠错数据的纠错轮数小于或等于迭代阈值,则获取待纠错数据的错误率;根据错误率对应的段长值,交织待纠错数据;检测待纠错数据在收发双端的奇偶校验值是否相同;若相同,则输出待纠错数据为CK;若不同,则计算待纠错数据在收发双端的汉明伴随式;翻转纠正待纠错数据中的误码,翻转后的待纠错数据为下一轮纠错的待纠错数据,并开始下一轮纠错。本申请中,收发双端根据实时获取的错误率来确定对应的段长值,从而保证在奇偶校验的效率和汉明纠错的效率之间取得平衡,进而提高系统的纠错性能。
Description
技术领域
本申请实施例涉及量子通信技术领域,特别涉及一种量子密钥分发系统的纠错方法及装置。
背景技术
随着量子技术的发展,量子密钥分发(quantum key distribution,QKD)相关技术逐渐发展成熟。QKD中通常定义通信双方的发送端为Alice,接收端为Bob。在实际的QKD系统中,由于信道或设备中的不可避免的噪声以及潜在的攻击方影响,导致收发双方的筛后密钥(sifted key,SK)序列并不是完全一致的。收发双方的SK必须通过后处理过程才能够被进一步处理使用。
相关技术中QKD的纠错通常采用算Winnow算法。在该算法中,QKD系统的收发双端每次纠错一段SK通常需要进行至少一轮的纠错,每一轮纠错包括如下几个步骤:设定段长,数据交织、奇偶校验和汉明纠错。在每一轮纠错中,收发双端先确定本轮纠错所需的段长,将SK分为数段。通常,收发双端根据当前纠错的轮数从一组固定的段长值中选取一个。在确定段长后,收发双端基于一随机序列对分段后的SK进行数据重排,将数据位置进行随机置换,打乱原有数据位置。最后,收发双端再进行奇偶校验和汉明纠错。对于奇偶校验,数据的段长越长,收发双端进行校验次数就越小,相应的处理开销就越小。但是,在汉明纠错中,随着数据的段长变长,一段数据中包含超过1比特的误码的概率也变大。对于包含超过 1比特的误码,使用汉明纠错无法纠错,甚至会增加新的误码。若选取的段长过小,则奇偶校验所需的处理开销过大;若取的段长过小,则汉明纠错的准确性过低。
在相关技术中,QKD接收系统根据固定值的段长划分SK,而为了保证纠错的成功率,选取段长的固定值通常只能满足汉明纠错对段长的需求,导致奇偶校验的处理开销过大,进而降低纠错性能。
发明内容
本申请提供一种量子密钥分发系统的纠错方法及装置,可用于解决在现有技术中选取段长的固定值通常只能满足汉明纠错对段长的需求,导致奇偶校验的处理开销过大,进而降低纠错性能的问题。
一方面,本申请提供一种量子密钥分发系统的纠错方法,该方法包括:
检测待纠错数据的纠错轮数是否小于迭代阈值,所述迭代阈值用于指示单次纠错中纠错迭代轮数的最大值,所述待纠错数据为筛选后密钥SK或经过至少一轮纠错的SK;
若所述待纠错数据的纠错轮数小于或等于所述迭代阈值,则获取所述待纠错数据的错误率;
根据所述错误率对应的段长值,交织所述待纠错数据;
检测所述待纠错数据在收发双端的奇偶校验值是否相同;
若所述待纠错数据在所述收发双端的奇偶校验值相同,则输出所述待纠错数据为纠错后密钥CK;
若所述待纠错数据在所述收发双端的奇偶校验值不同,则计算所述待纠错数据在所述收发双端的汉明伴随式,所述汉明伴随式用于指示所述待纠错数据中误码的位置;
翻转纠正所述待纠错数据中的误码,翻转后的所述待纠错数据为下一轮纠错的待纠错数据,并再次执行所述检测待纠错数据的纠错轮数是否小于所述迭代阈值的步骤。
可选地,所述获取所述待纠错数据的错误率,包括:
若所述纠错轮数为0,且待纠错数据为所述收发双端首次纠错的SK,则确定所述错误率为预设错误率,所述预设错误率是根据探测器参数预先计算的理论错误率;
若所述纠错轮数为0,且待纠错数据不是所述收发双端首次纠错的SK,则根据所述收发双端上一次纠错中获取的多轮错误率的平均值获取所述待纠错数据的错误率;
若所述纠错轮数大于0,则根据如下关系式获取所述待纠错数据的错误率
其中,e为所述待纠错数据的错误率,P为上一轮纠错中奇偶校验值不一致的概率,k 为上一轮纠错的段长值。
可选地,所述方法还包括:
获取网络延时值、SK生成速率和纠错处理时长,所述网络延时值是所述收发双端进行一次数据传输所需的时长,所述纠错处理时长是所述收发双端单轮纠错中处理并计算数据所需的时长;
根据所述网络延时值、所述SK生成速率和所述纠错处理时长,确定所述迭代阈值,所述迭代阈值随所述网络延时值、所述SK生成速率或所述纠错处理时长的增大而减小。
可选地,所述检测待纠错数据的纠错轮数是否小于迭代阈值之后,还包括:
若所述待纠错数据的纠错轮数大于所述迭代阈值,则获取纠错失败的频率;
若所述纠错失败的频率小于预设频率,则根据如下关系式确定偶发性阈值
其中,Cmax为所述偶发性阈值,M为所述收发两端的缓冲存储容量,L为待纠错数据的长度,N为所述SK生成速率,D为所述网络延时值,T为所述纠错处理时长,Cave为所述收发两端纠错的平均轮数;
若所述迭代阈值小于或等于所述偶发性阈值,则获取所述待纠错数据的错误率。
可选地,所述方法还包括:
根据如下关系式,确定奇偶校验值不一致的概率
其中,Pi为第i轮纠错中奇偶校验值不一致的概率,ei表示第i轮纠错时待纠错数据的错误率,ki表示第i轮纠错对应的段长;
根据如下关系式,确定信息泄漏量与各个段长之间的对应关系
其中,mi表示第i轮纠错的信息泄漏量,l表示所述SK的长度;
根据所述信息泄漏量与各个段长之间的对应关系,确定所述信息泄漏量的最小值对应的段长为所述错误率对应的段长值。
可选地,
若所述错误率小于0.001,则对应的段长值为511;
若所述错误率大于或等于0.001,且小于0.0017,则对应的段长值为255;
若所述错误率大于或等于0.0017,且小于0.0036,则对应的段长值为127;
若所述错误率大于或等于0.0036,且小于0.0075,则对应的段长值为63;
若所述错误率大于或等于0.0075,且小于0.017,则对应的段长值为31;
若所述错误率大于或等于0.017,且小于0.033,则对应的段长值为15;
若所述错误率大于或等于0.033,且小于0.034,则对应的段长值为14;
若所述错误率大于或等于0.034,且小于0.037,则对应的段长值为13;
若所述错误率大于或等于0.037,且小于0.049,则对应的段长值为7。
可选地,所述方法还包括:
根据所述错误率对应的段长值和所述待纠错数据的长度,确定剩余数据,所述剩余数据是在一轮纠错中待纠错数据分段后的长度小于段长的数据;
获取至少一轮纠错中的剩余数据;
当获取的剩余数据的长度为预设段长时,对所述预设段长的剩余数据进行汉明纠错。
另一方面,本申请还提供一种量子密钥分发系统的纠错装置,所述装置包括:
轮数检测模块,用于检测待纠错数据的纠错轮数是否小于迭代阈值,所述迭代阈值用于指示单次纠错中纠错迭代轮数的最大值,所述待纠错数据为筛选后密钥SK或经过至少一轮纠错的SK;
信息获取模块,用于当所述待纠错数据的纠错轮数小于或等于所述迭代阈值时,获取所述待纠错数据的错误率;
数据交织模块,用于根据所述错误率对应的段长值,交织所述待纠错数据;
奇偶校验模块,用于检测所述待纠错数据在收发双端的奇偶校验值是否相同;
密钥输出模块,用于当所述待纠错数据在所述收发双端的奇偶校验值相同时,输出所述待纠错数据为纠错后密钥CK;
汉明纠错模块,用于当所述待纠错数据在所述收发双端的奇偶校验值不同时,计算所述待纠错数据在所述收发双端的汉明伴随式,所述汉明伴随式用于指示所述待纠错数据中误码的位置;
所述汉明纠错模块,还用于翻转纠正所述待纠错数据中的误码,翻转后的所述待纠错数据为下一轮纠错的待纠错数据,并且所述轮数检测模块再次执行所述检测待纠错数据的纠错轮数是否小于所述迭代阈值的步骤。
在本申请中,QKD系统中的收发双端在每轮纠错中不再采用固定的段长值来划分SK,而是根据实时获取的错误率来确定对应的段长值,从而保证在奇偶校验的效率和汉明纠错的效率之间取得平衡,进而提高系统的纠错性能。
附图说明
图1是本申请一个实施例提供的系统架构的示意图;
图2是本申请一个实施例提供的一种量子密钥分发系统的纠错方法的流程图;
图3是本申请一个实施例提供的量子密钥分发系统的纠错装置的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例描述的系统架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面首先结合图1对本申请实施例适用的系统架构和应用场景进行介绍。请参考图1,其示出了本申请实施例可能适用的一种系统架构的示意图。该系统架构包括在量子密钥分发 (Quantum Key Distribution,QKD)系统中的量子密钥接收机10和量子密钥发射机11。为方便表达,下文中将量子密钥接收机10和量子密钥发射机11分别表示为接收机和发射机,或者整体叫做收发双端。
请参考图2,其示出了本申请实施例提供的一种量子密钥分发系统的纠错方法的流程示意图。该方法可应用于图1所示的QKD系统中。
步骤201,检测待纠错数据的纠错轮数是否小于迭代阈值。
当QKD系统的收发双端获取SK后,两端的SK可能不一致,需要确定并纠正SK中的比特误码,保持收发双端的SK一致。收发双端纠错一段SK通常需要进行至少一轮的纠错。当纠错的轮数超过阈值时,QKD系统认定本次纠错失败。因此,在每轮纠错开始时,收发双端检测待纠错数据的纠错轮数是否小于迭代阈值。其中,待纠错数据可以是经过至少一轮纠错的SK,也可以是尚未纠错的SK。在纠错时,收发双端各自的待纠错数据的长度相同,但相同比特位上的值可能相同,也可能不同。其中,不同的值即待纠错数据中需要被纠正的值。迭代阈值用于指示单次纠错中纠错迭代轮数的最大值。例如,迭代阈值为8,则当收发双端开始进行第九轮的纠错时,QKD系统认定本次纠错失败,丢弃本次纠错的SK。迭代阈值可以是由技术人员根据实际经验预先设定,例如常用的纠错轮数为8,也可以根据收发双端的实际运行参数预先设定。若纠错轮数大于上述迭代阈值,则收发双端确定本次纠错失败;若纠错轮数小于或等于迭代阈值,则执行步骤202。基于对QKD系统密钥分发效率的要求,收发双端纠正一段SK的时间是有限的,不能无限轮地迭代纠错。因此,需要对一次纠错中的轮数设置阈值上限。当纠错轮数大于迭代阈值时,收发双端确认本次纠错失败。
可选地,迭代阈值根据收发双端的实际运行参数预先设定。收发双端获取网络延时值、 SK生成速率和纠错处理时长,并根据网络延时值、SK生成速率和纠错处理时长确定上述迭代阈值。网络延时值是收发双端进行一次数据往返传输所需的时长。收发双端可以根据实时的网络参数和传输距离计算获取网络延时值,也可以根据数据传输的历史时长来获取网络延时值。SK生成速率是指QKD系统中生成SK的速率。收发双端可以根据SK实时的生成信息来获取SK生成速率。纠错处理时长是收发双端单轮纠错中处理并计算数据所需的时长。在一轮纠错中,收发双端除了互相之间的通信外,还需要对待纠错数据进行处理计算,例如奇偶校验值的计算。收发双端根据前一轮纠错或多轮纠错中处理数据所用的时长,确定上述纠错处理时长。其中,网络延时值和纠错处理时长与单轮纠错的时长相关,网络延时值和纠错处理时长越大,则单轮纠错的时长越长,相应地,纠错轮数的阈值则越小;网络延时值和纠错处理时长越小,则单轮纠错的时长越短,相应地,纠错轮数的阈值则越大。SK生成速率与收发双端分配给一段SK纠错的时长相关,SK生成速率越高,单位时间内的待纠错的SK 越多,则收发双端分配给一段SK纠错的时长越短,相应地,纠错轮数的阈值则越小;SK生成速率越低,单位时间内的待纠错的SK越少,则收发双端分配给一段SK纠错的时长越长,相应地,纠错轮数的阈值则越大。收发双端根据网络延时值、SK生成速率和纠错处理时长确定迭代阈值时,网络延时值、SK生成速率和纠错处理时长的值越大,确定的迭代阈值越小;网络延时值、SK生成速率和纠错处理时长的值越小,确定的迭代阈值越大。收发双端确定的迭代阈值还与单次纠错的SK的长度有关,当网络延时值、SK生成速率和纠错处理时长不变时,单次纠错的SK的长度越长,迭代阈值越大。
可选地,收发双端根据如下关系式确定上述迭代阈值:
其中,C表示上述迭代阈值,L为待纠错数据的长度,N为SK生成速率,D为网络延时值,T为纠错处理时长。
可选地,在本申请实施例中,当收发双端检测到纠错轮数大于迭代阈值时,若QKD系统中的纠错失败的频率小于预设频率,则收发双端继续对待纠错数据开始新一轮的纠错,并获取偶发性阈值,将偶发性阈值作为本次纠错的轮数上限。其中,预设频率可以是技术人员根据实际经验预先设定的一个频率值,例如4.7%。偶发性阈值用于指示纠错迭代轮数的最大值,且大于上述迭代阈值。当纠错失败的频率小于预设频率时,收发双端可以使用偶发性阈值代替迭代阈值,以增加单次纠错的轮数,以确保纠错的成功率。若迭代阈值小于或等于偶发性阈值,则获取待纠错数据的错误率,继续进行纠错;若迭代阈值大于偶发性阈值,则收发双端确认本次纠错失败。
示例性地,在一次纠错中,迭代阈值为8,收发双端已经完成了8轮纠错,待纠错数据中有比特误码。收发双端开启新一轮的纠错,但是检测到纠错轮数已经大于迭代阈值8,收发双端确定本次纠错失败。但收发双端检测到本次失败后,QKD系统的纠错失败频率小于预设频率,则收发双端计算获取偶发性阈值以代替迭代阈值,并对待纠错数据开启第9轮纠错。
偶发性阈值是收发双端在一次纠错中用于替代上述迭代阈值的数值,因此,每次需要使用偶发性阈值时,收发双端会实时地计算获取该数值。
可选地,若收发双端检测到待纠错数据的纠错轮数大于迭代阈值,则获取纠错失败的频率。若纠错失败的频率不小于预设频率,则收发双端确定本次纠错失败。若纠错失败的频率小于预设频率,则根据如下关系式确定偶发性阈值:
其中,Cmax为所述偶发性阈值,M为收发两端的缓冲存储容量,L为待纠错数据的长度, N为SK生成速率,D为网络延时值,T为纠错处理时长,Cave为收发两端纠错的平均轮数。收发两端纠错的平均轮数是指收发双端之前成功纠错经历的轮数的平均值。缓冲存储容量是指收发两端用于存储尚未完成纠错的待纠错数据存储器件的存储容量。
步骤202,获取待纠错数据的错误率。
收发双端检测到待纠错数据的纠错轮数小于或等于上述迭代阈值,则获取待纠错数据的错误率。待纠错数据的错误率也称为比特错误率或者比特误码率。该错误率是指待纠错数据中的误码的占比。收发双端有多种不同的获取待纠错数据错误率的方式。QKD系统分发密钥的过程包括收发双端的同步校准过程和维稳过程。收发双端根据同步校准过程中的探测器参数,或者,维稳过程中的偏振反馈计算待纠错数据的错误率。收发双端还可以根据前一次纠错或多轮纠错的错误确定本轮纠错的待纠错数据的错误率。根据纠错次数和纠错轮数,收发双端采取不同的方式获取待纠错数据错误率。
可选地,若纠错轮数为0,且待纠错数据为收发双端首次纠错的SK,则确定错误率为预设错误率。其中,预设错误率是指收发双端根据探测器参数预先计算的理论错误率。探测器参数包括探测器计数值和探测器特性参数。收发双端首次纠错的SK是QKD系统第一次启动并第一次执行纠错的SK。若纠错轮数为0,且待纠错数据不是收发双端首次纠错的SK,则收发双端根据上一次纠错中获取的多轮错误率的平均值获取待纠错数据的错误率。若纠错轮数大于0,则根据如下关系式获取待纠错数据的错误率:
其中,e为所述待纠错数据的错误率,P为上一轮纠错中奇偶校验值不一致的概率,k为上一轮纠错的段长值。
步骤203,根据错误率对应的段长值,交织待纠错数据。
在获取到待纠错数据的错误率后,收发双端需要确定待纠错数据的段长值。对于待纠错数据,收发双端根据获取的错误率确定待纠错数据的段长。在QKD系统中,通常采用纠错效率因子来衡量收发双端的纠错性能。纠错效率因子是指在纠错过程中收发双端因交互所泄露的信息量的实际值与理想值的比值。由于收发双端在实际交互过程中泄露的信息量大于理想值,因此纠错效率因子大于1。对于QKD系统的纠错性能,泄露信息量的实际值越小,纠错效率因子越小,则纠错性能越高;泄露信息量的实际值越大,纠错效率因子越大,则纠错性能越低。需要说明的是,纠错效率因子是用于指示纠错性能高低的参数,并不是影响纠错性能的因素。
收发双端对待纠错数据的段长设定,会影响奇偶校验和汉明纠错的效率。待纠错数据的分段时的段长越长,则奇偶校验的效率越高。但是,若待纠错数据的段长过长使得分段后的数据中的误码超过1比特,则汉明纠错的效率会下降。奇偶校验的效率和汉明纠错的效率都会影响纠错性能,而收发双端对待纠错数据的段长设定会影响奇偶校验的效率和汉明纠错的效率,因此待纠错数据的段长直接影响纠错性能。收发双端需要在奇偶校验的效率和汉明纠错的效率之间取得平衡,从而保证纠错性能。纠错性能可以通过纠错效率因子来衡量,而纠错效率因子实际是由收发双端在实际交互过程中泄露的信息量决定。纠错性能越高,收发双端在实际交互过程中泄露的信息量越少;纠错性能越低,收发双端在实际交互过程中泄露的信息量越多。因此,为了确定不同段长下奇偶校验的效率和汉明纠错的效率对纠错性能的影响,收发双端通过确定在不同段长下奇偶校验和汉明纠错中所泄露的信息量,来确定不同段长下的纠错性能。收发双端选取对应泄露最少信息量的段长作为本轮纠错中的段长即最优段长。在不同纠错轮数的不同错误率下同一段长对应泄露的信息量不同。因此,收发双端在获取到本轮待纠错数据的错误率后,再确定该错误率对应的段长值。该段长值是在上述待纠错数据的错误率下进行奇偶校验和汉明纠错所泄露的信息量最小的段长。
需要说明的是,收发双端确定错误率对应的段长值时,是通过仿真计算获取不同段长下奇偶校验和汉明纠错中所泄露的信息量,并不是根据不同的段长对待纠错数据进行了实际的奇偶校验和汉明纠错。因此,收发双端可以在获取到待纠错数据的错误率后,实时地计算确定该错误率对应的段长值。此外,由于待纠错数据的错误率的取值范围和段长值的取值范围都是有限的,因此,收发双端还可以预先计算获取不同错误率对应的最优段长。在纠错过程中,获取到待纠错数据的错误率后,根据预先计算的结果,即可确定对应的段长值。
可选地,收发双端确定错误率对应的段长值的过程如下。在确定错误率对应的段长值的过程中,错误率的取值和段长值的都是变量。收发双端根据如下关系式确定各个取值在不同纠错轮数后待纠错数据的错误率:
其中,ei表示第i轮纠错时待纠错数据的错误率,ki表示第i轮纠错对应的段长。在确定各轮纠错后的错误率之后,收发双端可以确定各轮纠错中的信息泄露量。
在一种可能的实施方式中,收发双端获取到本轮纠错的错误率后,根据上述关系式可知,在上述关系式中,变量为本轮纠错对应的段长,因此,收发双端根据上述关系式和纠错轮数确定本轮纠错中的信息泄露量与本轮纠错对应的段长之间的关系。此时,不同的段长对应不同的信息泄露量,且收发双端可以确定每一段长值对应的信息泄露量。收发双端确定信息泄露量取最小值时ki的取值,该数值为待纠错数据对应的段长值,即本轮的最优段长。该获取最优段长的方适应于收发双端在获取错误率后实时地确定该错误率对应的段长值。
在另一种可能的实施方式中,预先计算获取不同错误率对应的最优段长。首先,收发双端确定首轮错误率的取值范围。该首轮错误率是指SK可能出现的错误率,即首轮纠错的错误率。示例性地,首轮错误率的取值范围为0到0.049。在确定首轮错误率的取值范围后,收发双端在取值范围内遍历首轮错误率,确定各个首轮错误率在各轮纠错中对应的最优段长。对于首轮错误率在取值范围内的各个取值,收发双端根据如下关系式确定各个取值在不同纠错轮数后待纠错数据的错误率:
根据该关系式和预设错误率,收发双端可以确定在不同纠错轮数后待纠错数据的错误率。与上一种实施方式相似,收发双端根据上述关系式确定各轮纠错中的信息泄露量。但是与上一种实施方式不同的是,由于是预先计算,因此各轮纠错中的错误率不确定,信息泄漏量是关于错误率和段长的函数。对于预先计算获取不同错误率对应的最优段长,收发双端根据一次纠错中多轮纠错中总的信息泄露量确定同错误率对应的最优段长。通常情况下,一次纠错的纠错轮数上限为8。因此,多轮纠错中总的信息泄露量如下关系式:
由于信息泄漏量是关于错误率和段长的函数,因此,在首轮错误率的取值范围已知的情况下,收发双端通过计算求解如下关系式的最优值确定各首轮错误率对应的各轮纠错的最优段长:
对于取值范围内的各个首轮错误率,收发双端通过对ki最优解的计算,确定各个首轮错误率对应的各组最优段长。每个首轮错误率的取值都对应着一个SK的错误率。在8轮纠错的情况下,每个首轮错误率都对应着包括自身的8轮纠错的错误率和8轮纠错的段长。8轮纠错的错误率各自对应一个段长。8轮纠错的段长即为一组最优段长。相应地,一组最优段长中的各个段长值都对应着一个错误率。收发双端获取各组最优段长中的各个段长值对应的错误率,统计相同段长对应的错误率范围,得到错误率与段长值的对应关系。该对应关系用于指示不同错误率对应的最优段长。
可选地,对于预先计算获取不同错误率对应的最优段长的实现方式,错误率与段长值的对应关系如下表-1所示
错误率 | 最优段长 |
[0.00,0.001) | 511 |
[0.001,0.0017) | 255 |
[0.0017,0.0036) | 127 |
[0.0036,0.0075) | 63 |
[0.0075,0.017) | 31 |
[0.017,0.033) | 15 |
[0.033,0.034) | 14 |
[0.034,0.037) | 13 |
[0.037,0.049) | 7 |
表-1
如上述表-1所示,收发双端确定待纠错数据的错误率为0.016,则收发双端确定对应的段长值为31。可选地,错误率对应的段长值的最大值为511。
收发双端在确定待纠错数据对应的段长值后,根据该段长值对各自的待纠错数据进行数据交织。收发双端首先根据确定的段长值将待纠错数据分为数段。例如,待纠错数据的长度的是105、段长值是7,则收发双端将待纠错数据分为35段子数据段。收发双端通过预先设定的伪随机数发生器,例如线性反馈移位寄存器(Linear Feedback Shift Register,LFSR),生成相同的一组随机数序列,并基于该随机数序列对数据进行一次数据重排,将数据位置进行随机置换,打乱原有数据位置,以避免集中出现错误导致无法纠错的情况。
可选地,收发双端通过两个独立的LFSR产生两个长度相同的随机数序列,将与两个随机数序列上地址对应的特进行交换以进行数据重排。由于两个独立的LFSR之间的本原多项式不同,这两个随机数序列之间的关联性小,避免了单一LFSR产生的随机数序列分布不均匀,进而提高了纠错效率。
步骤204,检测待纠错数据在收发双端的奇偶校验值是否相同。
收发双端在对待纠错数据完成数据交织后,接收机和发射机分别计算各自待纠错数据的奇偶校验值。待纠错数据的奇偶校验值是指根据段长值将待纠错数据分段后每段子数据段的奇偶校验值。收发双端中的一端计算每段子数据段的奇偶校验值,并将校验值发送给另一端。另一端采用同样的方式计算得到本端每段子数据段奇偶校验值。收发双端检测收发两端的奇偶校验值是否相同。若收发双端的奇偶校验值相同,则确定收发两端的待纠错数据一致,即密钥一致,相应地,收发双端输出待纠错数据为纠错后密钥CK,本次纠错结束;若收发双端的奇偶校验值不相同,则执行步骤205。
需要说明的是,本申请实施例中收发双端计算奇偶校验值的方式与现有的Winnow算法中计算奇偶校验值方式相同,本申请实施例不在进行赘述。
步骤205,计算待纠错数据在收发双端的汉明伴随式。
若收发双端的奇偶校验值不相同,则收发双端确定各自的待纠错数据存在不同的值。收发双端通过汉明纠错的方式纠正各自的待纠错数据中不同的值。收发双端确定待纠错数据中奇偶校验值不相同子数据段。对于奇偶校验值不相同的两个相应的子数据段,收发双端计算该相应的子数据段的汉明伴随式。汉明伴随式用于指示待纠错数据中误码的位置。
需要说明的是,本申请实施例中收发双端计算汉明伴随式的方式与现有的Winnow算法中计算汉明伴随式的方式相同,本申请实施例不在进行赘述。
步骤206,翻转纠正所述待纠错数据中的误码。
在得到上述汉明伴随式后,收发双端将汉明伴随式指示的位置处的比特翻转,纠正误码。在翻转比特时,仅由收发双端中的一端翻转。在翻转比特后,本轮纠错结束,但是本次纠错仍未完成。在收发两端,翻转比特后的待纠错数据仍然可能存在误码,需要进行下一轮纠错。翻转比特后的待纠错数据为下一轮纠错的待纠错数据。收发两端再次执行上述步骤201,开启新一轮纠错。
可选地,收发双端在确定段长值后,对待纠错数据进行分段、数据交织、奇偶校验和汉明纠错。若待纠错数据的长度不是段长值的整数倍,则分段后存在长度小于段长值的一段数据。在一轮纠错中待纠错数据分段后的长度小于段长的数据即为剩余数据。在确定段长值后,收发双端根据段长值和待纠错数据的长度,确定剩余数据。在本轮纠错中,收发双端不对剩余数据进行汉明纠错,缓存本轮的剩余数据。在多轮纠错中,收发双端获取至少一轮纠错中的剩余数据。当获取的剩余数据的长度为预设段长时,收发双端对预设段长的剩余数据进行汉明纠错。其中,预设长度可以由技术人员根据实际经验预先设定,也可以由收发双端根据如下关系式确定:
其中ks为预设段长值,k为本轮纠错的段长值,ls为剩余数据的长度。
在本申请实施例提供的方法中,QKD系统中的收发双端在每轮纠错中不再采用固定的段长值来划分SK,而是根据实时获取的错误率来确定对应的段长值,从而保证在奇偶校验的效率和汉明纠错的效率之间取得平衡,进而提高系统的纠错性能。
请参考图3,其示出了本申请实施例提供的一种量子密钥分发系统的纠错装置的示意图。该装置可用于实现上述方法实施例提供的方法。该装置包括轮数检测模块301、信息获取模块302、数据交织模块303、奇偶校验模块304、密钥输出模块305和汉明纠错模块306。
轮数检测模块301,用于检测待纠错数据的纠错轮数是否小于迭代阈值,所述迭代阈值用于指示单次纠错中纠错迭代轮数的最大值,所述待纠错数据为筛选后密钥SK或经过至少一轮纠错的SK;
信息获取模块302,用于当所述待纠错数据的纠错轮数小于或等于所述迭代阈值时,获取所述待纠错数据的错误率;
数据交织模块303,用于根据所述错误率对应的段长值,交织所述待纠错数据;
奇偶校验模块304,用于检测所述待纠错数据在收发双端的奇偶校验值是否相同;
密钥输出模块305,用于当所述待纠错数据在所述收发双端的奇偶校验值相同时,输出所述待纠错数据为纠错后密钥CK;
汉明纠错模块306,用于当所述待纠错数据在所述收发双端的奇偶校验值不同时,计算所述待纠错数据在所述收发双端的汉明伴随式,所述汉明伴随式用于指示所述待纠错数据中误码的位置;
所述汉明纠错模块306,还用于翻转纠正所述待纠错数据中的误码,翻转后的所述待纠错数据为下一轮纠错的待纠错数据,并且所述轮数检测模块301再次执行所述检测待纠错数据的纠错轮数是否小于所述迭代阈值的步骤。
可选地,所述信息获取模块302,用于:
若所述纠错轮数为0,且待纠错数据为所述收发双端首次纠错的SK,则确定所述错误率为预设错误率,所述预设错误率是根据探测器参数预先计算的理论错误率;
若所述纠错轮数为0,且待纠错数据不是所述收发双端首次纠错的SK,则根据所述收发双端上一次纠错中获取的多轮错误率的平均值获取所述待纠错数据的错误率;
若所述纠错轮数大于0,则根据如下关系式获取所述待纠错数据的错误率
其中,e为所述待纠错数据的错误率,P为上一轮纠错中奇偶校验值不一致的概率,k 为上一轮纠错的段长值。
可选地,所述装置还包括:阈值计算模块;
所述阈值计算模块,用于:
获取网络延时值、SK生成速率和纠错处理时长,所述网络延时值是所述收发双端进行一次数据传输所需的时长,所述纠错处理时长是所述收发双端单轮纠错中处理并计算数据所需的时长;根据所述网络延时值、所述SK生成速率和所述纠错处理时长,确定所述迭代阈值,所述迭代阈值随所述网络延时值、所述SK生成速率或所述纠错处理时长的增大而减小。
可选地,所述阈值计算模块,还用于:
若所述待纠错数据的纠错轮数大于所述迭代阈值,则获取纠错失败的频率;
若所述纠错失败的频率小于预设频率,则根据如下关系式确定偶发性阈值
其中,Cmax为所述偶发性阈值,M为所述收发两端的缓冲存储容量,L为待纠错数据的长度,N为所述SK生成速率,D为所述网络延时值,T为所述纠错处理时长,Cave为所述收发两端纠错的平均轮数;
所述信息获取模块302,还用于若所述迭代阈值小于或等于所述偶发性阈值,则获取所述待纠错数据的错误率。
可选地,所述数据交织模块303,还用于:
根据如下关系式,确定奇偶校验值不一致的概率
其中,Pi为第i轮纠错中奇偶校验值不一致的概率,ei表示第i轮纠错时待纠错数据的错误率,ki表示第i轮纠错对应的段长;
根据如下关系式,确定信息泄漏量与各个段长之间的对应关系
其中,mi表示第i轮纠错的信息泄漏量,l表示所述SK的长度;
根据所述信息泄漏量与各个段长之间的对应关系,确定所述信息泄漏量的最小值对应的段长为所述错误率对应的段长值。
可选地,
若所述错误率小于0.001,则对应的段长值为511;
若所述错误率大于或等于0.001,且小于0.0017,则对应的段长值为255;
若所述错误率大于或等于0.0017,且小于0.0036,则对应的段长值为127;
若所述错误率大于或等于0.0036,且小于0.0075,则对应的段长值为63;
若所述错误率大于或等于0.0075,且小于0.017,则对应的段长值为31;
若所述错误率大于或等于0.017,且小于0.033,则对应的段长值为15;
若所述错误率大于或等于0.033,且小于0.034,则对应的段长值为14;
若所述错误率大于或等于0.034,且小于0.037,则对应的段长值为13;
若所述错误率大于或等于0.037,且小于0.049,则对应的段长值为7。
可选地,所述汉明纠错模块306,还用于:
根据所述错误率对应的段长值和所述待纠错数据的长度,确定剩余数据,所述剩余数据是在一轮纠错中待纠错数据分段后的长度小于段长的数据;获取至少一轮纠错中的剩余数据;当获取的剩余数据的长度为预设段长时,对所述预设段长的剩余数据进行汉明纠错。
在本申请实施例提供的装置中,QKD系统中的收发双端在每轮纠错中不再采用固定的段长值来划分SK,而是根据实时获取的错误率来确定对应的段长值,从而保证在奇偶校验的效率和汉明纠错的效率之间取得平衡,进而提高系统的纠错性能。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (7)
1.一种量子密钥分发系统的纠错方法,其特征在于,所述方法包括:
检测待纠错数据的纠错轮数是否小于迭代阈值,所述迭代阈值用于指示单次纠错中纠错迭代轮数的最大值,所述待纠错数据为筛选后密钥SK或经过至少一轮纠错的SK;
若所述纠错轮数为0,且待纠错数据为收发双端首次纠错的SK,则确定所述待纠错数据的错误率为预设错误率,所述预设错误率是根据探测器参数预先计算的理论错误率;
若所述纠错轮数为0,且待纠错数据不是所述收发双端首次纠错的SK,则根据所述收发双端上一次纠错中获取的多轮错误率的平均值获取所述待纠错数据的错误率;
若所述纠错轮数大于0,且小于或等于所述迭代阈值,则根据如下关系式获取所述待纠错数据的错误率
其中,e为所述待纠错数据的错误率,P为上一轮纠错中奇偶校验值不一致的概率,k为上一轮纠错的段长值;
根据所述错误率对应的段长值,交织所述待纠错数据,所述段长值为在所述错误率下泄露最少信息量的段长值;
检测所述待纠错数据在收发双端的奇偶校验值是否相同;
若所述待纠错数据在所述收发双端的奇偶校验值相同,则输出所述待纠错数据为纠错后密钥CK;
若所述待纠错数据在所述收发双端的奇偶校验值不同,则计算所述待纠错数据在所述收发双端的汉明伴随式,所述汉明伴随式用于指示所述待纠错数据中误码的位置;
翻转纠正所述待纠错数据中的误码,翻转后的所述待纠错数据为下一轮纠错的待纠错数据,并再次执行所述检测待纠错数据的纠错轮数是否小于所述迭代阈值的步骤。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取网络延时值、SK生成速率和纠错处理时长,所述网络延时值是所述收发双端进行一次数据传输所需的时长,所述纠错处理时长是所述收发双端单轮纠错中处理并计算数据所需的时长;
根据所述网络延时值、所述SK生成速率和所述纠错处理时长,确定所述迭代阈值,所述迭代阈值随所述网络延时值、所述SK生成速率或所述纠错处理时长的增大而减小。
5.根据权利要求3所述的方法,其特征在于,
若所述错误率小于0.001,则对应的段长值为511;
若所述错误率大于或等于0.001,且小于0.0017,则对应的段长值为255;
若所述错误率大于或等于0.0017,且小于0.0036,则对应的段长值为127;
若所述错误率大于或等于0.0036,且小于0.0075,则对应的段长值为63;
若所述错误率大于或等于0.0075,且小于0.017,则对应的段长值为31;
若所述错误率大于或等于0.017,且小于0.033,则对应的段长值为15;
若所述错误率大于或等于0.033,且小于0.034,则对应的段长值为14;
若所述错误率大于或等于0.034,且小于0.037,则对应的段长值为13;
若所述错误率大于或等于0.037,且小于0.049,则对应的段长值为7。
6.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
根据所述错误率对应的段长值和所述待纠错数据的长度,确定剩余数据,所述剩余数据是在一轮纠错中待纠错数据分段后的长度小于段长的数据;
获取至少一轮纠错中的剩余数据;
当获取的剩余数据的长度为预设段长时,对所述预设段长的剩余数据进行汉明纠错。
7.一种量子密钥分发系统的纠错装置,其特征在于,所述装置包括:
轮数检测模块,用于检测待纠错数据的纠错轮数是否小于迭代阈值,所述迭代阈值用于指示单次纠错中纠错迭代轮数的最大值,所述待纠错数据为筛选后密钥SK或经过至少一轮纠错的SK;
信息获取模块,用于:
当所述纠错轮数为0,且待纠错数据为收发双端首次纠错的SK时,确定所述待纠错数据的错误率为预设错误率,所述预设错误率是根据探测器参数预先计算的理论错误率;
当所述纠错轮数为0,且待纠错数据不是所述收发双端首次纠错的SK时,根据所述收发双端上一次纠错中获取的多轮错误率的平均值获取所述待纠错数据的错误率;
当所述纠错轮数大于0,且小于或等于所述迭代阈值时,根据如下关系式获取所述待纠错数据的错误率
其中,e为所述待纠错数据的错误率,P为上一轮纠错中奇偶校验值不一致的概率,k为上一轮纠错的段长值;
数据交织模块,用于根据所述错误率对应的段长值,交织所述待纠错数据,所述段长值为在所述错误率下泄露最少信息量的段长值;
奇偶校验模块,用于检测所述待纠错数据在收发双端的奇偶校验值是否相同;
密钥输出模块,用于当所述待纠错数据在所述收发双端的奇偶校验值相同时,输出所述待纠错数据为纠错后密钥CK;
汉明纠错模块,用于当所述待纠错数据在所述收发双端的奇偶校验值不同时,计算所述待纠错数据在所述收发双端的汉明伴随式,所述汉明伴随式用于指示所述待纠错数据中误码的位置;
所述汉明纠错模块,还用于翻转纠正所述待纠错数据中的误码,翻转后的所述待纠错数据为下一轮纠错的待纠错数据,并且所述轮数检测模块再次执行所述检测待纠错数据的纠错轮数是否小于所述迭代阈值的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110634157.XA CN113259101B (zh) | 2021-06-08 | 2021-06-08 | 一种量子密钥分发系统的纠错方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110634157.XA CN113259101B (zh) | 2021-06-08 | 2021-06-08 | 一种量子密钥分发系统的纠错方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259101A CN113259101A (zh) | 2021-08-13 |
CN113259101B true CN113259101B (zh) | 2021-10-26 |
Family
ID=77186862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110634157.XA Active CN113259101B (zh) | 2021-06-08 | 2021-06-08 | 一种量子密钥分发系统的纠错方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259101B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027231A (zh) * | 2015-03-28 | 2016-10-12 | 北京大学 | 一种量子密钥分发后处理中对误码进行级联纠错的方法 |
CN106411511A (zh) * | 2016-11-18 | 2017-02-15 | 浙江神州量子网络科技有限公司 | 一种多方量子密钥分发系统的纠错方法 |
CN106452761A (zh) * | 2016-11-18 | 2017-02-22 | 浙江神州量子网络科技有限公司 | 一种多方量子秘密共享系统的纠错方法 |
CN109428711A (zh) * | 2017-08-23 | 2019-03-05 | 科大国盾量子技术股份有限公司 | 用于量子密钥分发系统的初始密钥纠错模块及方法 |
CN109936445A (zh) * | 2017-12-18 | 2019-06-25 | 科大国盾量子技术股份有限公司 | 一种密钥纠错方法及量子密钥分发系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027230B (zh) * | 2015-03-28 | 2019-04-09 | 北京大学 | 一种在量子密钥分发后的处理中进行误码纠错的方法 |
CN110351085B (zh) * | 2019-07-22 | 2021-04-06 | 华北电力大学 | 一种用于量子密钥分发后处理的方法及系统 |
-
2021
- 2021-06-08 CN CN202110634157.XA patent/CN113259101B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027231A (zh) * | 2015-03-28 | 2016-10-12 | 北京大学 | 一种量子密钥分发后处理中对误码进行级联纠错的方法 |
CN106411511A (zh) * | 2016-11-18 | 2017-02-15 | 浙江神州量子网络科技有限公司 | 一种多方量子密钥分发系统的纠错方法 |
CN106452761A (zh) * | 2016-11-18 | 2017-02-22 | 浙江神州量子网络科技有限公司 | 一种多方量子秘密共享系统的纠错方法 |
CN109428711A (zh) * | 2017-08-23 | 2019-03-05 | 科大国盾量子技术股份有限公司 | 用于量子密钥分发系统的初始密钥纠错模块及方法 |
CN109936445A (zh) * | 2017-12-18 | 2019-06-25 | 科大国盾量子技术股份有限公司 | 一种密钥纠错方法及量子密钥分发系统 |
Non-Patent Citations (1)
Title |
---|
Application of Hamming Code Based Error Correction Algorithm in Quantum Key Distribution System;Xiaodong Zhong 等;《2020 IEEE 3rd International Conference on Electronics Technology》;20200512;正文第858、859页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113259101A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1223649A (en) | Method for improving message reception from multiple sources | |
US7577899B2 (en) | Cyclic redundancy check (CRC) based error correction method and device | |
CN1083189C (zh) | 用于译码器最优化的方法和装置 | |
JP2009543420A (ja) | 反復符号数的指標を用いた通信回線制御 | |
US7853857B2 (en) | Multi-layer cyclic redundancy check code in wireless communication system | |
US6085349A (en) | Method for selecting cyclic redundancy check polynomials for linear coded systems | |
US9543981B2 (en) | CRC-based forward error correction circuitry and method | |
RU2367007C2 (ru) | Способ передачи и комплексной защиты информации | |
CN101459431A (zh) | 一种信道纠错码bch码和rs码的译码方法 | |
US20040107398A1 (en) | Error detection in received data transmissions | |
CN109428672B (zh) | 信息编译码方法和装置、信息处理系统 | |
KR101049517B1 (ko) | 오류율 판단 방법 및 검사장치 | |
US8010878B2 (en) | Data transmission method, data transmission system, transmitting method, receiving method, transmitting apparatus and receiving apparatus | |
CN113259101B (zh) | 一种量子密钥分发系统的纠错方法及装置 | |
CN112994838A (zh) | 信道编码及译码方法和装置、信息传输系统 | |
US8151168B2 (en) | Method, apparatus and system for error detection and selective retransmission | |
KR102242346B1 (ko) | 데이터 프레임에서 복수의 길이에 대한 테스트를 통한 에러 정정 | |
JP3217716B2 (ja) | 無線パケット通信装置 | |
EP1271828A1 (en) | Apparatus and method for generating a checkbits for error detection using a pseudo-random sequence | |
RU2295196C1 (ru) | Способ контроля качества канала связи | |
US7003708B1 (en) | Method and apparatus for generating bit errors with a poisson error distribution | |
RU2319199C2 (ru) | Универсальный способ передачи информации с контролируемыми параметрами | |
US8073825B2 (en) | Data correction apparatus, data correction method and tangible machine-readable medium thereof | |
JP6527089B2 (ja) | 伝送品質評価装置、伝送品質評価方法、およびプログラム | |
US9967058B2 (en) | Method for reconciling bit strings over a communications network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20220729 Granted publication date: 20211026 |
|
PP01 | Preservation of patent right |