CN109660339B - 连续变量量子密钥分发数据协调fpga异构加速方法 - Google Patents

连续变量量子密钥分发数据协调fpga异构加速方法 Download PDF

Info

Publication number
CN109660339B
CN109660339B CN201811380426.9A CN201811380426A CN109660339B CN 109660339 B CN109660339 B CN 109660339B CN 201811380426 A CN201811380426 A CN 201811380426A CN 109660339 B CN109660339 B CN 109660339B
Authority
CN
China
Prior art keywords
variable
decoding
information
data
kernel
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
Application number
CN201811380426.9A
Other languages
English (en)
Other versions
CN109660339A (zh
Inventor
郭大波
冯强
穆健穆
贺超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanxi University
Original Assignee
Shanxi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanxi University filed Critical Shanxi University
Priority to CN201811380426.9A priority Critical patent/CN109660339B/zh
Publication of CN109660339A publication Critical patent/CN109660339A/zh
Application granted granted Critical
Publication of CN109660339B publication Critical patent/CN109660339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种连续变量量子密钥分发数据协调FPGA异构加速方法,解决CV‑QKD系统中数据协调的SEC(slice error correction,样条错误纠正)协议的并行加速问题,SEC协议采用多级译码方式,各级分别进行LDPC译码,译码算法采用对数域译码。LDPC码的校验矩阵为随机稀疏矩阵,译码需要多次BP(Belief Propagation)信息迭代方能校正错码。应用于CV‑QKD系统数据协调中的LDPC码的校验矩阵规模大,规模达到20万´20万,使得存贮困难、译码速度非常缓慢,系统时延长,影响实用性。本方案采用基于OpenCL的CPU+FPGA异构计算的处理模式,对LDPC译码过程进行并行化处理,提出了一种静态十字双向循环链表存贮庞大LDPC码的校验矩阵的方案,从而提高了整个数据协调方案的速率。

Description

连续变量量子密钥分发数据协调FPGA异构加速方法
技术领域
本发明属于数据处理技术领域,具体涉及一种连续变量量子密钥分发数据协调FPGA异构加速方法。
背景技术
连续变量量子密钥分发(Continuous-variable Quantum Key Distribution,CV-QKD)是近年来量子保密通信系统新兴的研究方向之一。它是基于量子态的点对点保密通信技术,具有保密性强、光源的抗噪声能力比较强且稳定、可实现性强等特点。
CV-QKD系统的基本流程如图1所示,其中CV-QKD的步骤包括:
1)Alice发送端使用连续变量光场产生服从高斯分布的随机数xA和pA,通过量子通信信道发送到接收端Bob。
2)Bob接收端收到Alice端发送的包含量子态的消息序列后,随机抽取
Figure BDA0001871732350000011
对其进行平衡零拍探测。多次重复步骤1,2,收发双方得到一组相关的裸码数据。
3)公开部分裸码数据,通过这部分数据计算出信道参数(T,ε)、互信息量IAB和窃听者能够窃听的最大密钥量χBE,通过以上信息计算得到安全密钥速率K=βIABBE。将可能泄露的数据通过私密放大全部清除,从而得到安全密钥。
4)接下来,双方利用反向协调程序,使得双方能够从裸码中得到一组完全一致的数据。
5)通过私密放大过程将所有可能泄露的信息数据(包括Eve窃听的信息和反向协调过程中泄露的信息)全部清除,最后得到一组完全安全的最终密钥。
6)通信双方随机从最终得到的安全密钥中抽取一部分数据公开对比,以保证反向数据协调的成功。
步骤4)数据协调是CV-QKD系统中不可或缺的一部分,它的本质是利用信道编码对密钥信息进行误码纠错。方案将通信信道分为经典信道和量子通信信道,通信双方在量子通信信道中数据传输完成后,再通过数据协调协议来对通信收发双方之间不一致的序列进行纠错,最后形成一致的二进制序列。
目前,CV-QKD数据协调系统的技术瓶颈有:
一、码长较短时,由于高斯信道的最小纠错信噪比较高,在SEC数据协调是是7.5dB,致使数据协调的效率较低,从而使得CV-QKD系统的通信距离无法提升。
二、研究表明,为了延长CV-QKD系统的通信距离,数据协调的LDPC码长要达到200000以上,但这种超长码导致数据协调过程中的计算量大,译码速度低,译码时延长,降低了CV-QKD系统的实用性。
发明内容
本发明主为解决现有连续变量量子密钥分发数据协调速度慢,时延长的不足,提供了一种基于FPGA的异构加速方法,其中包括以下步骤:
在通信发送端构建静态十字双向循环链表,并用静态十字双向循环链表的数据结构来存贮超大稀疏校验矩阵H;
通信发送端使用连续变量光场产生服从高斯分布的随机数xA和pA,通过量子通信信道发送到接收端,通过零拍探测器探测后接收序列Y;
通信接收端对连续变量Y进行16电平的非均匀量化得到Y′;,然后将量化值Y′映射为4级二进制码字L1,L2,L3,L4,其中,L1、L2完全公开,不参与译码过程,L3、L4序列由优化方法构建的各自的校验矩阵H3和H4,通过公式Sj=Lj×Hj计算出各自的校验子S3、S4,将L1、L2、S3、S4通过公开信道传输到发送端;
通信发送端根据xA和pA、校验子S3、S4以及L1、L2进行Slepain-Wolf式译码,最后得到译码结果
Figure BDA0001871732350000031
Figure BDA0001871732350000032
实现数据协调。
步骤1中,构建静态十字双向循环链表数据结构来存贮超大稀疏校验矩阵H还包括步骤:
在host主机程序中创建静态十字双向循环链表数据结构;
创建行头指针与列头指针数组,分别逐个指向各行及各列第一个非零元素的位置信息;
对创建的静态十字双向循环链表按照OpenCL编程规范进行规范化;
host端通过OpenCL语言定义的接口clEnqueueWriteBuffer()与clReadBuffer()与FPGA并行设备进行数据的交换,使得程序可以进行FPGA并行计算。
步骤4中的Slepain-Wolf式译码还包括如下子步骤:
初始化;令O(i)表示yi量化后的值Yi经编码后形成的变量节点集,O(i)的边信息O(i,j)由变量xi提供,设迭代的当前变量节点为ij,与之相邻的校验节点集为N(ij),设K为校验节点集N(ij)中的一个校验节点,与之相邻的校验节点集为M(k)
Figure BDA0001871732350000033
Figure BDA0001871732350000034
式(1)中,a表示使
Figure BDA0001871732350000035
量化为1的区间符号,量化区间为[ta,ta-1],a′表示使
Figure BDA0001871732350000036
量化为0的区间符号,量化区间为[ta',ta'-1];
取级间迭代次数为1,LDPC码BP算法的迭代次数为Pmax=100;对LDPC码采用BP算法进行迭代译码。
其中,对LDPC码采用BP算法进行迭代译码的步骤包括:
a、初始p和t为1,以p=p+1迭代,校验节点K传递给消息变量节点ij的外信息为:
Figure BDA0001871732350000041
b、消息变量节点ij到校验节点K的外消息为:
Figure BDA0001871732350000042
c、跳转至步骤a,直到p>Pmax
d、硬判决解码,对所有变量节点计算:
Figure BDA0001871732350000043
然后用以下公式进行判别:
Figure BDA0001871732350000044
同时满足:
Figure BDA0001871732350000045
e、
Figure BDA0001871732350000046
级间迭代,令j′=4,引入同一时间所有级的硬信息:
Figure BDA0001871732350000047
令t=t+1,若计算结果t>tmax,则迭代完成,退出程序,否则跳转到步骤a继续执行。
区别于现有技术,本发明的连续变量量子密钥分发数据协调FPGA异构加速方法解决CV-QKD系统中数据协调的SEC协议的并行加速问题,SEC协议采用多级译码方式,各级分别进行LDPC译码,译码算法采用对数域译码。LDPC码的校验矩阵为随机稀疏矩阵,矩阵规模大,规模达到20万×20万,需要多次BP迭代译码方能校正错码,使得译码速度非常缓慢,系统时延长,影响实用性。本方案采用基于OpenCL的CPU+FPGA异构计算的处理模式,对LDPC译码过程进行并行化处理,从而提高整个数据协调方案的速率。
附图说明
图1是现有技术中CV-QKD系统的基本流程示意图。
图2是本发明提供的一种连续变量量子密钥分发数据协调FPGA异构加速方法的逻辑示意图。
图3是本发明提供的一种为连续变量量子密钥分发数据协调存储H矩阵的一般十字双向循环链表数据结构图。
图4是本发明提供的一种为连续变量量子密钥分发数据协调FPGA异构加速的静态十字双向循环链表数据结构图。
图5是本发明提供的SEC协议中连续变量16电平非均匀量化和分层函数S1…4(y)
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
参阅图2,图2是本发明提供的一种连续变量量子密钥分发数据协调FPGA异构加速方法的逻辑示意图,该方法的步骤包括:
在通信发送端构建静态十字双向循环链表,并用静态十字双向循环链表的数据结构来存贮超大稀疏校验矩阵H;
通信发送端使用连续变量光场产生服从高斯分布的随机数xA和pA,通过量子通信信道发送到接收端,通过零拍探测器探测后接收序列Y;
通信接收端对连续变量Y进行16电平的非均匀量化得到Y′;,然后将量化值Y′映射为4级二进制码字L1,L2,L3,L4,其中,L1、L2完全公开,不参与译码过程,L3、L4序列由优化方法构建的各自的校验矩阵H3和H4,通过公式Sj=Lj×Hj计算出各自的校验子S3、S4,将L1、L2、S3、S4通过公开信道传输到发送端;
通信发送端根据xA和pA、校验子S3、S4以及L1、L2进行Slepain-Wolf式译码,最后得到译码结果
Figure BDA0001871732350000061
Figure BDA0001871732350000062
实现数据协调。
优选的,构建静态十字双向循环链表,并用静态十字双向循环链表的数据结构来存贮超大稀疏校验矩阵H的步骤中,还包括步骤:
在host主机程序中创建静态十字双向循环链表数据结构;存储H矩阵的静态十字双向循环链表数据结构图如图3所示。
创建行头指针与列头指针数组,分别逐个指向各行及各列第一个非零元素的位置信息;
对创建的静态十字双向循环链表按照OpenCL编程规范进行规范化;
host端通过OpenCL语言定义的接口clEnqueueWriteBuffer()与clReadBuffer()与FPGA并行设备进行数据的交换,使得程序可以进行FPGA并行计算。针对OpenCL优化后H矩阵的数据结构中的内部成员变量关系如图4所示。
优选的,译码的步骤包括:
初始化;令O(i)表示yi量化后的值Yi经编码后形成的变量节点集,O(i)的边信息O(i,j)由变量xi提供,设迭代的当前变量节点为ij,与之相邻的校验节点集为N(ij),设K为校验节点集N(ij)中的一个校验节点,与之相邻的校验节点集为M(k)
Figure BDA0001871732350000063
Figure BDA0001871732350000064
式(1)中,a表示使
Figure BDA0001871732350000065
量化为1的区间符号,量化区间为[ta,ta-1],a′表示使
Figure BDA0001871732350000066
量化为0的区间符号,量化区间为[ta',ta'-1];
取级间迭代次数为1,LDPC码BP算法的迭代次数为Pmax=100;对LDPC码采用BP算法进行迭代译码。
优选的,对LDPC码采用BP算法进行迭代译码的步骤包括:
a、初始p为1以p=p+1迭代,校验节点K传递给消息变量节点ij的外信息为:
Figure BDA0001871732350000071
b、消息变量节点ij到校验节点K的外消息为:
Figure BDA0001871732350000072
c、跳转至步骤a,直到p>Pmax
d、硬判决解码,对所有变量节点计算:
Figure BDA0001871732350000073
然后用以下公式进行判别:
Figure BDA0001871732350000074
同时满足:
Figure BDA0001871732350000075
e、
Figure BDA0001871732350000076
级间迭代,令j′=4,引入同一时间所有级的硬信息:
Figure BDA0001871732350000077
令p=0,t=t+1,若计算结果t>tmax,则迭代完成,退出程序,否则跳转到步骤a继续执行。
异构加速是指用开放计算语言OpenCL(Open Computing Language)架构,通过并行计算方式在GPU、DSP、FPGA以及多核CPU等多种异构加速处理器上高速处理数据,本发明硬件采用高性能FPGA加速板。FPGA可以以超低的功耗实现高性能,可针对特定的电路进行硬件设计,它通常有几百到几百万个逻辑单元,每个逻辑单元实现一个逻辑功能。AOCL(Altera SKD for OpenCL)的出现使得在FPGA实现OpenCL架构更加方便快捷。本发明直接应用领域为连续变量量子密钥分发数据协调,目标为加速处理高达20万个光脉冲的信息纠错,以下称之为数据协调。大规模的FPGA异构加速方案主要有两个技术瓶颈:方案中Slepian-Wolf(SW)译码算法的计算量大,迭代次数多,导致译码速度有限;存储大规模稀疏校验矩阵的静态十字双向循环链表数据结构不符合OpenCL编程架构的规范,导致方案无法使用AOCL进行FPGA异构编程。本发明提供了连续变量量子密钥分发数据协调的FPGA异构加速计算方案,将SW译码算法部分进行并行化,提高数据协调的计算速度达6倍以上。
本发明解决CV-QKD系统中数据协调的SEC协议的并行加速问题,SEC协议采用多级译码方式,各级分别进行LDPC译码,译码算法采用对数域译码。LDPC码的校验矩阵为随机稀疏矩阵,矩阵规模大,规模达到20万,需要多次BP迭代译码方能校正错码,使得译码速度非常缓慢,系统时延长,影响实用性。本方案采用基于OpenCL的CPU+FPGA异构计算的处理模式,对LDPC译码过程进行并行化处理,从而提高整个数据协调方案的速率。
如果采用普通顺序存贮方式存放规模达到20万的校验矩阵H,将需要160T左右的内存,一般的计算机是无法胜任的。考虑到校验矩阵H的稀疏性,可以采用三元组表法和动态十字链表法存贮之。三元组表法适合在矩阵H中的非零元位置和个数固定不变的情况使用;动态十字循环链表适合稀疏矩阵中非零元的位置或个数经常变动时使用,校验矩阵H属于第二种情况。但是动态十字循环链表在内存中存储地址是不连续的,不符合OpenCL编程规范。本发明提出用静态十字双向循环链表数据结构来存储超大校验矩阵H,对该链表结构进行较大改进,使之在保持只存储非零元素的同时符合OpenCL编程规范,可以应用在CPU+FPGA并行计算中。
如图4,本发明使用静态十字双向循环链表的数据结构来存贮超大稀疏校验矩阵H,并对该数据结构进行改进,使之适用于OpenCL编程规范。,它反映了符合OpenCL规范的H矩阵数据结构、以及内部成员变量之间的关系
1)在host主机程序中创建静态十字双向循环链表数据结构:申请大小为矩阵非零元个数的定长数组,数组中每一个元素为如下结构体变量:结构体成员变量包括非零元素节点的对数似然比值、相邻结点的位置信息以及该节点的位置信息。其中up变量指向该非零元素所在列中的上一个非零元素的行位置索引信息;down变量指向该非零元素所在列中的下一个非零元素的行位置索引信息;left变量表示该非零元素所在行中的左边非零元素的列位置索引信息;right变量表示该非零元素所在行中的右边非零元素的列位置索引信息,并且上下首尾之间、左右首尾之间构成循环,其结构如图3及图4所示;
2)创建行头指针与列头指针数组,分别逐个指向各行及各列第一个非零元素的位置信息;
3)OpenCL编程规范规定了,在内核与宿主机之间进行数据交换时,内核参数不能有二级或者多级指针,为了解决该规范与原存储结构之间的冲突,本方案设计了如图5所示的数据结构,该结构将原结构体中指针变量通过定长数组的形式来代替,并将原结构体中各指针变量之间的地址间联系与变量值间联系用代码来具体化,数据结构从二元的十字双向循环形式变换为一元的定长数组形式,但是通过辅助数组的作用,该结构又能实现与原数据结构相同的功能,通过这种方式由上可知,图4中的数据结构是对原结构体进行去指针操作而得到的,使之适用于因而符合OpenCL编程规范,从而可以进行FPGA异构计算。
4)host端通过OpenCL语言定义的接口clEnqueueWriteBuffer()与clReadBuffer()与FPGA并行设备进行数据的交换,使得程序可以进行FPGA并行计算。
译码方案中,各级码流的解码结果之间互相有引导作用。在本发明中我们在使用外信息的基础上也使用了这种级间流动的信息,即在L4的级间迭代的同时把L3硬判决结果代入进来,因为使用的是L3的硬判决结果,所以也称之为硬信息间迭代。Alice端通过MSD方案结合边信息X对校验子S3、S4进行译码,最后得到
Figure BDA0001871732350000101
Figure BDA0001871732350000102
实现数据协调的全过程。令O(i)表示yi量化后的值Yi经编码后形成的变量节点集。边信息O(i,j)由变量xi提供,设迭代的当前变量节点为ij,与之相邻的校验节点集为N(ij),设K为校验节点集N(ij)中的一个校验节点,与之相邻的校验节点集为M(k)
整个协调过程的重点与耗时的步骤是SW算法部分。算法需要大量的迭代计算,限制了整个协调方案的译码速度,因此此部分在FPGA开发板上并行执行。
对GF(2)域上的(n,k)线性分组码,在译码的迭代计算过程中,信息在变量节点和校验节点之间传递,因此SW算法在并行计算中设计包含了初始化信息内核、处理校验节点消息的内核、处理变量节点消息的内核等三个内核函数。在内核在局部内存中工作时其运算速度会比在全局内存中快很多,因而在每个内核工作的时候,将内核各参数的数据从全局内存拷贝到局部内存,内核工作结束后再将数据拷贝回全局内存交予宿主机端进行下一步的工作。每个内核数据拷贝之后的工作都会与本地内存有一些交叉,所以三个内核用全局内存同步来分割。初始化内核与变量节点消息处理内核的作用主要是对校验矩阵的列进行处理。选择为这两个内核分配N个工作项,并为每个工作组分配1024个工作项(N即LDPC码码长),而为校验节点消息处理内核共分配M个工作项,同时也为每个工作组分配1024个工作项,经实验证明这样设置工作项与工作组可以最大限度利用好FPGA的并行资源。
具体的,在信噪比4.9dB、码长为2×105的条件下实现可靠协调,协调效率可达91.71%,在FPGA开发板为DE5-Net、Inter(R)Xeon(R)CPU、内存为32GB的硬件平台上仿真的译码速率可达42.41kbit/s,相对于传统CPU平台实现,译码速度提高了接近6倍。执行译码速度的对比如表1所示。
Figure BDA0001871732350000111
表1在FPGA和CPU执行译码速度的对比
区别于现有技术,本发明的连续变量量子密钥分发数据协调FPGA异构加速方法解决CV-QKD系统中数据协调的SEC协议的并行加速问题,SEC协议采用多级译码方式,各级分别进行LDPC译码,译码算法采用对数域译码。LDPC码的校验矩阵为随机稀疏矩阵,矩阵规模大,规模达到20万,需要多次BP迭代译码方能校正错码,使得译码速度非常缓慢,系统时延长,影响实用性。本方案采用基于OpenCL的CPU+FPGA异构计算的处理模式,对LDPC译码过程进行并行化处理,从而提高整个数据协调方案的速率。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (4)

1.一种连续变量量子密钥分发数据协调FPGA异构加速方法,其特征在于,包括以下步骤:
在通信发送端构建静态十字双向循环链表,并用静态十字双向循环链表的数据结构来存贮超大稀疏校验矩阵H;
其中,在host主机程序中创建静态十字双向循环链表数据结构:申请大小为矩阵非零元个数的定长数组,数组中每一个元素为如下结构体变量:结构体成员变量包括非零元素节点的对数似然比值、相邻结点的位置信息以及该节点的位置信息;其中up变量指向该非零元素所在列中的上一个非零元素的行位置索引信息;down变量指向该非零元素所在列中的下一个非零元素的行位置索引信息;left变量表示该非零元素所在行中的左边非零元素的列位置索引信息;right变量表示该非零元素所在行中的右边非零元素的列位置索引信息,并且上下首尾之间、左右首尾之间构成循环;
创建行头指针与列头指针数组,分别逐个指向各行及各列第一个非零元素的位置信息;
在内核与宿主机之间进行数据交换时,内核参数不能有二级或者多级指针,将指针变量通过定长数组的形式来代替,并各指针变量之间的地址间联系与变量值间联系用代码来具体化,数据结构从二元的十字双向循环形式变换为一元的定长数组形式;
host端通过OpenCL语言定义的接口clEnqueueWriteBuffer()与clReadBuffer()与FPGA并行设备进行数据的交换,使得程序可以进行FPGA并行计算;
Alice端通过MSD方案结合边信息X对校验子S3、S4进行译码,最后得到
Figure FDA0003225053420000011
Figure FDA0003225053420000012
实现数据协调的全过程;令O(i)表示yi量化后的值Yi经编码后形成的变量节点集;边信息O(i,j)由变量xi提供,设迭代的当前变量节点为ij,与之相邻的校验节点集为N(ij),设K为校验节点集N(ij)中的一个校验节点,与之相邻的校验节点集为M(k)
对GF(2)域上的(n,k)线性分组码,在译码的迭代计算过程中,信息在变量节点和校验节点之间传递,SW算法在并行计算中设计包含了初始化信息内核、处理校验节点消息的内核、处理变量节点消息的内核等三个内核函数;将内核各参数的数据从全局内存拷贝到局部内存,内核工作结束后再将数据拷贝回全局内存交予宿主机端进行下一步的工作;三个内核用全局内存同步来分割;初始化内核与变量节点消息处理内核的作用是对校验矩阵的列进行处理;选择为两个内核分配N个工作项,并为每个工作组分配1024个工作项,其中N即LDPC码码长,而为校验节点消息处理内核共分配M个工作项,同时也为每个工作组分配1024个工作项,经实验证明这样设置工作项与工作组可以最大限度利用好FPGA的并行资源;
通信发送端发送量子相干态光脉冲X,通过量子通信信道发送到接收端,通过零拍探测器探测后接收序列Y;
通信接收端对连续变量Y进行16电平的非均匀量化得到Y′,然后将量化值Y′映射为4级二进制码字L1,L2,L3,L4,其中,L1、L2完全公开,不参与译码过程,L3、L4序列由优化方法构建的各自的校验矩阵H3和H4,通过公式Sj=Lj×Hj计算出各自的校验子S3、S4,将L1、L2、S3、S4通过公开信道传输到发送端;
通信发送端根据xA和pA、校验子S3、S4以及L1、L2进行Slepain-Wolf式译码,最后得到译码结果
Figure FDA0003225053420000021
Figure FDA0003225053420000022
实现数据协调。
2.根据权利要求1所述的连续变量量子密钥分发数据协调FPGA异构加速方法,其特征在于,构建静态十字双向循环链表,并用静态十字双向循环链表的数据结构来存贮超大稀疏校验矩阵H的步骤中,还包括步骤:
在host主机程序中创建静态十字双向循环链表数据结构;
创建行头指针与列头指针数组,分别逐个指向各行及各列第一个非零元素的位置信息;
对创建的静态十字双向循环链表按照OpenCL编程规范进行规范化;
host端通过OpenCL语言定义的接口clEnqueueWriteBuffer()与clReadBuffer()与FPGA并行设备进行数据的交换,使得程序可以进行FPGA并行计算。
3.根据权利要求1所述的连续变量量子密钥分发数据协调FPGA异构加速方法,其特征在于,译码的步骤包括:
初始化;令O(i)表示yi量化后的值Yi经编码后形成的变量节点集,O(i)的边信息O(i,j)由变量xi提供,设迭代的当前变量节点为ij,与之相邻的校验节点集为N(ij),设K为校验节点集N(ij)中的一个校验节点,与之相邻的校验节点集为M(k)
Figure FDA0003225053420000031
Figure FDA0003225053420000032
式(1)中,a表示使
Figure FDA0003225053420000033
量化为1的区间符号,量化区间为[ta,ta-1],a′表示使
Figure FDA0003225053420000034
量化为0的区间符号,量化区间为[ta',ta'-1];
取级间迭代次数为1,LDPC码BP算法的迭代次数为Pmax=100;对LDPC码采用BP算法进行迭代译码。
4.根据权利要求3所述的连续变量量子密钥分发数据协调FPGA异构加速方法,其特征在于,对LDPC码采用BP算法进行迭代译码的步骤包括:
a、初始p和t都为1,以p=p+1迭代,校验节点K传递给消息变量节点ij的外信息为:
Figure FDA0003225053420000035
b、消息变量节点ij到校验节点K的外消息为:
Figure FDA0003225053420000036
c、跳转至步骤a,直到p>Pmax
d、硬判决解码,对所有变量节点计算:
Figure FDA0003225053420000041
然后用以下公式进行判别:
Figure FDA0003225053420000042
同时满足:
Figure FDA0003225053420000043
e、
Figure FDA0003225053420000044
级间迭代,令j′=4,引入同一时间所有级的硬信息:
Figure FDA0003225053420000045
令t=t+1,若计算结果t>tmax,则迭代完成,退出程序,否则跳转到步骤a继续执行。
CN201811380426.9A 2018-11-20 2018-11-20 连续变量量子密钥分发数据协调fpga异构加速方法 Active CN109660339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811380426.9A CN109660339B (zh) 2018-11-20 2018-11-20 连续变量量子密钥分发数据协调fpga异构加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811380426.9A CN109660339B (zh) 2018-11-20 2018-11-20 连续变量量子密钥分发数据协调fpga异构加速方法

Publications (2)

Publication Number Publication Date
CN109660339A CN109660339A (zh) 2019-04-19
CN109660339B true CN109660339B (zh) 2021-12-31

Family

ID=66111384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811380426.9A Active CN109660339B (zh) 2018-11-20 2018-11-20 连续变量量子密钥分发数据协调fpga异构加速方法

Country Status (1)

Country Link
CN (1) CN109660339B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995362B (zh) * 2019-12-06 2021-06-08 西安电子科技大学 使用软核处理器的mdi-qkd的编码系统及方法
CN111464300B (zh) * 2020-04-14 2021-07-02 山西大学 一种适用于连续变量量子密钥分发的高速后处理方法
CN111786681B (zh) * 2020-06-08 2022-07-05 中国电子科技集团公司第三十研究所 一种适用于cv-qkd系统数据后处理的级联译码方法
CN111988136B (zh) * 2020-07-03 2022-03-18 中国电子科技集团公司第三十研究所 一种用于连续变量量子密钥分发的多精度译码装置与方法
CN112886970B (zh) * 2021-01-11 2022-07-01 哈尔滨工业大学 一种用于连续变量量子密钥分发的协商方法
CN115348010B (zh) * 2022-07-20 2024-04-26 中国电子科技集团公司第三十研究所 一种适用于连续变量量子密钥分发残余误码消除的方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030161A3 (en) * 2008-09-10 2010-06-24 Mimos Berhad Method of integrating quantum key distribution with internet key exchange protocol
CN103905185A (zh) * 2014-04-14 2014-07-02 山西大学 一种适用于连续变量量子密钥分发的脉冲发生器
CN106992856A (zh) * 2017-03-29 2017-07-28 山西大学 基于gpu的大规模连续变量量子密钥分发的数据协调方法
CN108173651A (zh) * 2018-02-11 2018-06-15 众算(上海)数据科技有限公司 一种自有后量子密钥分配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107086907B (zh) * 2016-02-15 2020-07-07 阿里巴巴集团控股有限公司 用于量子密钥分发过程的密钥同步、封装传递方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030161A3 (en) * 2008-09-10 2010-06-24 Mimos Berhad Method of integrating quantum key distribution with internet key exchange protocol
CN102210121A (zh) * 2008-09-10 2011-10-05 马来西亚微电子系统有限公司 将量子密钥分配与互联网密钥交换协议相结合的方法
CN103905185A (zh) * 2014-04-14 2014-07-02 山西大学 一种适用于连续变量量子密钥分发的脉冲发生器
CN106992856A (zh) * 2017-03-29 2017-07-28 山西大学 基于gpu的大规模连续变量量子密钥分发的数据协调方法
CN108173651A (zh) * 2018-02-11 2018-06-15 众算(上海)数据科技有限公司 一种自有后量子密钥分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于连续变量量子密钥分发的高效LDPC解码算法";张彦煌;《中国优秀硕士学位论文全文数据库》;20160331;正文第5.1、5.4、6.1节以及图5.1 *

Also Published As

Publication number Publication date
CN109660339A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN109660339B (zh) 连续变量量子密钥分发数据协调fpga异构加速方法
Fazeli et al. Binary linear codes with optimal scaling: Polar codes with large kernels
CN106992856B (zh) 基于gpu的大规模连续变量量子密钥分发的数据协调方法
CN110752918B (zh) 一种用于连续变量量子密钥分发的快速译码装置及方法
WO2008034254A1 (en) Stochastic decoding of ldpc codes
CN106998208B (zh) 一种可变长Polar码的码字构造方法
Wu et al. Strategies for reducing decoding cycles in stochastic LDPC decoders
Pradhan et al. Factored LT and factored raptor codes for large-scale distributed matrix multiplication
Duan et al. On zero-error communication via quantum channels in the presence of noiseless feedback
Yang et al. Nonlinear programming approaches to decoding low-density parity-check codes
Zhang et al. Simplified successive‐cancellation decoding using information set reselection for polar codes with arbitrary blocklength
Bonik et al. Construction and analysis of polar and concatenated polar codes: practical approach
Xie et al. High throughput error correction in information reconciliation for semiconductor superlattice secure key distribution
He et al. Disjoint-set data structure-aided structured Gaussian elimination for solving sparse linear systems
Judson et al. Efficient construction of successive cancellation decoding of polar codes using logistic regression algorithm
Sha et al. Improved BP decoder for polar codes based on a modified kernel matrix
Yuan et al. A novel genetic probability decoding (GPD) algorithm for the FEC code in optical communications
Mahdavifar et al. Achieving the uniform rate region of multiple access channels using polar codes
CN115378582B (zh) 一种连续变量量子密钥分发残余误码消除的方法与系统
Zhang et al. A 3.01 mm 2 65.38 Gb/s Stochastic LDPC Decoder for IEEE 802.3 an in 65 nm
Hebbar et al. DeepPolar: Inventing Nonlinear Large-Kernel Polar Codes via Deep Learning
Kanter et al. Cascading parity-check error-correcting codes
Yin et al. High throughput parallel encoding and decoding architecture for polar codes
Kavvousanos et al. An iterative approach to syndrome-based deep learning decoding
Jang et al. Successive cancellation decoding with future constraints for polar codes over the binary erasure channel

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