徐亞鳳
(牡丹江大學,黑龍江 牡丹江 157011)
加密就是利用密碼學的方法(即:加密算法),使用密鑰將明文信息轉換成密文,使得無密鑰者不能識別信息真實含義,同時也不能對信息進行篡改、偽造或破壞。在開放的網絡環境中,加密對于通訊安全是非常重要的。信息加密技術是計算機網絡安全技術的基礎,為實現信息的保密性、完整性、可用性以及抗抵賴性提供了豐富的技術手段,對計算機網絡安全具有重要意義。常用的信息加密技術主要有以下三種。
1.1 對稱加密算法。在對稱加密算法中,數據發送方將明文和加密密鑰一起經過特殊加密算法處理后,使其變成密文發送出去。接收方收到密文后,若想解讀原文,則需要使用發送方加密用的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。該算法中密鑰只有一個,這種密鑰即用于加密,也用于解密,叫做秘密密鑰,這就要求解密方事先必須知道加密密鑰。對稱密鑰加密是加密大量數據的一種行之有效的方法。對稱密鑰算法體系包括:1)明文(Plain text):這是原始消息或數據,作為算法的輸入;2)加密算法(Encryption algorithm):加密算法對明文進行各種替換和轉換;3)秘密密鑰(Secret key):秘密密鑰也是算法的輸入;4)密文(Cipher text):這是產生的已被打亂的消息輸出,它取決于明文和秘密密鑰,對于一個給定的消息,兩個不同的密鑰會產生兩個不同的密文;5)解密算法(Decryption algorithm):本質上是加密算法的反向執行,它使用密文和同一密鑰產生原始明文。
對稱加密的安全使用需要有三個要求:1)需要一個高強度的加密算法;2)密鑰要足夠復雜;3)密鑰的傳遞需要一個安全的方式,也就是要求發送者要把密鑰通過安全的方式告訴接收者,不能讓第三方知道。
對稱密鑰的主要優點在于速度快,通常比非對稱密鑰快100 倍以上,而且可以方便地通過硬件實現。其主要缺點在于密鑰的管理復雜和缺乏抗抵賴性。由于每對通信者之間都需要一個不同的密鑰,N 個人通信需要n(n-1)/2 密鑰,同時如何安全的傳遞秘密密鑰給信息接收方成為最大的問題,并且由于沒有簽名機制,因此也不能實現抗抵賴問題,即通信雙方都可以否認發送或接收過的信息。
1.2 非對稱算法。非對稱算法使用兩個密鑰:一個公鑰和一個私鑰,這兩個密鑰在數學上是相關的。在公鑰加密中,公鑰可在通信雙方之間公開傳遞,或在公用儲備庫中發布,但相關私鑰是保密的。只有使用私鑰才能解密公鑰加密的數據。使用私鑰加密的數據只能用公鑰解密。與對稱密鑰加密相似,公鑰加密也有許多種算法。然而,對稱密鑰和公鑰算法在設計上并無相似之處??稍诔绦騼炔渴褂靡环N對稱算法替換另一種,而變化卻不多,因為它們的工作方式是相同的。而另一方面,不同公鑰算法的工作方式卻完全不同,因此它們不可互換。非對稱密鑰算法體系包括:1)明文:它是可讀的消息或者數據,用作算法的輸入;2)加密算法:對明文進行各種形式的變換;3)公鑰和私鑰:它們是被選擇的一對密鑰,如果一個密鑰用于加密,則另一個密鑰用作解密。4)密文:它是輸出的混亂的消息,取決于明文和密鑰。對于給定的消息,兩個不同的密鑰將產生兩個不同的密文。
非對稱密鑰算法的主要優勢在于密鑰能夠公開,由于用作加密的密鑰不同于用作解密的密鑰,因而解密密鑰不能根據加密密鑰推算出來,所以可以公開加密密鑰,主要用于數字簽名。其主要局限就是速度,實際上,通常僅在關鍵時刻才使用公鑰算法,如在實體之間交換對稱密鑰時,或者在簽署一封郵件的散列時。所以,對稱和非對稱密鑰算法通常結合使用,用于密鑰加密和數字簽名,即實現安全又能優化性能。
1.3 散列算法。又稱哈希算法(HASH),就是把任意長度的輸入,通過散列算法,變成固定長度的輸出,該輸出就是散列值或信息摘 要 (HMAC,Hash Message Authentication Code)。哈希算法是一種壓縮映射,通常HASH 算法的輸入空間遠大于輸出空間。數學表述為:h=H(M),其中:H()代表單向散列函數,M 代表任意長度明文,h 代表固定長度散列值。哈希加密并非用于加強信息的保密性,因為在HASH 算法中,不同的輸入可能會散列成相同的輸出,要從散列值來唯一的確定輸入值理論上是不可能的。
在通訊的過程中,數據發送方通常對數據進行HASH 計算得到一個HASH 值,并對該HASH 值進行加密,并將其與數據一同發送出去,接收方收到數據后對數據進行HASH 計算,并比較收到的HASH 值,如果相同則表示數據沒有損壞或被篡改。哈希加密是通信的雙方通過對比各自的哈希值,從而判斷信息是否變更的方法,可以運用在信息完整性的驗證中。哈希加密的另一種用途是簽名文件。
2.1 數字簽名(Digital Signature)?;诠€密碼體制和私鑰密碼體制都可以獲得數字簽名,目前主要是基于公鑰密碼體制的數字簽名,包括普通數字簽名和特殊數字簽名。普通 數 字 簽 名 算 法 有 RSA、ElGamel、Fiat-Shamir、Guillou -Quisquarter、Schnorr、Ong -Schnorr-Shamir 數字簽名算法、Des/DSA,橢圓曲線數字簽名算法和有限自動機數字簽名算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等。
數字簽名能夠實現:1)接收者能夠核實發送這對報文的簽名;2)發送方事后不能抵賴對報文的簽名;3)任何人不能偽造對報文的簽名;4)保證數據的完整性,防止截獲者在文件中加入其他信息;5)對數據和信息的來源進行保證,以保證發件人的身份;6)數字簽名有一定的處理速度,能夠滿足所有的應用需求。
2.2 數字證書。隨著網絡上商業應用迅速發展,如網上銀行、支付寶等電子商務應用對網絡安全和網絡信用的要求越來越高,電子交易行為隨處可見。為了確保交易的順利進行,必須在互聯網中建立并維護一種可以信任的環境和機制。為了應對這種對安全的需求,世界各國對其進行了多年的研究,初步形成了一套完整的Internet 安全解決方案,即目前被廣泛采用的公鑰基礎設施技術(PKI,Public Key Infrastructure)。
總之,加密技術是信息安全的基本技術,在網絡中的使用也越來越廣泛。密碼技術的發展將滲透到數字信息的每一個角落,只有將信息加密技術與訪問控制技術、網絡監控技術等相結合,才能為網絡通訊提供更有效的安全保護措施。
[1]何文強.淺談數據加密技術的應用和方法[J].科技信息,2010.17.
[2]龔靜.淺談網絡安全與信息加密技術[J].華南金融電腦,2005(6).