CN111464300A - 一种适用于连续变量量子密钥分发的高速后处理方法 - Google Patents
一种适用于连续变量量子密钥分发的高速后处理方法 Download PDFInfo
- Publication number
- CN111464300A CN111464300A CN202010290504.7A CN202010290504A CN111464300A CN 111464300 A CN111464300 A CN 111464300A CN 202010290504 A CN202010290504 A CN 202010290504A CN 111464300 A CN111464300 A CN 111464300A
- Authority
- CN
- China
- Prior art keywords
- matrix
- continuous variable
- algorithm
- elements
- decoding
- 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.)
- Granted
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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- 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/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明属于连续变量量子密钥分发领域,具体涉及一种适用于连续变量量子密钥分发的高速后处理方法,能够实时地提取安全密钥,有效地提高了量子密钥分发系统能够获得的实际密钥率。该方法包括(1)两种高速样条协调结构,(2)高速LDPC编码器和译码器,(3)用于私密放大中的不规则菱形块算法。本发明利用FPGA实现并行处理和流水线结构来提高处理速度。在样条协调中,设计了两种结构,分别为复用和非复用LDPC译码器结构,根据FPGA硬件资源的数量进行选择。实现LDPC译码器时,校验矩阵添加一个约束条件,使得在FPGA中执行时能够实现流水线结构。在私密放大中,设计了一种不规则菱形块算法,节约了存储资源的消耗,且能够自适应不同的数据长度。
Description
技术领域
本发明属于连续变量量子密钥分发领域,具体涉及一种适用于连续变量量 子密钥分发的高速后处理方法。
背景技术
连续变量量子密钥分发可以使合法通信双方共享一组信息理论上无条件安 全的密钥,其安全性建立在量子理论的基本原理上。密钥分发过程中,信息被 编码在量子态的正交分量上,因此探测技术简单,能够与现有的标准光纤组件 很好的兼容,部署成本较低,在短距离时潜在的密钥率更高。但是,系统必须 工作在低信噪比条件下才能保证安全性,导致通信双方获得的裸码中错误率较 高,后处理过程复杂。
后处理过程包括数据协调和私密放大两个子过程。数据协调是指合法通信 双方利用纠错码技术来纠正双方裸码中存在的错误,从而使双方获得一组完全 一致的密钥。连续变量量子密钥分发系统中,裸码的错误率高,使得数据协调 的难度大,需要使用的纠错码的码长很长,计算量非常大。目前,已经有多种 协调方案被提出,在传输距离较短时,样条协调方案可以获得较高的密钥率。 主要思想是通信双方将连续变量序列进行量化,转化为多个二进制序列,然后 通过经典信道共享一些信息,利用二进制纠错码进行纠错。私密放大则是通信 双方使用相同的散列函数集从协调后完全一致的密钥中提取出安全密钥,去除 可能泄露给窃听者的信息。由于有限码长效应的影响,私密放大过程中需要处 理的数据量也非常大。
文献“Jpn.J.Appl.Phys.56,044401(2017)”报道了一种高效样条协调算法, 但是没有涉及硬件加速实现。文献“IEEE Photon.J.,9(6),7600308(2017)”介绍 了使用菱形块算法实现高速私密放大,但是该算法要求菱形块的行数与列数必 须相同,且并行度为2的整数次幂,当数据量特别大时,能够选择的并行度较 少,会造成不必要的硬件资源消耗。专利“CN109660339A”采用了基于OpenCL 的CPU+FPGA异构计算处理模式来实现样条协调,由于采用异构模式,限制了硬 件集成度和吞吐量;专利“CN108900300A”仅描述了后处理过程的通用基本流 程,没有涉及具体的硬件实现算法。随着连续变量量子密钥分发技术的快速发展, 系统的信号重复速率越来越高,这就要求数据后处理单元必须能够快速处理大 量的裸码,提取出安全的密钥,满足系统实时运转的需求。
综上所述,有必要发明一种高速连续变量量子密钥分发数据后处理的方法, 实现密钥分发系统密钥的实时提取。
发明内容
针对现有技术的不足,本发明提供了一种适用于连续变量量子密钥分发的 高速后处理方法,该方法利用FPGA并行执行样条协调中的LDPC编译码和私 密放大中的散列函数,从而实现密钥的实时提取。
为了达到上述目的,本发明采用了下列技术方案:
一种适用于连续变量量子密钥分发的高速后处理方法,包括样条协调和私 密放大,具体实现步骤如下:
步骤1,连续变量量化:根据系统的参数计算最佳的量化级数和区间间隔, 接收者将连续变量量化为二进制序列;
步骤2,LDPC编码:接收者使用基于FPGA实现的LDPC码编码器对部分 量化后的二进制序列进行LDPC编码,多个编码过程并行执行;
步骤3,LDPC译码:发送者使用基于FPGA实现的LDPC码译码器进行译 码,使用裸码X恢复出和接收者完全一致的二进制序列;
步骤4,私密放大:通信双方在数据协调成功后,基于FPGA硬件利用散列 函数从协调成功后的二进制序列提取出安全密钥,消除数据协调期间可能泄露 的信息对最终安全密钥的影响,并保证该密钥的随机性满足加密要求。
进一步,所述步骤1连续变量量化:根据系统的参数计算最佳的量化级数 和区间间隔,接收者将连续变量量化为二进制序列的具体方法为:首先确定量 化方案和量化级数l,将实数轴划分为2l个区间,然后对分布于区间内的每一个 连续变量都用l个二进制数来表示。通过该步骤将连续变量转换为二进制序列, 为之后的二进制编码和译码做准备。量化的效率可以表示为:
式中,I表示互信息量,Q表示量化函数,量化效率越高表示量化过程中信息的 损失越少。量化区间的选取应该使通信双方的互信息量I(X;Q(Y))达到最大。 量化方案主要有两种,分别为等间隔量化和最佳间隔量化,这两种方案量化效 率非常接近,但是等间隔量化操作简单,所以这里选择使用等间隔量化。
进一步,所述步骤2和步骤3中LDPC码的校验矩阵构造方法为:
首先,根据互信息的链规则计算每一级的最佳码率,公式如下:
式中I表示互信息量,SNR表示信噪比;一般来说,前三级的码率较低,包含的 密钥信息极少,量化后将被公开;后两级的码率较高,需要进行编译码,所以 需要构造两个校验矩阵;
然后,使用随机构造或PEG算法构造出一个基矩阵,且基矩阵的一个约束 条件为基矩阵中两个相邻非零元素的间隔必须足够大;
最后,使用准循环扩展方法将校验矩阵扩大,实现并行处理;所述准循环 扩展方法为用q×q的循环置换矩阵代替基矩阵中的每一个元素,q为准循环扩展 因子,由于使用相对较少的基矩阵信息和循环置换矩阵的偏移量就可以确定整 个校验矩阵每个非零元素的位置,因此在FPGA中采用这种结构有助于实现低 复杂度的存储器寻址和路由,可以在不显著牺牲纠错性能的情况下实现并行计 算。
进一步,所述步骤2中LDPC编码是将校验矩阵与量化所得到的二进制序 列做矩阵乘法,获得校验子,其过程表示为:
S=HLT (2)
式中的S表示校验子,仅需要对量化的后两级进行编码,生成两个校验子。基 于FPGA实现时,此式可以转化为寻找出校验矩阵每一行中非零元素所对应码 字中元素的异或运算。
进一步,所述步骤3中译码的过程采用边信息分层和积译码算法,采用并 行处理和流水线结构,灵活调整并行度,并行度与准循环扩展因子相同;数据 存储时例化多个存储器,并使用路由结构对数据的顺序进行调整,具体过程如 下:
首先,消息的初始化:考虑到该步骤中的计算量较小,但是涉及到一些高 级运算,所以调用浮点数IP核来实现,按照所述方法,计算的精度高,而且能 够满足吞吐量的需求;
其次,节点消息处理过程:该步骤需要进行迭代计算,数据量大,复杂度 高。为了提高数据吞吐量,必须充分利用FPGA可进行并行运算的特性,但是 这也会带来另一个问题:并行度越高,计算过程中产生的数据读写就会很多, 对数据缓存空间提出了很高的要求。为了解决这个问题,本发明采用了一些方 式来解决:使用定点数进行计算;采用分层消息传递机制,该机制只需要存储 校验节点传递给变量节点的消息,而不需要存储变量节点传递到校验节点的消 息能够将所需存储空间减少到一半;为了尽可能的保持计算准确度,Y(x)函数 采用分段二阶函数曲线拟合来实现。
然后,译码判决:发送者需要计算校验子,具体实现方式为读取LLR数据 的符号位并取反与校验矩阵做乘积运算;与接收者的校验子进行比对,如果完 全一致则判定译码成功,否则译码失败,返回到节点消息处理过程;比对过程 中,为了减少不必要的计算,在计算过程进行的同时进行对比,一旦发现不一 致,则立即终止判决过程;判断是否达到设定的最大迭代次数,如果达到则本 次译码失败。
最后,生成密钥:当判决成功时执行生成密钥过程,该过程仅需要对迭代 后LLR数据的符号位做取反运算,并存入密钥存储器中。
进一步,所述Y(x)函数为:
进一步,所述步骤3中译码器的吞吐量用下式估算:
式中f表示FPGA的时钟频率,Nb表示基矩阵中元素的个数,Nr表示基矩阵中 每一行的节点数平均值,Niter表示译码算法中迭代次数的平均值。
进一步,所述步骤3中译码器应用于样条协调的两种不同结构分别为复用 和非复用结构,非复用结构有两个相互独立的译码器,在连续运行的系统中, 两个译码器同时进行工作,从而实现两级译码的流水线结构,这种结构提高了 数据吞吐量,但是所消耗的硬件资源多。如果硬件资源有限,可以采用复用结 构,复用结构则是用同一个译码器依次完成多级译码。
再进一步,所述步骤4中散列函数为Toeplitz矩阵;FPGA硬件的执行使用 不规则菱形块算法;
所述不规则菱形块算法为将Toeplitz矩阵中所有元素划分为特定大小的菱 形块来逐块并行执行,灵活地选择不规则菱形块的大小;所述不规则菱形块算 法自适应不同的输入输出数据长度;所述不规则菱形块算法不需要在FPGA硬 件中存储Toeplitz矩阵元素。
更进一步,所述散列函数为Toeplitz矩阵、FPGA硬件的执行使用不规则菱 形块算法具体为:为了使不规则菱形块覆盖Toeplitz矩阵中的所有元素,必须插 入一些元素,将一个大小为Lo×Li的矩阵重构成一个M×N的矩阵,其中其中pc表示菱形块每列的元素数量,pr表示菱形块每行的元素数量,这两个值可以是任意正整数;添加元素时,遵循 对角线规则,即从左上到右下的每个对角线下降是恒定的,对角线规则无法覆 盖的元素用零填充,重构后的矩阵进一步划分为m×n矩阵,该矩阵中每一个元 素均为一个菱形块,其中
FPGA硬件的执行使用不规则菱形块算法时,按照计算时所需要使用的 Toeplitz矩阵元素来进行分组,逐组进行处理,基于此规则,执行下一组时丢弃 当前的pr个元素,这意味着不规则菱形块算法不需要存储Toeplitz矩阵的元素, 该算法的吞吐量表示为:
与现有技术相比本发明具有以下优点:
(1)、连续变量量子密钥分发系统所需的数据后处理过程均可以集成到一 块FPGA芯片中,有利于降低功耗,提高集成度,能够实现系统的小型化;
(2)、利用FPGA实现数据后处理算法时,结合了并行处理技术和流水线 结构,从而实现了数据的高速处理;
(3)、所述的步骤2、3、4均可以灵活地调整算法的并行度,实现硬件资 源与计算速度的权衡;
(4)、所述的LDPC译码器,译码性能良好,能够实现超长码长的译码。
附图说明
图1为本发明的流程图;
图2为本发明所述的LDPC译码器的结构图;
图3为本发明所述的LDPC译码器节点消息的数据读写及处理示意图;
图4为本发明中样条协调的两种实现方案;
图5为本发明所述的不规则菱形块算法示意图;
符号说明:
L1,L2,L3—连续变量量化获得的前三级的比特序列、L4′,L5′—译码器经过 计算后恢复的后两级比特序列、S4,S5—编码后获得的后两级的校验子。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描述。
实施例1
一种适用于连续变量量子密钥分发的高速后处理方法,包括样条协调和私 密放大,具体实现步骤如下:
步骤1,连续变量量化:根据系统的参数计算最佳的量化级数和区间间隔, 接收者将连续变量量化为二进制序列,具体为:首先确定量化方案,本发明采 用等间隔量化,选择的量化间隔应使量化效率尽可能高;其次,确定量化级数 l=5,也就是说将每一个连续变量都转化为5个比特;再次,将实数轴划分为2l=32 个等间隔的区间;最后,对分布于区间内的每一个连续变量都用5个二进制数 来表示。
步骤2,LDPC编码:接收者使用基于FPGA实现的LDPC码编码器对部分 量化后的二进制序列进行编码,多个编码过程并行执行;
所述LDPC码的校验矩阵构造方法为:首先,根据互信息的链规则计算每 一级的最佳码率,公式如下:
式中,I表示互信息量,SNR表示信噪比;一般来说,前三级的码率较低,包含 的密钥信息极少,量化后将被公开;后两级的码率较高,需要进行编译码,所 以需要构造两个校验矩阵;
然后,使用随机构造或PEG算法构造出一个基矩阵,且基矩阵的一个约束 条件为基矩阵中两个相邻非零元素的间隔必须足够大;
最后,使用准循环扩展方法将校验矩阵扩大,实现并行处理;所述准循环 扩展方法为用q×q的循环置换矩阵代替基矩阵中的每一个元素,q为准循环扩展 因子,由于使用相对较少的基矩阵信息和循环置换矩阵的偏移量就可以确定整 个校验矩阵每个非零元素的位置,因此在FPGA中采用这种结构有助于实现低 复杂度的存储器寻址和路由,可以在不显著牺牲纠错性能的情况下实现并行计 算。
所述LDPC编码是将校验矩阵与量化所得到的二进制序列做矩阵乘法,获 得校验子,其过程表示为:
S=HLT (4)
式中的S表示校验子,仅需要对量化的后两级进行编码,分别使用两级的校验 矩阵与对应的比特串相互作用,即可生成两个校验子。基于FPGA实现时,此 式可以转化为寻找出校验矩阵每一行中非零元素所对应码字中元素的异或运 算。
步骤3,LDPC译码:发送者使用基于FPGA实现的LDPC码译码器进行译 码,使用裸码X恢复出和接收者完全一致的二进制序列;
所述译码的过程采用边信息分层和积译码算法,采用并行处理和流水线结 构,灵活调整并行度,并行度与准循环扩展因子相同;数据存储时例化多个存 储器,并使用路由结构对数据的顺序进行调整,具体过程如下:
首先,消息的初始化:考虑到该步骤中的计算量较小,但是涉及到一些高 级运算,所以调用浮点数IP核来实现,按照所述方法,计算的精度高,而且能 够满足吞吐量的需求;
其次,节点消息处理过程:该步骤需要进行迭代计算,数据量大,复杂度 高。为了提高数据吞吐量,必须充分利用FPGA可进行并行运算的特性,但是 这也会带来另一个问题:并行度越高,计算过程中产生的数据读写就会很多, 对数据缓存空间提出了很高的要求。为了解决这个问题,本发明采用了一些方 式来解决:使用定点数进行计算;采用分层消息传递机制,该机制只需要存储 校验节点传递给变量节点的消息,而不需要存储变量节点传递到校验节点的消 息能够将所需存储空间减少到一半;为了尽可能的保持计算准确度,Y(x)函数 采用分段二阶函数曲线拟合来实现。
然后,译码判决:发送者需要计算校验子,具体实现方式为读取LLR数据 的符号位并取反与校验矩阵做乘积运算;与接收者的校验子进行比对,如果完 全一致则判定译码成功,否则译码失败,返回到节点消息处理过程;比对过程 中,为了减少不必要的计算,在计算过程进行的同时进行对比,一旦发现不一 致,则立即终止判决过程;判断是否达到设定的最大迭代次数,如果达到则本 次译码失败。
最后,生成密钥:当判决成功时执行生成密钥过程,该过程仅需要对迭代 后LLR数据的符号位做取反运算,并存入密钥存储器中。除了所述的四个步骤 之外,还需要控制单元,负责为所有存储器生成读写地址,根据读取的校验矩 阵元素计算出移位量和内存地址等。
所述译码过程的原理为:
首先,消息的初始化
式中LLR表示初始时变量节点的对数似然比。
其次,节点消息处理
Mji=LLR(qi)-Eji (8)
LLR(qi)=Mji+Eji (10)
公式(3)所表示的函数为偶函数,值域为(0,+∞),在第一象限中为单调递减函数,而在第二象限中为单调递增函数。
所述译码器的吞吐量用下式估算:
式中f表示FPGA的时钟频率,Nb表示基矩阵中元素的个数,Nr表示基矩 阵中每一行的节点数平均值,Niter表示译码算法中迭代次数的平均值。
所述译码器应用于样条协调的两种不同结构分别为复用和非复用结构,非 复用结构有两个相互独立的译码器,在连续运行的系统中,两个译码器同时进 行工作;复用结构则是用同一个译码器依次完成多级译码。
步骤4,私密放大:通信双方在数据协调成功后,基于在FPGA硬件中执行 的不规则菱形块算法,利用Toeplitz矩阵从协调成功后的二进制序列提取出安全 密钥。
私密放大过程是使用散列函数将一个长的比特串映射为一个较短的比特 串。Toeplitz矩阵就是一种典型的通用类散列函数,该矩阵是一个常对角矩阵, 可以使用其第一行和第一列的元素来构造出整个矩阵。在量子密钥分发系统中, Toeplitz矩阵的元素由真随机数发生器产生。根据Toeplitz矩阵的特性,本专利 设计了一种适合在FPGA中执行的不规则菱形块算法。
所述不规则菱形块算法为将Toeplitz矩阵中所有元素划分为特定大小的菱 形块来逐块并行执行,灵活地选择不规则菱形块的大小;所述不规则菱形块算 法自适应不同的输入输出数据长度;所述不规则菱形块算法不需要在FPGA硬 件中存储Toeplitz矩阵元素。
不规则菱形块覆盖Toeplitz矩阵中的所有元素,必须插入元素,将一个大小 为Lo×Li的矩阵重构成一个M×N的矩阵,其中 其中pc表示菱形块每列的元素数量,pr表示菱形块每行的 元素数量,这两个值可以是任意正整数;添加元素时,遵循对角线规则,即从 左上到右下的每个对角线下降是恒定的,对角线规则无法覆盖的元素用零填充, 重构后的矩阵进一步划分为m×n矩阵,该矩阵中每一个元素均为一个菱形块, 其中
FPGA硬件的执行使用不规则菱形块算法时,按照计算时所需要使用的 Toeplitz矩阵元素来进行分组,逐组进行处理,基于此规则,执行下一组时丢弃 当前的pr个元素,该算法的吞吐量表示为:
按照以上所述的方法,在Xilinx公司生产的Virtex-7系列芯片上可以实现当 信噪比为1.0时,协调效率为93.02%,吞吐量为14.83M symbols/s;信噪比为 3.0时,协调效率为93.06%,吞吐量为100.90M symbols/s。应当理解,使用上 述的方法,当芯片的硬件资源更多时,可以实现更好的性能。
如图1所示为连续变量量子密钥分发后处理过程的流程,经过量子态的分 发、传输和测量后,通信双方获得一组相互关联的连续变量X和Y,所述的连 续变量量化是指将连续变量Y转化为比特串。
如图2所示为基于FPGA实现所述的边信息分层和积译码算法的逻辑结构 示意图,共需要五类存储器和四个计算模块。采用部分并行架构,并行度与校 验矩阵的准循环扩展因子一致。为了进一步提高吞吐量,还采用了流水线结构, 使用最少的时钟周期来完成计算过程。
如图3所示为数据读写结构,由地址产生模块来产生一个地址同时控制并 列的多个片上BRAM存储器,读取到数据之后进行重新排列之后进入节点处理 单元中进行消息处理,完成计算后的数据再恢复原先的顺序,写入片上BRAM 中的原地址空间。片上BRAM中的数据是按照顺序从第一个地址空间依次读取 的,计算过程有一定的时钟延迟,计算完成后再重新写入原地址空间。这种读 写方式可以使用同一个片上BRAM来存储处理前后的消息,且不会有读写冲突, 从而实现流水线结构。
如图4(a)所示为非复用结构,第4级和第5级有两个相互独立的译码器。在 连续运行的系统中,这两个译码器同时进行工作,从而实现两级译码的流水线 结构。这种结构提高了数据吞吐量,但是所消耗的硬件资源多。如果硬件资源 有限,可以采用复用结构,如图4(b)所示,复用译码器表示用同一个译码器依次 来完成两级译码,牺牲一定的吞吐量以换取在有限的硬件资源中顺利实现样条 协调方案。初始化模块相对于迭代译码过程,计算量少,复杂度度低,占用的 硬件资源少,能够容易地实现高吞吐量,所以在复用结构中,两级的初始化模 块未进行复用。密钥管理模块用于存储纠错后的密钥并负责管理其输入和输出。
图5所示为不规则菱形块算法示意图,图中黑点表示Toeplitz矩阵的元素将Toeplitz矩阵的元素划分为菱形块,用pc表示菱形块每列的元素数量,pr表示菱 形块每行的元素数量,这两个值可以是任意正整数。将Toeplitz矩阵元素划分为 菱形块时有三种方案。第一种方案,菱形块的行列数相同,即pc=pr;第二种 方案,菱形块的行元素数量多于列元素数量,即pc<pr;第三种方案,菱形块 的列元素数量多于行元素数量,即pc>pr。在确定这两个参数时,应该在满足 吞吐量的前提下,使计算量最少。
本说明书在叙述时为了清楚起见,按照具体实施方式加以描述,而且给出 了部分具体的参数,所描述的实施例仅仅是本发明的一部分实施例,而不是全 部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性 劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (10)
1.一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,包括样条协调和私密放大,具体实现步骤如下:
步骤1,连续变量量化:根据系统的参数计算最佳的量化级数和区间间隔,接收者将连续变量量化为二进制序列;
步骤2,LDPC编码:接收者使用基于FPGA实现的LDPC码编码器对部分量化后的二进制序列进行LDPC编码,多个编码过程并行执行;
步骤3,LDPC译码:发送者使用基于FPGA实现的LDPC码译码器进行译码,使用裸码X恢复出和接收者完全一致的二进制序列;
步骤4,私密放大:通信双方在数据协调成功后,基于FPGA硬件利用散列函数从协调成功后的二进制序列提取出安全密钥。
2.根据权利要求1所述的一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,所述步骤1连续变量量化:根据系统的参数计算最佳的量化级数和区间间隔,接收者将连续变量量化为二进制序列的具体方法为:首先确定量化方案和量化级数l,将实数轴划分为2l个区间,然后对分布于区间内的每一个连续变量都用l个二进制数来表示。
4.根据权利要求1所述的一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,所述步骤2中LDPC编码是将校验矩阵与量化所得到的二进制序列做矩阵乘法,获得校验子,其过程表示为:
S=HLT (2)
式中的S表示校验子。
5.根据权利要求1所述的一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,所述步骤3中译码的过程采用边信息分层和积译码算法,采用并行处理和流水线结构,灵活调整并行度,并行度与准循环扩展因子相同;数据存储时例化多个存储器,并使用路由结构对数据的顺序进行调整,具体过程如下:
首先,消息的初始化:调用浮点数IP核来实现;
其次,节点消息处理过程:该步骤使用定点数进行计算;采用分层消息传递机制,该机制只需要存储校验节点传递给变量节点的消息,而不需要存储变量节点传递到校验节点的消息;Y(x)函数采用分段二阶函数曲线拟合来实现;
然后,译码判决:发送者需要计算校验子,具体实现方式为读取LLR数据的符号位并取反与校验矩阵做乘积运算;与接收者的校验子进行比对,如果完全一致则判定译码成功,否则译码失败,返回到节点消息处理过程;比对过程中,在计算过程进行的同时进行对比,一旦发现不一致,则立即终止判决过程;判断是否达到设定的最大迭代次数,如果达到则本次译码失败;
最后,生成密钥:当判决成功时执行生成密钥过程,该过程仅需要对迭代后LLR数据的符号位做取反运算,并存入密钥存储器中。
8.根据权利要求1所述的一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,所述步骤3中译码器应用于样条协调的两种不同结构分别为复用和非复用结构,非复用结构有两个相互独立的译码器,在连续运行的系统中,两个译码器同时进行工作;复用结构则是用同一个译码器依次完成多级译码。
9.根据权利要求1所述的一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,所述步骤4中散列函数为Toeplitz矩阵;FPGA硬件的执行使用不规则菱形块算法;
所述不规则菱形块算法为将Toeplitz矩阵中所有元素划分为特定大小的菱形块来逐块并行执行,灵活地选择不规则菱形块的大小;所述不规则菱形块算法自适应不同的输入输出数据长度;所述不规则菱形块算法不需要在FPGA硬件中存储Toeplitz矩阵元素。
10.根据权利要求8所述的一种适用于连续变量量子密钥分发的高速后处理方法,其特征在于,所述散列函数为Toeplitz矩阵、FPGA硬件的执行使用不规则菱形块算法具体为:不规则菱形块覆盖Toeplitz矩阵中的所有元素,必须插入元素,将一个大小为Lo×Li的矩阵重构成一个M×N的矩阵,其中 其中pc表示菱形块每列的元素数量,pr表示菱形块每行的元素数量,这两个值是任意正整数;添加元素时,遵循对角线规则,即从左上到右下的每个对角线下降是恒定的,对角线规则无法覆盖的元素用零填充,重构后的矩阵进一步划分为m×n矩阵,该矩阵中每一个元素均为一个菱形块,其中
FPGA硬件的执行使用不规则菱形块算法时,按照计算时所需要使用的Toeplitz矩阵元素来进行分组,逐组进行处理,基于此规则,执行下一组时丢弃当前的pr个元素,该算法的吞吐量表示为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290504.7A CN111464300B (zh) | 2020-04-14 | 2020-04-14 | 一种适用于连续变量量子密钥分发的高速后处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290504.7A CN111464300B (zh) | 2020-04-14 | 2020-04-14 | 一种适用于连续变量量子密钥分发的高速后处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464300A true CN111464300A (zh) | 2020-07-28 |
CN111464300B CN111464300B (zh) | 2021-07-02 |
Family
ID=71682539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290504.7A Active CN111464300B (zh) | 2020-04-14 | 2020-04-14 | 一种适用于连续变量量子密钥分发的高速后处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464300B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112332976A (zh) * | 2020-11-04 | 2021-02-05 | 中国电子科技集团公司第三十研究所 | 一种基于调制方差的安全码率全局优化方法与装置 |
CN112769558A (zh) * | 2020-12-31 | 2021-05-07 | 华南师范大学 | 一种码率自适应的qkd后处理方法及系统 |
CN115425988A (zh) * | 2022-07-29 | 2022-12-02 | 北京融为科技有限公司 | 一种高速ldpc全模式列变换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318872A1 (en) * | 2006-12-29 | 2010-12-16 | Zte Corporation | Decoding Method for LDPC Code Based on BP Arithmetic |
CN108306733A (zh) * | 2018-05-04 | 2018-07-20 | 北京邮电大学 | 一种用于离散调制连续变量量子密钥分发中的后处理方法 |
CN108712232A (zh) * | 2018-05-04 | 2018-10-26 | 北京邮电大学 | 一种用于连续变量量子密钥分发系统中的多码字并行译码方法 |
CN109660339A (zh) * | 2018-11-20 | 2019-04-19 | 山西大学 | 连续变量量子密钥分发数据协调fpga异构加速方法 |
-
2020
- 2020-04-14 CN CN202010290504.7A patent/CN111464300B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318872A1 (en) * | 2006-12-29 | 2010-12-16 | Zte Corporation | Decoding Method for LDPC Code Based on BP Arithmetic |
CN108306733A (zh) * | 2018-05-04 | 2018-07-20 | 北京邮电大学 | 一种用于离散调制连续变量量子密钥分发中的后处理方法 |
CN108712232A (zh) * | 2018-05-04 | 2018-10-26 | 北京邮电大学 | 一种用于连续变量量子密钥分发系统中的多码字并行译码方法 |
CN109660339A (zh) * | 2018-11-20 | 2019-04-19 | 山西大学 | 连续变量量子密钥分发数据协调fpga异构加速方法 |
Non-Patent Citations (2)
Title |
---|
SHEN-SHEN YANG等: "FPGA-Based Implementation of Size-Adaptive Privacy Amplification in Quantum Key Distribution", 《 IEEE PHOTONICS JOURNAL》 * |
ZENGLIANG BAI等: "High-efficiency reconciliation for continuous variable quantum key distribution", 《JAPANESE JOURNAL OF APPLIED PHYSICS》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112332976A (zh) * | 2020-11-04 | 2021-02-05 | 中国电子科技集团公司第三十研究所 | 一种基于调制方差的安全码率全局优化方法与装置 |
CN112332976B (zh) * | 2020-11-04 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | 一种基于调制方差的安全码率全局优化方法与装置 |
CN112769558A (zh) * | 2020-12-31 | 2021-05-07 | 华南师范大学 | 一种码率自适应的qkd后处理方法及系统 |
CN115425988A (zh) * | 2022-07-29 | 2022-12-02 | 北京融为科技有限公司 | 一种高速ldpc全模式列变换方法 |
CN115425988B (zh) * | 2022-07-29 | 2024-02-09 | 北京融为科技有限公司 | 一种高速ldpc全模式列变换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111464300B (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464300B (zh) | 一种适用于连续变量量子密钥分发的高速后处理方法 | |
RU2571587C2 (ru) | Способ и устройство кодирования и декодирования данных в скрученном полярном коде | |
CN100581064C (zh) | 低密度奇偶校验码解码装置和方法 | |
Xiong et al. | Symbol-decision successive cancellation list decoder for polar codes | |
US20050149840A1 (en) | Apparatus for encoding and decoding of low-density parity-check codes, and method thereof | |
CN105515590B (zh) | 一种有效低复杂度串行抵消列表极化码译码方法 | |
JPH06224777A (ja) | 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置、ビットストリーム生成方法及び遷移マシン生成方法 | |
CN102075198A (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
CN112398484B (zh) | 一种编码方法及相关设备 | |
CN108462496B (zh) | 一种基于随机比特流更新的ldpc译码器 | |
CN108055044A (zh) | 一种基于ldpc码和极化码的级联系统 | |
US8468438B2 (en) | Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code | |
Cyriac et al. | Polar code encoder and decoder implementation | |
Giard et al. | A multi-Gbps unrolled hardware list decoder for a systematic polar code | |
Abbe | Polarization and randomness extraction | |
Zhang et al. | High‐Throughput Fast‐SSC Polar Decoder for Wireless Communications | |
CN107888334B (zh) | 基于lt码与ldpc码级联的随机编、译码器及方法 | |
CN113422611B (zh) | 一种qc-ldpc编码器的高度并行编码方法 | |
Urman et al. | Efficient maximum likelihood decoding of polar codes over the binary erasure channel | |
CN110730003B (zh) | 一种ldpc编码方法及ldpc编码器 | |
Xia et al. | High throughput polar decoding using two-staged adaptive successive cancellation list decoding | |
CN115348010B (zh) | 一种适用于连续变量量子密钥分发残余误码消除的方法与系统 | |
CN117914446B (zh) | 针对代数码的解码方法及系统 | |
CN111181570A (zh) | 基于fpga的编译码方法和装置 | |
CN115378582B (zh) | 一种连续变量量子密钥分发残余误码消除的方法与系统 |
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 |