一種基于ldpc變碼技術(shù)的糾錯(cuò)加密方法
【專利摘要】發(fā)明提出了一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,將AES加密體制、LDPC變碼技術(shù)以及加噪技術(shù)相結(jié)合,在保證糾錯(cuò)能力的同時(shí)提升數(shù)據(jù)的安全性。本發(fā)明所提的方法首先對(duì)數(shù)據(jù)首先按照AES體制進(jìn)行加密,然后對(duì)其進(jìn)行LDPC編碼,而且對(duì)每一幀數(shù)據(jù)采用不同的LDPC碼(即LDPC變碼),最后對(duì)LDPC碼編碼后的數(shù)據(jù)進(jìn)行加噪,使其發(fā)生少量誤碼。由于在編碼時(shí)人為加入了誤碼,因此不論信道好壞,接收端接收的數(shù)據(jù)里肯定存在誤碼。接收端只有同時(shí)知道AES密鑰與LDPC碼具體參數(shù)時(shí)才能得到正確的原始數(shù)據(jù)并且獲得編碼增益。
【專利說(shuō)明】
一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于通信領(lǐng)域,具體涉及一種糾錯(cuò)加密方法。
【背景技術(shù)】
[0002] 無(wú)線通信技術(shù)近年來(lái)在軍事、民用等各方面得到了廣泛應(yīng)用,在給人們帶來(lái)便利 的同時(shí),無(wú)線信道的開(kāi)放性也使得信息安全問(wèn)題變得越來(lái)越突出,信息在傳輸過(guò)程中的安 全性問(wèn)題越來(lái)越受到人們的關(guān)注。傳統(tǒng)的有線通信通常使用數(shù)據(jù)加密等方法來(lái)保障通信安 全,盡管這些方法在無(wú)線通信中仍然可行,但傳統(tǒng)的上層加密解決方案逐漸受限于竊聽(tīng)方 計(jì)算能力的日益增強(qiáng)和Ad-hoc等無(wú)中心網(wǎng)絡(luò)密鑰管理和分配等因素,它們都沒(méi)有完全彌補(bǔ) 由無(wú)線信道的開(kāi)放性所造成的安全漏洞。如何在物理層利用無(wú)線通信系統(tǒng)自身的特點(diǎn)來(lái)解 決通信信息的安全傳輸成為信息安全研究領(lǐng)域新的熱點(diǎn)。
[0003] 另一方面,自二^^一世紀(jì)以來(lái),低密度奇偶校驗(yàn)(LDPC,low-density parity-check) 碼由于其較高的編碼增益以及可高速編譯碼等特點(diǎn) ,已經(jīng)在廣播電視、通信、存儲(chǔ)等 領(lǐng)域得到了廣泛的應(yīng)用。如何將具有高編碼增益的LDPC碼用在信息安全領(lǐng)域,使系統(tǒng)同時(shí) 具有高的安全性和高的抗差錯(cuò)性是近年來(lái)的研究熱點(diǎn)。例如在文獻(xiàn)1《認(rèn)知系統(tǒng)AES-LDPC糾 錯(cuò)加密器的設(shè)計(jì)與性能分析》(系統(tǒng)工程與電子技術(shù),2010年第32卷第1期)與文獻(xiàn)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,高級(jí)加密 標(biāo)準(zhǔn))體制進(jìn)行級(jí)聯(lián),從而使系統(tǒng)同時(shí)獲得LDPC碼的編碼增益以及AES加密體制帶來(lái)的安全 性,但是文中所提供的方法使用的是固定的LDPC碼,沒(méi)有敘述如何變換LDPC碼字,LDPC碼對(duì) 系統(tǒng)的安全性的貢獻(xiàn)較低。而且文獻(xiàn)1中使用的LDPC碼采用隨機(jī)的方法進(jìn)行構(gòu)造校驗(yàn)矩陣, 但是使用生成矩陣來(lái)進(jìn)行編碼,生成矩陣會(huì)非常復(fù)雜,實(shí)用性不強(qiáng)。
[0004] 本發(fā)明提出了一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,將AES加密體制、LDPC變碼 技術(shù)以及加噪技術(shù)相結(jié)合,通過(guò)變換LDPC碼提升系統(tǒng)的安全性。而且本發(fā)明使用的LDPC碼 采用基于雙對(duì)角矩陣的方式進(jìn)行構(gòu)造,使用校驗(yàn)矩陣進(jìn)行編碼,復(fù)雜度低,實(shí)用性好。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提出一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,該方法用于通信 系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)與加密。
[0006] 本發(fā)明所提的糾錯(cuò)加密方法將AES加密體制、LDPC變碼技術(shù)以及加噪技術(shù)相結(jié)合, 在保證糾錯(cuò)能力的同時(shí)提升數(shù)據(jù)的安全性。AES體制主要用于將原始數(shù)據(jù)進(jìn)行擴(kuò)散與非線 性化,保障數(shù)據(jù)的安全性;LDPC碼主要用于對(duì)數(shù)據(jù)進(jìn)行保護(hù),提升數(shù)據(jù)的抗差錯(cuò)能力;LDPC 變碼技術(shù)指在數(shù)據(jù)傳輸過(guò)程中針對(duì)不同幀的待編碼數(shù)據(jù)實(shí)時(shí)變換LDPC碼字(LDPC碼校驗(yàn)矩 陣)的技術(shù),用于提升數(shù)據(jù)的安全性;加噪技術(shù)主要用于使數(shù)據(jù)產(chǎn)生誤碼,用于提升數(shù)據(jù)的 安全性。通過(guò)將AES加密體制、LDPC變碼技術(shù)以及加噪技術(shù)相結(jié)合,使得接收端只有在同時(shí) 知道AES密鑰與LDPC碼具體參數(shù)的情況下才能解析出正確的數(shù)據(jù)并且獲得編碼增益。
[0007] 本發(fā)明中使用的LDPC碼采用基于雙對(duì)角矩陣的方式進(jìn)行構(gòu)造。基于雙對(duì)角矩陣的 方式進(jìn)行構(gòu)造的校驗(yàn)矩陣Η由兩部分組成,一部分為雙對(duì)角矩陣,記為H p,另一部分由若干 循環(huán)子矩陣構(gòu)成,記為Hd。一般地,若LDPC碼的碼長(zhǎng)記為N,信息位長(zhǎng)度記為M,則H p的大小為 (N-M)X(N-M),Hd的大小為(N-M)XM,若構(gòu)成Hd的循環(huán)子矩陣大小為aXa,則H d的每一個(gè)列 塊有(N_M)/a個(gè)子矩陣,記為i,每一個(gè)行塊有M/a個(gè)子矩陣,記為j,顯然,HdSiXj個(gè)大小為 aXa的循環(huán)子矩陣構(gòu)成。由于循環(huán)子矩陣是由單位陣按照預(yù)定的偏移量循環(huán)移位生成的, 因此,對(duì)于一個(gè)給定了碼長(zhǎng)和信息位長(zhǎng)度的LDPC碼,通過(guò)改變H d中循環(huán)子矩陣的大小和偏 移量便能改變LDPC碼校驗(yàn)矩陣,本發(fā)明中使用off set(i,j)表示這些子矩陣的偏移量,其 中,0彡offset(i,j)彡a_l,l彡i彡(N_M)/a,l彡 j彡M/a,顯然,(N_M)/a與M/a為整數(shù)。
[0008] 圖1給出了一個(gè)具有雙對(duì)角矩陣形式的校驗(yàn)矩陣的示例^。出所表示的LDPC碼字的 長(zhǎng)度N為24比特,信息位長(zhǎng)度Μ為12比特。出由町和_兩部分構(gòu)成,分別如圖2和圖3所示。從 圖3可以看出,< 的循環(huán)子矩陣的大小為3X3,巧'的每一個(gè)行塊有(N-M)/a = 4個(gè)循環(huán)子矩 陣塊,的每一個(gè)列塊有M/a = 4個(gè)循環(huán)子矩陣塊。從圖3可以看出,中的構(gòu)成第一個(gè)循 環(huán)子矩陣行塊的循環(huán)子矩陣的偏移量分別為0,1,2,1。
[0009] 對(duì)于一個(gè)給定碼長(zhǎng)為N,信息位長(zhǎng)度為Μ的LDPC碼,本發(fā)明采用LDPC碼變碼技術(shù),在 編碼過(guò)程中實(shí)時(shí)生成校驗(yàn)矩陣,使得每一次編碼采用不同的校驗(yàn)矩陣,即每一次編碼使用 不同的LDPC碼,達(dá)到"一次一碼"的效果。變換LDPC碼的具體方式為改變校驗(yàn)矩陣中的循環(huán) 子矩陣大小和/或循環(huán)子矩陣的偏移量。
[0010] 圖4給出了一個(gè)將Η沖循環(huán)子矩陣的偏移量進(jìn)行改變,得到新的LDPC碼的校驗(yàn)矩 陣出的一個(gè)示例。從圖4可以看出,H2的第一個(gè)循環(huán)子矩陣行塊的循環(huán)子矩陣的偏移量分別 為2,0,2,1。而出的第一個(gè)循環(huán)子矩陣行塊的循環(huán)子矩陣的偏移量分別為0,1,2,1。顯然,通 過(guò)變換循環(huán)子矩陣的偏移量實(shí)現(xiàn)了 LDPC碼校驗(yàn)矩陣的變換。
[0011] 圖5給出了一個(gè)將Η沖循環(huán)子矩陣的大小進(jìn)行改變,得到新的LDPC碼的校驗(yàn)矩陣H3 的一個(gè)示例。從圖5可以看出,H3中的循環(huán)子矩陣大小為4X4,H3共包含有9個(gè)循環(huán)子矩陣。顯 然,通過(guò)變換循環(huán)子矩陣的大小同樣實(shí)現(xiàn)了 LDPC碼校驗(yàn)矩陣的變換。
[0012] 本發(fā)明所提的糾錯(cuò)加密方法中的加噪技術(shù)用于給數(shù)據(jù)添加噪聲,使數(shù)據(jù)產(chǎn)生誤 碼,使得不論信道好壞,接收端總是收到帶誤碼的數(shù)據(jù)。
[0013] 本發(fā)明提供的一種糾錯(cuò)加密方法,其具體操作步驟包括:
[0014] 步驟1:根據(jù)通信系統(tǒng)對(duì)信道編碼信息位長(zhǎng)度與校驗(yàn)位長(zhǎng)度的要求,構(gòu)造出LDPC碼 校驗(yàn)矩陣的基本結(jié)構(gòu),計(jì)算校驗(yàn)矩陣中的循環(huán)子矩陣尺寸參數(shù)a的有效取值范圍;
[0015] 步驟2:對(duì)原始數(shù)據(jù)按照AES體制進(jìn)行加密;
[0016]步驟3:生成LDPC碼校驗(yàn)矩陣中循環(huán)子矩陣的偏移量參數(shù)offSet(i,j),確定當(dāng)次 編碼使用的校驗(yàn)矩陣;
[0017]步驟4:根據(jù)該校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行LDPC編碼;
[0018]步驟5:對(duì)編碼后的數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行加噪處理;
[0019]重復(fù)步驟2到步驟5,完成對(duì)數(shù)據(jù)流的連續(xù)處理
[0020]本發(fā)明提供的糾錯(cuò)加密方法的具體操作步驟如圖6所示。
[0021]所述步驟1中,a的取值需要滿足以下兩個(gè)條件:1. a小于Μ與N-M,且能被Μ與N-M整 除;2. a的取值通常在31到1024之間;
[0022]所述步驟2中采用AES體制對(duì)數(shù)據(jù)進(jìn)行加密時(shí)密鑰長(zhǎng)度可以是128比特、192比特或 256比特;
[0023]所述步驟3中循環(huán)子矩陣偏移量參數(shù)〇fTSet(i,j)根據(jù)用戶的設(shè)定可每次編碼都 進(jìn)行更改,即采取"一次一碼",也可以不更改,即采用固定的LDPC碼。
[0024] 綜上所述,本發(fā)明所提的方法首先對(duì)數(shù)據(jù)按照AES體制進(jìn)行加密,然后對(duì)其進(jìn)行 LDPC編碼,而且對(duì)每一幀數(shù)據(jù)采用不同的LDPC碼,最后對(duì)LDPC碼編碼后的數(shù)據(jù)進(jìn)行加噪,使 其發(fā)生少量誤碼。由于在編碼時(shí)人為加入了誤碼,因此不論信道好壞,接收端接收的數(shù)據(jù)里 肯定存在誤碼,如果接收端知道編碼端所用的LDPC碼的相關(guān)參數(shù),在LDPC譯碼時(shí)便能對(duì)數(shù) 據(jù)進(jìn)行正確的譯碼,從而獲取編碼增益,通過(guò)AES解密過(guò)程便能獲得正確的原始數(shù)據(jù)。如果 接收端不知道編碼端所用的LDPC碼的相關(guān)參數(shù),在LDPC譯碼時(shí)便無(wú)法對(duì)數(shù)據(jù)進(jìn)行正確的譯 碼,無(wú)法對(duì)誤碼進(jìn)行糾正,通過(guò)AES解密過(guò)程后無(wú)法獲得正確的原始數(shù)據(jù)。
【附圖說(shuō)明】
[0025] 圖1為本發(fā)明所涉及的雙對(duì)角形式的校驗(yàn)矩陣的一個(gè)示例。
[0026] 圖2為圖1中校驗(yàn)矩陣中的雙對(duì)角矩陣。
[0027] 圖3為圖1中校驗(yàn)矩陣的準(zhǔn)循環(huán)矩陣。
[0028] 圖4為將校驗(yàn)矩陣中準(zhǔn)循環(huán)矩陣子矩陣的偏移量改變得到新校驗(yàn)矩陣的一個(gè)示 例。
[0029] 圖5為將校驗(yàn)矩陣中準(zhǔn)循環(huán)矩陣子矩陣的大小改變得到新校驗(yàn)矩陣的一個(gè)示例。
[0030] 圖6為本發(fā)明所涉及的加密糾錯(cuò)算法的流程圖。
[0031]圖7為本發(fā)明所涉及的采用(4096,3328)LDPC碼對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)加密的流程示意 圖。
[0032]圖8為本發(fā)明所涉及的(4096,3328)LDPC碼的校驗(yàn)矩陣示意圖。
【具體實(shí)施方式】
[0033]本發(fā)明所提供的通信糾錯(cuò)加密方法,主要包括一簇LDPC碼的構(gòu)造、AES加密、LDPC 編碼與加噪這四個(gè)步驟,下面具體說(shuō)明這四步驟。
[0034] 首先說(shuō)明一簇LDPC碼的構(gòu)造方法。設(shè)LDPC碼的碼長(zhǎng)為N、信息位長(zhǎng)度為Μ,則其校驗(yàn) 位長(zhǎng)度為Ν-Μ,本發(fā)明中LDPC碼的校驗(yàn)矩陣由循環(huán)子矩陣參數(shù)a和循環(huán)子矩陣的偏移量參數(shù) offset(i,j)決定。(CKoffset(i,jXa_l,(N_M)/a,K j<M/a)
[0035] 根據(jù)LDPC編碼對(duì)校驗(yàn)矩陣的循環(huán)子矩陣參數(shù)a的取值要求,a需要小于M與N-M,且 能被兩者整除,而且取值范圍在31與1024之間。通過(guò)求取Μ與N-M的最大公約數(shù),再對(duì)最大公 約數(shù)進(jìn)行因數(shù)分解轉(zhuǎn)換成兩個(gè)數(shù)乘積的形式,取出其中在31與1024之間的數(shù)即是a的有效 取值。a的有效取值可能為多個(gè),依據(jù)本領(lǐng)域內(nèi)公識(shí)常識(shí),隨著a的值的增大,LDPC碼進(jìn)行編 譯碼時(shí)復(fù)雜度會(huì)下降低,糾錯(cuò)性能也會(huì)下降,因此用戶可以根據(jù)實(shí)現(xiàn)復(fù)雜度與糾錯(cuò)性能的 需求選擇a的值。
[0036] a的值確定后,LDPC碼校驗(yàn)矩陣的基本結(jié)構(gòu)便被確定,校驗(yàn)矩陣的循環(huán)子矩陣部分 包含M/a個(gè)子矩陣列塊與(N-M)/a個(gè)子矩陣行塊,共M(N-M)/a2個(gè)循環(huán)子矩陣,因此,循環(huán)子 矩陣的偏移量參數(shù)〇ffset(i,j)的數(shù)目為M(N_M)/a2個(gè),offset(i,j)的取值范圍為0彡 offset(i,jXa_l。在構(gòu)造校驗(yàn)矩陣及編碼過(guò)程中,用戶只需要生成M(N_M)/a2個(gè)取值范圍 為0到a-Ι的數(shù),便能唯一確定LDPC碼,并且,只要改變?nèi)魏我粋€(gè)偏移量,便能得到新的LDPC 碼。
[0037]下面描述對(duì)數(shù)據(jù)采用AES體制進(jìn)行加密的過(guò)程。
[0038] 本發(fā)明中采用標(biāo)準(zhǔn)的AES體制對(duì)數(shù)據(jù)進(jìn)行加密。密鑰長(zhǎng)度可設(shè)為128、192和256比 特。標(biāo)準(zhǔn)的AES加密體制包括S盒變換、行移位、列變換、子密鑰擴(kuò)展四個(gè)步驟,詳細(xì)過(guò)程可參 考相關(guān)資料,此處不作詳述。本發(fā)明中加密模塊每次讀入與密鑰長(zhǎng)度相等的原始數(shù)據(jù)(明 文),然后對(duì)其進(jìn)行按照S盒變換、行移位、列變換、子密鑰擴(kuò)展四個(gè)步驟進(jìn)行加密處理。經(jīng)過(guò) AES加密模塊處理過(guò)的數(shù)據(jù)稱為密文。
[0039] 下面描述對(duì)密文數(shù)據(jù)進(jìn)行LDPC編碼的過(guò)程。
[0040] 本發(fā)明中構(gòu)造的LDPC碼為雙對(duì)角形式的LDPC碼,這類LDPC碼可采用校驗(yàn)矩陣進(jìn)行 編碼,復(fù)雜度較低,便于實(shí)現(xiàn)。LDPC碼編碼器對(duì)數(shù)據(jù)進(jìn)行編碼前,首先讀入校驗(yàn)矩陣的參數(shù)a 與所有的循環(huán)子矩陣偏移量〇ffset(i,j)。然后讀入與LDPC碼信息位長(zhǎng)度Μ相等的密文,對(duì) 其進(jìn)行編碼,編碼完成后得到Ν比特的數(shù)據(jù)。值得指出的是,在對(duì)下一幀Μ比特?cái)?shù)據(jù)進(jìn)行LDPC 編碼時(shí),用戶可以通過(guò)改變a或循環(huán)子矩陣偏移量ofTSet(i,j)來(lái)改變所使用的LDPC碼,從 而實(shí)現(xiàn)數(shù)據(jù)傳輸過(guò)程中"一次一碼"。
[0041] 下面描述對(duì)LDPC編碼后的數(shù)據(jù)進(jìn)行加噪的過(guò)程。
[0042]本發(fā)明所提方法需要對(duì)LDPC編碼后的數(shù)據(jù)進(jìn)行加噪處理。首先產(chǎn)生一個(gè)隨機(jī)數(shù)T, 的值為L(zhǎng)DPC編碼后數(shù)據(jù)發(fā)生誤碼的比特?cái)?shù)目,也可以根據(jù)具體的編碼設(shè)計(jì)而改 變。然后生成T個(gè)隨機(jī)數(shù),這些隨機(jī)數(shù)的范圍在0到Μ之間,這些隨機(jī)數(shù)代表了LDPC碼信息位 發(fā)生錯(cuò)誤的位置。加噪器根據(jù)這T個(gè)數(shù),將LDPC碼相應(yīng)位置的信息位取反,達(dá)到使LDPC編碼 后數(shù)據(jù)發(fā)生錯(cuò)誤的加噪目的。
[0043] 實(shí)施例1:
[0044] 本實(shí)施例說(shuō)明了通過(guò)改變LDPC碼校驗(yàn)矩陣中循環(huán)子矩陣偏移量實(shí)現(xiàn)"一次一碼" 的糾錯(cuò)加密方法。在該示例中,用戶需要使用128比特長(zhǎng)度的密鑰進(jìn)行AES加密,并使用碼長(zhǎng) N為4096、信息位長(zhǎng)Μ為3328的LDPC碼對(duì)數(shù)據(jù)進(jìn)行保護(hù)。
[0045] 步驟1:首先,確定LDPC碼校驗(yàn)矩陣的基本結(jié)構(gòu)形式。
[0046]由于LDPC碼的碼長(zhǎng)N為4096、信息位長(zhǎng)Μ為3328,因此其校驗(yàn)位長(zhǎng)度N-M為768,根據(jù) 前述的LDPC碼構(gòu)造方法中的校驗(yàn)矩陣循環(huán)子矩陣參數(shù)a的取值要求,a需要小于768,且能被 768與3328整除,且大于31。由于768與3328的最大公約數(shù)為256,將256進(jìn)行因數(shù)分解,取出 其中大于31的數(shù),可得到a的有效取值為32、64、128與256。本實(shí)施例中將a設(shè)定為128。此時(shí), LDPC碼校驗(yàn)矩陣的循環(huán)子矩陣部分包含有768/128 = 6個(gè)子矩陣行塊,3328/128 = 26個(gè)子矩 陣列塊,共6X26 = 156個(gè)循環(huán)子矩陣。其結(jié)構(gòu)示意圖如圖8所示。圖中offset(l,1)表示位于 第一個(gè)子矩陣行塊和第一個(gè)子矩陣列塊的循環(huán)子矩陣的偏移量, 〇fTSet(l,2)表示位于第 一個(gè)子矩陣行塊和第二個(gè)子矩陣列塊的循環(huán)子矩陣的偏移量,其余依次類推。
[0047]步驟2 :AES加密模塊對(duì)原始信息按照AES體制進(jìn)行加密處理,由于本實(shí)施例中用戶 設(shè)定的AES密鑰長(zhǎng)度為128比特,所以AES加密模塊每次對(duì)128比特原始信息進(jìn)行處理,可得 到128比特密文信息。由于LDPC碼的信息位長(zhǎng)度為3328比特,為密鑰長(zhǎng)度的26倍,因此,AES 加密模塊工作26次后,便能完成對(duì)3328比特原始信息的加密處理,得到3328比特的密文;
[0048] 步驟3:LDPC編碼器讀入校驗(yàn)矩陣的偏移量信息,得到當(dāng)次編碼所需的校驗(yàn)矩陣。 本實(shí)施例中LDPC碼的校驗(yàn)矩陣共包含156個(gè)循環(huán)子矩陣,即LDPC編碼器需要讀入156個(gè)循環(huán) 子矩陣的偏移量參數(shù)。這些參數(shù)可以通過(guò)用戶設(shè)定或者采用現(xiàn)有的產(chǎn)生偽隨機(jī)數(shù)的方法生 成;
[0049] 步驟4:LDPC編碼器對(duì)AES加密后的密文信息進(jìn)行LDPC編碼。本發(fā)明中采用的LDPC 碼為雙對(duì)角形式的LDPC碼,可使用校驗(yàn)矩陣進(jìn)行編碼,結(jié)構(gòu)簡(jiǎn)單,便于實(shí)現(xiàn)。LDPC編碼器對(duì) 3328比特的密文信息進(jìn)行編碼后得到4096比特?cái)?shù)據(jù)。
[0050] 步驟5:加噪模塊對(duì)LDPC編碼器輸出的數(shù)據(jù)進(jìn)行加噪處理,使數(shù)據(jù)產(chǎn)生誤碼。本實(shí) 施例中假定生成的隨機(jī)數(shù)T的值為5,然后生成5個(gè)隨機(jī)數(shù),假定這5個(gè)數(shù)分別為4,132,268, 578,693。加噪模塊依次對(duì)LDPC編碼器輸出數(shù)據(jù)的第4位,第132位,第268位,578位和693位 進(jìn)行取反,完成對(duì)數(shù)據(jù)的加噪過(guò)程。
[0051] 至此,采用本發(fā)明所提供的方法完成了對(duì)3328比特?cái)?shù)據(jù)的處理。重復(fù)步驟2到步驟 5,并改變LDPC編碼器中的校驗(yàn)矩陣中的循環(huán)子矩陣大小和/或的偏移量,完成對(duì)數(shù)據(jù)流的 連續(xù)處理。
[0052] 實(shí)施例2:
[0053]本實(shí)施例說(shuō)明了通過(guò)改變LDPC碼校驗(yàn)矩陣中循環(huán)子矩陣大小和偏移量實(shí)現(xiàn)"一次 一碼"的糾錯(cuò)加密方法。在該示例中,用戶需要使用128比特長(zhǎng)度的密鑰進(jìn)行AES加密,并使 用碼長(zhǎng)N為4096、信息位長(zhǎng)Μ為3328的LDPC碼對(duì)數(shù)據(jù)進(jìn)行保護(hù)。與實(shí)施例1相比,本實(shí)施例中 僅在步驟1與步驟3有所不同,現(xiàn)將不同點(diǎn)描述如下:
[0054]步驟1:首先,確定LDPC碼校驗(yàn)矩陣的基本結(jié)構(gòu)形式。
[0055] 根據(jù)實(shí)施例1所述,a的有效取值為32、64、128與256。當(dāng)a為128時(shí),LDPC碼校驗(yàn)矩陣 的循環(huán)子矩陣部分包含156個(gè)循環(huán)子矩陣。按照相似的方法,可計(jì)算出a為32、64和256時(shí), LDPC碼校驗(yàn)矩陣的循環(huán)子矩陣部分分別包含2496、624與39個(gè)循環(huán)子矩陣。
[0056] 步驟3: LDPC編碼器讀入循環(huán)子矩陣的尺寸參數(shù)a以及與a相對(duì)應(yīng)的數(shù)量的偏移量 信息,得到當(dāng)次編碼所需的校驗(yàn)矩陣。例如,如果讀入的尺寸參數(shù)a為256,則需要讀入39個(gè) 循環(huán)子矩陣的偏移量參數(shù);如果讀入的尺寸參數(shù)a為64,則需要讀入624個(gè)循環(huán)子矩陣的偏 移量參數(shù)。
[0057]此外,本實(shí)施例的其它步驟與實(shí)施例1相同,可參照實(shí)施,此處不再贅述。
【主權(quán)項(xiàng)】
1. 一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,其特征在于: 所述的糾錯(cuò)加密方法將AES加密體制、LDPC變碼技術(shù)以及加噪技術(shù)相結(jié)合,對(duì)數(shù)據(jù)進(jìn)行 加密與糾錯(cuò)編碼, AES體制用于將原始數(shù)據(jù)進(jìn)行擴(kuò)散與非線性化加密,保障數(shù)據(jù)的安全性; LDPC碼用于對(duì)數(shù)據(jù)進(jìn)行保護(hù),提升數(shù)據(jù)的抗差錯(cuò)能力; LDPC變碼技術(shù)指在數(shù)據(jù)傳輸過(guò)程中實(shí)時(shí)變換LDPC碼字的技術(shù),用于提升數(shù)據(jù)的安全 性; 加噪技術(shù)用于使數(shù)據(jù)產(chǎn)生誤碼,用于提升數(shù)據(jù)的安全性, 通過(guò)將AES加密體制、LDPC變碼技術(shù)以及加噪技術(shù)相結(jié)合,使得接收端只有在同時(shí)知道 AES密鑰與LDPC碼具體參數(shù)的情況下才能解析出正確的數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,且特征在于:其LDPC 碼采用基于雙對(duì)角矩陣的方式進(jìn)行構(gòu)造,其校驗(yàn)矩陣由兩部分組成,一部分為雙對(duì)角矩陣, 另一部分由若干循環(huán)子矩陣構(gòu)成。3. 根據(jù)權(quán)利要求2所述的一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,且特征在于:所使用 的LDPC碼在編碼過(guò)程中能進(jìn)行變換,使得每一次編碼使用不同的LDPC碼,達(dá)到"一次一碼" 的效果;變換LDPC碼的具體方式為改變校驗(yàn)矩陣中的循環(huán)子矩陣大小或循環(huán)子矩陣的偏移 量。4. 根據(jù)權(quán)利要求3所述的改變校驗(yàn)矩陣中的循環(huán)子矩陣大小,其特征在于循環(huán)子矩陣 大小按如下方法確定:假定LDPC碼的碼長(zhǎng)為N、信息位長(zhǎng)度為M,則其校驗(yàn)位長(zhǎng)度為N-M,校驗(yàn) 矩陣循環(huán)子矩陣參數(shù)a需要小于M與N-M,且能被兩者整除,而且取值范圍在31與1024之間, 通過(guò)求取M與N-M的最大公約數(shù),再對(duì)最大公約數(shù)進(jìn)行因數(shù)分解轉(zhuǎn)換成兩個(gè)數(shù)乘積的形 式,取出其中在31與1024之間的數(shù)即是a的有效取值。5. 根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,其特 征在于:對(duì)LDPC編碼后的數(shù)據(jù)進(jìn)行加噪處理,具體方法如下,首先產(chǎn)生一個(gè)隨機(jī)數(shù)T, 20,Τ的值為L(zhǎng)DPC編碼后數(shù)據(jù)發(fā)生誤碼的比特?cái)?shù)目;然后生成T個(gè)隨機(jī)數(shù),這些隨機(jī)數(shù)的范圍 在0到M之間,這些隨機(jī)數(shù)代表了LDPC碼信息位發(fā)生錯(cuò)誤的位置;加噪器根據(jù)這T個(gè)數(shù),將 LDPC碼相應(yīng)位置的信息位取反,實(shí)現(xiàn)加噪。6. 根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述的一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,分為 以下步驟: 步驟1:根據(jù)通信系統(tǒng)的對(duì)信道編碼信息位長(zhǎng)度與校驗(yàn)位長(zhǎng)度的要求,構(gòu)造出LDPC碼校 驗(yàn)矩陣的基本結(jié)構(gòu),計(jì)算校驗(yàn)矩陣中的循環(huán)子矩陣尺寸參數(shù)a的有效取值范圍; 步驟2:對(duì)原始數(shù)據(jù)按照AES體制進(jìn)行加密; 步驟3:生成LDPC碼校驗(yàn)矩陣中循環(huán)子矩陣的偏移量參數(shù)offset(i,j),確定當(dāng)次編碼 使用的校驗(yàn)矩陣; 步驟4:根據(jù)該校驗(yàn)矩陣對(duì)數(shù)據(jù)進(jìn)行LDPC編碼; 步驟5:對(duì)編碼后的數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行加噪處理, 重復(fù)步驟2到步驟5,對(duì)數(shù)據(jù)流進(jìn)行連續(xù)處理, 其中: 所述步驟1中,a的取值需要滿足以下兩個(gè)條件:1. a小于M與N-M,且能被M與N-M整除; 2.a的取值在31到1024之間; 所述步驟2中,采用AES體制對(duì)數(shù)據(jù)進(jìn)行加密時(shí)密鑰長(zhǎng)度可以是128比特、192比特或256 比特; 所述步驟3中,循環(huán)子矩陣偏移量參數(shù)〇fTSet(i,j)根據(jù)用戶的設(shè)定可每次編碼都進(jìn)行 更改,即采取"一次一碼",也可以不更改,即采用固定的LDPC碼。7.根據(jù)權(quán)利要求1至6中任意一項(xiàng)所述的一種基于LDPC變碼技術(shù)的糾錯(cuò)加密方法,是使 用128比特密鑰,使用碼長(zhǎng)N為4096、信息位長(zhǎng)M為3328的LDPC碼的具體方法,其特征在于: 所使用的LDPC碼校驗(yàn)矩陣中循環(huán)子矩陣的尺寸參數(shù)a為128,LDPC碼校驗(yàn)矩陣的循環(huán)子 矩陣部分包含有6個(gè)子矩陣行塊,26個(gè)子矩陣列塊,共156個(gè)循環(huán)子矩陣;在LDPC編碼過(guò)程 中,通過(guò)改變156個(gè)循環(huán)子矩陣的偏移量參數(shù)來(lái)實(shí)現(xiàn)LDPC碼的變換。
【文檔編號(hào)】H04L1/00GK105933107SQ201610258147
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年4月22日
【發(fā)明人】趙嶺, 李眾, 彭皓, 劉榮科
【申請(qǐng)人】北京航空航天大學(xué)