懷洋+邵瓊玲+張志寶
摘 ?要: 網(wǎng)絡(luò)通信信息的完整性和安全性對于用戶來說越來越重要,為探究以硬件電路方式校驗、加密網(wǎng)絡(luò)通信信息,基于LPC1768芯片、AMS1117芯片、CH340G芯片和KSZ8041NL芯片,設(shè)計了數(shù)據(jù)校驗加密電路、DC/DC電路、TTL轉(zhuǎn)USB電路、以太網(wǎng)通信電路,開發(fā)了USB接口通信程序、數(shù)據(jù)校驗程序、數(shù)據(jù)加密程序、以太網(wǎng)通信程序。以模擬北斗和通信信息為例,實現(xiàn)了對模擬信息的校驗、加密、解密以及USB接口通信和網(wǎng)絡(luò)通信測試工作。在整個過程中,保證了模擬信息的完整性、安全性,所設(shè)計電路具有一定的實際應(yīng)用價值。
關(guān)鍵詞: LPC1768; 數(shù)據(jù)校驗; 數(shù)據(jù)加密; 以太網(wǎng)通信
中圖分類號: TN710?34; TP368.2 ? ? ? ? ? ? ? 文獻標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2014)24?0105?04
Research and design of LPC1768 data check and encryption circuit
HUAI Yang1, SHAO Qiong?ling2, ZHANG Zhi?bao1
(1. Company of Postgraduate Management, the Academy of Equipment, 101416, China;
2. Department of Space Equipment, the Academy of Equipment, 101416, China)
Abstract: Integrity and safety of network communication information are more and more important for users. To explore check and encryption of network communication information by the way of circuit, the data check and encryption circuit, DC/DC circuit, TTL to USB conversion circuit, Ethernet communication circuit were designed, and USB interface communication program, checking data program, encrypting data program, Ethernet communication program were developed on the basis of LPC1768 chip, AMS1117 chip, CH340G chip and KSZ8041NL chip. Through the simulation of BD and communication information, the check, encryption and decryption of simulation information, as well as the testing of USB interface communication and network communication were accomplished. In the whole process, integrity and safety of the simulation information were ensured. Therefore, the circuit has a certain practical application value.
Keywords: LPC1768; data check; data encryption; Ethernet communication
0 ?引 ?言
21世紀(jì)是信息化的時代,在日常生活和生產(chǎn)建設(shè)中,大家已經(jīng)離不開各種類型的數(shù)據(jù)和信息了,無論是國家的尖端產(chǎn)業(yè),如宇航、軍事、核工業(yè),還是與人們生活息息相關(guān)的產(chǎn)業(yè),如電力、通信、能源,現(xiàn)在它們都以數(shù)據(jù)與信息作為媒介,進行溝通交流。由于各類型數(shù)據(jù)和信息使用頻繁,不得不考慮數(shù)據(jù)的完整和安全保障問題,這些就是數(shù)據(jù)校驗和加密所要解決的問題[1?2]。LPC1768數(shù)據(jù)校驗加密電路具有USB接口通信、數(shù)據(jù)校驗加密、網(wǎng)絡(luò)通信等功能,通過對此電路的研究和設(shè)計,可以對數(shù)據(jù)完整性、安全性等問題進行探究,并掌握相關(guān)知識。
1 ?硬件設(shè)計
在LPC1768數(shù)據(jù)校驗加密電路的研究和設(shè)計過程中,借助PC模擬數(shù)據(jù),并通過USB接口將數(shù)據(jù)經(jīng)TTL轉(zhuǎn)USB電路傳給數(shù)據(jù)校驗加密模塊,DC/DC電路與USB接口連接,負責(zé)給數(shù)據(jù)校驗加密模塊和TTL轉(zhuǎn)USB電路供電,數(shù)據(jù)處理后經(jīng)以太網(wǎng)模塊傳送至遠端PC[3]。數(shù)據(jù)校驗加密模塊的主要部件是LPC1768芯片,它是由NXP公司設(shè)計生產(chǎn)的以ARM Cortex?M3為內(nèi)核的一種微控制器,其功能強大、性能良好,具有集成度高、功耗低的優(yōu)點[4?6]。DC/DC電路采用AMS1117芯片進行電壓轉(zhuǎn)換,它能夠?qū)C經(jīng)USB接口輸入的5 V電壓轉(zhuǎn)換為3.3 V的電路工作電壓來為電路供電,TTL轉(zhuǎn)USB電路采用CH340G芯片進行電平轉(zhuǎn)換,并完成PC將模擬數(shù)據(jù)向電路傳輸?shù)墓δ?。以太網(wǎng)模塊的核心是KSZ8041NL芯片,它是10Base?T/100Base?TX物理層收發(fā)器,以單電源供電,具有發(fā)送距離長、功耗低的優(yōu)點,其完成了將校驗加密后的數(shù)據(jù)進行網(wǎng)絡(luò)通信的功能。如圖1所示。
2 ?軟件設(shè)計
本文所設(shè)計的軟件位于PC、數(shù)據(jù)校驗加密模塊、以太網(wǎng)模塊和遠端PC幾部分之中,這里以導(dǎo)航衛(wèi)星數(shù)據(jù)和通信衛(wèi)星數(shù)據(jù)為例,研究了軟件的運行。如圖2所示,當(dāng)軟件開始運行時,首先進行初始化,將電路的USB接口與PC連接得以供電,PC模擬的衛(wèi)星數(shù)據(jù)通過USB接口被發(fā)送給LPC1768,之后芯片校驗并加密數(shù)據(jù),以太網(wǎng)模塊將處理后的數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)給遠端PC,在校驗解密后,數(shù)據(jù)得以使用。
數(shù)據(jù)校驗過程如圖3所示,PC在模擬導(dǎo)航、通信衛(wèi)星數(shù)據(jù)之后,計算出各自數(shù)據(jù)的校驗位并下傳至LPC1768,芯片在判別數(shù)據(jù)類型后,分別校驗數(shù)據(jù)的幀頭、幀長度(通信衛(wèi)星數(shù)據(jù))、內(nèi)容、幀尾,得出的校驗位與PC接收的對比,如果二者相等,則準(zhǔn)備數(shù)據(jù)加密,否則丟棄數(shù)據(jù)幀[7?8]。
部分程序如下:
…
while(Trans1[0][k]!=′*′)
{
Trans2[0][l]=Trans1[0][k];
k++;
l++;
}
…
for(j=0;j<7;j++)
{
while(1)
{
if(Trans1[j][k]==′*′)
{
count1[j]=Trans1[j][k+1];
count2[j]=Trans1[j][k+2];
}
k++;
if(Trans1[j][k]==′\r′)
{
k=0;
break;
}
}
}
…
數(shù)據(jù)加密過程如圖4所示,首先定義系統(tǒng)自己的密鑰,它可以是任何正整數(shù),Rand()和SecKey()函數(shù)會根據(jù)密鑰的值計算出不同的r1和r2值,系統(tǒng)通過r1、r2值和某算法加密數(shù)據(jù)并替換密鑰,如果處理后的數(shù)據(jù)和密鑰符合要求,則進行二次的加密,否則重新進行上述步驟[9]。Rem()函數(shù)根據(jù)替換的密鑰得到d1值,并根據(jù)d1值二次加密數(shù)據(jù),如果符合要求,則準(zhǔn)備網(wǎng)絡(luò)通信,否則重新進行二次加密,解密過程與上述大致相反。部分程序如下:
…
CString CMessageDlg::Encrypt(CString S, WORD Key)
{
CString Result,str;
int i,j;
Result=S;
for(i=0;i
{
Result.SetAt(i,S.GetAt(i)^(SecKey(Key)>>Rand()));
Key=((BYTE)Result.GetAt(i)+Key)*(int)((C1*Sec_Key2+C2*rand1)/10);
}
S=Result;
Result.Empty();
for(i=0;i
{
j=(BYTE)S.GetAt(i);
str="ab";
str.SetAt(0,C3+j/Rem());
str.SetAt(1,C3+j%Rem());
Result+=str;
}
return Result;
}
…
如圖5所示,網(wǎng)絡(luò)通信主要依靠socket,LPC1768和遠端PC會先創(chuàng)建socket,LPC1768將socket與通信端口綁定并進行監(jiān)聽,遠端PC的socket將連接指定計算機端口并給LPC1768發(fā)送連接請求,如果請求得到接收,則LPC1768將與遠端PC進行通信,否則LPC1768繼續(xù)監(jiān)聽綁定端口,直到成功接收來自遠端PC的連接請求[10?11]。
3 ?功能測試
PC進行串口設(shè)置并模擬顯示了北斗和通信衛(wèi)星數(shù)據(jù),如圖6所示,數(shù)據(jù)幀經(jīng)USB接口傳送到數(shù)據(jù)校驗加密模塊進行校驗和加密處理,之后通過以太網(wǎng)模塊傳輸給遠端PC,圖7顯示了加密及解密的北斗和通信衛(wèi)星模擬數(shù)據(jù)。
4 ?結(jié) ?語
本文利用PC模擬北斗和通信衛(wèi)星數(shù)據(jù),通過USB接口與LPC1768數(shù)據(jù)校驗加密電路連接,這樣不僅能傳輸數(shù)據(jù),而且解決了供電問題,之后通過以太網(wǎng)模塊將校驗、加密過的數(shù)據(jù)傳輸給遠端PC,以供使用。文章設(shè)計了LPC1768數(shù)據(jù)校驗加密電路,還認真研究了數(shù)據(jù)的校驗、加密軟件,通過使用所設(shè)計的軟硬件,能夠在一定程度上保證數(shù)據(jù)的完整性和安全性。
參考文獻
[1] 王永慶,張民選.一種改進的旋轉(zhuǎn)CRC數(shù)據(jù)校驗設(shè)計方法[J].國防科技大學(xué)學(xué)報,2011,33(6):48?54.
[2] 王慶磊.基于USB接口的數(shù)據(jù)加密系統(tǒng)設(shè)計與實現(xiàn)[D].太原:中北大學(xué),2013.
[3] 陳曉龍,陳萬培,解鑫,等.基于USB口的智能遙控信號發(fā)射裝置的設(shè)計[J].國外電子測量技術(shù),2012,31(5):77?79.
[4] 黃盈鑫.LPC1768開發(fā)板用戶手冊[EB/OL]. [2011?09?03].http://www.doc88.com/p?641874395629.html.
[5] 錢國明.基于LPC1768智能電力監(jiān)控終端的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2012.
[6] 徐振.USB主控芯片測試系統(tǒng)的設(shè)計與實現(xiàn)[D].上海:復(fù)旦大學(xué),2011.
[7] 陳吉.基于GPS的土地面積測繪技術(shù)及土地管理信息系統(tǒng)的研究[D].杭州:浙江大學(xué),2013.
[8] 張宇.基于網(wǎng)絡(luò)式RTU技術(shù)數(shù)據(jù)傳輸系統(tǒng)的研究[D].南昌:南昌大學(xué),2012.
[9] 任獻彬,張樹森.數(shù)據(jù)加密技術(shù)在嵌入式系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(22):7?9.
[10] 陳雅靜.基于socket網(wǎng)絡(luò)編程的遠程物流防偽系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2013,21(1):153?155.
[11] 王振.網(wǎng)絡(luò)化天線控制平臺通信控制技術(shù)及實現(xiàn)[D].西安:西安電子科技大學(xué),2013.