一种基于ldpc变码技术的纠错加密方法

文档序号:10572468阅读:819来源:国知局
一种基于ldpc变码技术的纠错加密方法
【专利摘要】发明提出了一种基于LDPC变码技术的纠错加密方法,将AES加密体制、LDPC变码技术以及加噪技术相结合,在保证纠错能力的同时提升数据的安全性。本发明所提的方法首先对数据首先按照AES体制进行加密,然后对其进行LDPC编码,而且对每一帧数据采用不同的LDPC码(即LDPC变码),最后对LDPC码编码后的数据进行加噪,使其发生少量误码。由于在编码时人为加入了误码,因此不论信道好坏,接收端接收的数据里肯定存在误码。接收端只有同时知道AES密钥与LDPC码具体参数时才能得到正确的原始数据并且获得编码增益。
【专利说明】
一种基于LDPC变码技术的纠错加密方法
技术领域
[0001] 本发明属于通信领域,具体涉及一种纠错加密方法。
【背景技术】
[0002] 无线通信技术近年来在军事、民用等各方面得到了广泛应用,在给人们带来便利 的同时,无线信道的开放性也使得信息安全问题变得越来越突出,信息在传输过程中的安 全性问题越来越受到人们的关注。传统的有线通信通常使用数据加密等方法来保障通信安 全,尽管这些方法在无线通信中仍然可行,但传统的上层加密解决方案逐渐受限于窃听方 计算能力的日益增强和Ad-hoc等无中心网络密钥管理和分配等因素,它们都没有完全弥补 由无线信道的开放性所造成的安全漏洞。如何在物理层利用无线通信系统自身的特点来解 决通信信息的安全传输成为信息安全研究领域新的热点。
[0003] 另一方面,自二^^一世纪以来,低密度奇偶校验(LDPC,low-density parity-check) 码由于其较高的编码增益以及可高速编译码等特点 ,已经在广播电视、通信、存储等 领域得到了广泛的应用。如何将具有高编码增益的LDPC码用在信息安全领域,使系统同时 具有高的安全性和高的抗差错性是近年来的研究热点。例如在文献1《认知系统AES-LDPC纠 错加密器的设计与性能分析》(系统工程与电子技术,2010年第32卷第1期)与文献2 《Multilevel/AES-LDPCC-CPFSK with channel equalization over WSSUS multipath environment))(AEU-International Journal of Electronics and Communications,2011 年第65卷第12期)中,提出将LDPC码与AES加密(Advanced Encryption Standard,高级加密 标准)体制进行级联,从而使系统同时获得LDPC码的编码增益以及AES加密体制带来的安全 性,但是文中所提供的方法使用的是固定的LDPC码,没有叙述如何变换LDPC码字,LDPC码对 系统的安全性的贡献较低。而且文献1中使用的LDPC码采用随机的方法进行构造校验矩阵, 但是使用生成矩阵来进行编码,生成矩阵会非常复杂,实用性不强。
[0004] 本发明提出了一种基于LDPC变码技术的纠错加密方法,将AES加密体制、LDPC变码 技术以及加噪技术相结合,通过变换LDPC码提升系统的安全性。而且本发明使用的LDPC码 采用基于双对角矩阵的方式进行构造,使用校验矩阵进行编码,复杂度低,实用性好。

【发明内容】

[0005] 本发明的目的在于提出一种基于LDPC变码技术的纠错加密方法,该方法用于通信 系统中对数据进行纠错与加密。
[0006] 本发明所提的纠错加密方法将AES加密体制、LDPC变码技术以及加噪技术相结合, 在保证纠错能力的同时提升数据的安全性。AES体制主要用于将原始数据进行扩散与非线 性化,保障数据的安全性;LDPC码主要用于对数据进行保护,提升数据的抗差错能力;LDPC 变码技术指在数据传输过程中针对不同帧的待编码数据实时变换LDPC码字(LDPC码校验矩 阵)的技术,用于提升数据的安全性;加噪技术主要用于使数据产生误码,用于提升数据的 安全性。通过将AES加密体制、LDPC变码技术以及加噪技术相结合,使得接收端只有在同时 知道AES密钥与LDPC码具体参数的情况下才能解析出正确的数据并且获得编码增益。
[0007] 本发明中使用的LDPC码采用基于双对角矩阵的方式进行构造。基于双对角矩阵的 方式进行构造的校验矩阵Η由两部分组成,一部分为双对角矩阵,记为H p,另一部分由若干 循环子矩阵构成,记为Hd。一般地,若LDPC码的码长记为N,信息位长度记为M,则H p的大小为 (N-M)X(N-M),Hd的大小为(N-M)XM,若构成Hd的循环子矩阵大小为aXa,则H d的每一个列 块有(N_M)/a个子矩阵,记为i,每一个行块有M/a个子矩阵,记为j,显然,HdSiXj个大小为 aXa的循环子矩阵构成。由于循环子矩阵是由单位阵按照预定的偏移量循环移位生成的, 因此,对于一个给定了码长和信息位长度的LDPC码,通过改变H d中循环子矩阵的大小和偏 移量便能改变LDPC码校验矩阵,本发明中使用off set(i,j)表示这些子矩阵的偏移量,其 中,0彡offset(i,j)彡a_l,l彡i彡(N_M)/a,l彡 j彡M/a,显然,(N_M)/a与M/a为整数。
[0008] 图1给出了一个具有双对角矩阵形式的校验矩阵的示例^。出所表示的LDPC码字的 长度N为24比特,信息位长度Μ为12比特。出由町和_两部分构成,分别如图2和图3所示。从 图3可以看出,< 的循环子矩阵的大小为3X3,巧'的每一个行块有(N-M)/a = 4个循环子矩 阵块,的每一个列块有M/a = 4个循环子矩阵块。从图3可以看出,中的构成第一个循 环子矩阵行块的循环子矩阵的偏移量分别为0,1,2,1。
[0009] 对于一个给定码长为N,信息位长度为Μ的LDPC码,本发明采用LDPC码变码技术,在 编码过程中实时生成校验矩阵,使得每一次编码采用不同的校验矩阵,即每一次编码使用 不同的LDPC码,达到"一次一码"的效果。变换LDPC码的具体方式为改变校验矩阵中的循环 子矩阵大小和/或循环子矩阵的偏移量。
[0010] 图4给出了一个将Η冲循环子矩阵的偏移量进行改变,得到新的LDPC码的校验矩 阵出的一个示例。从图4可以看出,H2的第一个循环子矩阵行块的循环子矩阵的偏移量分别 为2,0,2,1。而出的第一个循环子矩阵行块的循环子矩阵的偏移量分别为0,1,2,1。显然,通 过变换循环子矩阵的偏移量实现了 LDPC码校验矩阵的变换。
[0011] 图5给出了一个将Η冲循环子矩阵的大小进行改变,得到新的LDPC码的校验矩阵H3 的一个示例。从图5可以看出,H3中的循环子矩阵大小为4X4,H3共包含有9个循环子矩阵。显 然,通过变换循环子矩阵的大小同样实现了 LDPC码校验矩阵的变换。
[0012] 本发明所提的纠错加密方法中的加噪技术用于给数据添加噪声,使数据产生误 码,使得不论信道好坏,接收端总是收到带误码的数据。
[0013] 本发明提供的一种纠错加密方法,其具体操作步骤包括:
[0014] 步骤1:根据通信系统对信道编码信息位长度与校验位长度的要求,构造出LDPC码 校验矩阵的基本结构,计算校验矩阵中的循环子矩阵尺寸参数a的有效取值范围;
[0015] 步骤2:对原始数据按照AES体制进行加密;
[0016]步骤3:生成LDPC码校验矩阵中循环子矩阵的偏移量参数offSet(i,j),确定当次 编码使用的校验矩阵;
[0017]步骤4:根据该校验矩阵对数据进行LDPC编码;
[0018]步骤5:对编码后的数据对数据进行加噪处理;
[0019]重复步骤2到步骤5,完成对数据流的连续处理
[0020]本发明提供的纠错加密方法的具体操作步骤如图6所示。
[0021]所述步骤1中,a的取值需要满足以下两个条件:1. a小于Μ与N-M,且能被Μ与N-M整 除;2. a的取值通常在31到1024之间;
[0022]所述步骤2中采用AES体制对数据进行加密时密钥长度可以是128比特、192比特或 256比特;
[0023]所述步骤3中循环子矩阵偏移量参数〇fTSet(i,j)根据用户的设定可每次编码都 进行更改,即采取"一次一码",也可以不更改,即采用固定的LDPC码。
[0024] 综上所述,本发明所提的方法首先对数据按照AES体制进行加密,然后对其进行 LDPC编码,而且对每一帧数据采用不同的LDPC码,最后对LDPC码编码后的数据进行加噪,使 其发生少量误码。由于在编码时人为加入了误码,因此不论信道好坏,接收端接收的数据里 肯定存在误码,如果接收端知道编码端所用的LDPC码的相关参数,在LDPC译码时便能对数 据进行正确的译码,从而获取编码增益,通过AES解密过程便能获得正确的原始数据。如果 接收端不知道编码端所用的LDPC码的相关参数,在LDPC译码时便无法对数据进行正确的译 码,无法对误码进行纠正,通过AES解密过程后无法获得正确的原始数据。
【附图说明】
[0025] 图1为本发明所涉及的双对角形式的校验矩阵的一个示例。
[0026] 图2为图1中校验矩阵中的双对角矩阵。
[0027] 图3为图1中校验矩阵的准循环矩阵。
[0028] 图4为将校验矩阵中准循环矩阵子矩阵的偏移量改变得到新校验矩阵的一个示 例。
[0029] 图5为将校验矩阵中准循环矩阵子矩阵的大小改变得到新校验矩阵的一个示例。
[0030] 图6为本发明所涉及的加密纠错算法的流程图。
[0031]图7为本发明所涉及的采用(4096,3328)LDPC码对数据进行纠错加密的流程示意 图。
[0032]图8为本发明所涉及的(4096,3328)LDPC码的校验矩阵示意图。
【具体实施方式】
[0033]本发明所提供的通信纠错加密方法,主要包括一簇LDPC码的构造、AES加密、LDPC 编码与加噪这四个步骤,下面具体说明这四步骤。
[0034] 首先说明一簇LDPC码的构造方法。设LDPC码的码长为N、信息位长度为Μ,则其校验 位长度为Ν-Μ,本发明中LDPC码的校验矩阵由循环子矩阵参数a和循环子矩阵的偏移量参数 offset(i,j)决定。(CKoffset(i,jXa_l,(N_M)/a,K j<M/a)
[0035] 根据LDPC编码对校验矩阵的循环子矩阵参数a的取值要求,a需要小于M与N-M,且 能被两者整除,而且取值范围在31与1024之间。通过求取Μ与N-M的最大公约数,再对最大公 约数进行因数分解转换成两个数乘积的形式,取出其中在31与1024之间的数即是a的有效 取值。a的有效取值可能为多个,依据本领域内公识常识,随着a的值的增大,LDPC码进行编 译码时复杂度会下降低,纠错性能也会下降,因此用户可以根据实现复杂度与纠错性能的 需求选择a的值。
[0036] a的值确定后,LDPC码校验矩阵的基本结构便被确定,校验矩阵的循环子矩阵部分 包含M/a个子矩阵列块与(N-M)/a个子矩阵行块,共M(N-M)/a2个循环子矩阵,因此,循环子 矩阵的偏移量参数〇ffset(i,j)的数目为M(N_M)/a2个,offset(i,j)的取值范围为0彡 offset(i,jXa_l。在构造校验矩阵及编码过程中,用户只需要生成M(N_M)/a2个取值范围 为0到a-Ι的数,便能唯一确定LDPC码,并且,只要改变任何一个偏移量,便能得到新的LDPC 码。
[0037]下面描述对数据采用AES体制进行加密的过程。
[0038] 本发明中采用标准的AES体制对数据进行加密。密钥长度可设为128、192和256比 特。标准的AES加密体制包括S盒变换、行移位、列变换、子密钥扩展四个步骤,详细过程可参 考相关资料,此处不作详述。本发明中加密模块每次读入与密钥长度相等的原始数据(明 文),然后对其进行按照S盒变换、行移位、列变换、子密钥扩展四个步骤进行加密处理。经过 AES加密模块处理过的数据称为密文。
[0039] 下面描述对密文数据进行LDPC编码的过程。
[0040] 本发明中构造的LDPC码为双对角形式的LDPC码,这类LDPC码可采用校验矩阵进行 编码,复杂度较低,便于实现。LDPC码编码器对数据进行编码前,首先读入校验矩阵的参数a 与所有的循环子矩阵偏移量〇ffset(i,j)。然后读入与LDPC码信息位长度Μ相等的密文,对 其进行编码,编码完成后得到Ν比特的数据。值得指出的是,在对下一帧Μ比特数据进行LDPC 编码时,用户可以通过改变a或循环子矩阵偏移量ofTSet(i,j)来改变所使用的LDPC码,从 而实现数据传输过程中"一次一码"。
[0041] 下面描述对LDPC编码后的数据进行加噪的过程。
[0042]本发明所提方法需要对LDPC编码后的数据进行加噪处理。首先产生一个随机数T, 的值为LDPC编码后数据发生误码的比特数目,也可以根据具体的编码设计而改 变。然后生成T个随机数,这些随机数的范围在0到Μ之间,这些随机数代表了LDPC码信息位 发生错误的位置。加噪器根据这T个数,将LDPC码相应位置的信息位取反,达到使LDPC编码 后数据发生错误的加噪目的。
[0043] 实施例1:
[0044] 本实施例说明了通过改变LDPC码校验矩阵中循环子矩阵偏移量实现"一次一码" 的纠错加密方法。在该示例中,用户需要使用128比特长度的密钥进行AES加密,并使用码长 N为4096、信息位长Μ为3328的LDPC码对数据进行保护。
[0045] 步骤1:首先,确定LDPC码校验矩阵的基本结构形式。
[0046]由于LDPC码的码长N为4096、信息位长Μ为3328,因此其校验位长度N-M为768,根据 前述的LDPC码构造方法中的校验矩阵循环子矩阵参数a的取值要求,a需要小于768,且能被 768与3328整除,且大于31。由于768与3328的最大公约数为256,将256进行因数分解,取出 其中大于31的数,可得到a的有效取值为32、64、128与256。本实施例中将a设定为128。此时, LDPC码校验矩阵的循环子矩阵部分包含有768/128 = 6个子矩阵行块,3328/128 = 26个子矩 阵列块,共6X26 = 156个循环子矩阵。其结构示意图如图8所示。图中offset(l,1)表示位于 第一个子矩阵行块和第一个子矩阵列块的循环子矩阵的偏移量, 〇fTSet(l,2)表示位于第 一个子矩阵行块和第二个子矩阵列块的循环子矩阵的偏移量,其余依次类推。
[0047]步骤2 :AES加密模块对原始信息按照AES体制进行加密处理,由于本实施例中用户 设定的AES密钥长度为128比特,所以AES加密模块每次对128比特原始信息进行处理,可得 到128比特密文信息。由于LDPC码的信息位长度为3328比特,为密钥长度的26倍,因此,AES 加密模块工作26次后,便能完成对3328比特原始信息的加密处理,得到3328比特的密文;
[0048] 步骤3:LDPC编码器读入校验矩阵的偏移量信息,得到当次编码所需的校验矩阵。 本实施例中LDPC码的校验矩阵共包含156个循环子矩阵,即LDPC编码器需要读入156个循环 子矩阵的偏移量参数。这些参数可以通过用户设定或者采用现有的产生伪随机数的方法生 成;
[0049] 步骤4:LDPC编码器对AES加密后的密文信息进行LDPC编码。本发明中采用的LDPC 码为双对角形式的LDPC码,可使用校验矩阵进行编码,结构简单,便于实现。LDPC编码器对 3328比特的密文信息进行编码后得到4096比特数据。
[0050] 步骤5:加噪模块对LDPC编码器输出的数据进行加噪处理,使数据产生误码。本实 施例中假定生成的随机数T的值为5,然后生成5个随机数,假定这5个数分别为4,132,268, 578,693。加噪模块依次对LDPC编码器输出数据的第4位,第132位,第268位,578位和693位 进行取反,完成对数据的加噪过程。
[0051] 至此,采用本发明所提供的方法完成了对3328比特数据的处理。重复步骤2到步骤 5,并改变LDPC编码器中的校验矩阵中的循环子矩阵大小和/或的偏移量,完成对数据流的 连续处理。
[0052] 实施例2:
[0053]本实施例说明了通过改变LDPC码校验矩阵中循环子矩阵大小和偏移量实现"一次 一码"的纠错加密方法。在该示例中,用户需要使用128比特长度的密钥进行AES加密,并使 用码长N为4096、信息位长Μ为3328的LDPC码对数据进行保护。与实施例1相比,本实施例中 仅在步骤1与步骤3有所不同,现将不同点描述如下:
[0054]步骤1:首先,确定LDPC码校验矩阵的基本结构形式。
[0055] 根据实施例1所述,a的有效取值为32、64、128与256。当a为128时,LDPC码校验矩阵 的循环子矩阵部分包含156个循环子矩阵。按照相似的方法,可计算出a为32、64和256时, LDPC码校验矩阵的循环子矩阵部分分别包含2496、624与39个循环子矩阵。
[0056] 步骤3: LDPC编码器读入循环子矩阵的尺寸参数a以及与a相对应的数量的偏移量 信息,得到当次编码所需的校验矩阵。例如,如果读入的尺寸参数a为256,则需要读入39个 循环子矩阵的偏移量参数;如果读入的尺寸参数a为64,则需要读入624个循环子矩阵的偏 移量参数。
[0057]此外,本实施例的其它步骤与实施例1相同,可参照实施,此处不再赘述。
【主权项】
1. 一种基于LDPC变码技术的纠错加密方法,其特征在于: 所述的纠错加密方法将AES加密体制、LDPC变码技术以及加噪技术相结合,对数据进行 加密与纠错编码, AES体制用于将原始数据进行扩散与非线性化加密,保障数据的安全性; LDPC码用于对数据进行保护,提升数据的抗差错能力; LDPC变码技术指在数据传输过程中实时变换LDPC码字的技术,用于提升数据的安全 性; 加噪技术用于使数据产生误码,用于提升数据的安全性, 通过将AES加密体制、LDPC变码技术以及加噪技术相结合,使得接收端只有在同时知道 AES密钥与LDPC码具体参数的情况下才能解析出正确的数据。2. 根据权利要求1所述的一种基于LDPC变码技术的纠错加密方法,且特征在于:其LDPC 码采用基于双对角矩阵的方式进行构造,其校验矩阵由两部分组成,一部分为双对角矩阵, 另一部分由若干循环子矩阵构成。3. 根据权利要求2所述的一种基于LDPC变码技术的纠错加密方法,且特征在于:所使用 的LDPC码在编码过程中能进行变换,使得每一次编码使用不同的LDPC码,达到"一次一码" 的效果;变换LDPC码的具体方式为改变校验矩阵中的循环子矩阵大小或循环子矩阵的偏移 量。4. 根据权利要求3所述的改变校验矩阵中的循环子矩阵大小,其特征在于循环子矩阵 大小按如下方法确定:假定LDPC码的码长为N、信息位长度为M,则其校验位长度为N-M,校验 矩阵循环子矩阵参数a需要小于M与N-M,且能被两者整除,而且取值范围在31与1024之间, 通过求取M与N-M的最大公约数,再对最大公约数进行因数分解转换成两个数乘积的形 式,取出其中在31与1024之间的数即是a的有效取值。5. 根据权利要求1至4中任意一项所述的一种基于LDPC变码技术的纠错加密方法,其特 征在于:对LDPC编码后的数据进行加噪处理,具体方法如下,首先产生一个随机数T, 20,Τ的值为LDPC编码后数据发生误码的比特数目;然后生成T个随机数,这些随机数的范围 在0到M之间,这些随机数代表了LDPC码信息位发生错误的位置;加噪器根据这T个数,将 LDPC码相应位置的信息位取反,实现加噪。6. 根据权利要求1至5中任意一项所述的一种基于LDPC变码技术的纠错加密方法,分为 以下步骤: 步骤1:根据通信系统的对信道编码信息位长度与校验位长度的要求,构造出LDPC码校 验矩阵的基本结构,计算校验矩阵中的循环子矩阵尺寸参数a的有效取值范围; 步骤2:对原始数据按照AES体制进行加密; 步骤3:生成LDPC码校验矩阵中循环子矩阵的偏移量参数offset(i,j),确定当次编码 使用的校验矩阵; 步骤4:根据该校验矩阵对数据进行LDPC编码; 步骤5:对编码后的数据对数据进行加噪处理, 重复步骤2到步骤5,对数据流进行连续处理, 其中: 所述步骤1中,a的取值需要满足以下两个条件:1. a小于M与N-M,且能被M与N-M整除; 2.a的取值在31到1024之间; 所述步骤2中,采用AES体制对数据进行加密时密钥长度可以是128比特、192比特或256 比特; 所述步骤3中,循环子矩阵偏移量参数〇fTSet(i,j)根据用户的设定可每次编码都进行 更改,即采取"一次一码",也可以不更改,即采用固定的LDPC码。7.根据权利要求1至6中任意一项所述的一种基于LDPC变码技术的纠错加密方法,是使 用128比特密钥,使用码长N为4096、信息位长M为3328的LDPC码的具体方法,其特征在于: 所使用的LDPC码校验矩阵中循环子矩阵的尺寸参数a为128,LDPC码校验矩阵的循环子 矩阵部分包含有6个子矩阵行块,26个子矩阵列块,共156个循环子矩阵;在LDPC编码过程 中,通过改变156个循环子矩阵的偏移量参数来实现LDPC码的变换。
【文档编号】H04L1/00GK105933107SQ201610258147
【公开日】2016年9月7日
【申请日】2016年4月22日
【发明人】赵岭, 李众, 彭皓, 刘荣科
【申请人】北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1