一种基于Spinal码的无比率安全编码方法与流程

文档序号:23859641发布日期:2021-02-05 16:02阅读:90来源:国知局
一种基于Spinal码的无比率安全编码方法与流程
一种基于spinal码的无比率安全编码方法
技术领域
[0001]
本发明涉及无线通信、信道编码及保密通信技术领域,特别是涉及一种基于spinal码的无比率安全编码方法。


背景技术:

[0002]
随着物联网时代的到来,保证海量数据实时、可靠、安全的传输,一直是无线通信技术追求的目标。作为信息安全的重要组成部分,物理层安全技术从物理层着手利用信道特性保护需要传输的信息,与现有密码学技术的结合使用能够极大增强现有无线通信的安全性。
[0003]
物理层安全技术中,为获得优越的有效、可靠与安全性能,发射端需事先知道与接收端的信道状态信息,但面对当前越来越复杂的通信环境,很多情况下发射端难以预先获知准确的信道状态信息,为了适应这种环境,无速率码应运而生,无速率码具有自适应信道环境的特性,可适用于各种无衰落和有衰落的噪声信道,是一种高效又可靠的差错控制编码技术,现已被应用于各类无线通信系统中。
[0004]
spinal码是一种新型的无速率编码方法,它具有良好的吞吐性能,可以自适应无线网络环境,根据信道状态选择合适码率进行传输的编码方法。与经典的raptor等无速率码不同,spinal码能够在低码长、低信噪比下获得接近香农信道容量的良好性能,且其能同时适用于删除信道、加性高斯信道和衰落信道。且spinal码是非线性码,它的编码只使用哈希函数,就可以产生好的编码符号序列,编码与译码方法简单,是一种前景非常广阔的无速率码。


技术实现要素:

[0005]
本发明提供了一种基于spinal码的无比率安全编码方法,目的是在保证无线通信系统的可靠性与有效性的前提下,进一步提升通信安全性。
[0006]
为实现上述目的,本发明提供了如下方案:
[0007]
本发明提供一种基于spinal码的无比率安全编码方法,所述无线数据安全编码方法依托的模型基于wyner窃听信道模型,主信道与窃听信道均为删除信道、高斯信道或衰落信道,其信道参数分别为h
b
和h
e
,附加的噪声向量分别为n
b
和n
e
。alice端包含s随机码生成器、spinal编码器和qam调制器;bob端包含qam解调器、spinal译码器和解随机扰码器;eve端包括qam解调器、spinal译码器和解随机扰码器。
[0008]
所述无线数据安全编码方法,包括如下步骤:
[0009]
步骤1、系统参数初始化,具体为:alice端初始化,又包括如下子步骤:
[0010]
步骤1.1、alice端的s随机码生成器生成随机码序列存储空间;
[0011]
步骤1.2、alice端的spinal编码器设置spinal编码每组信息比特位数k、编码后比特位数n、rng后每个子块中比特位数c,编码后每个符号比特数p、初始spine值s0;
[0012]
步骤1.3、alice端的spinal编码器生成spinal编码采用的hash函数;
[0013]
步骤1.4、alice端的spinal译码器定义spinal译码的路径度量搜索宽度l。
[0014]
步骤2、alice端的随机码生成器将待传输的信息比特进行随机扰码,生成随机扰码后的序列;
[0015]
其中,待传输的信息比特,记为u;生成随机扰码后的序列,记为m;
[0016]
步骤2具体采用s随机码生成器,经过步骤2随机扰码后,相邻两个比特位置变换后它们之间的距离至少为s,随机扰码变换用公式(1)描述:
[0017][0018]
其中,i和j分别表示第i个以及第j个元素的未经变换的位置,i(i)和i(j)分别表示经过原始序列中第i个元素以及第j个元素经过变换后的位置;
[0019]
步骤2具体包括如下子步骤:
[0020]
步骤2.1、选取正整数s,选取s的取值范围为设待扰码序列的长度与信息序列长度相同,长度为n;
[0021]
步骤2.2、产生一个随机数i,其取值范围为1<i<n;
[0022]
步骤2.3、把i与先前产生的第j个整数相比较,若|i(i)-i(j)|≥s,则保留新产生的整数i;若|i(i)-i(j)|<s,则重新产生随机数i,直到满足|i(i)-i(j)|≥s为止;
[0023]
步骤2.4、重复步骤2.2和步骤2.3,直到随机码生成器输出的随机扰码后的序列的n个位置均被填满,即生成了随机扰码后的序列m。
[0024]
步骤2中随机码生成器随着数据的传输过程实时产生随机位置,使数据中元素位置在传输过程中实时变化,这样增加了eve端在窃听过程中数据解码难度,增强了数据传输的安全性。
[0025]
步骤3、spinal编码:
[0026]
步骤3.1、将步骤2生成的n比特长度的信息序列m,将其以每组k比特分为n
s
=n/k组,为其中1≤i≤n/k;
[0027]
步骤3.2、将v比特状态值和k比特信息序列块通过hash函数映射,映射过程为:第i段信息序列块对应的前一个spine值(状态值)s
i-1
和第i段信息序列块经过hash函数生成一串二进制位,运算如下:
[0028][0029]
输出s
i
作为下一个hash函数的spine值,此输出为c位,顺序进行上述操作,最后生成n/k个spine值;
[0030]
步骤3.3、把每c比特长度的输出spine值通过rng映射为一个信道传输符号v
i
(1≤i≤n/k),v1,v2,...,v
n/k
构成长度为n/k的传输符号序列(通常称为pass或者码块);
[0031]
其中,rng是一个可以将v位状态种子转换为c位符号作为伪随机序列的函数:
[0032]
rng:{0,1}
v
×
n

{0,1}
c
ꢀꢀꢀꢀꢀꢀ
(3)
[0033]
步骤4、qam调制:
[0034]
对步骤3生成的码块进行qam调制,对于第l个pass,spinal码的编码输出第i(1≤i≤n/k)个信道传输符号的具体步骤:
[0035]
步骤4.1、长度有限的状态信息值v
i
用二进制比特序列表示,v
i
=b1b2b3...;
[0036]
步骤4.2、比特序列b1,...b
2c
表示位置是2c(l-1)的2c比特长度的序列,l=1时,为b1,...b
2c
,在l=2时,为b
2c+1
,...b
4c

[0037]
步骤4.3、利用调制映射函数把序列b1,...b
2c
映射成传输符号x
i
,然后把传输符号序列传入到信道之中;
[0038]
采用qam调制。正交振幅调制(qam)是一种振幅与相位联合键控,这种信号的一个码元可以表示为:
[0039]
x
k
=x
k
cosω0t+y
k
sinω0t
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0040]
其中,设b是星座映射函数的单个c比特输入。对于bsc信道,星座映射的作用很小,可令:c=1,并令x
i
=v
i
,相当于v
i
中的每一个比特都可以看成是一个x
i
,可以直接向接收端发送。对于awgn信道(有或没有衰落),编码器需要在平均功率约束下生成i和q。此时星座映射函数分别使用两个分开的rng的两个c比特输出生成i和q。
[0041]
步骤5、alice端将步骤5输出的调制后符号x输入到无线信道:
[0042]
发送端不断将传输符号通过信道发送到接收端,当接收端接收了足够的符号或者接收端成功译码,告知编码器结束编码发送操作,否则编码器继续循环并生成附加符号,直到接收端能够译码或者决定放弃消息。
[0043]
步骤6、bob端解调器和eve端解调器分别接收步骤6中alice端经无线信道发送的符号y
b
和y
e
并进行解调,输出解调后信息。
[0044]
步骤7、bob端与eve端分别接收步骤7输出的解调后信息,分别经各自的spinal译码器进行spinal码译码,输出spinal码译码后的信息序列和
[0045]
spinal译码器采用气泡译码方法,利用spinal码编码过程的顺序特性和译码的树形结构,在接收端复现编码模块的功能,然后遍历可能出现的传输符号序列,与接收到的符号序列进行路径距离度量值的计算。从译码树根节点出发,每一层只保留b个路径度量值最小的节点,直到找出译码树最后一层上最好的节点,依据这个节点所携带的路径信息就能够估计出信源信息序列。
[0046]
气泡解码器定义栈stacks和stackr为存储模块,用来保存译码树的节点,栈stacks保存译码树的扩展节点,stackr保存stacks中路径距离度量值较小的b个节点。
[0047]
步骤7中bob端与eve端的spinal译码器的译码步骤相同,spinal码的译码包括如下子步骤:
[0048]
步骤7.1、初始化根节点,入栈stackr;
[0049]
步骤7.2、扩展根节点,入栈stacks,删除根节点;
[0050]
步骤7.3、栈stacks排序;
[0051]
步骤7.4、判断stacks栈顶节点是否为叶子节点,若是,执行步骤7.7,若否,则执行步骤7.5;
[0052]
步骤7.5、把stacks中栈顶的b个节点转移到stackr中,清空stacks;
[0053]
步骤7.6、扩展栈stackr中所有节点,加入到栈stacks中,清空stackr;
[0054]
步骤7.7、输出stacks栈顶节点。
[0055]
步骤8、eve端和bob端将步骤8输出的spinal码译码后的信息序列在各自的解扰器中进行解扰,输出解扰后的序列和再按照步骤2生成的扰码向量对输出的序列进行
解扰,在bob端与eve端分别输出解扰后的序列和由于spinal码的无比率性质与随机扰码的安全增强作用,可保证数据的安全传输。
[0056]
步骤9、计算bob端和eve端的译码输出的误码率:
[0057]
具体为:比较输入序列u与bob端输出序列计算bob端误码率ber;比较输入序列u与eve端输出序列计算eve端误码率;
[0058]
至此,经过步骤1到步骤9,实现了一种基于spinal码的无线数据无比率安全编码方法。
[0059]
本发明公开了以下技术效果:
[0060]
1、spinal编码作为一种近香农限的信道编码方法,可有效保证发送端与正常接收端的无线数据传输可靠性;
[0061]
2、本发明引入无比率spinal码作为无线数据的安全传输方法,在保证正常接收端数据传输可靠的前提下,窃听端无法获得发送端hash函数与rng散列方式,保证窃听端获得的信息量为零,从而保证无线数据传输安全;
[0062]
3、发送端采用s随机扰码发生器,且s随机扰码距离不定时更新,增加了窃听端实时恢复数据的难度,正常接收端不受影响;
[0063]
4、在小幅增加编码复杂度的同时,能改善正常接收端由于突发干扰引入的超出spinal码纠错能力的纠错性能,提升bob在突发干扰情况下的数据传输的可靠性能。
附图说明
[0064]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0065]
图1为一种基于spinal码的无比率安全编码方法的系统结构及连接关系示意图;
[0066]
图2为一种基于spinal码的无比率安全编码方法的数据传输方法的流程图;
[0067]
图3为一种基于spinal码的无比率安全编码方法中正常接收端与窃听端的ber性能结果。
具体实施方式
[0068]
现详细说明本发明的多种示例性实施方式,该详细说明不应认为是对本发明的限制,而应理解为是对本发明的某些方面、特性和实施方案的更详细的描述。
[0069]
应理解本发明中所述的术语仅仅是为描述特别的实施方式,并非用于限制本发明。另外,对于本发明中的数值范围,应理解为还具体公开了该范围的上限和下限之间的每个中间值。在任何陈述值或陈述范围内的中间值以及任何其他陈述值或在所述范围内的中间值之间的每个较小的范围也包括在本发明内。这些较小范围的上限和下限可独立地包括或排除在范围内。
[0070]
除非另有说明,否则本文使用的所有技术和科学术语具有本发明所述领域的常规技术人员通常理解的相同含义。虽然本发明仅描述了优选的方法和材料,但是在本发明的
实施或测试中也可以使用与本文所述相似或等同的任何方法和材料。本说明书中提到的所有文献通过引用并入,用以公开和描述与所述文献相关的方法和/或材料。在与任何并入的文献冲突时,以本说明书的内容为准。
[0071]
在不背离本发明的范围或精神的情况下,可对本发明说明书的具体实施方式做多种改进和变化,这对本领域技术人员而言是显而易见的。由本发明的说明书得到的其他实施方式对技术人员而言是显而易见得的。本申请说明书和实施例仅是示例性的。
[0072]
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
[0073]
本发明中所述的“份”如无特别说明,均按质量份计。
[0074]
实施例1
[0075]
图1给出了本发明基于无比率spinal码的无线数据无比率安全编码方法的系统结构及连接关系示意图,发送端进行随机扰码,spinal编码后将生成的符号调制后发射;正常接收端与窃听端分别接收序列,进行spinal译码,解扰等工作,本发明采用无比率spinal码作为安全编码方法,在编码器与译码器中加入s随机发生器,产生随机序列,合法用户可利用秘钥完成译码,窃听端由于无法获得发送端hash函数、rng随机散列与s随机扰码方法,无法成功译码,所提方法在稍许增加编译码复杂度的前提下,可有效提升无线通信系统数据传输的安全性能,同时保证无线数据传输的可靠性。
[0076]
本实例具体阐述了本发明实施过程中各步骤的具体情况,主要依据说明书主体中的步骤1到步骤9,数据传输流程如图2所示,具体操作步骤如下:
[0077]
步骤a、初始化系统参数:设置每帧信息长度n=24,s随机码生成器长度为24bit,spinal编码每组信息比特位数k=4,rng散列后每个子块比特位数c=8,编码后每个符号比特p=8,初始spine值s0=0;spinal编码采用one-at-a-time哈希函数;设定spinal译码的路径度量搜索宽度l=2。生成待传输信息比特u,转换为十进制为:
[0078]
表1输出数据u的值举例
[0079]
u1391310711
[0080]
步骤b、将待传输的信息比特u进行s随机扰码,u的长度为n=24,s随机码生成器长度s=8,产生一个随机数i,其取值范围为1<i<24,把i与先前产生的第j个整数相比较,若|i(i)-i(j)|≥8,则保留新产生的整数i;若|i(i)-i(j)|<8,则重新产生随机数i,直到满足|i(i)-i(j)|≥8,重复上述步骤,直到扰码器的n个位置均被填满;
[0081]
表2s随机扰码
[0082]
扰码s141011031扰码后m33120410
[0083]
步骤c、spinal编码;
[0084]
步骤c.1、将步骤2生成的n比特长度的信息序列m,将其以每组k比特分为n
s
=6组,为
[0085]
步骤c.2、将v比特状态值和k比特信息序列块通过hash函数,第i段信息序列块对应的前一个spine值(状态值)s
i-1
和第i段信息序列块经过hash函数生成一串二进制位,按照式(2)运算。输出s
i
作为下一个hash函数的spine值,此输出为c=8位。顺序进行上述操
作,最后生成6个spine值,生成的spine值如表3(经过hash函数生成的spine值)所示。
[0086]
表3
[0087]
spine值1707587449775166854641310006702792485851549177605950511774
[0088]
步骤c.3、把每c比特长度的输出spine值通过rng散列为一个码块v
i
(1≤i≤6),如表4(rng散列后生成的pass值)。
[0089]
表4
[0090]
pass126055527456303442609837914503pass24696949304446624275146143166
[0091]
步骤d、qam调制
[0092]
首先将spinal编码的pass值转换为spinal码的编码信道传输符号,其具体步骤为:
[0093]
步骤d.1、将长度有限的状态信息值v
i
用二进制比特序列表示,v
i
=b1b2b3...;
[0094]
步骤d.2、比特序列b1b2b3...b
16
表示位置是16*(l-1)的2c比特长度的序列,l=1时,为b1b2b3...b
16
,在l=2时,为b
17
b
18
b
19
...b
32

[0095]
表5(pass值映射为传输符号值)给出了spinal编码的pass值转换为spinal码的编码信道传输符号具体值。
[0096]
表5
[0097]
第一行199958113187167第二行12166942195158
[0098]
步骤d.3、利用调制映射函数把序列b1,

b
2c
映射成传输符号。
[0099]
采用正交振幅调制(qam),按照公式(4)将信号的码元表示为表6(qam映射符号)所示:
[0100]
表6
[0101][0102][0103]
步骤e、alice端将步骤d输出的调制后符号x输入到无线信道;
[0104]
发送端不断将传输符号通过信道发送到接收端,当接收端接收了足够的符号或者接收端成功译码,告知编码器结束编码发送操作,否则编码器继续循环并生成附加符号,直到接收端能够译码或者决定放弃消息。本实例中设置循环次数为1000。
[0105]
步骤f、bob端解调器和eve端解调器分别接收步骤e中alice端经无线信道发送的符号y
b
和y
e
并进行解调,输出解调后信息;
[0106]
步骤g、bob端与eve端分别接收步骤f输出的解调后信息,分别经各自的spinal译
码器进行spinal码译码,输出spinal码译码后的信息序列和表7(bob端与eve端spinal译码)为当信噪比snr=5db时,bob端与eve端spinal译码后信息序列和的具体值,可以看到bob端可以正常译码,eve端不能正常译码。
[0107]
表7
[0108][0109]
步骤h、bob端与eve端分别对步骤g输出的spinal码译码后的信息序列和进行解扰,在bob端与eve端分别输出解扰后的序列和由于spinal码的无比率性质与随机扰码的安全增强作用,可得到bob端与eve端输出的序列分别为:
[0110]
表8
[0111][0112][0113]
从表8中(s随机解扰后的信息序列)可以看到,bob端解扰后译码正常,而eve端解扰后译码错误。
[0114]
步骤i、差错分析
[0115]
比较循环1000次后输入序列u与bob端输出序列计算bob端误码率ber;比较输入序列u与eve端输出序列计算eve端ber。
[0116]
eve端不知道alice端所采用的hash函数与rng散列方式,同时也不知道alice端扰码序列产生方式,因此,alice所传输的信息对于eve来说是完全未知的,eve得不到任何关于alice传输的信息,由图3中的仿真结果来看,eve端在不同的snr情况下,ber均接近于0.5,fer均接近于1,说明此种情况下eve所获得的信息量为零;相比bob,随着信噪比的增加,ber与fer不断降低,可保证较好的可靠性。
[0117]
至此,经过步骤a到步骤i,完成了一种基于spinal码的无比率安全编码方法的一则实施案例。
[0118]
以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1