加密定義:
.
1.對稱加密:需要對加密和解密使用相同密鑰的加密算法。由於其速度快,對稱性加密通常在消息發送方需要加密大量數據時使用。對稱性加密也稱為密鑰加密。所謂對稱,就是採用這種加密方法的雙方使用方式用同樣的密鑰進行加密和解密。密鑰是控制加密及解密過程的指令。算法是一組規則,規定如何進行加密和解密。加密的安全性不僅取決於加密算法本身,密鑰管理的安全性更是重要。因為加密和解密都使用同一個密鑰,如何把密鑰安全地傳遞到解密者手上就成重中之重的問題。在對稱加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等。
2.非對稱加密:在通信雙方,如果使用非對稱加密算法,一般遵從這樣的原則:公鑰(publickey)加密,私鑰(privatekey)解密。同時,一般一個密鑰加密,另一個密鑰就可以解密。因為公鑰是公開的,如果用來解密,那麼誰都可以解密消息,那麼私鑰和公鑰沒什麼區別了。因此,私鑰也可以認為是個人身份的證明。非對稱加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)等。
.
3.數字摘要:數字摘要是將任意長度的消息變成固定長度的短消息,它類似於一個自變量是消息的函數,也就是Hash函數。數字摘要就是採用單向Hash函數將需要加密的明文「摘要」成一串固定長度(128位)的密文這一串密文又稱為數字指紋,它有固定的長度,而且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。
4.數字籤名:數字籤名,就是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明,一次數字籤名涉及到一個哈希函數、接受者的公鑰、發送者的私鑰。
5.數字證書:是一個經證書授權中心(CertificateAuthority)數字籤名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字籤名,有效期。
使用原理:
1.對稱加密:甲和乙是一對生意搭檔,他們住在不同的城市。由於生意上的需要,他們經常會相互之間郵寄重要的貨物。為了保證貨物的安全,他們商定製作一個保險盒(即經過算法加密),將物品放入其中。他們打造了兩把相同的鑰匙(雙方持有對稱、相同的秘鑰)分別保管,以便在收到包裹時用這個鑰匙打開保險盒,以及在郵寄貨物前用這把鑰匙鎖上保險盒。這樣看來也印證上面所說的對稱加密最重要的問題在於如何將「鑰匙」安全的送達並保存。
2.非對稱加密:A和B兩家公司,需要交流重要信息(比如交易金額發起和交易結果通知)。A需要保證自己的發起金額準確,必須進行信息加密,B公司是實際金額的操作者(幫A公司代收代付),A使用B給的公鑰加密數據,B使用自己的私鑰解密執行金額交易。這樣只有和B公司合作的並持有B公司發放的公鑰才能發起交易。反之,A公司也只識別自己給了公鑰的B公司加密的數據。這樣就是最基本的非對稱加密的用法。但是有一個新的問題是,假如同樣持有B公司公鑰的C公司模擬或從中修改了A公司發起數據並加密傳給了B,B不知道是C偽造的執行了操作就會給A帶來經濟損失。所以新的問題出現了:身份認證和信息完整性必須驗證!
.
A:將被發送文件用SHA編碼加密產生128bit的數字摘要,用自己的私用密鑰對摘要再加密,這就形成了數字籤名。然後將使用B公鑰加密的密文和加密的摘要同時傳給B。
B:用A公共密鑰對數字籤名解密(這裡保證了只有A的身份),同時對收到的密文使用自己的私鑰解密,在用SHA編碼加密產生又一摘要。將解密後的摘要和用SHA編碼加密產生的又一摘要相互對比。如兩者一致,則說明傳送過程中信息沒有被破壞或篡改過(這裡保證了數據的完整性)。
至此,AB互有一對公私鑰,這樣就保證了信息都是對方加密的密文,別人看不了,也無法修改。但是有一個新的問題:假如擁有B公鑰的C公司偷換了A放在B公司的A的公鑰,換成自己的C的公鑰,然後模擬A發送信息,這樣一樣會讓B不知道是A發起的交易!引入新的概念:數字證書。A的公鑰經過了公證,這就可以保證B使用公鑰解開的數字籤名肯定是A的數字籤名。
作者:song2song