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