對稱加密
采用單鑰密碼系統(tǒng)的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
需要對加密和解密使用相同密鑰的加密算法。由于其速度,對稱性加密通常在消息發(fā)送方需要加密大量數(shù)據(jù)時使用。對稱性加密也稱為密鑰加密。
所謂對稱,就是采用這種加密方法的雙方使用方式用同樣的密鑰進(jìn)行加密和解密。密鑰實際上是一種算法,通信發(fā)送方使用這種算法加密數(shù)據(jù),接收方再以同樣的算法解密數(shù)據(jù)。
因此對稱式加密本身不是安全的。
常用的對稱加密算法有:
DES(Data Encryption Standard):數(shù)據(jù)加密標(biāo)準(zhǔn),速度較快,適用于加密大量數(shù)據(jù)的場合。
3DES(Triple DES):是基于DES,對一塊數(shù)據(jù)用三個不同的密鑰進(jìn)行三次加密,強(qiáng)度更高。
AES(Advanced Encryption Standard):高級加密標(biāo)準(zhǔn),是下一代的加密算法標(biāo)準(zhǔn),速度快,安全級別高;
RC4,也是為 RSA Data Security, Inc. 開發(fā)的密碼系統(tǒng)的商標(biāo)名稱。
DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
DES、IDEA、RC2、RC4、SKIPJACK算法等
用單鑰密碼系統(tǒng)的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
DES
單密鑰算法,是信息的發(fā)送方采用密鑰A進(jìn)行數(shù)據(jù)加密,信息的接收方采用同一個密鑰A進(jìn)行數(shù)據(jù)解密.
單密鑰算法是一個對稱算法.
缺點:由于采用同一個密鑰進(jìn)行加密解密,在多用戶的情況下,密鑰保管的安全性是一個問題.
對稱加密算法
對稱加密算法是應(yīng)用較早的加密算法,技術(shù)成熟。在對稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發(fā)收信雙方所擁有的鑰匙數(shù)量成幾何級數(shù)增長,密鑰管理成為用戶的負(fù)擔(dān)。對稱加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機(jī)專網(wǎng)系統(tǒng)中廣泛使用的對稱加密算法有DES、IDEA和AES。
傳統(tǒng)的DES由于只有56位的密鑰,因此已經(jīng)不適應(yīng)當(dāng)今分布式開放網(wǎng)絡(luò)對數(shù)據(jù)加密安全性的要求。1997年RSA數(shù)據(jù)安全公司發(fā)起了一項“DES挑戰(zhàn)賽”的活動,志愿者四次分別用四個月、41天、56個小時和22個小時破解了其用56位密鑰DES算法加密的密文。即DES加密算法在計算機(jī)速度提升后的今天被認(rèn)為是不安全的。
AES是美國聯(lián)邦政府采用的商業(yè)及政府?dāng)?shù)據(jù)加密標(biāo)準(zhǔn),預(yù)計將在未來幾十年里代替DES在各個領(lǐng)域中得到廣泛應(yīng)用。AES提供128位密鑰,因此,128位AES的加密強(qiáng)度是56位DES加密強(qiáng)度的1021倍還多。假設(shè)可以制造一部可以在1秒內(nèi)破解DES密碼的機(jī)器,那么使用這臺機(jī)器破解一個128位AES密碼需要大約149億萬年的時間。(更深一步比較而言,宇宙一般被認(rèn)為存在了還不到200億年)因此可以預(yù)計,美國國家標(biāo)準(zhǔn)局倡導(dǎo)的AES即將作為新標(biāo)準(zhǔn)取代DES。
非對稱加密
1976年,美國學(xué)者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協(xié)議,允許在不安全的媒體上的通訊雙方交換信息,安全地達(dá)成一致的密鑰,這就是“公開密鑰系統(tǒng)”。相對于“對稱加密算法”這種方法也叫做“非對稱加密算法”。 與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
特性
非對稱加密算法實現(xiàn)機(jī)密信息交換的基本過程是:甲方生成一對密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;甲方再用自己保存的另一把專用密鑰對加密后的信息進(jìn)行解密。甲方只能用其專用密鑰解密由其公用密鑰加密后的任何信息。 非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要,但加密和解密花費時間長、速度慢,它不適合于對文件加密而只適用于對少量數(shù)據(jù)進(jìn)行加密。 經(jīng)典的非對稱加密算法如RSA算法等安全性都相當(dāng)高. 非對稱加密的典型應(yīng)用是數(shù)字簽名。 采用雙鑰密碼系統(tǒng)的加密方法,在一個過程中使用兩個密鑰,一個用于加密,另一個用于解密,這種加密方法稱為非對稱加密,也稱為公鑰加密,因為其中一個密鑰是公開的(另一個則需要保密)。
不對稱加密算法
不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時采用公鑰加密,解密密文時使用私鑰才能完成,而且發(fā)信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發(fā)信方想發(fā)送只有收信方才能解讀的加密信息,發(fā)信方必須首先知道收信方的公鑰,然后利用收信方的公鑰來加密原文;收信方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對稱加密算法,收發(fā)信雙方在通信之前,收信方必須將自己早已隨機(jī)生成的公鑰送給發(fā)信方,而自己保留私鑰。由于不對稱算法擁有兩個密鑰,因而特別適用于分布式系統(tǒng)中的數(shù)據(jù)加密。廣泛應(yīng)用的不對稱加密算法有RSA算法和美國國家標(biāo)準(zhǔn)局提出的DSA。以不對稱加密算法為基礎(chǔ)的加密技術(shù)應(yīng)用非常廣泛。
RSA(Rivest Shamir Adlemen,一種因特網(wǎng)加密和認(rèn)證體系):由 RSA 公司發(fā)明,是一個支持變長密鑰的公共密鑰算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數(shù)字簽名算法,是一種標(biāo)準(zhǔn)的 DSS(數(shù)字簽名標(biāo)準(zhǔn));
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學(xué)。
DSA
所謂數(shù)字簽名是指發(fā)送方從發(fā)送報文中抽取特征數(shù)據(jù)(稱為數(shù)字指紋或摘要),然后用發(fā)送方的私鑰對數(shù)字指紋使用加密算法進(jìn)行算法操作,接受方使用發(fā)送方已經(jīng)公開的公鑰解密并驗證報文.
數(shù)字簽名用戶驗證發(fā)送方身份或者發(fā)送方信息的完整性
中文名稱:密鑰加密
英文名稱:secret key encryption
定義:發(fā)送和接收數(shù)據(jù)的雙方,使用相同的或?qū)ΨQ的密鑰對明文進(jìn)行加密解密運算的加密方法。
公鑰加密
中文名稱:公鑰加密
英文名稱:public key encryption
定義:由對應(yīng)的一對唯一性密鑰(即公開密鑰和私有密鑰)組成的加密方法。它解決了密鑰的發(fā)布和管理問題,是目前商業(yè)密碼的核心。
中文名稱:數(shù)字簽名
英文名稱:digital signature
定義:以電子形式存在于數(shù)據(jù)信息之中的,或作為其附件的或邏輯上與之有聯(lián)系的數(shù)據(jù),可用于辨別數(shù)據(jù)簽署人的身份,并表明簽署人對數(shù)據(jù)信息中包含的信息的認(rèn)可。
數(shù)字簽名(又稱公鑰數(shù)字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實現(xiàn),用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補(bǔ)的運算,一個用于簽名,另一個用于驗證。
Hash算法
Hash算法特別的地方在于它是一種單向算法,用戶可以通過Hash算法對目標(biāo)信息生成一段特定長度的唯一的Hash值,卻不能通過這個Hash值重新獲得目標(biāo)信息。因此Hash算法常用在不可還原的密碼存儲、信息完整性校驗等。
常見的Hash算法有MD2、MD4、MD5、HAVAL、SHA
MD5/SHA
MessageDigest是一個數(shù)據(jù)的數(shù)字指紋.即對一個任意長度的數(shù)據(jù)進(jìn)行計算,產(chǎn)生一個唯一指紋號.
MessageDigest的特性:
A) 兩個不同的數(shù)據(jù),難以生成相同的指紋號
B) 對于指定的指紋號,難以逆向計算出原始數(shù)據(jù)
其他介紹:
PGP(Pretty Good Privacy)技術(shù)
PGP技術(shù)是一個基于不對稱加密算法RSA公鑰體系的郵件加密技術(shù),也是一種操作簡單、使用方便、普及程度較高的加密軟件。PGP技術(shù)不但可以對電子郵件加密,防止非授權(quán)者閱讀信件;還能對電子郵件附加數(shù)字簽名,使收信人能明確了解發(fā)信人的真實身份;也可以在不需要通過任何保密渠道傳遞密鑰的情況下,使人們安全地進(jìn)行保密通信。PGP技術(shù)創(chuàng)造性地把RSA不對稱加密算法的方便性和傳統(tǒng)加密體系結(jié)合起來,在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制方面采用了無縫結(jié)合的巧妙設(shè)計,使其幾乎成為最為流行的公鑰加密軟件包。
數(shù)字簽名(Digital Signature)技術(shù)
數(shù)字簽名技術(shù)是不對稱加密算法的典型應(yīng)用。數(shù)字簽名的應(yīng)用過程是,數(shù)據(jù)源發(fā)送方使用自己的私鑰對數(shù)據(jù)校驗和或其他與數(shù)據(jù)內(nèi)容有關(guān)的變量進(jìn)行加密處理,完成對數(shù)據(jù)的合法“簽名”,數(shù)據(jù)接收方則利用對方的公鑰來解讀收到的“數(shù)字簽名”,并將解讀結(jié)果用于對數(shù)據(jù)完整性的檢驗,以確認(rèn)簽名的合法性。數(shù)字簽名技術(shù)是在網(wǎng)絡(luò)系統(tǒng)虛擬環(huán)境中確認(rèn)身份的重要技術(shù),完全可以代替現(xiàn)實過程中的“親筆簽字”,在技術(shù)和法律上有保證。在公鑰與私鑰管理方面,數(shù)字簽名應(yīng)用與加密郵件PGP技術(shù)正好相反。在數(shù)字簽名應(yīng)用中,發(fā)送者的公鑰可以很方便地得到,但他的私鑰則需要嚴(yán)格保密。
PKI(Public Key Infrastructure)技術(shù)
PKI技術(shù)是一種以不對稱加密技術(shù)為核心、可以為網(wǎng)絡(luò)提供安全服務(wù)的公鑰基礎(chǔ)設(shè)施。PKI技術(shù)最初主要應(yīng)用在Internet環(huán)境中,為復(fù)雜的互聯(lián)網(wǎng)系統(tǒng)提供統(tǒng)一的身份認(rèn)證、數(shù)據(jù)加密和完整性保障機(jī)制。由于PKI技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域所表現(xiàn)出的巨大優(yōu)勢,因而受到銀行、證券、政府等核心應(yīng)用系統(tǒng)的青睞。PKI技術(shù)既是信息安全技術(shù)的核心,也是電子商務(wù)的關(guān)鍵和基礎(chǔ)技術(shù)。由于通過網(wǎng)絡(luò)進(jìn)行的電子商務(wù)、電子政務(wù)等活動缺少物理接觸,因而使得利用電子方式驗證信任關(guān)系變得至關(guān)重要,PKI技術(shù)恰好能夠有效解決電子商務(wù)應(yīng)用中的機(jī)密性、真實性、完整性、不可否認(rèn)性和存取控制等安全問題。一個實用的PKI體系還必須充分考慮互操作性和可擴(kuò)展性。PKI體系所包含的認(rèn)證中心(CA)、注冊中心(RA)、策略管理、密鑰與證書管理、密鑰備份與恢復(fù)、撤銷系統(tǒng)等功能模塊應(yīng)該有機(jī)地結(jié)合在一起。