• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于分組密碼體制的語音加密算法研究

      2011-04-14 03:35:52林永菁福建兒童發(fā)展職業(yè)學(xué)院信息中心福建福州350007
      關(guān)鍵詞:加解密加密算法解密

      林永菁 (福建兒童發(fā)展職業(yè)學(xué)院信息中心,福建 福州350007)

      1 分組密碼體制

      以密鑰為標準,可將密碼體制分為對稱密碼體制和非對稱密碼體制[1-3]。

      在對稱密碼體制下,加密密鑰與解密密鑰相同或一個密鑰由另一個密鑰簡單推導(dǎo)出來。在這種加密體制下,通信雙方的解密密鑰需要由發(fā)方經(jīng)過安全信道傳送給收方。密碼體制的安全性完全取決于密鑰的安全。對稱密碼體制的優(yōu)點是:安全性高,加解密速度快,易于實現(xiàn)。其缺點是:隨著網(wǎng)絡(luò)規(guī)模的擴大,密鑰管理及解決消息確認問題比較困難;缺乏自動檢測密鑰泄露的能力。

      對稱密碼體制又可分為序列加密和分組加密。①序列加密。在序列加密中,將明文消息按字符逐位加密,加解密密鑰序列是由密鑰流生成器用確定性算法產(chǎn)生的偽隨機序列。密鑰流序列的安全可靠性決定序列密碼體制的安全強度。②分組加密。在分組加密中,將明文消息分組,在密鑰的作用下逐組進行加密。分組密碼算法的應(yīng)用范圍較為廣泛,它是許多密碼系統(tǒng)的重要組成部分,如偽隨機數(shù)生成器、流密碼、認證碼和Hash函數(shù)的構(gòu)造等。分組密碼具有高強度、高速率、便于軟硬件實現(xiàn)的特點,也正是由于這些特點使它成為標準化進程的首選體制。在用分組加密時,為了便于實現(xiàn),實際應(yīng)用中常常將簡單容易實現(xiàn)的密碼系統(tǒng)組合成比較復(fù)雜、密鑰量大的密碼系統(tǒng)。最有效、最實際的分組密碼一般都是采用乘積組合方法。它的基本思想是把幾個簡單運算合成為一個復(fù)雜的加密函數(shù)。這些簡單運算可以是移位、異或運算、算術(shù)加減乘除運算、簡單替換等。將加密函數(shù)循環(huán)多次形成迭代密碼屬于乘積密碼中最簡單的一種。

      在分組密碼設(shè)計中,為了能夠最大程度地改變明文的統(tǒng)計分布,往往進行置亂和擴散操作。為了達到改變明文統(tǒng)計特性的目的,可以采用替代操作。一個安全性較高的密碼系統(tǒng)往往綜合使用替代、置亂、擴散等操作,并通過多次迭代獲得好的加密效果和較高的安全性能。

      下面,筆者使用分組密碼體制完成語音加密算法的設(shè)計。

      2 加解密算法設(shè)計

      2.1 算法設(shè)計原則

      在進行算法設(shè)計時遵循了以下原則:①數(shù)據(jù)恢復(fù)后不影響語音的可懂度;②加密數(shù)據(jù)與明文數(shù)據(jù)比較,冗余要??;③盡可能保證密鑰不重復(fù)。

      2.2 算法設(shè)計

      以往的加解密算法具有算法固定、復(fù)雜度高的特點,筆者設(shè)計的加解密算法基于 “一次一密”加密思想,以數(shù)據(jù)包為單位,加密每個數(shù)據(jù)包所用的算法都不同,這樣以算法的不斷變化來代替復(fù)雜度提供的安全性。該算法需要在通信的2端分別建立1個加密算法庫和1個數(shù)據(jù)庫。其中,算法庫中包含n種加解密算法,如加法、減法、移位、位置變換等。數(shù)據(jù)庫中的數(shù)據(jù)用來與明文數(shù)據(jù)進行指定的運算,算法庫及數(shù)據(jù)庫的大小、包括的具體內(nèi)容都可以由用戶自行定義。

      算法由如下元素構(gòu)成:

      {E(f1,f2,…,fn),Pc(Pc最大值不超過數(shù)據(jù)庫中的數(shù)據(jù)個數(shù)),D(d1,d2,…,dm)}

      式中,E表示算法庫,算法庫中的算法用fi表示;Pc表示加密密鑰(指針),指針指到的算法為當次加密采用的算法;D表示數(shù)據(jù)庫,dm為數(shù)據(jù)庫中的第m位數(shù)據(jù)。下面具體介紹算法庫、數(shù)據(jù)庫的建立及密鑰的產(chǎn)生。

      1)算法庫的構(gòu)成 設(shè)計中構(gòu)造的算法庫以表的形式存放在S3C2440A存儲區(qū)中,置加解密算法表E[i]=fi。算法庫中包含有128個小算法,有加法、減法、移位及位置變換類算法,移位算法就是通過調(diào)整移位方向 (左移和右移)、移位位數(shù)形成不同的算法,為保證數(shù)據(jù)加密后可恢復(fù),算法庫中的移位算法均是循環(huán)移位。例如采用移位算法時,可以將明文數(shù)據(jù)左移,左移1位、2位,…,t(t<15)位,也可以右移,右移1~t位,這些均可構(gòu)成不同的加密算法。數(shù)據(jù)位置變換就是對每包288bit編碼數(shù)據(jù)的原始數(shù)據(jù)的位置重新排序。位置變換的方法有多種,如設(shè)原始數(shù)據(jù)位為A1A2A3…Ak,位置倒置后變換為AkAk-1Ak-2…A2A1;相鄰位置數(shù)據(jù)交換:交換后的數(shù)據(jù)為A2A1A4A3…Ak-1Ak。其中,Ai為單字數(shù)據(jù)。

      當加密算法選用加法和減法運算時,需要從數(shù)據(jù)庫中選出一個數(shù)據(jù)與明文數(shù)據(jù)參與指定的運算。用式子表示為Cc=Mc±dmc,其中,Cc表示加密的密文數(shù)據(jù);Mc表示明文數(shù)據(jù);dmc為選用的數(shù)據(jù)庫中的數(shù)據(jù)。為避免數(shù)據(jù)冗余,算法中的數(shù)據(jù)加減運算不考慮進位與借位。

      由以上敘述可知,構(gòu)成算法庫的小算法種類眾多,但一些算法過于簡單不能滿足保密需求。筆者從中選取了128種能較大程度改變明文數(shù)據(jù)結(jié)構(gòu)的算法用于語音加解密。算法表中f1為加法,f2為減法,f3~f128分別表示各種移位、位置變換類算法,算法序號i與Pc的對應(yīng)關(guān)系為:i=Pc%128+1。

      2)密鑰的產(chǎn)生 在對稱加密算法中,密鑰是關(guān)系算法安全的一個關(guān)鍵性因素。如果在加密過程中使用同一個密鑰,會降低算法的安全性,因此應(yīng)保證各分組加密時所用密鑰的不同。

      在加解密設(shè)計中,密鑰由隨機數(shù)產(chǎn)生函數(shù)生成,該函數(shù)以系統(tǒng)當前時鐘作為種子值,其優(yōu)勢是:每次加密調(diào)用密鑰生成函數(shù)的時間不同,種子值也就不同,從而生成不同的隨機序列即密鑰。

      3)數(shù)據(jù)庫的建立 與算法庫的存放方式相同,數(shù)據(jù)庫也以表的方式存放在存儲區(qū)中,其表示形式為D[m]=dm(m<212),設(shè)計中取m值為4096,dm為95~4096+95之間的自然數(shù)。dm按由小至大的順序在數(shù)據(jù)表中順次存放,即D[0]=95,D[1]=96,…。Pc與m的對應(yīng)關(guān)系為:m=Pc。

      3 算法實現(xiàn)

      3.1 加密步驟

      加密步驟如下:①由隨機數(shù)產(chǎn)生函數(shù)生成加密密鑰Pc;②根據(jù)i=Pc%128+1值選出當前加密算法fi,并判斷是否需要從數(shù)據(jù)庫中選擇數(shù)據(jù),若需要,根據(jù)Pc值從數(shù)據(jù)庫中選取數(shù)據(jù)dm;③按選取的算法進行加密,加密后將密鑰與加密數(shù)據(jù)存入預(yù)先設(shè)置的CPU加密緩沖區(qū)中等待下一步處理。緩沖區(qū)中存放的加密數(shù)據(jù)包格式如圖1所示,圖2為加密流程圖。

      圖1 加密緩沖區(qū)中數(shù)據(jù)包格式

      3.2 解密步驟

      解密是加密的逆過程,解密步驟如下:①從解密緩沖區(qū)中提取出密鑰Pc及需要解密的數(shù)據(jù);②根據(jù)密鑰值判定加密所用算法,而后選出加密算法對應(yīng)的解密算法:加密時所用的加法、減法、左移、右移分別對應(yīng)解密時的減法、加法、右移、左移 (采用位置變換類算法時,加解密用同一種算法);③解密,將解密后的數(shù)據(jù)存入解碼緩沖區(qū)等待處理。

      解密方式有以下2種。

      1)加解密算法庫獨立 這種方式需要在通信的兩端分別建立2個算法庫:加密算法庫E[i]和與之對應(yīng)的解密算法庫E′[i]。對應(yīng)的算法fi與f′i互為反變換,如加密算法f1為加法,對應(yīng)的解密算法f′1則為減法。解密時,提取出解密緩沖區(qū)中數(shù)據(jù)的前2字節(jié)即為密鑰Pi,根據(jù)Pi值在解密算法庫中選出解密算法,從而完成數(shù)據(jù)解密。

      2)加解密共用一個算法庫 此種方式不需要另建解密算法庫,加解密共用1個算法庫及數(shù)據(jù)庫。接收端先根據(jù)密鑰值判斷發(fā)送端所用加密算法的類型,再采用相應(yīng)的解密算法實現(xiàn)數(shù)據(jù)解密。

      這2種解密方式各有優(yōu)缺點,前者需要建立1個解密算法庫,較繁瑣;后者不用重新建立算法庫,但要編寫1個加密算法密鑰到解密算法密鑰的轉(zhuǎn)換程序。筆者采用前者。解密具體流程如圖3所示。

      圖2 加密流程圖

      圖3 解密流程圖

      [1]韓紀慶,張磊,鄭鐵然 .語音信號處理 [M].北京:清華大學(xué)出版社,2004.

      [2]冷豐麟 .基于聲碼化技術(shù)的數(shù)字語音加密系統(tǒng)的研究 [D].大連:大連海事大學(xué),2009.

      [3]劉洪林,蔣昌茂,張建永.IP語音通信原理、設(shè)計及組網(wǎng)應(yīng)用 [M].北京:電子工業(yè)出版社,2009.

      猜你喜歡
      加解密加密算法解密
      解密“熱脹冷縮”
      解密“一包三改”
      少先隊活動(2020年9期)2020-12-17 06:17:31
      炫詞解密
      PDF中隱私數(shù)據(jù)的保護方法
      電子取證中常見數(shù)據(jù)加解密理論與方法研究
      基于FPGA的LFSR異步加解密系統(tǒng)
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進
      網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
      軟件工程(2014年11期)2014-11-15 20:02:46
      解密“大調(diào)解”
      海城市| 江阴市| 郯城县| 闻喜县| 彰化市| 瑞金市| 伊金霍洛旗| 新建县| 鹿邑县| 钦州市| 安西县| 凤阳县| 长岛县| 新源县| 鸡西市| 同仁县| 朝阳市| 井冈山市| 顺义区| 新乡市| 百色市| 乾安县| 太保市| 新龙县| 皮山县| 靖边县| 墨脱县| 辉县市| 汝南县| 乌鲁木齐县| 乌鲁木齐市| 静乐县| 梅州市| 游戏| 岳普湖县| 大名县| 乌鲁木齐县| 莲花县| 陕西省| 永顺县| 鄂尔多斯市|