一种弱化窃听信道下基于极化码的安全编码方法与流程

文档序号:12493207阅读:825来源:国知局
一种弱化窃听信道下基于极化码的安全编码方法与流程

本发明涉及的是一种窃听信道下的极化码加密通信方法。



背景技术:

1975年,Wyner在shannon对安全通信问题研究的基础上,提出了窃听信道模型如图1所示。在图1中,Alice和Bob之间通过主信道传输秘密消息M,而窃听者Eve通过另一个被称作窃听信道的信道获取合法用户之间传输的消息Z,然后通过译码估计秘密消息Wyner研究中考虑窃听信道是主信道的退化信道的情形,推导出在退化窃听信道下安全通信系统可以用一个被称作安全容量的常数来描述。如果传输速率低于安全容量,则存在编码方法能够同时满足传输安全性和可靠性的要求;反之,如果传输速率超过安全容量,则任意的编码方法都不能同时满足安全性和可靠性的要求。

在退化窃听信道下的安全编码技术,通过设计一种编码方法,能同时实现传输可靠性和安全性的要求,使传输速率接近甚至达到系统的安全容量。极化码作为一种新型编码方法,在安全编码技术中得到了很好的应用。

极化码是Arikan在2007年提出的。这种编码方法来自Arikan早期关于提高信道中截止速率的工作。极化码的思想是在编码侧对输入比特采用特定的递归线性变换,而在译码侧则以特定的顺序进行连续消除译码,恢复传输信息。Arikan发现通过上述操作之后,发生了信道极化(Channel Polarization)现象,即一些比特所看到的等效比特信道要优于原始比特信道,而另一些比特看到的则比原始比特信道差。当码长逐渐增加时,这些看到的等效比特信道会趋近于完全无噪的比特信道,或趋近于完全噪声的比特信道,并且趋于完全无噪的比特信道占总体比特信道的比例趋近于信道容量。Arikan从信道极化现象中得到启发,提出了一种非常简明的编译码方法即极化码,并证明了釆用极化码的编码方法能够达到二元输入离散无记忆信道(Binary-Input Discrete Memoryless Channel,BDMC)的信道容量。

由于极化码具有较低的编译码复杂度,且具有信道容量可达性,Mahdavifar和Vardy首先把极化码应用在退化窃听信道下,假设信道均为BDMC信道。在极化编码过程中利用主信道和窃听信道之间的差异,通过信道极化选择对合法用户无噪而对窃听用户全噪的比特信道来传输秘密消息。此外,Mahdavifar和Vardy从极化码的性质入手,证明了在退化窃听信道下采用极化码的编码方法能够达到传输的可靠性和安全性。从极化码能达到BDMC信道的信道容量,推导出在退化窃听信道下采用极化码的编码方法能够渐近达到系统的安全容量。

在退化窃听信道下采用极化码进行安全编码的方法,为窃听信道下的安全编码问题打开了突破口,越来越多的研究者开始从极化码的角度研究在窃听信道下的安全编码方法,从而在物理层实现安全可靠通信。目前利用极化码对窃听信道编码的技术主要有两种,一种是找出信道极化后对合法用户无噪而对窃听用户全噪的比特信道来传输信息,但是该种方法丢弃了极化后对合法用户和窃听用户都属于无噪的比特信道,而且这些信道往往都是极化后信道容量较高的优秀信道,因此这种方法浪费了很大一部分信道资源。另一种常用的极化码对窃听信道编码的方法是找出信道极化后对合法用户无噪而对窃听用户全噪的比特信道来传输固定的“秘钥”,利用“秘钥”对发送的信息加密,加密后的信息通过极化后对合法用户和窃听用户都属于无噪的比特信道发送,这种方法“秘钥”是固定的一但被破解,发送的所有信息都将会被窃听。



技术实现要素:

本发明的目的在于提供一种能在实现安全可靠通信的同时提高信道利用率,节省信道资源的弱化窃听信道下基于极化码的安全编码方法。

本发明的目的是这样实现的:

步骤1:信道联合和分裂

对信道采用递归的方法进行极化操作,极化后产生N个独立二进制子信道i=0,...,N-1其中N=2n,n∈Z+且n≥2;

步骤2:信道排序

对步骤1得到的信道采用蒙特卡洛方法分别得到各个子信道的信道容量i=0,...,N-1,并将信道按照信道容量由大到小降序排列得到排序后信道集合j=0,...,N-1,如果信道容量相等按未排序前信道的信道标号大的在前小的在后排序;

步骤3:挑选信息比特信道集合和固定比特信道集合

选取步骤2得到的排序后信道集合中的j1=0,...,k-1作为信息比特信道集合,用于发送信息比特长度为k的信息序列uA=(u0,...uk-1);选取步骤2得到的排序后信道集合中的j2=k,...,N-1作为固定比特信道集合,用于发送固定比特长度为N-k的固定序列uB,这里的k为任意正整数,且满足3≤k<N;

步骤4:确定安全信道和非安全信道

选取步骤3得到的信息比特信道集合j1=0,...,k-1中第k-m到第k-1信道作为安全信道,发送信息序列u=(uk-m,uk-m+1,...uk-2,uk-1);j1=0,...,k-1中第0到第k-m-1信道作为非安全信道,发送信息序列l=(u0,u1,u2,...uk-m-2,uk-m-1),其中m为任意正整数,且满足2≤m<k。

步骤5:更新“秘钥”

将步骤4得到的安全信道发送的二进制信息序列u=(uk-m,uk-m+1,...uk-2,uk-1)作为“秘钥”,将“秘钥”的最低两位信息比特进行异或运算得到的结果作为“秘钥”的最高位,同时舍掉“秘钥”的最低位,得到更新后的“秘钥”;

步骤6:将步骤5得到的更新后的“秘钥”的最高位与非安全信道发送的信息序列l=(u0,u1,u2,...uk-m-2,uk-m-1)中的最高位u0异或得到密文的最高位s0,再利用步骤5更新“秘钥”,并将步骤5得到的更新后的“秘钥”的最高位与非安全信道发送的信息序列l的次高位u1异或得到密文的次高位s1,以此类推,如此重复k-m次得到密文序列s=(s0,s1,s2,...sk-m-1);

步骤7:生成待编码序列

将安全信道发送的信息序列u=(uk-m,uk-m+1,...uk-2,uk-1)加到步骤6生成的密文序列s后边,拼接得到待编码序列f=(s0,s1,s2,...sk-m-1,uk-m,uk-m+1,...uk-2,uk-1);

步骤8:生成编码矩阵

将基础矩阵进行n(n=log2N)次kronecker积运算得到编码矩阵G;

步骤9:编码

按照信道容量较大的前k个信道的信道标号,在步骤8得到的编码矩阵G中取出与其对应的行向量组成矩阵G(A),编码矩阵G中剩余的行向量组成矩阵G(Ac);将步骤7得到的待编码序列f和步骤3得到的固定比特序列uB经过fG(A)+uBG(Ac)运算得到编码后序列x;

步骤10:调制

按照通信系统所需要的调制方式进行调制;

步骤11:过信道

将步骤10调制后的序列发送到高斯白噪声信道;

步骤12:解调

接收端将接收到的经过高斯信道后的信息进行软解调;

步骤13:译码

将步骤12解调后的信息采用连续删除译码SC得到译码序列

步骤14:找出“秘钥”和密文

在步骤13译码后的序列中,选取当做“秘钥”,当做非安全信道发送的密文估计序列;

步骤15:更新“秘钥”

将步骤14得到的“秘钥”的最低两位信息比特进行异或运算得到的结果作为“秘钥”的最高位,同时舍掉“秘钥”的最低位,得到更新后的“秘钥”;

步骤16:将步骤15得到的更新后的“秘钥”的最高位与步骤14中得到的密文估计序列中的最高位异或得到非安全信道发送信息序列的最高位估计值再利用步骤15更新“秘钥”,并将该更新后“秘钥”的最高位与步骤14中得到的密文估计序列中的次高位异或得到非安全信道发送信息序列的次高位估计值以此类推,如此重复k-m次得到解密后的非安全信道发送信息的估计序列

步骤17:还原发送端发送的信息序列

将步骤14得到的序列放到步骤16得到的解密后的非安全信道发送信息的估计序列的后面,拼接得到发送端发送信息的估计序列为

本发明提出了采用信道极化后对合法用户无噪而对窃听用户全噪的比特信道发送一部分信息并将这段信息当做“秘钥”,利用“秘钥”对另外一部分信息加密,加密后的信息通过极化后对合法用户和窃听用户都属于无噪的比特信道发送,这种方法不仅节省了信道资源,而且由于“秘钥”的随机性,从而有效地保证了发送信息的安全性。

本发明的优点在于:

本发明提出的适用于弱化窃听信道下基于极化码的安全编码技术,采用安全信道发送的信息序列对非安全信道发送的信息加密,这种方法使用的加密秘钥是随机的不容易被破解,从而提高了系统的安全性,此外安全信道和非安全信道都用来发送信息比特节省了信道资源,从而显著提高了信道利用率。

附图说明

图1:面向窃听信道的安全编码系统模型

图2:循环生成加密序列方式并对信息比特加密示意图

图3:本发明高斯信道下的安全防窃听方法总流程图

图4:发送端编码流程图

图5:接收端解码流程图。

具体实施方式

结合图3、4和5,本发明总体流程包括:

步骤1:信道联合和分裂。对信道采用递归的方法进行极化操作,极化后产生N个独立二进制子信道i=0,...,N-1其中N=2n,n∈Z+且n≥2;

步骤2:信道排序。对步骤1得到的信道采用蒙特卡洛方法分别得到各个子信道的信道容量并将信道按照信道容量由大到小降序排列得到排序后信道集合j=0,...,N-1,如果信道容量相等按未排序前信道的信道标号大的在前小的在后排序;

步骤3:挑选信息比特信道集合和固定比特信道集合。选取步骤2得到的排序后信道集合中的j1=0,...,k-1作为信息比特信道集合,用于发送信息比特长度为k的信息序列uA=(u0,...uk-1);选取步骤2得到的排序后信道集合中的j2=k,...,N-1作为固定比特信道集合,用于发送固定比特长度为N-k的固定序列uB,这里的k为任意正整数,且满足3≤k<N;;

步骤4:确定安全信道和非安全信道。选取步骤3得到的信息比特信道集合j1=0,...,k-1中第k-m到第k-1信道作为安全信道,发送信息序列u=(uk-m,uk-m+1,...uk-2,uk-1);j1=0,...,k-1中第0到第k-m-1信道作为非安全信道,发送信息序列l=(u0,u1,u2,...uk-m-2,uk-m-1),其中m为任意正整数,且满足2≤m<k。

步骤5:更新“秘钥”。结合附图2,将步骤4得到的安全信道发送的二进制信息序列u=(uk-m,uk-m+1,...uk-2,uk-1)作为“秘钥”。将“秘钥”的最低两位信息比特进行异或运算得到的结果作为“秘钥”的最高位,同时舍掉“秘钥”的最低位,得到更新后的“秘钥”。

步骤6:将步骤5得到的更新后的“秘钥”的最高位与非安全信道发送的信息序列l=(u0,u1,u2,...uk-m-2,uk-m-1)中的最高位u0异或得到密文的最高位s0。再利用步骤5更新“秘钥”,并将步骤5得到的更新后的“秘钥”的最高位与非安全信道发送的信息序列l的次高位u1异或得到密文的次高位s1,以此类推,如此重复k-m次得到密文序列s=(s0,s1,s2,...sk-m-1)。

步骤7:生成待编码序列。将安全信道发送的信息序列u=(uk-m,uk-m+1,...uk-2,uk-1)加到步骤6生成的密文序列s后边,拼接得到待编码序列f=(s0,s1,s2,...sk-m-1,uk-m,uk-m+1,...uk-2,uk-1)。

步骤8:生成编码矩阵。将基础矩阵进行n(n=log2N)次kronecker积运算得到编码矩阵G。

步骤9:编码。按照信道容量较大的前k个信道的信道标号,在步骤8得到的编码矩阵G中取出与其对应的行向量组成矩阵G(A),编码矩阵G中剩余的行向量组成矩阵G(Ac)。将步骤7得到的待编码序列f和步骤3得到的固定比特序列uB经过fG(A)+uBG(Ac)运算得到编码序列x。

步骤10:调制。按照通信系统所需要的调制方式进行调制。

步骤11:过信道。将步骤10调制后的序列发送到高斯白噪声信道。

步骤12:解调。接收端将接收到的经过高斯信道后的信息进行软解调。

步骤13:译码。将步骤12解调后的信息采用连续删除译码(SC)得到译码序列

步骤14:找出“秘钥”和密文。在步骤13译码后的序列中,当做“秘钥”,当做非安全信道发送的密文估计序列。

步骤15:更新“秘钥”。将步骤14得到的“秘钥”的最低两位信息比特进行异或运算得到的结果作为“秘钥”的最高位,同时舍掉“秘钥”的最低位,得到更新后的“秘钥”。

步骤16:将步骤15得到的更新后的“秘钥”的最高位与步骤14中得到的密文估计序列中的最高位异或得到非安全信道发送信息序列的最高位估计值再利用步骤15更新“秘钥”,并将该更新后“秘钥”的最高位与步骤14中得到的密文估计序列中的次高位异或得到非安全信道发送信息序列的次高位估计值以此类推,如此重复k-m次得到解密后的非安全信道发送信息的估计序列

步骤17:还原发送端发送的信息序列。将步骤14得到的序列放到步骤16得到的解密后的非安全信道发送信息的估计序列的后面,拼接得到发送端发送信息的估计序列为

下面举例对本发明做更详细的描述。

以二进制离散信道数量N=8,信息比特长度k=4,发送的信息序列uA=(1,0,1,1),固定序列uB=(0,0,0,0),为具体实施例,结合附图对本发明进行详细描述:

参照步骤1,进行信道极化。

对信道采用递归的方法进行极化操作,极化后产生8个独立二进制子信道i=0,...,7;

参照步骤2,采用蒙特卡洛方法估计信道容量,得到的信道容量见表1。通过表1对信道按照信道容量由大到小进行排序得到将重新标号得到排序后的信道集合

参照步骤3,选取步骤2排序后的信道集合中的作为信息比特信道集合,用于发送信息比特长度为4的信息序列uA=(1,0,1,1),选取步骤2排序后的信道集合中的作为固定比特信道集合,用于发送固定比特长度为4的固定序列uB=(0,0,0,0)。

参照步骤4,选取步骤3得到的信息比特信道集合中第2到第3信道作为安全信道,发送信息序列u=(1,1),选取信息比特信道集合中第0到第1信道作为非安全信道,发送信息序列l=(1,0),本实例中m=2。

表1主信道信道容量

参照步骤5,结合附图2,将步骤4得到的安全信道发送的二进制信息序列u=(1,1)作为“秘钥”,将“秘钥”序列中两个比特异或运算得到的结果0作为“秘钥”的最高位,同时舍掉“秘钥”的最低位,得到更新后的“秘钥”u=(0,1);

参照步骤6,将步骤5得到的更新后的“秘钥”u=(0,1)的最高位0与非安全信道发送的信息序列l=(1,0)中的最高位1异或得到密文的最高位s0=1,再利用步骤5更新“秘钥”,将“秘钥”u=(0,1)中的两个比特异或得到1,将得到的1作为“秘钥”的最高位,同时舍掉“秘钥”的低位,得到更新后的“秘钥”u=(1,0)。并将步骤5得到的更新后的“秘钥”的最高位1与非安全信道发送的信息序列l=(1,0)的次高位0异或得到密文的次高位s1=1,由于本实例中非安全信道发送的信息序列只有两个比特,故此处只需要两次加密处理得到密文序列s=(1,1)。

参照步骤7,将安全信道发送的信息序列u=(1,1)加到步骤6生成的密文序列s=(1,1)后边,拼接得到待编码序列f=(1,1,1,1)。

参照步骤8,将基础矩阵进行3次kronecker积运算得到编码矩阵G;

参照步骤9,按照信道中信道容量较大的前4个信道的信道标号,在步骤8得到的编码矩阵G中取出与其对应的行向量组成矩阵G(A):

编码矩阵G中剩余的行向量组成矩阵G(Ac);

将步骤7得到的待编码序列f=(1,1,1,1)和步骤3得到的固定比特序列uB=(0,0,0,0)经过fG(A)+uBG(Ac)运算:

经上述计算后得到编码后序列x=(0,1,1,0,1,0,0,1)。

参照步骤10,将编码序列x经BPSK调制。

参照步骤11,发送到高斯白噪声信道。

参照步骤12,接收端接收到信息序列后,对信息序列进行BPSK软解调。

参照步骤13,将步骤12解调后的信息采用连续删除译码SC得到译码序列

参照步骤14,在步骤13译码后的序列中,当做“秘钥”,当做非安全信道发送的密文估计序列;

参照步骤15,结合附图2,将步骤14得到的“秘钥”中两个比特异或得到0,将得到的0作为“秘钥”的最高位,同时舍掉“秘钥”的最低位,得到更新后的“秘钥”

参照步骤16,将步骤15得到的更新后的“秘钥”的最高位0与步骤14中得到的密文估计序列中的最高位1异或得到非安全信道发送信息序列的最高位估计值再利用步骤15更新“秘钥”,将“秘钥”中的两个比特异或得到1,将得到的1作为“秘钥”的最高位,同时舍掉“秘钥”的低位,得到更新后的“秘钥”将更新后“秘钥”的最高位与步骤14中得到的密文估计序列中的次高位1异或得到非安全信道发送信息序列的次高位估计值由于本实例中非安全信道发送的信息序列只有两个比特,故此处只需要两次解密处理得到解密后的非安全信道发送信息的估计序列

参照步骤17,将步骤14得到的序列放到步骤16得到的解密后的非安全信道发送信息的估计序列的后面,拼接得到发送端发送信息的估计序列为

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1