摘要:隨著Internet的發展,電子商務已經逐漸成為人們進行商務活動的新模式。越來越多的人通過Internet進行商務活動。電子商務的發展前景十分誘人,而其安全問題也變得越來越突出。 保證電子商務安全的最重要的一點就是使用加密技術對敏感的信息進行加密。該文就是一個用Delphi語言作出可視化的界面,讓使用者更快更直接的了解置換、凱撒、乘法、維吉尼亞、PLAYFAIR、DES加密算法的加密過程和解密過程。
關鍵詞:電子商務安全;密碼學
中圖分類號:TP309文獻標識碼:A文章編號:1009-3044(2008)26-1722-02
Delphi Simulation Realization Based on Security Algorithm's of Delphi
WANG Na
(Xuzhou Institute of Technology, Xuzhou 221000, China)
Abstract: With the development of Internet, Electronic Commerce has gradually become one new model of business activity. More and more people carry on the business affairs through Internet. Although the prospect of the Electronic Commerce is very attractive, the issue of security is becoming more and more prominent. One of the most important points of guarantee the security of Electronic Commerce is adopting encryption technology to carry on the encryption to the sensitive information. This Simulation Realization based on Security Algorithm's of Delphi is a encoding and decoding process which use Delphi language as the visualized interface to to make the users quickly and directly understand Replacement, Caesar, Multiplication, Virginia, PLAYFAIR, the DES encryption algorithm .
Key words: electronic commerce security; cryptology; delphi
1 加密概述
密碼學界有一句名言:加密技術本身都很優秀,但是它們實現起來卻往往很不理想?,F在雖然有多種加密標準,但人們真正需要的是針對企業環境開發的標準加密系統。加密技術的多樣化為人們提供了更多的選擇余地,但也同時帶來了一個兼容性問題,不同的商家可能會采用不同的標準。另外,加密技術向來是由國家控制的,例如SSL的出口受到美國國家安全局(NSA)的限制。
任何一個加密系統至少包括下面四個組成部分:1) 未加密的報文,也稱明文;2) 加密后的報文,也稱密文;3) 加密解密設備或算法;4) 加密解密的密鑰。
發送方用加密密鑰,通過加密設備或算法,將信息加密后發送出去。接收方在收到密文后,用解密密鑰將密文解密,恢復為明文。如果傳輸中有人竊取,他只能得到無法理解的密文,從而對信息起到保密作用。
2 數據加密標準
數據加密標準(DES)是美國經長時間征集和篩選后,于1977年由美國國家標準局頒布的一種加密算法。它主要用于民用敏感信息的加密,后來被國際標準化組織接受作為國際標準。DES主要采用替換和移位的方法加密。它用56位密鑰對64位二進制數據塊進行加密,每次加密可對64位的輸入數據進行16輪編碼,經一系列替換和移位后,輸入的64位原始數據轉換成完全不同的64位輸出數據。DES算法僅使用最大為64位的標準算術和邏輯運算,運算速度快,密鑰生產容易,適合于在當前大多數計算機上用軟件方法實現,同時也適合于在專用芯片上實現。
DES主要的應用范圍有:
1) 計算機網絡通信:對計算機網絡通信中的數據提供保護是DES的一項重要應用。但這些被保護的數據一般只限于民用敏感信息,即不在政府確定的保密范圍之內的信息。
2) 電子資金傳送系統:采用DES的方法加密電子資金傳送系統中的信息,可準確、快速地傳送數據,并可較好地解決信息安全的問題。
3) 保護用戶文件:用戶可自選密鑰對重要文件加密,防止未授權用戶竊密。
4) 用戶識別:DES還可用于計算機用戶識別系統中。
DES是一種世界公認的較好的加密算法。自它問世20多年來,成為密碼界研究的重點,經受住了許多科學家的研究和破譯,在民用密碼領域得到了廣泛的應用。它曾為全球貿易、金融等非官方部門提供了可靠的通信安全保障。但是任何加密算法都不可能是十全十美的。它的缺點是密鑰太短(56位),影響了它的保密強度。此外,由于DES算法完全公開,其安全性完全依賴于對密鑰的保護,必須有可靠的信道來分發密鑰。如采用信使遞送密鑰等。因此,它不適合在網絡環境下單獨使用。
針對它密鑰短的問題,科學家又研制了80位的密鑰,以及在DES的基礎上采用三重DES和雙密鑰加密的方法。即用兩個56位的密鑰K1、K2,發送方用K1加密,K2解密,再使用K1加密。接收方則使用K1解密,K2加密,再使用K1解密,其效果相當于將密鑰長度加倍。
3 本系統實現算法概述
簡述PLAYFAIR加密算法:
Playfair密碼是英國科學家Chaeles Wheatstone于1854年發明的,但是用了他的朋友Barron Playfair的名字。
Playfair密碼是最為著名的多字母加密密碼,它將明文中的雙字母組合作為一個單元,并將這些單元轉換為密文雙字母的組合。Playfair算法基于一個5×5的字母矩陣,該矩陣通過一個關鍵詞構造。例如,關鍵詞為playfair,相應矩陣如圖1所示,其矩陣的構造如下:首先,從左到右、從上到下填入該關鍵詞的字母,并去除重復的字母(兩個a只取一個);其次,按照字母表順序將其余字母填入矩陣的剩余空間。字母I和J被算作一個字母,可以根據使用者的意愿在形成密文時確定用I或J。
Playfair算法根據下列規則一次對明文的兩個字母進行加密,這兩個字母構成一對:
1) 一對明文字母如果是重復的,則在這對明文字母種間插入一個填充字符,如x。因此,單詞session將被分割成:se sx si on。
2) 如果分割后的明文字母對在矩陣的同一行中都出現,則分別用矩陣中其右側的字母代替,行的最后一個字母由行的第一個字母代替。例如,on被加密成QO,而st被加密成TN。
3) 如果分割后的明文字母對在矩陣的同一列中都出現,則分別用矩陣中其下方的字母代替,列的最后一個字母由列的第一個字母代替。例如,en被加密成NU,而aw被加密成BA。
4) 否則,明文對中的每個字母將由與其同行,且與另一個字母同列的字母代替。例如,se被加密成NK,而cu被加密成IX(或JX)。
Playfair密碼與單字母替代密碼相比有明顯的優勢:其一,雙字母有26×26=676種組合方式,識別各種雙字母組合比單字母困難得多;其二,各種字母組的相對頻率范圍也更為廣泛,使頻率分析更加困難。因此,Playfair曾被認為是不可破譯的,英國陸軍在第一次世界大戰中采用了它,二戰中它仍被美國陸軍和其他同盟國大量使用。當然,由于許多明文的語言結構在Playfair密碼中能夠保存完好,所以它還是相對容易破譯的,通常有幾百字的密文就足夠了。
簡述乘法加密算法:
乘數密碼的加密變換為
Ek(i)=ik≡j mod q 0≤j≤q
這種密碼也稱采樣密碼,是將明文字母表按序號每隔k位取出一個字母排列而成密文(字母表首尾相連)。顯然當(k,q)=1,即k與q互素時才是一一對應的。若q為素數,則有q-2個可用密鑰。
例如,英文字母表q=26,選k=9,則有明文密文字母對應表:
明文:a b c d e f g h i j k l m n o p q r s t u v w x y z
密文:A J S B K T C L U D M V E N W F O X G P Y H Q Z I R
于是對于明文:Multiplicativer cipher 有密文:EYVPUFVUSAPUHKX SUFLKX
簡述置換加密算法:
置換是一種最基本的數學變換,每個置換都可以用一個整數序列來表示,例如:P=(2,1,4,3)表示這樣一個置換:將位置1和位置2對調,同時將位置3和位置4對調。每個置換都有一個與之對應的逆置換。序列經過置換和其逆置換之后,將保持不變。有時置換與其逆置換可能在形式上是相同的,例如,上述P的逆置換也是Q =(2,1,4,3)。
置換密碼的核心是一個僅有發信方和收信方知道的秘密置換(用于加密)和其逆置換(用于解密)。置換密碼的加密過程是用加密置換去對明文消息進行置換。例如,明文取M=\"置換密碼\",則用P去加密后就得到密文C=\"置換碼密\"。置換密碼的解密過程是用解密逆置換去對密文消息進行置換。例如,密文取C=\"置換碼密\",則用Q去解密后就得到明文取M=\"置換密碼\"。
置換密碼的最大特點是明文和密文中所含的元素是相同的,僅僅是位置不同而已。置換密碼雖然簡單,而且還不很安全,但是許多現代密碼體制中都或多或少地利用了置換方式。
參考文獻:
[1] 劉藝.Delphi面向對象編程思想[M].北京:機械工業出版社,2001.
[2] 伍俊良.Delphi 5.0開發百里精解[M].北京:希望電子出版社,2000.
[3] 周明全.網絡信息安全技術[M].西安:科技電子大學出版社,2003.
[4] Charles Calvert.Delphi 2程序設計大全[M].北京:機械工業出版社,1997.
[5] 任旭鈞.Delphi 5開發人員指南[M].北京:機械工業出版社,2001.
[6] 鄧安文.密碼學:加密演算法[M].北京:中國水利水電出版社,2006.