移動電話、互聯(lián)網(wǎng)與流媒體應(yīng)用不僅使人們能夠進(jìn)行遠(yuǎn)程交流,而且還可以在線查找信息、開展娛樂活動。但是,隨著移動通信使用量的激增,以無線傳輸海量信息極易遭受安全風(fēng)險。為安全起見,工程師紛紛采用加密技術(shù)來保護(hù)數(shù)據(jù)。在全球移動通信系統(tǒng)(GSM)標(biāo)準(zhǔn)中,選用的算法為A5/1。使用A5/1的情況下,加密與解密都可通過網(wǎng)絡(luò)同時在手持終端和基站進(jìn)行。
在GSM標(biāo)準(zhǔn)中,信息以幀序列的形式通過電波進(jìn)行傳輸。幀序列包含數(shù)字化的用戶語音數(shù)據(jù)以及用于移動互聯(lián)網(wǎng)瀏覽的音/視頻數(shù)據(jù)流。該系統(tǒng)按順序傳輸每一個幀,時間間隔為 4.6 ms。每幀由 228位構(gòu)成,前 114位稱為“上行鏈路數(shù)據(jù)”,后114位稱為“下行鏈路數(shù)據(jù)”。
采用64位密鑰和22位寬的已知幀編號來初始化A5/1。下一步是將幀的輸入位和密鑰提供給3個線性反饋移位寄存器 (LFSR),大小分別為19位、22位 和23位。在對選定抽頭進(jìn)行異或(XOR)運(yùn)算后,即可提供反饋,這有助于提高最終輸出的隨機(jī)性。將3個LFSR分別命名為R0、R1和 R2,每個 LFSR跟隨一個原函數(shù)。R0、R1和 R2分別使用 X19+X5+X2+X+1、X22+X+1和X23+X15+X2+X+1作為各自的原函數(shù)。
LFSR的時鐘序列需要采用一種特定的機(jī)制,否則會很容易破解 LFSR的輸出。因此,時鐘采用多數(shù)裁定規(guī)則(majority rule),使用從 R0、R1和 R2中分別抽取的一個值,然后判定主要的抽頭是0還是1。也就是說,當(dāng)兩個或兩個以上的抽頭為0時,則多數(shù)情況值為0;反之,則為1。一旦多數(shù)情況判定成立,若LFSR的輸入位與多數(shù)情況位相匹配,則為LFSR提供時鐘。若輸入位與多數(shù)情況值不匹配,則不在LFSR中插入任何輸入位,因此也就不會有移位。此外,還可通過在原始 A5/1中對R0、R1和R2的每個輸出位進(jìn)行異或運(yùn)算來得到結(jié)果。在本例中,采用一種稱為“合成器”的更高級的輸出生成函數(shù)來替代標(biāo)準(zhǔn)異或函數(shù)。
基于賽靈思Virtex-4系列FPGA來完成所提出算法的硬件實現(xiàn),為了邏輯更緊湊,選擇Virtex-4系列中最小型的器件,即 XC4VLX15。圖1顯示了該頂層模塊的總體架構(gòu)情況。
頂層包含兩個構(gòu)建模塊與膠合邏輯。設(shè)計膠合邏輯是為了實現(xiàn)芯片連接、啟動邏輯以及數(shù)據(jù)加載等功能。還有另外兩個構(gòu)建模塊,多數(shù)/抽頭規(guī)則與LFSR組,每個都有其自身獨(dú)特的功能。
多數(shù)/抽頭規(guī)則模塊可從LFSR組接收選擇的抽頭位置,并獨(dú)立執(zhí)行兩項單獨(dú)的功能。由于多數(shù)或抽頭規(guī)則的選擇標(biāo)準(zhǔn)依據(jù)的是R0、R1和R2的最后一個抽頭,因而多數(shù)規(guī)則和抽頭規(guī)則的邏輯是并行實現(xiàn)的。此外,在實現(xiàn)多數(shù)規(guī)則方面,進(jìn)行了另一項優(yōu)化。
同樣可以發(fā)現(xiàn),maj2的值建立在抽頭編號 7、5、8的基礎(chǔ)之上。根據(jù)這些多數(shù)函數(shù),定義R0的芯片使能端。
LFSR組模塊集成了多種函數(shù)與實現(xiàn)方法。該模塊可利用可變參數(shù)例化核心LFSR,以建立 R0、R1和R2 LFSR。這些LFSR的寬度分別為19、22和23。該模塊還可例化在A5/1基礎(chǔ)上改進(jìn)的線性反饋函數(shù)。此外,該LFSR組還能夠?qū)崿F(xiàn)新開發(fā)的非線性反饋邏輯,而且還在該模塊中實現(xiàn)了用于產(chǎn)生最終輸出的合成器。在此,LFSR是串行輸入、并行輸出的移位寄存器。賽靈思Virtex-4器件可方便地將此類移位寄存器映射到硬件上。
全文請見:http://www.chinaaet.com/article/index.aspx?id=98048。