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