武登杰
(西南大学数学与统计学院 重庆 400715)
基于LDPC码的信息调和协议
武登杰
(西南大学数学与统计学院 重庆 400715)
考虑到LDPC码的译码特性可以逼近Shannon信道容量限,本文给出了基于LDPC码的信息调和协议。它具有交互次数少,纠错能力强的特点。
LDPC码;信息调和协议;BSC信道
信息调和是QKD的一个重要组成部分,也是密码学研究的一个热门领域。1992年,Bennett et al.[1]提出了“二分法纠错”的信息调和协议,但它不能发现偶数个错误,交互次数频繁。2003Buttler et al.[3]提出基于汉明码的“Winnow”信息调和协议,效率比较高,但纠错能力有限。鉴于此,本文提出了基于LDPC码的信息调和协议。该协议具有交互次数少,纠错能力强的特点。
LDPC码的定义:
一个码长为n、信息位个数为k的线性分组码可以由一个生成矩阵G来定义,信息序列i1×k通过G被映射到码字x=i·G。线性分组码也可以由一个一致校验矩阵 H(n-k)×n来等效描述,所有码字均满足 x·HT(n-k)×n。LDPC码是一种线性分组码,它的名字来源于其校验矩阵的稀疏性,即校验矩阵中只有数量很少的元素为“1”,大部分都是“0”。Gallager最早给出了正则LDPC码的定义,具体来讲正则LDPC码的校验矩阵H满足下面三个条件:
(1)H 的每行有 ρ 个“1”;
(2)H 的每列有 λ 个“1”,λ>3;
(3)与码长和H矩阵的行数相比,ρ和λ都很小。
关于LDPC的译码方法有很多,本文只考虑基于BSC信道下的置信传播算法。设发端发送的码字序列为x={x1,x2,…,xn}∈GF(n2),在接收端接收到的序列为y={y1,y2,…,yn}∈GF(n2),M(j)表示与变量节点j相连的所有校验节点所构成的集合,M(j)i表示M(j)中除去其中的校验节点i后剩下的集合;N(j)表示与校验节点i相连的所有变量节点构成的集合,N(i)j表示N(i)中除去其中的变量节点j后剩下的集合。BSC信道下LDPC码的硬判决译码算法流程如下:
(1)初始化:所有变量节点赋初值fj=yj,对所有Qij赋初值
结合[2]中非交互式的信息调和协议,基于LDPC码的信息调和协议步骤如下:
(1)Alice随机生成一个比特串x;
(2)Alice用公开的LDPC码的生成矩阵G编码x得到码字c;
(3)Alice再用她的初始密钥KA与码字c做异或,得到KA⊕c,并将它发给Bob;
(4)Bob将收到的比特串与他的初始密钥KB进行相同的运算,得到(KA⊕c)⊕KB=c⊕e,Bob用LDPC码的校验矩阵H进行译码,得到码字c^=c,最后再将c^与收到的KA⊕c做异或得到KA,KA就是最终的密钥。
本文主要介绍了基于LDPC码的信息调和协议,利用了BSC信道下LDPC码的硬判决译码算法。这个译码算法具有复杂度低,利于操作,适用于信息调和。
[1]C.Bennett,F.Bessette,G.Brassard,L.Salvail,J.Smolin,Experimental Quantum Cryptography.Journal of Cryptology,1992.
[2]D.Mayers,Unconditional security in quantum cryptography.Jounal of the ACM,48(3):351~406,2001.
[3]W.Buttler et al,Fast,efficient error reconciliation for quantum cryptography.Jounal of the ACM,Phys.Rev.A.67:052303,1~8,2003.
TN918
A
1004-7344(2016)08-0024-01
2016-3-1