用線性反饋移位寄存器(LFSR)產(chǎn)生碼序列對于流加密/解密是有用的。然而,這涉及冗長的LFSR,而且所產(chǎn)生的碼對防止竊聽還不夠復雜。
本文給出一個產(chǎn)生冗長和復雜碼序列的非常簡單的技術(shù),適合于采用較小長度LFSR的密碼應用。
保密通信
現(xiàn)在,保密通信不僅僅軍事系統(tǒng)需要,而且已進入商業(yè)市場。然而,一些商業(yè)應用所需要的密級可能不如軍事和其他應用所要求的高。因此,保密和可靠通信的一些簡單和低成本系統(tǒng),采用擴頻調(diào)制方法和密碼技術(shù),適合于非軍事領域的商業(yè)應用?,F(xiàn)在,人們正在積極地加快研究和開發(fā)低成本保密消息通信。
對于發(fā)射器和接收器中的加密和擴頻技術(shù),1個隨機或類噪聲碼是必須的。然而,因為接收器中隨機碼(具有精確同步)完全拷貝的實際限制和必然性,所以發(fā)送和接收方采用偽隨機或偽噪聲(PN)序列使能保密消息通信。
PN序列表示為具有一定參數(shù)的1和0序列,通常分為兩類:(1)周期序列,(2)非周期序列。擴頻通信中所用的序列類型通常為周期序列。
有很多種周期序列,流行的周期序列有:
最大長度線性移位寄存器序列(m序列);
二次剩余序列(q-r序列);
霍爾序列;
雙素數(shù)序列。
在這些序列中,最常用的是m序列。m序列已經(jīng)廣泛用于軍事應用和其他單用戶擴頻系統(tǒng)。不過,基于互相關要求的原因,在某些個人通信CDMA系統(tǒng)中,一些另外的PN序列(如Kasami序列,Walsh序列或Gold序列)是所希望的。
用相對較少級數(shù)的LFSR很容易產(chǎn)生m序列(圖1)。
圖1 普通的m序列產(chǎn)生器
一個LFSR由1個移位寄存器和1個反饋網(wǎng)絡(或1個奇偶)組成,反饋網(wǎng)絡僅由模2加法器(XOR門)組成。反饋網(wǎng)絡輸出加到移位寄存器輸入。當輸入的偶數(shù)是邏輯0時反饋網(wǎng)絡提供輸出邏輯0,當輸入奇數(shù)是邏輯1時反饋網(wǎng)絡產(chǎn)生邏輯1。觸發(fā)器數(shù)和連接到反饋網(wǎng)絡的觸發(fā)器輸出選擇確定所產(chǎn)生PN序列的長度和特性。移位寄存器的所有觸發(fā)器由同一時鐘驅(qū)動。除硬件復雜性之外,在達到碼同步(發(fā)射器和接收器之間)時這些序列運行良好。
m序列長度(N)由下式給出:
N=2m-1
其中m是移位寄存器的級數(shù)(也稱之為寄存器長度)。
圖2示出具有3級(m=3)的m序列工作。由Q1,Q2,和Q3表示3個觸發(fā)器的狀態(tài),從圖中可見反饋和等Q1和Q3的模2和。每一個觸發(fā)器的輸出連接到下一個觸發(fā)器的輸入。在每個時鐘脈沖,每個觸發(fā)器的狀態(tài)移位到下一個。
圖2 普通的級m序列產(chǎn)生器
基于LFSR的流密碼給出良好的數(shù)據(jù)保密性,所提供的移位寄存器的長度是長的。盡管軟件實現(xiàn)是不經(jīng)濟的,但結(jié)果表明硬件實現(xiàn)容易和簡單。對于低成本保密系統(tǒng)的開發(fā),這種電路是相當有吸引力的。有各種采用LFSR的流密碼方法,各有其優(yōu)缺點。在各種方法中,與未加密電文同步產(chǎn)生PN序列是重要的。在發(fā)射器中,所產(chǎn)生的PN序列(用做密鑰Key)與未加密電文XOR產(chǎn)生密碼電文。在接收器,同樣的PN序列或Key與密碼電文XOR重新產(chǎn)生原來的未加密電文。
用LFSR產(chǎn)生的m序列碼不適合較低長度LFSR保密。假若用具有一些反饋支路的n位移位寄存器產(chǎn)生長度(2n-1)位的m序列碼,若知道碼字的2n位,則可以定位反饋支路。這種情況下竊聽變得容易?,F(xiàn)已開發(fā)出一些新穎技術(shù)改善PN序列保密性,并有一些專利發(fā)布。
然而,這些新穎技術(shù)的大多數(shù)的LFSR反饋電路是固定的,因此容易發(fā)現(xiàn)密碼或干擾機。本文給出一種更保密的m序列產(chǎn)生器,其反饋支路保持在偽隨機狀態(tài)下變化,使得所產(chǎn)生的碼相當復雜。除產(chǎn)生的碼復雜外,電路的簡單性使此電路吸引著低成本、保密消息通信應用。
電路描述
圖3示出所提出的電路。用一個8位LFSR產(chǎn)生255位碼序列的16個不同的集合,這依賴于16個有效反饋支路集合:{8,4,3,2},{8,6,5,4},{8,6,5,3},{8,5,3,2},{8,6,5,2},{8,6,3,2},{8,5,3,1},{8,7,4,3},{8,6,5,1},{8,7,3,2},{8,7,6,1},{8,7,2,1},{8,7,6,5,2,1},{8,7,6,3,2,1},{8,6,4,3,2,1},{8,7,6,5,3,2}。
圖3 新的m序列產(chǎn)生器
一次可以用這些反饋支路集合的任一個,這樣,LFSR輸出的一個特定組合,經(jīng)1個模2加法器連接回到其輸入。因此,根據(jù)所選反饋保持連接的時間,在某一時刻可以選擇上面所述反饋連接的任一種連接產(chǎn)生部分或全部相應的碼序列。
若這些反饋連接在隨機狀態(tài)下同步改變,則輸出序列(圖3的Y)也相應改變。這可用圖3所示電路實現(xiàn)。為了說明簡單化,在此僅選用7個反饋連接集合:{8,4,3,2},{8,6,5,4},{8,6,5,3},{8,5,3,2},{8,6,5,2},{8,6,3,2}和{8,6,5,1}。XOR LFSR的不同輸出得到這些反饋連接集合,這借助于另一個PN序列產(chǎn)生的3位字控制的8:1多路轉(zhuǎn)換器(MUX)(見圖3)。
由于避免000做為MUX控制字,所以,根據(jù)控制字僅選擇MUX的7個輸入。因此,隨機變化反饋支路,在某一時間選擇出7個不同集合中的1個。根據(jù)N值(電路中分頻因數(shù))、碼產(chǎn)生器初始狀態(tài)和MUX初始狀態(tài),可以產(chǎn)生復雜碼序列并在輸出Y得到(圖3)。
用下列IC可組裝圖3所示電路:用IC74151做多路轉(zhuǎn)換器,IC7486做為實現(xiàn)反饋網(wǎng)絡的XOR門,IC74LS76(J-K觸發(fā)器)與IC7400(NAND門)組合做為移位寄存器和N分頻計數(shù)器。
電路所需的輸入時鐘信號來自函數(shù)發(fā)生器。從此電路的反饋移位寄存器的不同級可獲得PN碼信號。
圖4 反饋網(wǎng)絡
結(jié)語
采用具有隨機變化反饋連接的LFSR設計PN序列的方法對于流加密/解密是非常有用的。N計數(shù)分頻決定LFSR輸出的1個特定PN序列(對應特定選擇的反饋支路集合)的長度。N最大值是255。也可以采用4位PN序列(替代3位PN序列)為MUX提供控制字,這將增強復雜性,從而產(chǎn)生碼字保密。此種情況下,采用16:1 MUX,在其輸入有16個可能的反饋組合的集合。