CN106992856B - 基于gpu的大规模连续变量量子密钥分发的数据协调方法 - Google Patents

基于gpu的大规模连续变量量子密钥分发的数据协调方法 Download PDF

Info

Publication number
CN106992856B
CN106992856B CN201710198740.4A CN201710198740A CN106992856B CN 106992856 B CN106992856 B CN 106992856B CN 201710198740 A CN201710198740 A CN 201710198740A CN 106992856 B CN106992856 B CN 106992856B
Authority
CN
China
Prior art keywords
code stream
level code
gpu
stream sequence
information
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.)
Expired - Fee Related
Application number
CN201710198740.4A
Other languages
English (en)
Other versions
CN106992856A (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 CN201710198740.4A priority Critical patent/CN106992856B/zh
Publication of CN106992856A publication Critical patent/CN106992856A/zh
Application granted granted Critical
Publication of CN106992856B publication Critical patent/CN106992856B/zh
Expired - Fee Related 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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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

Landscapes

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

Abstract

本发明提供一种基于GPU的大规模连续变量量子密钥分发的数据协调方法,属于密钥分发领域,目的是解决目前数据协调方法在CPU上实现导致译码速度慢、效率不高的技术问题。包括:CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式存储后发送至GPU;CPU控制Alice将连续变量量子X发送至Bob;Bob探测到序列Y后对Y进行量化得到Y′,将Y′分级,得到第1至第4级码流序列,并进行编码得到编码后的第3和第4级码流序列;Bob将H与编码后的第3和第4级码流序列分别相乘得到第3和第4级码流序列对应的校验子,并连同第1和第2级码流序列通过理想经典信道发送回Alice;GPU根据Alice上的第3和第4级码流序列对应的校验子及自身存储的边信息X分配多个线程进行并行化多级解码。

Description

基于GPU的大规模连续变量量子密钥分发的数据协调方法
技术领域
本发明涉及连续变量量子密钥分发技术领域,尤其涉及一种基于GPU的大规模连续变量量子密钥分发的数据协调方法。
背景技术
随着计算机信息技术的迅速发展,信息安全也占据着十分重要的地位。量子密钥分发(QKD)具有物理的无条件安全性,从而量子保密通信获得了人们的广泛关注。其中,连续变量量子密钥分发(CV-QKD)是量子保密通信领域中的一个重要分支,成为众多学者们研究的热点。CV-QKD的技术框架是Alice发送端通过对光子进行相干态调制,将连续高斯变量X经量子信道传送至Bob接收端,Bob接收端通过零拍探测器探测后接收序列Y。然而,由于一些不可避免的噪音以及第三方窃听者实际存在于量子信道,导致Bob接收端接收的序列Y会存在一些误码。为了纠正这些误码,需要对连续变量量子密钥分发进行数据协调,以去除窃听或信道噪声所引入的误码。因此,数据协调在本质上是一个纠错过程。
目前,CV-QKD的数据协调方法为:在CPU上使用低密度奇偶校验码(LDPC码)为基本错误校正码,采用逆向协调结合MLC/MSD的协调方案来实现。
然而,由于CPU工作是串行的,CV-QKD数据协调的MSD多级译码方案是各级分别进行LDPC译码,译码算法采用对数域译码,校验矩阵采用随机稀疏校验矩阵,矩阵规模大,加之需要BP(置信传播)多次译码才能校正错码,这使得译码速度缓慢,导致数据协调效率不高。
发明内容
为了解决目前的大规模连续变量量子密钥分发的数据协调方法在CPU上实现,导致译码速度慢、数据协调效率不高的技术问题,本发明提供一种基于GPU的大规模连续变量量子密钥分发的数据协调方法。
本发明的技术方案是:
一种基于GPU的大规模连续变量量子密钥分发的数据协调方法,其包括:
步骤1,CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储,并通过CPU与GPU之间的通信接口将该LDPC稀疏校验矩阵H发送至GPU;
步骤2,CPU控制发送端Alice通过量子信道将大规模连续变量量子X发送至接收端Bob;CPU控制接收端Bob首先通过零拍探测器探测到序列Y后,对序列Y进行量化,得到二进制离散序列Y′;然后,CPU控制接收端Bob使用多级编码调制将二进制离散序列Y′分级,得到第1级码流序列、第2级码流序列、第3级码流序列和第4级码流序列,并将第3级码流序列和第4级码流序列经Slepian-Wolf编码器进行数据压缩后,得到编码后的第3级码流序列和编码后的第4级码流序列;接下来,CPU控制接收端Bob将LDPC稀疏校验矩阵H与编码后的第3级码流序列和编码后的第4级码流序列分别相乘,得到第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4;最后,CPU控制接收端Bob将第1级码流序列、第2级码流序列、第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4通过理想经典信道发送回发送端Alice;
步骤3,GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程进行并行化多级解码,直至满足收敛条件或者达到最大迭代次数时译码结束。
可选地,所述步骤1中CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储,包括:
步骤1.1,CPU获取LDPC稀疏校验矩阵H中的非零元素的个数,申请静态大小为非零元素个数的连续内存,并将所有的非零元素存储在这片内存中;
步骤1.2,CPU以结构体数组的形式定义数据域,其中,数据域代表非零元素的节点,数据域里面的成员有似然比信息值及前后左右节点的位置地址信息值,其中,该似然比信息值就是指每一次译码步骤后的结果值;位置地址信息值区别于动态链表中的指针类型,而是被定义为int的数据类型;第i个非零元素存放在静态内存中,在行上,i中的右位置地址信息值代表第i+1个非零元素的行位置,左位置地址信息值代表第i-1个非零元素的行位置;在列上,i中的前位置地址信息值代表第i+1个非零元素的列位置,后位置地址信息值代表第i-1个非零元素的列位置;
步骤1.3,CPU以数据域的形式生成行头指针域Tx和列头指针域Tf,这两个数组指向的地址是步骤1.1中申请的非零元素大小的静态内存的地址;
步骤1.4,CPU指向行头指针域Tx和列头指针域Tf,指针指向第一个非零元素的位置,获取到该第一个非零元素的所有信息后,CPU根据第一个非零元素中的位置地址信息值指向下一个非零元素的位置,得到下一个非零元素的信息后,指针又会根据位置地址信息值指向新的位置信息,依次执行下去即可获取到所有的非零元素的信息,从而得到以静态双向循环十字链表的方式存储的LDPC稀疏校验矩阵H。
可选地,所述步骤3中GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程进行并行化多级解码,直至满足收敛条件或者达到最大迭代次数时译码结束,包括:
GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程依据多级译码步骤更新非零元素数据域中的似然比信息值,直至满足收敛条件或者达到最大迭代次数时译码结束,LDPC码可以由LDPC稀疏校验矩阵H唯一表示,LDPC稀疏校验矩阵行上的非零元素就称为校验节点,列上的非零元素称为变量节点;
其中,多级译码步骤如下:
步骤3.1,GPU进行信息初始化,即初始化
Figure GDA0002559915060000041
并通过如下公式(1)计算第一次迭代时边信息的值
Figure GDA0002559915060000042
其中,
Figure GDA0002559915060000043
l表示连续变量信息序列的长度,j表示译码级数;
Figure GDA0002559915060000044
公式(1)中,
Figure GDA0002559915060000045
aa-1]是令
Figure GDA0002559915060000046
时量化区间的上下限值,[τa′a′-1]是令
Figure GDA0002559915060000047
时量化区间的上下限值;yi1表示第一级码流序列,yi2表示第二级码流序列;O(i)表示连续变量Y量化后形成的变量节点集,Oij表示边信息,ij表示当前变量节点,N(ij)表示与ij相连的校验节点集,其中一个校验节点为k,M(k)表示与k相连的变量节点集,vijk表示变量节点传递给校验节点的信息,ukij表示校验节点传递给变量节点的信息;
步骤3.2,GPU通过如下公式(2)计算校验节点传递给变量节点的外信息;
Figure GDA0002559915060000048
公式(2)中,对于1≤t≤tmax,1≤p≤pmax,t为级间迭代次数,tmax=1,p表示LDPC置信传播和积算法的迭代次数,pmax=100,Sk表示校验序列中校验节点k对应的校验位,i′jk表示除变量节点ij外与校验节点k相连的所有变量节点的集合;
步骤3.3,GPU通过如下公式(3)计算变量节点传递给校验节点的外信息;
Figure GDA0002559915060000049
公式(3)中,k′ij表示除校验节点k外与变量节点ij相连的所有校验节点的集合;
步骤3.4,转至步骤3.2,直至p>pmax时执行步骤3.5;
步骤3.5,GPU通如下公式(4)和(5)对所有变量节点计算硬判决信息
Figure GDA00025599150600000410
Figure GDA0002559915060000051
Figure GDA0002559915060000052
步骤3.6,GPU根据硬判决信息
Figure GDA0002559915060000053
通过如下公式(6)更新边信息O(i,j),令j′=4引入同一时隙所有层的硬信息;
Figure GDA0002559915060000054
其中,
Figure GDA0002559915060000055
表示第t次迭代的边信息;
步骤3.7,令p=0,t=t+1,如果t>tmax则译码结束;否则,返回步骤3.2直至t>tmax
本发明的实施例提供的技术方案可以包括以下有益效果:
通过将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储,可以实现由GPU参与译码过程,又由于GPU具有并行处理结构,可以实现多线程数据计算。本发明通过静态双向十字循环链表的数据结构存储LDPC大规模稀疏校验矩阵H,只需存储非零元的信息,节省了内存,在内存中的存储地址连续,便于GPU将LDPC稀疏校验矩阵在CPU和GPU之间来回传输,从而解决了存储瓶颈。通过GPU固有的多线程计算结构,使多级解码在GPU上并行执行,提高了数据协调速率。因此,与背景技术相比,本发明具有能够缩短数据协调时间、提高译码速率及提高数据协调效率等优点。
附图说明
图1是本发明提供的基于GPU的大规模连续变量量子密钥分发的数据协调方法的流程图。
图2是本发明中以静态双向循环十字链表的方式存储的LDPC稀疏校验矩阵的结构图。
图3是基于GPU的大规模连续变量量子密钥分发的数据协调方法的过程示意图。
图4是GPU进行多级译码时级间迭代的消息传递Tanner图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
如图1所示,本实施例中的基于GPU的大规模连续变量量子密钥分发的数据协调方法包括如下步骤1至步骤3:
步骤1,CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储,并通过CPU与GPU之间的通信接口将该LDPC稀疏校验矩阵H发送至GPU。
LDPC稀疏校验矩阵H有三元组表和动态十字链表两种存储方式。三元组表法是针对固定非零元位置和个数的稀疏校验矩阵H;动态十字循环链表适合稀疏校验矩阵H中非零元的位置或个数经常变动时使用,但是在内存中存储地址是不连续的。然而,在GPU上运算时,传输的数据需要在内存中存储地址是连续的,固定大小的。因此,本发明中采用静态双向循环十字链表的数据结构存储LDPC稀疏校验矩阵H,对现有的动态链表进行改进,使之在内存中存储地址是连续,同时又保持链表的优势,从而使后续GPU可以参与多级译码,以实现并行运算。
其中,所述步骤1中CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储时,可以通过如下步骤1.1至步骤1.4来实现:
步骤1.1,CPU获取LDPC稀疏校验矩阵H中的非零元素的个数,申请静态大小为非零元素个数的连续内存,并将所有的非零元素存储在这片内存中;
步骤1.2,CPU以结构体数组的形式定义数据域,其中,数据域代表非零元素的节点,数据域里面的成员有似然比信息值及前后左右节点的位置地址信息值;位置地址信息值区别于动态链表中的指针类型,而是被定义为int的数据类型;第i个非零元素存放在静态内存中,在行上,i中的右位置地址信息值代表第i+1个非零元素的行位置,左位置地址信息值代表第i-1个非零元素的行位置;在列上,i中的前位置地址信息值代表第i+1个非零元素的列位置,后位置地址信息值代表第i-1个非零元素的列位置;
步骤1.3,CPU以数据域的形式生成行头指针域Tx和列头指针域Tf,这两个数组指向的地址是步骤1.1中申请的非零元素大小的静态内存的地址;
步骤1.4,CPU指向行头指针域Tx和列头指针域Tf,指针指向第一个非零元素的位置,获取到该第一个非零元素的所有信息后,CPU根据第一个非零元素中的位置地址信息值指向下一个非零元素的位置,得到下一个非零元素的信息后,指针又会根据位置地址信息值指向新的位置信息,依次执行下去即可获取到所有的非零元素的信息,从而得到以静态双向循环十字链表的方式存储的LDPC稀疏校验矩阵H。
本发明使用一种只记录1的位置方式的“静态双向循环十字链表”的方法存储LDPC稀疏校验矩阵H,这种存储方式充分结合了静态顺序存储和链式存储结构两者的优点,以静态顺序存储结构存储数据,但是每一个非零元之间的逻辑关系是使用节点的数组下标作为位置索引来维持节点与节点之间前驱和后继的关系,这种数组下标就类似于动态链表中的指针,用来指向下一个节点的位置。如图2所示,其为本发明中以静态双向循环十字链表的方式存储的LDPC稀疏校验矩阵的结构图。
进一步地,CPU与GPU之间的通信接口将该LDPC稀疏校验矩阵H发送至GPU时,CPU可以通过CUDA定义的接口函数cudaMemcpy()向设备GPU传输以静态双向循环十字链表存储的LDPC稀疏校验矩阵H。
步骤2,CPU控制发送端Alice通过量子信道将大规模连续变量量子X发送至接收端Bob;CPU控制接收端Bob首先通过零拍探测器探测到序列Y后,对序列Y进行量化,得到二进制离散序列Y′;然后,CPU控制接收端Bob使用多级编码调制将二进制离散序列Y′分级,得到第1级码流序列、第2级码流序列、第3级码流序列和第4级码流序列,并将第3级码流序列和第4级码流序列经Slepian-Wolf编码器进行数据压缩后,得到编码后的第3级码流序列和编码后的第4级码流序列;接下来,CPU控制接收端Bob将LDPC稀疏校验矩阵H与编码后的第3级码流序列和编码后的第4级码流序列分别相乘,得到第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4;最后,CPU控制接收端Bob将第1级码流序列、第2级码流序列、第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4通过理想经典信道发送回发送端Alice。
其中,步骤2为CPU对大规模连续变量量子X进行(MLC)的过程,具体多级编码过程除步骤2中所述外,还可以参考现有技术中的多级编码方式,此处不对这部分内容进行详细解释。
步骤3,GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程进行并行化多级解码,直至满足收敛条件或者达到最大迭代次数时译码结束。
多级解码(MSD)译码方法就是各级分别译码,每一级的译码结果对其它级的译码有指引作用。具体地,所述步骤3中GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程进行并行化多级译码,直至满足收敛条件或者达到最大迭代次数时译码结束时,可以通过如下步骤3.1至步骤3.7来实现:GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程依据多级译码步骤更新非零元素数据域中的似然比信息值,直至满足收敛条件或者达到最大迭代次数时译码结束,其中,该似然比信息值就是指每一次译码步骤后的结果值,LDPC码可以由LDPC稀疏校验矩阵H唯一表示,LDPC稀疏校验矩阵行上的非零元素就称为校验节点,列上的非零元素称为变量节点;
其中,多级解码(MSD)步骤如下:
步骤3.1,GPU进行信息初始化,即初始化
Figure GDA0002559915060000081
并通过如下公式(1)计算第一次迭代时边信息的值
Figure GDA0002559915060000082
其中,
Figure GDA0002559915060000083
l表示连续变量信息序列的长度,j表示译码级数;
Figure GDA0002559915060000091
公式(1)中,
Figure GDA0002559915060000092
aa-1]是令
Figure GDA0002559915060000093
时量化区间的上下限值,[τa′a′-1]是令
Figure GDA0002559915060000094
时量化区间的上下限值;yi1表示第一级码流序列,yi2表示第二级码流序列;O(i)表示连续变量Y量化后形成的变量节点集,Oij表示边信息,ij表示当前变量节点,N(ij)表示与ij相连的校验节点集,其中一个校验节点为k,M(k)表示与k相连的变量节点集,vijk表示变量节点传递给校验节点的信息,ukij表示校验节点传递给变量节点的信息;
步骤3.2,GPU通过如下公式(2)计算校验节点传递给变量节点的外信息;
Figure GDA0002559915060000095
公式(2)中,对于1≤t≤tmax,1≤p≤pmax,t为级间迭代次数,tmax=1,级间迭代就是在变量节点到校验节点之间传递的外信息的基础上叠加节点内部流动的内信息;p表示LDPC置信传播和积算法的迭代次数,pmax=100,Sk表示校验序列中校验节点k对应的校验位,i′jk表示除变量节点ij外与校验节点k相连的所有变量节点的集合;
步骤3.3,GPU通过如下公式(3)计算变量节点传递给校验节点的外信息;
Figure GDA0002559915060000096
公式(3)中,k′ij表示除校验节点k外与变量节点ij相连的所有校验节点的集合;
步骤3.4,转至步骤3.2,直至p>pmax时执行步骤3.5;
步骤3.5,GPU通如下公式(4)和(5)对所有变量节点计算硬判决信息
Figure GDA0002559915060000097
Figure GDA0002559915060000098
Figure GDA0002559915060000101
步骤3.6,GPU根据硬判决信息
Figure GDA0002559915060000102
通过如下公式(6)更新边信息O(i,j),令j′=4引入同一时隙所有层的硬信息;
Figure GDA0002559915060000103
其中,
Figure GDA0002559915060000104
表示第t次迭代的边信息;
步骤3.7,令p=0,t=t+1,如果t>tmax则译码结束;否则,返回步骤3.2直至t>tmax
如图3所示,其为步骤2和步骤3所述的基于GPU的大规模连续变量量子密钥分发的数据协调方法的过程示意图。图4是GPU进行多级译码时级间迭代的消息传递Tanner图,图4中黑色为外信息传递过程,白色为内信息传递过程。
为了验证本发明的实用性,在信道信噪比为4.9dB以上、2×105个连续变量序列可靠协调以及协调效率为91.71%的情况下,分别基于GeforceGT650M的GPU和2.5GHz、8G内存的CPU硬件平台进行译码测试,得到的结果如表1所示。
表1
Figure GDA0002559915060000105
由表1可得,基于GPU进行多级解码,其译码速率可达16.4kbit/s,相对于CPU平台,计算速度提高15倍以上。因此,与现有技术在CPU上进行数据协调相比,本发明中的基于GPU进行数据协调的方法不仅能够缩短数据协调时间,而且能够提高译码速率。
需要说明的是,以上所述仅为本发明的佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于GPU的大规模连续变量量子密钥分发的数据协调方法,其特征在于,所述数据协调方法包括:
步骤1,CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储,并通过CPU与GPU之间的通信接口将该LDPC稀疏校验矩阵H发送至GPU;
步骤2,CPU控制发送端Alice通过量子信道将大规模连续变量量子X发送至接收端Bob;CPU控制接收端Bob首先通过零拍探测器探测到序列Y后,对序列Y进行量化,得到二进制离散序列Y′;然后,CPU控制接收端Bob使用多级编码调制将二进制离散序列Y′分级,得到第1级码流序列、第2级码流序列、第3级码流序列和第4级码流序列,并将第3级码流序列和第4级码流序列经Slepian-Wolf编码器进行数据压缩后,得到编码后的第3级码流序列和编码后的第4级码流序列;接下来,CPU控制接收端Bob将LDPC稀疏校验矩阵H与编码后的第3级码流序列和编码后的第4级码流序列分别相乘,得到第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4;最后,CPU控制接收端Bob将第1级码流序列、第2级码流序列、第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4通过理想经典信道发送回发送端Alice;
步骤3,GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程进行并行化多级解码,直至满足收敛条件或者达到最大迭代次数时译码结束;
其中,所述步骤1中CPU将LDPC稀疏校验矩阵H以静态双向循环十字链表的方式进行存储,包括:
步骤1.1,CPU获取LDPC稀疏校验矩阵H中的非零元素的个数,申请静态大小为非零元素个数的连续内存,并将所有的非零元素存储在这片内存中;
步骤1.2,CPU以结构体数组的形式定义数据域,其中,数据域代表非零元素的节点,数据域里面的成员有似然比信息值及前后左右节点的位置地址信息值,其中,该似然比信息值就是指每一次译码步骤后的结果值;位置地址信息值区别于动态链表中的指针类型,而是被定义为int的数据类型;第i个非零元素存放在静态内存中,在行上,i中的右位置地址信息值代表第i+1个非零元素的行位置,左位置地址信息值代表第i-1个非零元素的行位置;在列上,i中的前位置地址信息值代表第i+1个非零元素的列位置,后位置地址信息值代表第i-1个非零元素的列位置;
步骤1.3,CPU以数据域的形式生成行头指针域Tx和列头指针域Tf,这两个数组指向的地址是步骤1.1中申请的非零元素大小的静态内存的地址;
步骤1.4,CPU指向行头指针域Tx和列头指针域Tf,指针指向第一个非零元素的位置,获取到该第一个非零元素的所有信息后,CPU根据第一个非零元素中的位置地址信息值指向下一个非零元素的位置,得到下一个非零元素的信息后,指针又会根据位置地址信息值指向新的位置信息,依次执行下去即可获取到所有的非零元素的信息,从而得到以静态双向循环十字链表的方式存储的LDPC稀疏校验矩阵H。
2.根据权利要求1所述的数据协调方法,其特征在于,所述步骤3中GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程进行并行化多级解码,直至满足收敛条件或者达到最大迭代次数时译码结束,包括:
GPU根据发送端Alice上的第3级码流序列对应的校验子S3和第4级码流序列对应的校验子S4及发送端Alice自身存储的边信息X,分配多个线程依据多级译码步骤更新非零元素数据域中的似然比信息值,直至满足收敛条件或者达到最大迭代次数时译码结束,LDPC码可以由LDPC稀疏校验矩阵H唯一表示,LDPC稀疏校验矩阵行上的非零元素就称为校验节点,列上的非零元素称为变量节点;
其中,多级译码步骤如下:
步骤3.1,GPU进行信息初始化,即初始化
Figure FDA0002559915050000031
并通过如下公式(1)计算第一次迭代时边信息的值
Figure FDA0002559915050000032
其中,
Figure FDA0002559915050000033
l表示连续变量信息序列的长度,j表示译码级数;
Figure FDA0002559915050000034
公式(1)中,
Figure FDA0002559915050000035
aa-1]是令
Figure FDA0002559915050000036
时量化区间的上下限值,[τa′a′-1]是令
Figure FDA0002559915050000037
时量化区间的上下限值;yi1表示第一级码流序列,yi2表示第二级码流序列;O(i)表示连续变量Y量化后形成的变量节点集,Oij表示边信息,ij表示当前变量节点,N(ij)表示与ij相连的校验节点集,其中一个校验节点为k,M(k)表示与k相连的变量节点集,vijk表示变量节点传递给校验节点的信息,ukij表示校验节点传递给变量节点的信息;
步骤3.2,GPU通过如下公式(2)计算校验节点传递给变量节点的外信息;
Figure FDA0002559915050000038
公式(2)中,对于1≤t≤tmax,1≤p≤pmax,t为级间迭代次数,tmax=1,p表示LDPC置信传播和积算法的迭代次数,pmax=100,Sk表示校验序列中校验节点k对应的校验位,i′jk表示除变量节点ij外与校验节点k相连的所有变量节点的集合;
步骤3.3,GPU通过如下公式(3)计算变量节点传递给校验节点的外信息;
Figure FDA0002559915050000041
公式(3)中,k′ij表示除校验节点k外与变量节点ij相连的所有校验节点的集合;
步骤3.4,转至步骤3.2,直至p>pmax时执行步骤3.5;
步骤3.5,GPU通如下公式(4)和(5)对所有变量节点计算硬判决信息
Figure FDA0002559915050000042
Figure FDA0002559915050000043
Figure FDA0002559915050000044
步骤3.6,GPU根据硬判决信息
Figure FDA0002559915050000045
通过如下公式(6)更新边信息O(i,j),令j′=4引入同一时隙所有层的硬信息;
Figure FDA0002559915050000046
其中,
Figure FDA0002559915050000047
表示第t次迭代的边信息;
步骤3.7,令p=0,t=t+1,如果t>tmax则译码结束;否则,返回步骤3.2直至t>tmax
CN201710198740.4A 2017-03-29 2017-03-29 基于gpu的大规模连续变量量子密钥分发的数据协调方法 Expired - Fee Related CN106992856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710198740.4A CN106992856B (zh) 2017-03-29 2017-03-29 基于gpu的大规模连续变量量子密钥分发的数据协调方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710198740.4A CN106992856B (zh) 2017-03-29 2017-03-29 基于gpu的大规模连续变量量子密钥分发的数据协调方法

Publications (2)

Publication Number Publication Date
CN106992856A CN106992856A (zh) 2017-07-28
CN106992856B true CN106992856B (zh) 2020-09-29

Family

ID=59412015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710198740.4A Expired - Fee Related CN106992856B (zh) 2017-03-29 2017-03-29 基于gpu的大规模连续变量量子密钥分发的数据协调方法

Country Status (1)

Country Link
CN (1) CN106992856B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707330A (zh) * 2017-08-31 2018-02-16 西安电子科技大学 基于gpu的sc‑ldpc码译码加速系统
CN108270562B (zh) * 2017-11-21 2020-05-01 中国科学院软件研究所 一种抗量子密钥协商方法
CN108712232A (zh) * 2018-05-04 2018-10-26 北京邮电大学 一种用于连续变量量子密钥分发系统中的多码字并行译码方法
CN109660339B (zh) * 2018-11-20 2021-12-31 山西大学 连续变量量子密钥分发数据协调fpga异构加速方法
CN109921877B (zh) * 2018-12-26 2021-11-12 中国电子科技集团公司第二十研究所 一种awgn信道下基于cuda架构的ldpc码并行译码方法
CN110287023B (zh) * 2019-06-11 2021-12-10 广州海格通信集团股份有限公司 消息处理方法、装置、计算机设备和可读存储介质
CN110460599B (zh) * 2019-08-13 2021-11-09 常州华龙通信科技股份有限公司 基于多级缓存及主备机制实现单向传输方法
CN112398545A (zh) * 2020-10-14 2021-02-23 中国电子科技集团公司第三十研究所 Cvqkd系统量子信号调制方差控制和标定方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104124980A (zh) * 2014-07-16 2014-10-29 上海交通大学 适合连续变量量子密钥分发的高速秘密协商方法
CN105306198A (zh) * 2015-10-16 2016-02-03 中国人民解放军国防科学技术大学 一种量子密钥分发随机型低密度奇偶校验码并行译码方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7722514B2 (en) * 2007-10-23 2010-05-25 Bvp Holding, Inc. Multi-directional body swing, turn and twist trainer with interchangeable and adjustable attachments
US20100150349A1 (en) * 2008-12-12 2010-06-17 Electronics And Telecommunications Research Institute Method and system for performing quantum bit commitment protocol
JP6165638B2 (ja) * 2014-01-08 2017-07-19 株式会社東芝 量子通信装置、量子通信方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104124980A (zh) * 2014-07-16 2014-10-29 上海交通大学 适合连续变量量子密钥分发的高速秘密协商方法
CN105306198A (zh) * 2015-10-16 2016-02-03 中国人民解放军国防科学技术大学 一种量子密钥分发随机型低密度奇偶校验码并行译码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
High performance reconciliation for continuous-variable quantum key distribution with LDPC code;曾贵华;《International Journal of Quantum Information》;20150323;第13卷(第2期);正文第3节 *
高斯量子密钥分发数据协调的性能优化;郭大波;《光学学报》;20140131;第34卷(第1期);正文第2-5节 *

Also Published As

Publication number Publication date
CN106992856A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN106992856B (zh) 基于gpu的大规模连续变量量子密钥分发的数据协调方法
Wang et al. Efficient rate-adaptive reconciliation for continuous-variable quantum key distribution
CN109660339B (zh) 连续变量量子密钥分发数据协调fpga异构加速方法
CN102164025B (zh) 基于重复编码和信道极化的编码器及其编译码方法
Higgott et al. Improved decoding of circuit noise and fragile boundaries of tailored surface codes
CN110752918B (zh) 一种用于连续变量量子密钥分发的快速译码装置及方法
Lin et al. High performance reconciliation for continuous-variable quantum key distribution with LDPC code
US8468438B2 (en) Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code
Fern et al. Lower bounds on the nonzero capacity of Pauli channels
Zhao et al. Spatially coupled codes via partial and recursive superposition for industrial IoT with high trustworthiness
CN113364586B (zh) 连续变量量子密钥分发系统的数据协调方法
CN101286745B (zh) 一种交织编码方法及装置
Wang et al. Free-ride coding for constructions of coupled LDPC codes
CN1822510A (zh) 高速的减少存储需求的低密度校验码解码器
CN108259128A (zh) 一种基于非随机生成矩阵的系统Raptor码的构造方法
He et al. Disjoint-set data structure-aided structured Gaussian elimination for solving sparse linear systems
Seksembayeva et al. Study of the principles of error correcting code in a multipath communication channel with intersymbol interference
Comar Ldpc code classification using convolutional neural networks
CN101895375B (zh) 低密度校验码的译码系统
Lou et al. Quantum error-correction using codes with low-density generator matrix
CN110190925B (zh) 一种数据处理方法及装置
CN115378582B (zh) 一种连续变量量子密钥分发残余误码消除的方法与系统
CN115348010B (zh) 一种适用于连续变量量子密钥分发残余误码消除的方法与系统
Yu et al. Design of convergence-optimized non-binary ldpc codes over binary erasure channel
Wang et al. PEG based construction of irregular QC-LDPC codes by jointly optimizing the girth and the number and ACE of short cycles

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200929

CF01 Termination of patent right due to non-payment of annual fee