基于CycloneII和MSP430的網(wǎng)絡(luò)數(shù)據(jù)加密實(shí)現(xiàn)
1 引言
隨著信息技術(shù)和網(wǎng)絡(luò)化進(jìn)程的發(fā)展,網(wǎng)絡(luò)通信安全問題日益突出。現(xiàn)場可編程門陣列(FPGA)以其自身設(shè)計(jì)靈活、可靠性高的優(yōu)點(diǎn)廣泛應(yīng)用于加密領(lǐng)域。硬件實(shí)現(xiàn)的加密算法不占用計(jì)算機(jī)資源.加密過程完全與外部總線隔離,具有較高的數(shù)據(jù)保護(hù)能力。算法可靈活改變,具有較強(qiáng)的獨(dú)立性。加密機(jī)由單片機(jī),FPGA和El通信接口組成。FPGA內(nèi)部算法由VHDL語言編寫。該系統(tǒng)適用于要求數(shù)據(jù)安全較高的場合,其終端可為計(jì)算機(jī),銀行POS機(jī)等,提供數(shù)據(jù)傳輸?shù)陌踩院捅C苄浴?/P>
2 流加密解密原理及算法
2.1 流加密解密原理
流密碼由密鑰和密碼算法兩部分組成,密鑰一般存儲(chǔ)在加解密設(shè)備內(nèi)部,在數(shù)據(jù)傳輸前已設(shè)置完成。密碼算法在較長時(shí)間內(nèi)是不變的。在同步流密碼中,只要發(fā)送端和接收端有相同的密鑰和內(nèi)部狀態(tài),就能產(chǎn)生相同的密鑰流。
數(shù)據(jù)傳輸時(shí),加密端和解密端使用同一個(gè)初始密鑰,加密時(shí)密碼流與明文相異或得到密文,同時(shí)每隔一定時(shí)間加入同步數(shù)據(jù);解密時(shí)以同步模式產(chǎn)生的密文與密碼流進(jìn)行異或得到明文,同步模式采用63位Gold碼。整個(gè)加解密過程與發(fā)送數(shù)據(jù)格式如圖1所示。在發(fā)送密文中加入初始同步碼,接收端利用Gold碼的三值特性檢測Gold碼實(shí)現(xiàn)同步數(shù)據(jù)。對接收數(shù)據(jù)流和Gold碼做互相關(guān)運(yùn)算,相關(guān)結(jié)果滿足Gold碼的三值特性,說明當(dāng)前數(shù)據(jù)流是發(fā)送端加入的同步Gold碼.標(biāo)志為密文的起始,然后調(diào)用解密算法對后續(xù)的密文解密,恢復(fù)傳輸?shù)臄?shù)據(jù)。
2.2 A5/1算法原理
A5/1引是GSM移動(dòng)通信中數(shù)據(jù)傳輸?shù)牧髅艽a加密算法。A5/1密碼流產(chǎn)生器生成的密碼與明文數(shù)據(jù)幀的每一位相異或得到密文序列。A5/1算法由3個(gè)不同長度的線性反饋移位寄存器R1,R2,R3組成,其長度分別為19,22,23位,其反饋特征方程分別為:x18+x17+x16+x13+1,x22+x21+x20+x7+1。算法的初始密鑰是64位向量。密碼流輸出位為3個(gè)移位寄存器的異或輸出。移位寄存器的使能由多數(shù)函數(shù)控制。Rl的第8位、R2的第10位、R3的第10位為多數(shù)函數(shù)數(shù)據(jù)輸入,它們決定3個(gè)移位寄存器的移位狀況。在這3個(gè)數(shù)據(jù)位中,如果有兩個(gè)或兩個(gè)以上的都為0,多數(shù)函數(shù)值就為0;如果有兩個(gè)或兩個(gè)以上的都為1,多數(shù)函數(shù)值就為1。多數(shù)函數(shù)輸入的3個(gè)數(shù)據(jù)位中與多數(shù)函數(shù)值相同,相應(yīng)的移位寄存器就移位。A5/1的硬件實(shí)現(xiàn)原理如圖2所示。密碼流的產(chǎn)生分兩個(gè)階段.第一階段給寄存器裝人64位初始值;第二階段則根據(jù)時(shí)鐘節(jié)拍和使能控制產(chǎn)生密碼流。
2.3 W7算法原理
W7H算法與A5/1算法在結(jié)構(gòu)原理上有相似之處。W7算法由8個(gè)類似于A5/1算法硬件結(jié)構(gòu)模塊并行組成,每一個(gè)模塊都包含3個(gè)線性反饋移位寄存器和多數(shù)函數(shù)。不同的是w7算法是128位的初始密鑰,線性反饋移位寄存器的長度圖2 A5/1算法的硬件實(shí)現(xiàn)原理和反饋結(jié)構(gòu)都不同于A5/1算法。3個(gè)線性反饋移位寄存器長度分別為38、43、47位。8個(gè)并行模塊采用同一初始密鑰。但反饋結(jié)構(gòu)和多數(shù)函數(shù)的輸入位均各不相同。8個(gè)模塊的輸出組成8位密碼流,加密效率更高。各線性移位寄存器由固定數(shù)據(jù)位通過邏輯與產(chǎn)生1位數(shù)據(jù),再將該位數(shù)據(jù)與最高位輸出異或,最后將3個(gè)移位寄存器輸出再異或輸出作為本并行塊的密碼位輸出。由于有8個(gè)并行塊,最后總的輸出8 bit,即1字節(jié)。設(shè)計(jì)時(shí),每隔8個(gè)時(shí)鐘周期輸出一次,保證數(shù)據(jù)速率的一致性。
pos機(jī)相關(guān)文章:pos機(jī)原理
評論