基于單片機和FPGA的網(wǎng)絡數(shù)據(jù)加密實現(xiàn)
2.2 A5/1算法原理
A5/1引是GSM移動通信中數(shù)據(jù)傳輸?shù)牧髅艽a加密算法。A5/1密碼流產(chǎn)生器生成的密碼與明文數(shù)據(jù)幀的每一位相異或得到密文序列。A5/1算法由3個不同長度的線性反饋移位寄存器R1,R2,R3組成,其長度分別為19,22,23位,其反饋特征方程分別為:x18+x17+x16+x13+1,x22+x21+x20+x7+1。算法的初始密鑰是64位向量。密碼流輸出位為3個移位寄存器的異或輸出。移位寄存器的使能由多數(shù)函數(shù)控制。Rl的第8位、R2的第10位、R3的第10位為多數(shù)函數(shù)數(shù)據(jù)輸入,它們決定3個移位寄存器的移位狀況。在這3個數(shù)據(jù)位中,如果有兩個或兩個以上的都為0,多數(shù)函數(shù)值就為0;如果有兩個或兩個以上的都為1,多數(shù)函數(shù)值就為1。多數(shù)函數(shù)輸入的3個數(shù)據(jù)位中與多數(shù)函數(shù)值相同,相應的移位寄存器就移位。A5/1的硬件實現(xiàn)原理如圖2所示。密碼流的產(chǎn)生分兩個階段.第一階段給寄存器裝人64位初始值;第二階段則根據(jù)時鐘節(jié)拍和使能控制產(chǎn)生密碼流。
2.3 W7算法原理
W7H算法與A5/1算法在結構原理上有相似之處。W7算法由8個類似于A5/1算法硬件結構模塊并行組成,每一個模塊都包含3個線性反饋移位寄存器和多數(shù)函數(shù)。不同的是w7算法是128位的初始密鑰,線性反饋移位寄存器的長度圖2 A5/1算法的硬件實現(xiàn)原理和反饋結構都不同于A5/1算法。3個線性反饋移位寄存器長度分別為38、43、47位。8個并行模塊采用同一初始密鑰。但反饋結構和多數(shù)函數(shù)的輸入位均各不相同。8個模塊的輸出組成8位密碼流,加密效率更高。各線性移位寄存器由固定數(shù)據(jù)位通過邏輯與產(chǎn)生1位數(shù)據(jù),再將該位數(shù)據(jù)與最高位輸出異或,最后將3個移位寄存器輸出再異或輸出作為本并行塊的密碼位輸出。由于有8個并行塊,最后總的輸出8 bit,即1字節(jié)。設計時,每隔8個時鐘周期輸出一次,保證數(shù)據(jù)速率的一致性。
3 系統(tǒng)硬件設計
該系統(tǒng)硬件設計由單片機,FPGA和El接121等組成,如圖3所示。單片機用于輸入用戶初始密鑰;FPGA負責密鑰流產(chǎn)生以及加解密;E1接口實現(xiàn)數(shù)據(jù)流的發(fā)送和接收,完成HDB3碼和TTL電平之間的轉換,實現(xiàn)通信接口單元和協(xié)議數(shù)據(jù)處理單元之間的全雙工通信。
由于通信鏈路采用E1標準,該系統(tǒng)設計的外部數(shù)據(jù)鏈路接121采用E1接口,選用接口器件DS21348。DS21348支持El和T1線接口單元,通過寄存器設置選擇E1線接口單元。DS21348可配置為硬件模式,完成HDB3到TTL、TTL到HDB3的電平轉換,時鐘同步、數(shù)據(jù)信號格式轉換以及數(shù)據(jù)幀處理。該系統(tǒng)可并行處理兩路數(shù)據(jù),一路加密,一路解密,實現(xiàn)全雙工通信。
pos機相關文章:pos機原理
評論