国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種改進的語音編碼流加密方法

      文檔序號:7646760閱讀:179來源:國知局
      專利名稱:一種改進的語音編碼流加密方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及語音編碼技術(shù)領(lǐng)域。尤其是涉及一種改進的語音編碼流加密方法。
      背景技術(shù)
      隨著通信業(yè)務(wù)需求的飛速增長,為了保證通信業(yè)務(wù)數(shù)據(jù)的傳輸,人們大力開展各種數(shù)據(jù)壓縮技術(shù)的研究工作。而語音信號的壓縮數(shù)字化傳輸,是多年以來人們一直努力的方向。
      現(xiàn)有技術(shù)一般采用低速率語音編碼技術(shù)進行語音傳輸。低速率語音編碼是在盡量減少失真的情況下,降低編碼速率,以便減小傳輸時所占用的帶寬。其相比較于模擬傳輸,可以節(jié)省帶寬,便于實現(xiàn)與互聯(lián)網(wǎng)(Internet Protocol,IP)的融合。
      G.723.1是國際電信聯(lián)盟(International Telecommunication Union,ITU)為低碼率多媒體通信制定的語音編碼標準。該語音編碼方案是ITU-T H.324標準系列的組成部分,能夠以非常低的碼率壓縮語音或多媒體設(shè)備的其它音頻信號分量,具有6.3kbps和5.3kbps兩種碼率。高碼率(6.3kbs)時的激勵信號為多脈沖最大似然量化(Multipulse Maximum Likelihood Quantization,MP-MLQ),低碼率(5.3kbs)時的激勵信號為代數(shù)碼本激勵線性預(yù)測(Algebraic-Code-Excited Linear-Prediction,ACELP)。G.723.1語音信號的幀長30ms,240個采樣值,編碼器采用線性預(yù)測-合成分析編碼,使感知加權(quán)誤差信號最小。
      在編碼過程中,一次輸入一幀,每幀經(jīng)過高通濾波去掉直流分量,然后分成4個子幀,每子幀60個采樣點。用線性預(yù)測分析法(Linear Predictive,LP)對語音信號進行短時預(yù)測分析,對每個子幀用加窗后的語音信號計算其線性預(yù)測編碼(Linear Predictive Coding,LPC)的10階濾波器系數(shù),這4個子幀的LPC系數(shù)將用來建立短時感知加權(quán)濾波器,這個濾波器作用于整個幀并且得到感知加權(quán)信號。最后一子幀的LPC濾波器系數(shù)還將被轉(zhuǎn)換成線譜對(Line Spectrum Pairs,LSP)系數(shù),然后使用預(yù)測分裂矢量量化器量化。
      如圖1所示,為G.723.1編碼原理圖。G.723.1利用語音樣點間的短時相關(guān)性和相鄰語音段的長時相關(guān)性,以及對語音去除兩種相關(guān)后的余量信號分別進行編碼。
      首先進行語音短時分析編碼1)語音信號經(jīng)過高通濾波后的240個點和上一幀的后120個點合成360個樣點,若當前幀為語音信號的第一幀,則前面的120個樣點就全為0;2)把樣點分成相互交疊的4段,每一段長180,用漢明窗函數(shù)相乘加權(quán),以減小分段帶來的吉普斯效應(yīng);3)通過自相關(guān)函數(shù)等計算,求得線性預(yù)測系數(shù)。由語音信號的短時相關(guān)性,可知語音信號的預(yù)測系數(shù)在幀內(nèi)變化不會很大,所以在本編碼器中僅用最后10個預(yù)測系數(shù)(每一幀內(nèi)最后一個子幀的LPC參數(shù))來近似代替本幀語音的預(yù)測系數(shù)。
      其次,把每一個子幀的LPC參數(shù)轉(zhuǎn)換為線譜對(LSP)參數(shù),用預(yù)測分裂矢量量化(Predictive Split Vector Quantizer,PSVQ)器量化、編碼后加以傳送把線譜對(LSP)殘差矢量(去除了長時直流分量的LSP矢量與LSP預(yù)測矢量的差值,是10維矢量)分成3個子矢量,維數(shù)分別是3、3、4,然后對每個子矢量進行8bit碼本量化,這樣就產(chǎn)生了3個8bit碼本矢量,共24位碼本。
      為了提高量化感知質(zhì)量,高通濾波后的語音信號需通過共振峰感知加權(quán)濾波器和諧振峰噪聲整形濾波器,對語音信號進行濾波,以生成初始目標信號。共振峰感知加權(quán)濾波器的參數(shù)由各子幀未量化的LPC系數(shù)構(gòu)成;諧振峰噪聲整形濾波器的參數(shù)通過對每兩子幀進行開環(huán)基音周期估計得到。
      對語音信號進行加權(quán)濾波和諧噪聲濾波,其間還對信號作長時分析(即基音成分,也即周期成分),即先后進行開環(huán)基音估計和閉環(huán)基音預(yù)測,得到語音長時參數(shù)編碼,最后對語音去除長時相關(guān)。其中,偶子幀的基音周期(自適應(yīng)碼本)用7比特編碼,奇子幀的基音周期用2比特差分編碼。
      而余量信號由目標向量減去長時貢獻得到。對余量信號的編碼(固定碼本)可選擇6.3kbit/s或5.3kbit/s兩種碼率。前者(MP-MLQ算法)利用余量信號中小信號對合成語音質(zhì)量影響不大,故可以對余量信號進行削波處理留下幅度較大者進行編碼;后者(ACELP算法)用碼本中存儲的碼字來替代余量信號,以搜索出與余量信號之間均方誤差最小的碼矢量進行傳輸。兩種算法的區(qū)別在于用來代替余量信號的編碼脈沖數(shù)目不同代數(shù)碼本激勵線性預(yù)測(ACELP)所用的脈沖數(shù)略少于MP-MLQ的脈沖數(shù)。
      如圖2所示,為G.723.1解碼原理圖,其首先從接收碼流中提取LSP碼本索引值,經(jīng)過LSP解碼、內(nèi)插得到每一子幀的LSP參數(shù),轉(zhuǎn)換為LPC參數(shù),構(gòu)成LPC合成濾波器。然后從接收碼流中提取每一子幀的基音周期、基音增益碼本索引和激勵脈沖信息,分別經(jīng)過基音解碼和激勵解碼得到激勵信號e(n),對其進行基音濾波再經(jīng)過合成濾波器獲得重建語音,重建語音經(jīng)過共振峰后濾波器和增益調(diào)整單元即得到解碼器的最后輸出。
      由以上過程可知,被編碼器處理后的一幀信號需傳輸?shù)膮?shù)包括聲道參數(shù),即LSP參數(shù),用以在解碼端構(gòu)造LPC合成濾波器;激勵參數(shù),即基音周期參數(shù)與長時預(yù)測增益參數(shù),隨機碼本的脈沖位置參數(shù)和增益參數(shù)。
      傳統(tǒng)的語音編碼加密方法都是對G.723.1壓縮語音流整體進行加密。
      傳統(tǒng)的加密算法的分為兩大類,對稱加密和非對稱加密。對稱加密又分為序列加密和分組加密,3DES(3 Data Encryption Standard)和AES(AdvancedEncryption Standard)都屬于分組加密算法。
      因為非對稱加密算法的運算速度較慢,而多媒體信息流相較于一般文本信息而言,其數(shù)據(jù)量十分龐大,而其實時性要求一般又較高,因此對媒體內(nèi)容的加密不采用非對稱加密算法。
      對稱密鑰密碼體制從加密模式上可分為序列密碼和分組密碼。由于對G.723.1的選擇性加密導致需加密的位數(shù)不連續(xù)、不確定(不同安全等級要加密的位數(shù)不一樣),而分組加密是對固定長度的明文進行加密,算法比較復雜,此處也不適用。序列加密(流加密)方法主要采用生成的偽隨機序列和明文異或得到密文,但是需加密的比特位不連續(xù),此時的異或操作若按位進行,相較于以字節(jié)為單位的操作,此法效率較低,得不償失。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的問題在于提供一種改進的語音編碼流加密方法,其相比分組算法,速度更快,從所使用的密鑰流來看,其抗密鑰分析攻擊的能力更強,相比于一般混沌流加密,更適合于對多媒體數(shù)據(jù)的選擇性加密。
      為實現(xiàn)本發(fā)明目的而提供的一種改進的語音編碼流加密方法,其采用混沌流加密方法,異或操作以字節(jié)為單位,并對所述流加密方法中的密鑰流進行重復利用,進行語音編碼加密。
      對產(chǎn)生的密鑰流進行適當重復利用,在不明顯降低其安全性的情況下,減少為產(chǎn)生密鑰流而進行混沌迭代的計算次數(shù),以提高加密效率,降低系統(tǒng)能耗,本發(fā)明為配合G.723.1語音編碼的選擇性加密作出,適用于多媒體數(shù)據(jù)的選擇性加密中,但在實施過程中應(yīng)當與具體多媒體數(shù)據(jù)格式相結(jié)合考慮。
      所述混沌流加密方法為以Logistics映射的一維非線性迭代方法表征的混沌流加密方法。
      所述Logistics映射可以為自治一維離散動態(tài)系統(tǒng)是Logistics映射,它是用一維非線性迭代方法來表征混沌行為,其迭代函數(shù)如下式所示F(xn)=λxn(1-xn)其中,n=0,1,2……,x0和λ為調(diào)節(jié)參數(shù)。
      所述的Logistics映射也可以采用改進的Logistics地圖映射,用一維非線性迭代方法來表征混沌行為,其迭代函數(shù)下式所示G(x)=(β+1)(1+1/β)β×(1-x)β其中,β∈(1,4),x0∈(0,1),x的初始值為x0,通過此式迭代可以得到x1,x2,x3,...xn...。
      所述語音編碼為G.723.1標準語音編碼。
      所述G.723.1標準語音編碼的語音編碼幀加密過程包括如下步驟步驟A,首先收到語音幀的第一幀,判斷幀速率和安全等級,據(jù)此確定與之相對應(yīng)的需加密的字節(jié)序號表和比特位位置表;步驟B,查找需加密的比特位位置表,取出對應(yīng)的值,與混沌生成的密鑰流相與,根據(jù)需加密的字節(jié)序號表,查找出語音幀中需要加密的字節(jié),將此字節(jié)與前述相與的結(jié)果進行異或,結(jié)果送回該字節(jié)。
      所述G.723.1標準語音編碼的語音編碼幀加密過程還包括下列步驟步驟C,如果語音幀還有字節(jié)需要加密,重復步驟B,直到該語音幀加密完成。
      進一步地,所述G.723.1標準語音編碼的語音編碼幀加密過程還包括下列步驟在當前語音幀加密完成后,取下一幀語音幀,判斷是否為靜音幀,如果是靜音幀則不執(zhí)行加密操作,繼續(xù)取下一幀;如果不是靜音幀,則重復步驟A~C,直到全部幀加密完成。
      所述G.723.1標準語音編碼的語音編碼幀的比特位按照敏感性劃分為五類CLASS1,CLASS2,CLASS3,CLASS4,CLASS5,CLASS1類中的比特位敏感性最高,CLASS2其次,依次類推。
      因此,最低安全等級Level1的加密是對CLASS1中的比特位加密,高一安全等級Level2的是對CLASS1和CLASS2中的比特位加密,...,最高安全等級Level4的加密是對五類中的前4類比特位進行加密。
      其中,CLASS是對比特位的分類,Level是對安全等級的劃分。
      當安全等級為Level1時,加密CLASS1中的比特位,在G.723.1標準語音幀的高速率模式下對語音幀中的48bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的38bit位加密;當安全等級為Level2時,加密CLASS1和CLASS2中的比特位,在G.723.1標準語音幀的高速率模式對語音幀中的62bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的52bit位加密;當安全等級為Level3時,加密CLASS1、CLASS2和CLASS3中的比特位,在G.723.1標準語音幀的高速率模式下對語音幀中的74bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的64bit位加密;當安全等級為Level4時,加密CLASS1、CLASS2、CLASS3和CLASS4中的比特位,在G.723.1標準語音幀的高速率模式下對語音幀中的86bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的76bit位加密。
      本發(fā)明的有益效果是本發(fā)明的改進的語音編碼流加密方法,相比分組算法,速度更快,從所使用的密鑰流來看,其抗密鑰分析攻擊的能力更強。進一步地,本發(fā)明的流加密方法,在迭代過程中,為了減少密鑰流的計算量,結(jié)合G.723.1幀結(jié)構(gòu)所選擇的需要加密部分位置的特點,適當?shù)貙煦缌髅荑€流進行重復使用,而不顯著影響其安全性能。相比于一般混沌流加密,本方法更適合于對多媒體數(shù)據(jù)的選擇性加密。


      圖1為現(xiàn)有技術(shù)G.723.1標準語音幀的語音編碼原理圖;圖2為現(xiàn)有技術(shù)G.723.1標準語音幀的語音解碼原理圖;圖3為本發(fā)明語音編碼流加密方法加密過程示意圖;圖4為本發(fā)明一實施例G.723.1標準語音幀高速率幀安全等級為1時第3字節(jié)開始加密過程示意圖;圖5為圖4所示G.723.1標準語音幀第10字節(jié)加密過程示意圖;圖6為圖4所示G.723.1標準語音幀第11字節(jié)加密過程示意圖;圖7為圖4所示G.723.1標準語音幀第12字節(jié)加密過程示意圖;圖8為圖4所示G.723.1標準語音幀第14字節(jié)加密過程示意圖;圖9為圖4所示G.723.1標準語音幀的下一幀從第3字節(jié)開始加密過程示意圖。
      具體實施例方式
      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明的一種改進的語音編碼流加密方法進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
      下面詳細說明本發(fā)明改進的語音編碼流加密方法綜合考慮語音編碼加密的特點、效率以及安全性,本發(fā)明實施例的語音編碼流加密方法采用混沌流加密方法,異或操作以字節(jié)為單位,并對所述流加密方法中的密鑰流進行重復利用,進行語音編碼加密。
      流加密的優(yōu)點是錯誤擴展小、實時性高,其保密度取決于密鑰發(fā)生器產(chǎn)生的密鑰序列的隨機性,當密鑰序列非常接近隨機序列時,其安全性很高。
      此混沌流加密方法可用于G.723.1語音編碼的語音幀的選擇性加密。進一步地,對以Logistics映射迭代得到的密鑰流進行適當?shù)闹貜屠谩?br> 對產(chǎn)生的密鑰流進行適當重復利用,在不明顯降低其安全性的情況下,減少為產(chǎn)生密鑰流而進行混沌迭代的計算次數(shù),以提高加密效率,降低系統(tǒng)能耗,本發(fā)明為配合G.723.1語音編碼的選擇性加密作出,適用于多媒體數(shù)據(jù)的選擇性加密中,但在實施過程中應(yīng)當與具體多媒體數(shù)據(jù)格式相結(jié)合考慮。
      一般的混沌流加密是一次性的使用密鑰,在本發(fā)明實施例中可以適當?shù)闹貜褪褂妹荑€流,是因為對G.723.1實行的選擇性加密,造成語音幀中的每一字節(jié)需要加密的比特位不相同,即使用相同的密鑰對兩個字節(jié)進行加密,其實際使用的效果還是相當于兩個密鑰。
      較佳地,所述混沌流加密方法為以Logistics映射的一維非線性迭代方法表征的混沌流加密方法。
      所述的Logistics映射為自治一維離散動態(tài)系統(tǒng)是Logistics映射,它是用一維非線性迭代方法來表征混沌行為,其迭代函數(shù)如式(1)所示。
      F(xn)=λxn(1-xn)(1)其中,x0和λ為調(diào)節(jié)參數(shù),當x0∈(0,1),λ∈(3.5699456...,4)時,Logistics映射工作于混沌態(tài),即由初始條件x0在Logistics映射的作用下所產(chǎn)生的序列{xk,k=0,1,2,3...}是非周期的、不收斂的,且對初始值和參數(shù)非常敏感。
      進一步地,為了克服流加密方法中,采用的偽隨機序列發(fā)生器為線性同余發(fā)生器或線性反饋移位寄存器,安全性都較差,易被破解的缺陷。作為另一種可實施的方式,可以采用改進的混沌流加密方法。
      式(1)所示的混沌函數(shù)有兩個問題,一個是函數(shù)的固定點,即多次迭代趨近于某一個固定值,另一個是“穩(wěn)定窗”,即在某個區(qū)間的點聚集,窗中產(chǎn)生的迭代序列不能提供作為密鑰流所必須的安全性。
      因此,所述的Logistics映射采用改進的Logistics地圖(Logistics map)映射,用一維非線性迭代方法來表征混沌行為,其迭代函數(shù)如式(2)所示G(x)=(β+1)(1+1/β)β×(1-x)β(2)其中,β∈(1,4),x0∈(0,1),x的初始值為x0,通過此式迭代可以得到x1,x2,x3,...xn...。
      理論上式(2)產(chǎn)生的序列是非周期的,但由于受到計算機字長的限制,由計算機仿真得到的混沌序列都只是對客觀混沌的逼近,因此有一個“循環(huán)窗”問題,就是經(jīng)過若干次迭代,迭代值出現(xiàn)周期性。根據(jù)測試的結(jié)果,在采用雙精度的浮點運算時,可用的迭代平均次數(shù)>=2*107。
      因此,更進一步地,對混沌密鑰流的使用進行改進,結(jié)合對G.723.1幀結(jié)構(gòu)所選擇的需要加密部分位置的特點,可以適當?shù)貙煦缑荑€流進行重復使用,而不十分影響其安全性能,從而提高效率。
      本發(fā)明的改進的語音編碼流加密方法,將明文直接和密鑰流進行異或,相比分組算法,速度更快。同時,為了增強安全性,本發(fā)明的語音編碼流加密方法中使用的密鑰流為混沌序列,由改進Logistic地圖映射得。進一步地,本發(fā)明的流加密方法,在迭代過程中,為了減少密鑰流的計算量,結(jié)合G.723.1幀結(jié)構(gòu)所選擇的需要加密部分位置的特點,適當?shù)貙煦缌髅荑€流進行重復使用,而不顯著影響其安全性能。
      下面結(jié)合G.723.1標準語音編碼的語音編碼幀,以該語音編碼幀壓縮數(shù)據(jù)流的比特位選擇性加密為例,詳細說明本發(fā)明的改進的語音編碼流加密方法步驟A,首先收到語音幀的第一幀,判斷幀速率和安全等級,據(jù)此確定與之相對應(yīng)的需加密的字節(jié)序號表和比特位位置表;步驟B,查找需加密的比特位位置表,取出對應(yīng)的值,與混沌生成的密鑰流的相與,根據(jù)需加密的字節(jié)序號表,查找出語音幀中需要加密的字節(jié),將此字節(jié)與前述相與的結(jié)果進行異或,結(jié)果送回該字節(jié)。
      步驟C,如果語音幀還有字節(jié)需要加密,重復步驟B,直到該語音幀加密完成。
      步驟D,在當前語音幀加密完成后,取下一幀語音幀,判斷是否為靜音幀,如果是靜音幀則不執(zhí)行加密操作,繼續(xù)取下一幀;如果不是靜音幀,則重復步驟A~C,直到全部幀加密完成。
      為了說明本發(fā)明的的改進的語音編碼流加密方法,首先說明G.723.1標準幀結(jié)構(gòu)。
      如表1所示為低速率幀5.3kbps模式G.723.1語音編碼后的比特分配幀結(jié)構(gòu)
      表1 低速率幀5.3kbps模式G.723.1語音編碼后的比特分配幀結(jié)構(gòu)表

      如表2所示為高速率幀6.3kbps模式G.723.1語音編碼后的比特分配幀結(jié)構(gòu)表2 高速率幀6.3kbps模式G.723.1語音編碼后的比特分配幀結(jié)構(gòu)表


      通過對G.723.1的編碼過程的分析,對照幀結(jié)構(gòu),可以確定幀中各個參數(shù)的作用1)LPC索引是LPC參數(shù),用于在解碼端構(gòu)造LPC合成濾波器,十分關(guān)鍵,LPC系數(shù)和最后的語音的可理解性(即語義)有著密切關(guān)聯(lián);2)聯(lián)合增益GAIN0、GAIN1、GAIN2、GAIN3是自適應(yīng)碼本和固定碼本的增益的聯(lián)合編碼,增益參數(shù)影響著人耳對語音的通話與靜音期的分辨能力;3)ACL0、ACL1、ACL2、ACL3分別代表第一、二、三、四子幀的自適應(yīng)碼本延時,它們代表語音激勵中的長時基音,也即周期脈沖成分,這個成分影響著人耳對語音的性別判斷;4)脈沖符號(PSIG0,PSIG1,PSIG2,PSIG3)和脈沖位置(POS0,POS1,POS2,POS3)分別代表固定碼本(語音激勵中的非周期脈沖成分)的編碼脈沖的符號和位置。固定碼本是在對激勵信號的編碼過程中,對目標矢量和長時基音貢獻的差值的逼近,是總激勵的余量信號,因此其重要性低于自適應(yīng)碼本,在自適應(yīng)碼本已有效加密的基礎(chǔ)上,固定碼本相關(guān)參數(shù)的加密優(yōu)先級可置后考慮。
      因此,通過對語音加密效果的衡量標準和G.723.1各參數(shù)作用的聯(lián)合考慮,明確LPC參數(shù)、聯(lián)合增益和自適應(yīng)碼本三個參數(shù)非常重要,在選擇加密參數(shù)時需要首先考慮,固定碼本參數(shù)的加密可以置后考慮。
      進一步地,根據(jù)G.723.1的附件C中對幀比特位的誤碼敏感性的排列順序,可以得到G.723.1的編碼比特幀結(jié)構(gòu)編碼敏感性的排列順序。
      把G.723.1標準幀的比特位按照敏感性劃分為五類CLASS1,CLASS2,CLASS3,CLASS4,CLASS5,CLASS1類中的比特位敏感性最高,CLASS2其次,依次類推。因此,最低安全等級Level1的加密是對CLASS1中的比特位加密,高一安全等級Level2的是對CLASS1和CLASS2中的比特位加密,...,最高安全等級Level4的加密是對五類中的前4類比特位進行加密。其中,CLASS是對比特位的分類,Level是對安全等級的劃分。
      在G.723.1的標準幀結(jié)構(gòu)高速率模式(6.3kbps)下,比特位的主觀敏感性排序號如表3所示。特別需要說明的是,本表沒有給出各比特位的精確排序,而是根據(jù)敏感性做了大致的類別劃分,劃分為五類表示其敏感性由高至低。
      表3在G.723.1的標準幀結(jié)構(gòu)高速率模式(6.3kbps)下,比特位的主觀敏感性排序號


      在G.723.1的標準幀結(jié)構(gòu)低速率模式(5.3kbps)下,比特位的主觀敏感性排序號如表4所示表4在G.723.1的標準幀結(jié)構(gòu)低速率模式(5.3kbps)下,比特位的主觀敏感性排序號


      從表3和表4可以得到,當安全等級為Level1時,加密CLASS1中的比特位,在高速率模式(6.3kbps)下共需要加密CLASS1中的48位,因此對語音幀中的48bit位加密;在低速率模式(5.3kbps)下共需要加密CLASS1中的38位,因此對語音幀中的38bit位加密;當安全等級為Level2時,加密CLASS1和CLASS2中的比特位,在高速率模式(6.3kbps)下還需要加密CLASS2中的14位,因此對語音幀中的48+14=62bit位加密;低速率模式(5.3kbps)下還需要加密CLASS2中的14位,因此對語音幀中的38+12=52bit位加密;當安全等級為Level3時,加密CLASS1、CLASS2和CLASS3中的比特位,在高速率模式(6.3kbps)下還需要加密CLASS3中的12位,因此對語音幀中的62+12=74bit位加密;在低速率模式(5.3kbps)下還需要加密CLASS3中的12位,因此對語音幀中的52+12=64bit位加密;當安全等級為Level4時,加密CLASS1、CLASS2、CLASS3和CLASS4中的比特位,在高速率模式(6.3kbps)下還需要加密CLASS4中的12位,因此對語音幀中的74+12=86bit位加密;在低速率模式(5.3kbps)下還需要加密12位,因此對語音幀中的64+12=76bit位加密。
      作為一種可實施的方式,所述安全等級和選擇性加密一幀中各字節(jié)需加密的比特位置表的數(shù)據(jù)結(jié)構(gòu)可以表示如下/*安全等級*/
      #define SECURITY_LEVEL1 1 //需要加密以上提出的CLASS1中的比特位#define SECURITY_LEVEL2 2 //需要加密以上提出的CLASS1~2中的比特位#define SECURITY_LEVEL3 3 //需要加密以上提出的CLASS1~3中的比特位#define SECURITY_LEVEL4 4 //需要加密以上提出的CLASS1~4中的比特位/*選擇性加密一幀中需加密的字節(jié)序號表*/byte highrate_bytepos_list[]={3,4,5,6,7,8,9,10,11,12,13,14};byte lowrate_bytepos_list[]={3,4,5,6,7,8,9,10,11,12};/*選擇性加密一幀中各字節(jié)需加密的比特位置表*/byte highrate_levell_bitpos_list[]={0xf0,0xff,0xfd,0x0b,0xf0,0x00,0x0f,0xf0,0x00,0x0f,0xf0,0x3f};//高速率、安全等級等級1時,選用的比特位置表byte highrate_level2_bitpos_list[]={0xff,0xff,0xff,0x0f,0xfc,0xc0,0x0f,0xfc,0xc0,0x0f,0xf0,0x3f};//高速率、安全等級等級2時,選用的比特位置表byte highrate_level3_bitpos_list[]={0xff,0xff,0xff,0x8f,0xff,0xf8,0x8f,0xff,0xf8,0x0f,0xf0,0x3f};//高速率、安全等級等級3時,選用的比特位置表byte highrate_level4_bitpos_list[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0x3f};//高速率、安全等級等級4時,選用的比特位置表byte lowrate_level1_bitpos_list[]={0xf0,0xff,0xfd,0x0b,0xf0,0x00,0x0f,0xf0,0x00,0x0f};//低速率、安全等級等級1時,選用的比特位置表
      byte lowrate_level2_bitpos_list[]={0xff,0xff,0xff,0x0f,0xfc,0xc0,0x0f,0xfc,0xc0,0x0f};//低速率、安全等級等級2時,選用的比特位置表byte lowrate_level3_bitpos_list[]={0xff,0xff,0xff,0x8f,0xff,0xf8,0x8f,0xff,0xf8,0x0f};//低速率、安全等級等級3時,選用的比特位置表byte lowrate_level4_bitpos_list[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f};//低速率、安全等級等級4時,選用的比特位置表如圖3所示,為本發(fā)明語音編碼流加密方法加密過程示意圖。
      下面詳細說明本發(fā)明語音編碼流加密方法執(zhí)行加密操作的具體方法過程首先,G.723.1的幀大小有三種24字節(jié)(6.4kbit/s幀),20字節(jié)(5.3kbit/s幀)和4字節(jié),其中4字節(jié)幀為SID(靜音插入指示語),三種幀如何間隔沒有限制。其幀的大小通過每幀的頭兩個比特VADFLAG_B0和RATEFLAG_B0反映。其對應(yīng)關(guān)系如表9所示表9 VADFLAG_B0和RATEFLAG_B0與每幀比特數(shù)的對應(yīng)關(guān)系表

      因此,可以看出,VADFLAG_B0和RATEFLAG_B0兩位是用來區(qū)別G.723.1的三種幀的,不能加密。
      根據(jù)這種幀結(jié)構(gòu)特點,保留每幀幀頭VADFLAG_B0和RATEFLAG_B0是必要的,以此判斷是否屬于靜音幀。
      同時,在G.723.1編碼中,由于語音的有效數(shù)據(jù)都包含在每幀24字節(jié)和20字節(jié)的語音幀中,而靜音幀包含的是無效的數(shù)據(jù)量,所以在加密時就不用對靜音幀進行加密,這樣可以減少加密的數(shù)據(jù)量。
      在本發(fā)明實施例中,如圖4所示;以高速率語音幀、安全等級為1的情況為例進行分析說明,此時要加密的字節(jié)序號表選用byte highrate_bytepos_list[],比特位置表選用byte highrate_level1_bitpos_list[]。
      其中,高速率語音幀71(一幀24字節(jié))中,斜體帶下劃線表示此字節(jié)有需要加密的位,否則沒有。
      數(shù)組72表示長度為12的字節(jié)(byte)型數(shù)組,它的第一項存放的數(shù)據(jù)對應(yīng)于語音幀的第三幀,前四位為1表示語音幀第三幀前四位需要加密,后四位則不需要,依此類推。
      數(shù)組keyList[8]73表表Xi小數(shù)點后取64位二進制位,生成8字節(jié)的字節(jié)型(byte)型數(shù)據(jù),存入數(shù)組keyList[8]73中。
      具體包括如下步驟步驟S1,首先收到語音幀的第一幀,此處經(jīng)判定后假設(shè)為高速率幀,安全等級為1,查找密鑰流數(shù)組byte highrate_bytepos_list[]的第1項為3,說明語音幀的第3字節(jié)有要加密的位;步驟S2,根據(jù)密鑰流數(shù)組byte highrate_level1_bitpos_list[]的第1項記錄語音幀的第3字節(jié)需要加密的比特位,取出其值11110000,比特位為1說明相應(yīng)語音幀字節(jié)的比特位需要加密,否則不用;步驟S3,將11110000與數(shù)組keyList[](存放生成的64位密鑰流)的第1項相與,得到的結(jié)果與語音幀的第3字節(jié)進行異或,結(jié)果送回語音幀第3字節(jié);步驟S4,再查找數(shù)組byte highrate_bytepos_list[]的第2項為4,說明語音幀的第4字節(jié)有要加密的位;步驟S5,數(shù)組byte highrate_level1_bitpos_list[]的第2項記錄語音幀的第4字節(jié)需要加密的比特位,取出其值11111111;
      步驟S6,與數(shù)組keyList[]的第2項相與,得到的結(jié)果與語音幀的第4字節(jié)進行異或,結(jié)果送回語音幀第4字節(jié)。
      以此類推,直到將語音幀的第10字節(jié)加密完成,如圖5所示。
      步驟S7,當語音幀的第11個字節(jié)需要加密時,keyList[]表回到表頭第1項,用此字節(jié)與語音幀第11字節(jié)進行異或加密。
      如圖6所示,當進行到步驟S237時,keyList[]的第8個字節(jié)也已用完,當語音幀的第11個字節(jié)需要加密時,keyList[]表回到表頭第1項,用此字節(jié)與語音幀第11字節(jié)進行異或加密。因為語音幀每一字節(jié)要加密的比特位并不相同,即使keyList[]重復使用,其中每一次真正使用到的比特位也不盡相同。
      步驟S8,向后滑動繼續(xù)加密第12字節(jié),同時,keyList[]表也向后滑動到第2項,byte highrate_bytepos_list[]和byte highrate_level1_bitpos_list[]也向后移動一項;如圖7所示,語音幀第11字節(jié)加密完后,向后滑動繼續(xù)加密第12字節(jié),同時,keyList[]表也向后滑動到第2項,byte highrate_bytepos_list[]和bytehighrate_level1_bitpos_list[]也向后移動一項;以此類推,至加密完成語音幀第14字節(jié),此語音幀加密完成,因為第14字節(jié)以后沒有需要加密的字節(jié),如圖8所示。
      步驟S9,在當前語音幀加密完成后,取下一幀語音幀,判斷是否為靜音幀,如果是靜音幀則不執(zhí)行加密操作,繼續(xù)取下一幀;如果不是靜音幀,則重復步驟S1~8,直到全部幀加密完成;此時,如圖9所示,keyList[]表從第2項開始使用,與語音幀第1個需要加密的字節(jié)(即字節(jié)3)進行異或操作。
      后續(xù)操作和上一幀語音幀一樣,語音幀字節(jié)、keyList[]、byte highrate_bytepos_list[]和byte highrate_level1_bitpos_list[]都相應(yīng)向后移動,逐字節(jié)進行異或加密。直到keyList[]第8項使用完,回到其表頭第1項,再繼續(xù)和語音幀下一字節(jié)異或加密,直到此語音幀加密完成。
      再取下一非靜音語音幀,keyList[]表從第3項開始使用,與上類似和語音幀逐字節(jié)進行異或加密,直到此幀加密完成。
      再取下一非靜音語音幀,keyList[]表從第8項開始使用,與上類似和語音幀逐字節(jié)進行異或加密,直到此幀加密完成。
      此時,已加密過8個非靜音幀,keyList[]表作廢,需要更新。利用式(9)G(x)=(β+1)(1+1/β)β×(1-x)β,(9)對xi進行迭代(x的當前值),得到xi+1,取xi+1的小數(shù)點后的64位有效二進制位,轉(zhuǎn)換為8個byte型數(shù)據(jù),將轉(zhuǎn)換的數(shù)據(jù)存入數(shù)組keyList[],實現(xiàn)了keyList[]的更新。
      繼續(xù)取一幀非靜音幀,keyList[]表從第1項開始使用;繼續(xù)取一幀非靜音幀,keyList[]表從第2項開始使用;繼續(xù)取一幀非靜音幀,keyList[]表從第3項開始使用;重復上述過程,直至第8次取一幀非靜音幀,keyList[]表從第8項開始使用。
      這樣,加密完成8個非靜音幀,對xi進行迭代,得到xi+1對keyList[]進行更新。以此處理下一個8個非靜音幀。
      直到所有語音幀加密完成。
      本發(fā)明實施例的改進的語音編碼流加密方法,使用選擇性加密對G.723.1編碼語音進行混沌流加密,一方面提高語音通話的實時性,其使用流加密算法,將明文直接和密鑰流進行異或,相比分組算法,此法速度更快,同時,為了增強安全性,流加密算法中使用的密鑰流為混沌序列,由改進的Logistics map映射得到。此法在迭代過程中,計算復雜度較大,為了減少密鑰流的計算量,結(jié)合G.723.1幀結(jié)構(gòu)所選擇的需要加密部分位置的特點,適當?shù)貙煦缑荑€流進行重復使用(具體見實例詳解),而不顯著影響其安全性能。
      進一步地,對語音幀進行選擇性加密,使用流加密算法,對混沌密鑰流進行適當?shù)闹貜屠茫@些措施在提高效率的同時,也可以降低系統(tǒng)能耗,減少占用的資源數(shù)量。
      以上對本發(fā)明的具體實施例進行了描述和說明,這些實施例應(yīng)被認為其只是示例性的,并不用于對本發(fā)明進行限制,本發(fā)明應(yīng)根據(jù)所附的權(quán)利要求進行解釋。
      權(quán)利要求
      1.一種改進的語音編碼流加密方法,其特征在于,采用混沌流加密方法,異或操作以字節(jié)為單位,并對所述流加密方法中的密鑰流進行重復利用,進行語音編碼加密。
      2.根據(jù)權(quán)利要求1所述的改進的語音編碼流加密方法,其特征在于,所述混沌流加密方法為以Logistics映射的一維非線性迭代方法表征的混沌流加密方法。
      3.根據(jù)權(quán)利要求2所述的改進的語音編碼流加密方法,其特征在于,所述Logistics映射為自治一維離散動態(tài)系統(tǒng)是Logistics映射,它是用一維非線性迭代方法來表征混沌行為,其迭代函數(shù)如下式所示F(xn)=λxn(1-xn)其中,n=0,1,2,……,x0和λ為調(diào)節(jié)參數(shù)。
      4.根據(jù)權(quán)利要求2所述的改進的語音編碼流加密方法,其特征在于,所述的Logistics映射采用改進的Logistics地圖映射,用一維非線性迭代方法來表征混沌行為,其迭代函數(shù)下式所示G(x=(β+1)(1+1/β)β×(1-x)β其中,β∈(1,4),x0∈(0,1),x的初始值為x0,通過此式迭代可以得到x1,x2,x3,...xn...。
      5.根據(jù)權(quán)利要求1至4任一項所述的改進的語音編碼流加密方法,其特征在于,所述語音編碼為G.723.1標準語音編碼。
      6.根據(jù)權(quán)利要求5所述的改進的語音編碼流加密方法,其特征在于,所述G.723.1標準語音編碼的語音編碼幀加密過程包括如下步驟步驟A,首先收到語音幀的第一幀,判斷幀速率和安全等級,據(jù)此確定與之相對應(yīng)的需加密的字節(jié)序號表和比特位位置表;步驟B,查找需加密的比特位位置表,取出對應(yīng)的值,與混沌生成的密鑰流的相與,根據(jù)需加密的字節(jié)序號表,查找出語音幀中需要加密的字節(jié),將此字節(jié)與前述相與的結(jié)果進行異或,結(jié)果送回該字節(jié)。
      7.根據(jù)權(quán)利要求6所述的改進的語音編碼流加密方法,其特征在于,所述G.723.1標準語音編碼的語音編碼幀加密過程還包括下列步驟步驟C,如果語音幀還有字節(jié)需要加密,重復步驟B,直到該語音幀加密完成。
      8.根據(jù)權(quán)利要求7所述的改進的語音編碼流加密方法,其特征在于,進一步地,所述G.723.1標準語音編碼的語音編碼幀加密過程還包括下列步驟在當前語音幀加密完成后,取下一幀語音幀,判斷是否為靜音幀,如果是靜音幀則不執(zhí)行加密操作,繼續(xù)取下一幀;如果不是靜音幀,則重復步驟A~C,直到全部幀加密完成。
      9.根據(jù)權(quán)利要求6所述的改進的語音編碼流加密方法,其特征在于,所述G.723.1標準語音編碼的語音編碼幀的比特位按照敏感性劃分為五類CLASS1,CLASS2,CLASS3,CLASS4,CLASS5,CLASS1類中的比特位敏感性最高,CLASS2其次,依次類推。
      10.根據(jù)權(quán)利要求9所述的改進的語音編碼流加密方法,其特征在于,當安全等級為Level 1時,加密CLASS1中的比特位,在G.723.1標準語音幀的高速率模式下對語音幀中的48bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的38bit位加密;當安全等級為Level 2時,加密CLASS1和CLASS2中的比特位,在G.723.1標準語音幀的高速率模式對語音幀中的62bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的52bit位加密;當安全等級為Level 3時,加密CLASS1、CLASS2和CLASS3中的比特位,在G.723.1標準語音幀的高速率模式下對語音幀中的74bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的64bit位加密;當安全等級為Level 4時,加密CLASS1、CLASS2、CLASS3和CLASS4中的比特位,在G.723.1標準語音幀的高速率模式下對語音幀中的86bit位加密;在G.723.1標準語音幀的低速率模式下對語音幀中的76bit位加密。
      全文摘要
      本發(fā)明公開了一種改進的語音編碼流加密方法,其采用混沌流加密方法,異或操作以字節(jié)為單位。所述混沌流加密方法為以Logistics映射的一維非線性迭代方法表征的混沌流加密方法。其相比分組算法,速度更快,從所使用的密鑰流來看,其抗密鑰分析攻擊的能力更強,相比于一般混沌流加密,更適合于對多媒體數(shù)據(jù)的選擇性加密。
      文檔編號H04L9/22GK101090312SQ200710052239
      公開日2007年12月19日 申請日期2007年5月24日 優(yōu)先權(quán)日2007年5月24日
      發(fā)明者王芙蓉, 何娟, 楊軍 申請人:華中科技大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1