加密定義:
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的數字簽名。