本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種編碼方法及裝置,譯碼方法及裝置。
背景技術(shù):
在相關(guān)技術(shù)中,盡管早在1984年香農(nóng)定理就界定了信道編碼的性能,然而直到1993年渦輪turbo碼出現(xiàn)之前,大多數(shù)信道編碼算法都遠不及香農(nóng)限。所以,turbo碼的誕生意味著在加性高斯白噪聲信道中信道編碼接近香農(nóng)限的開始。在兩年之后,邁克mackay和尼爾neal受turbo碼的啟發(fā)重新發(fā)現(xiàn),很長時間以來被人們忽視的低密度校驗碼(lowdensityparitycheckcode,簡稱為ldpc),有著更為接近香農(nóng)限的性能。ldpc碼是在1962年由gallager提出的,他所提出的這種碼是一種基于稀疏校驗矩陣的線性分組碼。gallager詳細闡述了ldpc碼的構(gòu)造方法、迭代概率譯碼算法以及其理論描述。然而因為其編碼和譯碼需要較高的硬件需求,以及當時bch碼、reed-solomon碼和級聯(lián)碼表現(xiàn)出的簡單而高效的性能,除了少數(shù)的研究人員,例如pinsker和margulis之外,研究人員們并不怎么關(guān)注ldpc碼,甚至于幾乎將其遺忘。
在上個世紀九十年代,mackay等人對低密度奇偶校驗碼進行了再發(fā)現(xiàn),并且證明了當以低于香農(nóng)限的任意碼率進行通信時,基于最大后驗概率譯碼(maximumaposteriori,簡稱為map)算法的ldpc碼的譯碼錯誤概率低至10-7,非常接近于0。
遺憾的是,ldpc碼的最優(yōu)譯碼算法是一個(non-deterministicpolynomial,簡稱為np)完全問題(非多項式時間的困難問題)。mackay同時還論證了gallager譯碼算法有著出色的經(jīng)驗性能。luby等人研究了刪除信道(erasurechannel)之后發(fā)現(xiàn),ldpc碼能夠在較低復雜度的譯碼下達到信道容量,并且提出了一種在刪除信道上的簡單線性時間譯碼算法。目前l(fā)dpc碼的主要研究領(lǐng)域集中于四個不同的方面,它們分別是:校驗矩陣的構(gòu)造、譯碼算法優(yōu)化、性能的分析及l(fā)dpc碼在實際系統(tǒng)中的應用。
從信息論的角度來分析通信系統(tǒng)的安全性要追溯到1949年,香農(nóng)在該年發(fā)表了一篇名為《保密系統(tǒng)的通信理論》的重要文章,從而奠定了用信息論去分析通信系統(tǒng)安全性的基礎(chǔ)。在此之后,wyner及其合作者提出了兩類竊聽信道模型:第一類竊聽信道(wiretapchanneli)和第二類竊聽信道(wiretapchanneloftypeii)。
在第一類竊聽信道模型中,發(fā)送方想將機密消息通過一個離散無記憶的主信道傳送給合法接收者。與此同時,一個竊聽者試圖通過另外一個離散無記憶的竊聽信道來竊聽主信道的輸出。wyner用條件熵h(w|zn)來表示竊聽者對機密消息的疑惑度(這里w為正在發(fā)送的機密消息,zn為竊聽信道的輸出),這個疑惑度也就是第一類竊聽信道模型中衡量安全性的重要參數(shù)。wyner刻畫了由所有可達的傳輸效率-疑惑度對組成的區(qū)域,我們通常把這個區(qū)域叫做容量-疑惑度區(qū)域,即這個區(qū)域內(nèi)所有的點都是可達的,而區(qū)域外所有的點都是不可達的。在此基礎(chǔ)上,wyner定義并刻畫了安全容量這個概念,即在保證竊聽者的疑惑度最大的情況下傳輸效率的最大值。wyner系統(tǒng)論證了通信系統(tǒng)中傳輸效率與安全性之間的折衷關(guān)系(即通信系統(tǒng)的安全性和最大化傳輸不能同時得到保證),這奠定了用信息論去分析通信系統(tǒng)安全性和傳輸效率之間關(guān)系的基礎(chǔ)。在容量-疑惑度區(qū)域的存在性證明中,wyner提出了隨機裝箱(randombinning)的編碼技術(shù)。在考慮安全的信道模型中,該技術(shù)已經(jīng)成為一種最常見的編碼技術(shù)。隨機裝箱是指發(fā)送的消息和一個碼本(一堆碼字組成的集合)一一對應。當發(fā)送方發(fā)送一個具體的消息時,首先找出和此消息相對應的碼本,然后隨機地于此碼本中選取一個碼字發(fā)送出去,該碼字就做為編碼器的輸出。
在wyner提出了第一類竊聽信道模型之后不久,他和ozarow又提出了一個簡化了的竊聽信道模型,即第二類竊聽信道模型。在第二類竊聽信道模型中,主信道是無噪的,同時竊聽者可以從主信道輸出的n長的碼字中任意地選取μ位進行無噪竊聽,也即竊聽者可以得到n長的碼字中任意的μ位。wyner和ozarow給出了第二類竊聽信道模型的容量-疑惑度區(qū)域。
第一、二類竊聽信道模型提出之后,構(gòu)造實際的能逼近信息論意義安全的碼字就成為了編碼領(lǐng)域一個新的研究方向。在第二類竊聽信道模型的研究中,通過具體計算竊聽者的疑惑度,v.k.wei以及forney提出了廣義漢明重量的概念。廣義漢明重量的提出為第二類竊聽信道模型中達到信息論意義安全的實際編碼方案的構(gòu)造指明了方向。當竊聽信道是高斯噪聲,主信道無噪聲的情況下,采用陪集編碼方案且子碼是任意一種可達竊聽信道容量的好碼的對偶碼時,可以達到信息論意義上的安全。在第一類竊聽信道模型編碼方案的研究中,thangaraj指出滿足特定結(jié)構(gòu)的碼可以使系統(tǒng)達到信息論意義上的安全。
針對相關(guān)技術(shù)中的編碼技術(shù)不能達到信息論意義安全的問題,目前還沒有有效地解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種編碼方法及裝置,譯碼方法及裝置,以至少解決相關(guān)技術(shù)中編碼技術(shù)不能達到信息論意義安全的問題。
根據(jù)本發(fā)明的一個方面,提供了一種編碼方法,包括:
獲取待發(fā)送消息,其中,所述待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);
依據(jù)校驗矩陣h對所述待發(fā)送消息進行編碼,獲取碼字rn+k,其中,所述n為所述真實消息的碼字長度,所述校驗矩陣h滿足以下條件:rn+kht=0;
發(fā)送所述碼字rn+k。
進一步地,
所述校驗矩陣h為碼字長度為n+k比特,并且消息長度為l比特的低密度奇偶校驗碼ldpc碼的校驗矩陣,其中,k<l<n+k。
進一步地,通過以下方式確定所述(l-k)比特的隨機消息:
隨機產(chǎn)生一個(l-k)比特的隨機消息;
將所述(l-k)比特的隨機消息通過線性分組碼的生成矩陣生成與所述隨機消息對應的碼字。
進一步地,發(fā)送所述碼字rn+k之前,所述方法還包括以下之一:
所述碼字rn+k劃分為2k個子碼,每一個所述子碼對應一個k比特長度的消息;
從所述k比特真實消息所對應的子碼中隨機選取一個碼字發(fā)送;
確定所述碼字rn+k的實際傳輸速率小于主信道的信道容量,以及所述子碼的實際傳輸速率等于竊聽信道的信道容量。
進一步地,通過以下方式確定所述碼字rn+k的實際傳輸速率小于主信道的信道容量,以及所述子碼的實際傳輸速率等于竊聽信道的信道容量:
其中,所述子碼的實際傳輸速率為
進一步地,求解所述碼字rn+k的方式包括:
由rn+kht=0得出(cn+k-l,sk,dl-k)ht=0,解得cn+k-l,其中,所述sk為所述真實消息向量,所述dl-k為所述隨機消息向量,所述cn+k-l表示編碼之后的n+k-l比特的校驗位;
根據(jù)本發(fā)明的一個方面,提供了一種譯碼方法,包括:
接收碼字rn+k,其中,所述碼字rn+k為通過以下方式得到的碼字:依據(jù)校驗矩陣h對待發(fā)送消息進行編碼,得到碼字rn+k,其中,所述待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù),所述n為所述真實消息的碼字長度,所述校驗矩陣h滿足以下條件:rn+kht=0;
解析所述碼字rn+k。
根據(jù)本發(fā)明的另一方面,提供了一種編碼裝置,包括:
第一獲取模塊,用于獲取待發(fā)送消息,其中,所述待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);
第二獲取模塊,用于依據(jù)校驗矩陣h對所述待發(fā)送消息進行編碼,獲取碼字rn+k,其中,所述n為所述真實消息的碼字長度,所述校驗矩陣h滿足以下條件:rn+kht=0;
發(fā)送模塊,用于發(fā)送所述碼字rn+k。
進一步地,求解所述碼字rn+k的方式包括:
由rn+kht=0得出(cn+k-l,sk,dl-k)ht=0,解得cn+k-l,其中,所述sk為所述真實消息向量,所述dl-k為所述隨機消息向量,所述cn+k-l表示編碼之后的n+k-l比特的校驗位;
根據(jù)本發(fā)明的另一方面,提供了一種譯碼裝置,包括:
接收模塊,用于接收碼字rn+k,其中,所述碼字rn+k為通過以下方式得到的碼字:依據(jù)校驗矩陣h對待發(fā)送消息進行編碼,得到碼字rn+k,其中,所述待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù),所述n為所述真實消息的碼字長度,所述校驗矩陣h滿足以下條件:rn+kht=0;
解析模塊,用于解析所述碼字rn+k。
通過本發(fā)明,獲取待發(fā)送消息,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);依據(jù)校驗矩陣h對該待發(fā)送消息進行編碼,獲取碼字rn+k,其中,該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;發(fā)送該碼字rn+k。解決了編碼技術(shù)不能達到信息論意義安全的問題,實現(xiàn)了安全編碼譯碼。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的一種編碼方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的一種譯碼方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的一種編碼裝置的結(jié)構(gòu)框圖;
圖4是根據(jù)本發(fā)明實施例的一種譯碼裝置的結(jié)構(gòu)框圖;
圖5是根據(jù)本發(fā)明優(yōu)選實施例的適用的信道模型示意圖;
圖6是根據(jù)本發(fā)明優(yōu)選實施例設計的編碼器構(gòu)造方法示意圖;
圖7是根據(jù)本發(fā)明優(yōu)選實施例的曲線圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種編碼方法,圖1是根據(jù)本發(fā)明實施例的一種編碼方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟s102,獲取待發(fā)送消息,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);
步驟s104,依據(jù)校驗矩陣h對該待發(fā)送消息進行編碼,獲取碼字rn+k,其中,該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;
步驟s106,發(fā)送該碼字rn+k。
通過上述步驟,獲取待發(fā)送消息,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);依據(jù)校驗矩陣h對該待發(fā)送消息進行編碼,獲取碼字rn+k,其中,該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;發(fā)送該碼字rn+k。解決了編碼技術(shù)不能達到信息論意義安全的問題,實現(xiàn)了安全編碼譯碼。
在本實施例中,該校驗矩陣h為碼字長度為n+k比特,并且消息長度為l比特的低密度奇偶校驗碼ldpc碼的校驗矩陣,其中,k<l<n+k。
在本實施例中,通過以下方式確定該(l-k)比特的隨機消息:
隨機產(chǎn)生一個(l-k)比特的隨機消息;
將該(l-k)比特的隨機消息通過線性分組碼的生成矩陣生成與該隨機消息對應的碼字。
在本實施例中,發(fā)送該碼字rn+k之前,該方法還包括以下之一:
該碼字rn+k劃分為2k個子碼,每一個該子碼對應一個k比特長度的消息;
從該k比特真實消息所對應的子碼中隨機選取一個碼字發(fā)送;
確定該碼字rn+k的實際傳輸速率小于主信道的信道容量,以及該子碼的實際傳輸速率等于竊聽信道的信道容量。
在本實施例中,通過以下方式確定該碼字rn+k的實際傳輸速率小于主信道的信道容量,以及該子碼的實際傳輸速率等于竊聽信道的信道容量:
其中,該子碼的實際傳輸速率為
在本實施例中,求解該碼字rn+k的方式包括:
由rn+kht=0得出(cn+k-l,sk,dl-k)ht=0,解得cn+k-l,其中,該sk為該真實消息向量,該dl-k為該隨機消息向量,該cn+k-l表示編碼之后的n+k-l比特的校驗位;
圖2是根據(jù)本發(fā)明實施例的一種譯碼方法的流程圖,如圖2所示,該流程包括如下步驟:
步驟s202,接收碼字rn+k,其中,該碼字rn+k為通過以下方式得到的碼字:依據(jù)校驗矩陣h對待發(fā)送消息進行編碼,得到碼字rn+k,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù),該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;
步驟s204,解析該碼字rn+k。
在本實施例中還提供了一種編碼裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖3是根據(jù)本發(fā)明實施例的一種編碼裝置的結(jié)構(gòu)框圖,如圖3所示,該裝置包括
第一獲取模塊32,用于獲取待發(fā)送消息,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);
第二獲取模塊34,用于依據(jù)校驗矩陣h對該待發(fā)送消息進行編碼,獲取碼字rn+k,其中,該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;
發(fā)送模塊36,用于發(fā)送該碼字rn+k。
通過上述步驟,第一獲取模塊32獲取待發(fā)送消息,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);第二獲取模塊34依據(jù)校驗矩陣h對該待發(fā)送消息進行編碼,獲取碼字rn+k,其中,該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;發(fā)送模塊36發(fā)送該碼字rn+k,解決了編碼技術(shù)不能達到信息論意義安全的問題,實現(xiàn)了安全編碼譯碼。
在本實施例中,求解該碼字rn+k的方式包括:
由rn+kht=0得出(cn+k-l,sk,dl-k)ht=0,解得cn+k-l,其中,該sk為該真實消息向量,該dl-k為該隨機消息向量,該cn+k-l表示編碼之后的n+k-l比特的校驗位;
圖4是根據(jù)本發(fā)明實施例的一種譯碼裝置的結(jié)構(gòu)框圖,如圖4所示,該裝置包括:
接收模塊42,用于接收碼字rn+k,其中,該碼字rn+k為通過以下方式得到的碼字:依據(jù)校驗矩陣h對待發(fā)送消息進行編碼,得到碼字rn+k,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù),該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;
解析模塊44,用于解析該碼字rn+k。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述各個模塊均位于同一處理器中;或者,上述各個模塊分別位于不同的處理器中。
下面結(jié)合本發(fā)明優(yōu)選實施例進行詳細說明。
本發(fā)明優(yōu)選實施例公開了一種用于高斯竊聽信道的基于ldpc碼的安全編譯碼方法。本優(yōu)選實施例所設計的編碼譯碼都相對簡單,譯碼時的迭代收斂速度較快。仿真實驗表明本發(fā)明在竊聽信道信噪比較小時具有非常好的效果。
由于在實際通信場景中,計算竊聽者的疑惑度h(w|zn)是一件非常困難的事情,于是我們定義竊聽者的誤比特率來近似代替疑惑度。這里需要注意的是從信息熵的定義來看,竊聽者的疑惑度h(w|zn)取得最大時等價于竊聽者的誤比特率等于0.5,也即竊聽者的譯碼錯誤概率等于0.5?;诖?,本發(fā)明優(yōu)選實施例希望為高斯竊聽信道模型設計出的編譯碼方案具有如下兩個特征:(1)該方案使得合法接收者的誤比特率任意小(即逼近于0);(2)該方案使得竊聽者的誤比特率逼近0.5。
本發(fā)明優(yōu)選實施例記載了一種基于ldpc碼的安全編譯碼方法,設計編碼方案如下:
本發(fā)明優(yōu)選實施例安全編譯碼方案設計的理論依據(jù):在竊聽信道模型的安全編碼定理的存在性證明中,wyner指出要設計出達到信息論安全的編譯碼方案,需要使用一種被稱為“隨機裝箱”的編碼技術(shù)。該編碼技術(shù)將發(fā)射的消息和一堆碼字所組成的箱子一一對應,當給定要傳輸?shù)南r,隨機的從該消息所對應的碼字箱子中選取一個碼字發(fā)送出去。為了讓竊聽者不能正確譯出發(fā)送的消息,需要消耗竊聽者的譯碼能力,wyner指出假設竊聽者知道發(fā)送的具體消息時,如果竊聽者能從該具體消息所對應的碼字箱子中正確找到(“譯出”)發(fā)送的那個隨機碼字時,則竊聽者的譯碼能力就得到了消耗。如果將該具體消息所對應的碼字箱子也看成是一種新的碼字的話,本發(fā)明優(yōu)選實施例希望該新的碼字所對應的傳輸效率等于竊聽信道的信道容量,因為這代表著竊聽者的全部譯碼能力都消耗在譯出該新碼字上,這樣竊聽者就沒有額外的能力去譯出究竟發(fā)送的是哪個消息上了?;趙yner的安全編碼定理證明的上述思想,假設發(fā)送的消息是k比特,碼字的長度為n比特,則本發(fā)明優(yōu)選實施例設計的安全編碼方案需要具備以下三個特點:(a)該安全編碼的碼字可劃分為2k個子碼,每一個子碼對應一個發(fā)送的k位長的消息比特;(b)該碼字的實際傳輸效率
上述設計方案的參數(shù)說明:首先我們需要知道主信道高斯噪聲的噪聲方差
本發(fā)明優(yōu)選實施例安全編譯碼方案的設計步驟如下:
一,按照經(jīng)典的ldpc碼的設計思路設計一個碼字長度為n+k比特,消息長度為l比特的ldpc碼的校驗矩陣,記為h,該矩陣有n+k-l行,有n+k列。
二,l比特的消息中包含了k比特的真實的發(fā)送消息和l-k比特的隨機消息。顯而易見,l滿足如下約束條件k<l<n+k。
三,為了實現(xiàn)wyner在竊聽信道模型的安全編碼定理證明中所描述的編碼方法,即當發(fā)送的k比特消息確定時,隨機的從其對應的碼字箱子中選取一個碼字這種編碼方式,本發(fā)明優(yōu)選實施例首先需要將上述所設計的校驗矩陣為h,長度為n+k比特的ldpc碼按照k比特的真實消息劃分為2k個子碼,每一個子碼的長度為n比特。該類子碼也是一種線性分組碼,該子碼的消息比特即是l-k比特的隨機消息。我們采用如下方式實現(xiàn)“隨機從子碼中選取一個碼字傳送”的編碼方式:(a)通過隨機數(shù)生成器隨機產(chǎn)生一個l-k比特的隨機消息;(b)將該l-k比特的隨機消息通過線性分組碼的生成矩陣生成一個和其一一對應的碼字,然后該將碼字傳送。
四,上述子碼的實際傳輸效率為
五,在給出了上述n,k,l的約束關(guān)系之后,校驗矩陣為h,碼字長度為n+k比特,消息長度為l比特的ldpc碼設計方法如下:(a)將該校驗矩陣h通過高斯消元法化為[a|b]型矩陣,這里注意h矩陣為n+k-l行,n+k列的矩陣,a矩陣為單位矩陣,其行數(shù)和列數(shù)均為n+k-l。b矩陣為一個行數(shù)為n+k-l,列數(shù)為l的矩陣。當給定發(fā)送的真實消息sk,隨機生成的消息為dl-k時,由校驗矩陣的定義,
(cn+k-l,sk,dl-k)ht=0,(公式1)
這里cn+k-l表示編碼之后的n+k-l比特的校驗位。
將h=[a|b]代入(公式1)中,我們有
將(公式2)整理,我們可得
cn+k-l·at+(sk,dl-k)·bt=0(公式3)
進一步整理(公式3),
cn+k-l=(sk,dl-k)·bt·(a-1)t(公式4)
(公式4)給出了當我們知道真實消息sk和隨機生成的消息dl-k時,計算碼字的校驗位的公式。知道了校驗位之后,通過校驗矩陣h而得到的碼字rn+k可表示為
rn+k=(cn+k-l,sk,dl-k)=((sk,dl-k)·bt·(a-1)t,sk,dl-k)(公式5)
六,對于合法用戶來說,碼字rn+k的實際傳輸效率
rn=(cn+k-l,sk,dl-k)=((sk,dl-k)·bt·(a-1)t,dl-k)(公式6)
將rn和rn+k相比,很容易發(fā)現(xiàn)rn是將rn+k中發(fā)送的真實消息sk刪掉,即rn是rn+k的子碼。對于rn而言,其中的消息為dl-k,我們希望竊聽者能正確譯出dl-k,且將其全部的譯碼能力都消耗在譯出dl-k上,這就需要子碼rn的傳輸效率
(公式7)說明對于竊聽者而言,碼字rn+k的實際傳輸效率
合法用戶和竊聽者的譯碼器均采用經(jīng)典置信傳播(beliefpropagation,簡稱為bp)譯碼算法,該譯碼算法分為以下步驟:(1)首先對高斯信道預設信息比特的先驗概率;(2)由信息節(jié)點的信息概率按照置信傳播算法得出各校驗節(jié)點的后驗概率;(3)由校驗節(jié)點的后驗概率推算出信息節(jié)點的后驗概率;(4)將信息節(jié)點的后驗概率對照判決條件作硬判決,若滿足則譯碼結(jié)束;若不滿足,則重復以上的(2)~(4)步驟,反復迭代,直到滿足條件,得出譯碼結(jié)果。如果迭代次數(shù)達到一個預設的最大次數(shù)(例如100),條件仍然不滿足,則宣布譯碼失敗。
圖5是根據(jù)本發(fā)明優(yōu)選實施例的適用的信道模型示意圖,如圖5所示,包括:編碼器,主信道,譯碼器,竊聽信道。
圖6是根據(jù)本發(fā)明優(yōu)選實施例設計的編碼器構(gòu)造方法示意圖,如圖6所示。
本發(fā)明優(yōu)選實施例的實例的具體實施方式采用bp譯碼算法的規(guī)則(3,2)ldpc安全碼。
本實例介紹一種簡單的規(guī)則(3,2)ldpc安全碼?;谌缜八龅陌踩幋a方法,在此例中,n=280,k=20,l=100,snr1=14,snr2取10個不同的值(0.5,0.1,0.05,0.02,0.01,0.0085,0.005,0.0035,0.002,0.001)。首先,我們造一個200行,300列的校驗矩陣(n+k-l行,n+k列),該校驗矩陣由0,1構(gòu)成,每行中1的個數(shù)為2個,每列中1的個數(shù)為3個。這樣的校驗矩陣構(gòu)成的ldpc碼叫做規(guī)則(3,2)ldpc碼。每次我們產(chǎn)生一個20比特的真實消息,以及一個80比特的隨機消息,我們將這些消息通過規(guī)則(3,2)ldpc碼編碼成一個擁有100比特消息位,200比特校驗位的碼字,然后將該碼字通過主信道發(fā)送給合法用戶,通過竊聽信道發(fā)送給竊聽者,且合法用戶和竊聽者的譯碼器均采用經(jīng)典bp譯碼算法進行譯碼。這里需要注意的是我們假設主信道的信噪比固定,而竊聽信道的信噪比是變化的。由n=280,k=20,l=100,snr1=14,我們可以得到
表1
圖7是根據(jù)本發(fā)明優(yōu)選實施例的曲線圖,如圖7所示,圖7給出了主信道的信噪比與竊聽信道信噪比的比值和竊聽者誤比特率之間的關(guān)系。不難看出當比值越大,安全編碼器的效果越好,即當竊聽信道信噪比越小,本發(fā)明所設計的安全編碼器的性能越安全。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1,獲取待發(fā)送消息,其中,該待發(fā)送消息包括:k比特的真實消息,(l-k)比特的隨機消息,其中l(wèi),k均為自然數(shù);
s2,依據(jù)校驗矩陣h對該待發(fā)送消息進行編碼,獲取碼字rn+k,其中,該n為該真實消息的碼字長度,該校驗矩陣h滿足以下條件:rn+kht=0;
s3,發(fā)送該碼字rn+k。
可選地,存儲介質(zhì)還被設置為存儲用于執(zhí)行上述實施例的方法步驟的程序代碼:
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述實施例的方法步驟。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領(lǐng)域的技術(shù)人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。