基于IC卡的稅務(wù)征收管理系統(tǒng)
?7816―4:IC卡用于國際交換的行業(yè)間命令;
?7816―5:IC卡應(yīng)用識別時的編號和登記過程;
?7816―6:IC卡用于行業(yè)間的數(shù)據(jù)元素。
在IC卡的類型選擇上,本系統(tǒng)選用的是Atmel公司的CPU卡、西門子公司的邏輯加密卡和存儲卡。CPU卡用于DKS加密算法的運算,產(chǎn)生密鑰等關(guān)鍵數(shù)據(jù);邏輯加密卡用于保存重要數(shù)據(jù);存儲卡用于存放一般數(shù)據(jù)。本文引用地址:http://m.butianyuan.cn/article/158094.htm
3 DES加密算法
密碼學(xué)是設(shè)計密碼和破譯密碼的技術(shù)統(tǒng)稱。欲加密的數(shù)據(jù)稱為明文,明文經(jīng)某種加密算法的作用后轉(zhuǎn)換成密文,加密算法中使用的參數(shù)稱為加密密鑰。密文經(jīng)解密算法作用后形成明文輸出,解密算法也有一個密鑰,它和加密密鑰可以相同也可以不同。密碼學(xué)的一條基本原則是加密算法是公開的,既然加密算法是公開的,那么真正的秘密就在于密鑰了。密鑰是必須保密的,它通常是一個字符串,并且可以按需要頻繁更換。
傳統(tǒng)的加密方法可以分成兩類:替代密碼和換位密碼。在替代密碼中,用一組密文字母來代替一組明文字母以藏匿明文,但保持明文字母的位置不變。在換位密碼中(換位有時也稱為排列),它不對明文字母進行變換,只是將明文字母的次序進行重新排列。
現(xiàn)代密碼學(xué)也使用替代密碼和換位密碼的思想,但和傳統(tǒng)密碼學(xué)的側(cè)重點不同。傳統(tǒng)密碼學(xué)的加密算法比較簡單,主要通過加長密鑰的長度來提高保密程度,而現(xiàn)代密碼學(xué)正好相反,它使用極為復(fù)雜的加密算法,即使破譯者能夠?qū)θ我鈹?shù)量的選擇明文進行加密,他也無法找出破譯密文的方法。
DES是由IBM公司研制的,1977年1月被美國政府宣布作為公開的國家數(shù)據(jù)加密標準,該標準一經(jīng)確立,立即被大批廠家采納用于它們的安全產(chǎn)品中。DKS是一種分組密碼,它接收一個64位(BIT)的數(shù)據(jù)塊并將它轉(zhuǎn)變成相同長度的密文。密鑰是64位(BIT),其中8位(BIT)是奇偶校驗位,因而實際密鑰數(shù)是56位(BIT)。DES加密算法可用圖3來簡單說明。64位(BIT)的明文首先經(jīng)過一個初始排列將順序打亂,然后進行16次乘積變換,目的是使明文盡可能變得紛亂不堪,最后經(jīng)過一個與初始排列相反的排列變換,輸出64位(BIT)的密文。DES的解密密鑰同加密密鑰相同,解密過程與加密過程的步驟正好相反。
4 軟件設(shè)計
SZX―l智能IC卡稅務(wù)征收管理系統(tǒng)的軟件由PC機軟件、IC卡讀寫器軟件以及PC機與IC卡讀寫器通信軟件等組成。PC機軟件采用VB6.0編寫,IC卡讀寫器軟件采用C51編寫。
4.1 串行通信軟件設(shè)計
在設(shè)計PC機與單片機通信程序時,應(yīng)首先明確數(shù)據(jù)傳輸協(xié)議,如:數(shù)據(jù)傳輸?shù)膸袷?、?shù)據(jù)校驗方法、PC機與單片機在實現(xiàn)異步通信時的工作方式等等。本系統(tǒng)中的各項約定為:
(1)波特率:9600
(2)數(shù)據(jù)格式一幀10位:起始位1位,數(shù)據(jù)位8位,停止位1位
(3)數(shù)據(jù)校驗方法:反饋一確認法
(4)異步通信工作方式:PC機使用MSComm串口控件;單片機采用查詢方式收發(fā)數(shù)據(jù),其串行口工作于方式l。
MSComm串口控件是Microsoft公司提供的ActiveX控件,其目的是為了簡化使用者在Windows下的串行通信編程。MSComm控件既可以提供簡單的串行口通信功能,也可用于創(chuàng)建功能完備的、事件驅(qū)動的高級通信工具。使用MSComm控件實現(xiàn)串行通信控制通常有以下幾步:
(1)加入通信部件(即加入MSComm對象);
(2)設(shè)置通信端口號(即設(shè)置CommPort屬性);
(3)設(shè)置通信協(xié)議(即設(shè)置HandShaking屬性。該協(xié)議是一個用于控制流速而約定的內(nèi)部硬件握手協(xié)議);
(4)設(shè)置通信波特率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗等參數(shù)(即設(shè)置Settings屬性);
(5)打開通信端口(即將PortOpen屬性設(shè)為True);
(6)接收或發(fā)送字符串(即使用Input或Output屬性);
(7)關(guān)閉通信端口(即將PortOpen屬性設(shè)為False)。
4.2 系統(tǒng)軟件功能
本系統(tǒng)在PC機上運行的主要功能介面如下:
(1)軟件運行后屏幕顯示:
評論