CN106992856B - 基于gpu的大规模连续变量量子密钥分发的数据协调方法 - Google Patents
基于gpu的大规模连续变量量子密钥分发的数据协调方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000011159 matrix material Substances 0.000 claims abstract description 43
- 230000003068 static effect Effects 0.000 claims abstract description 28
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 18
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 17
- 238000013139 quantization Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims description 6
- 238000003491 array Methods 0.000 claims description 3
- 238000013144 data compression Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- 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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- 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/0064—Concatenated codes
-
- 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/0819—Key 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)
-
- 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
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的大规模连续变量量子密钥分发的数据协调方法。
背景技术
随着计算机信息技术的迅速发展,信息安全也占据着十分重要的地位。量子密钥分发(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稀疏校验矩阵行上的非零元素就称为校验节点,列上的非零元素称为变量节点;
其中,多级译码步骤如下:
公式(1)中,[τa,τa-1]是令时量化区间的上下限值,[τa′,τa′-1]是令时量化区间的上下限值;yi1表示第一级码流序列,yi2表示第二级码流序列;O(i)表示连续变量Y量化后形成的变量节点集,Oij表示边信息,ij表示当前变量节点,N(ij)表示与ij相连的校验节点集,其中一个校验节点为k,M(k)表示与k相连的变量节点集,vijk表示变量节点传递给校验节点的信息,ukij表示校验节点传递给变量节点的信息;
步骤3.2,GPU通过如下公式(2)计算校验节点传递给变量节点的外信息;
公式(2)中,对于1≤t≤tmax,1≤p≤pmax,t为级间迭代次数,tmax=1,p表示LDPC置信传播和积算法的迭代次数,pmax=100,Sk表示校验序列中校验节点k对应的校验位,i′jk表示除变量节点ij外与校验节点k相连的所有变量节点的集合;
步骤3.3,GPU通过如下公式(3)计算变量节点传递给校验节点的外信息;
公式(3)中,k′ij表示除校验节点k外与变量节点ij相连的所有校验节点的集合;
步骤3.4,转至步骤3.2,直至p>pmax时执行步骤3.5;
步骤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)步骤如下:
公式(1)中,[τa,τa-1]是令时量化区间的上下限值,[τa′,τa′-1]是令时量化区间的上下限值;yi1表示第一级码流序列,yi2表示第二级码流序列;O(i)表示连续变量Y量化后形成的变量节点集,Oij表示边信息,ij表示当前变量节点,N(ij)表示与ij相连的校验节点集,其中一个校验节点为k,M(k)表示与k相连的变量节点集,vijk表示变量节点传递给校验节点的信息,ukij表示校验节点传递给变量节点的信息;
步骤3.2,GPU通过如下公式(2)计算校验节点传递给变量节点的外信息;
公式(2)中,对于1≤t≤tmax,1≤p≤pmax,t为级间迭代次数,tmax=1,级间迭代就是在变量节点到校验节点之间传递的外信息的基础上叠加节点内部流动的内信息;p表示LDPC置信传播和积算法的迭代次数,pmax=100,Sk表示校验序列中校验节点k对应的校验位,i′jk表示除变量节点ij外与校验节点k相连的所有变量节点的集合;
步骤3.3,GPU通过如下公式(3)计算变量节点传递给校验节点的外信息;
公式(3)中,k′ij表示除校验节点k外与变量节点ij相连的所有校验节点的集合;
步骤3.4,转至步骤3.2,直至p>pmax时执行步骤3.5;
步骤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
由表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稀疏校验矩阵行上的非零元素就称为校验节点,列上的非零元素称为变量节点;
其中,多级译码步骤如下:
公式(1)中,[τa,τa-1]是令时量化区间的上下限值,[τa′,τa′-1]是令时量化区间的上下限值;yi1表示第一级码流序列,yi2表示第二级码流序列;O(i)表示连续变量Y量化后形成的变量节点集,Oij表示边信息,ij表示当前变量节点,N(ij)表示与ij相连的校验节点集,其中一个校验节点为k,M(k)表示与k相连的变量节点集,vijk表示变量节点传递给校验节点的信息,ukij表示校验节点传递给变量节点的信息;
步骤3.2,GPU通过如下公式(2)计算校验节点传递给变量节点的外信息;
公式(2)中,对于1≤t≤tmax,1≤p≤pmax,t为级间迭代次数,tmax=1,p表示LDPC置信传播和积算法的迭代次数,pmax=100,Sk表示校验序列中校验节点k对应的校验位,i′jk表示除变量节点ij外与校验节点k相连的所有变量节点的集合;
步骤3.3,GPU通过如下公式(3)计算变量节点传递给校验节点的外信息;
公式(3)中,k′ij表示除校验节点k外与变量节点ij相连的所有校验节点的集合;
步骤3.4,转至步骤3.2,直至p>pmax时执行步骤3.5;
步骤3.7,令p=0,t=t+1,如果t>tmax则译码结束;否则,返回步骤3.2直至t>tmax。
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)
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)
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)
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 | 株式会社東芝 | 量子通信装置、量子通信方法及びプログラム |
-
2017
- 2017-03-29 CN CN201710198740.4A patent/CN106992856B/zh not_active Expired - Fee Related
Patent Citations (2)
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)
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 |