淺談加密技術

技術小胖子發表於2017-10-21

1、加密演算法術語

假設我們將ABCD中的每個字母替換為其後的第二個字母,例如A替換為C,最終ABCD替換為CDEF.


明    文:ABCD

加密演算法:字母替換

密    鑰:每個字母替換為其後的第二個字母

密    文:CDEF

加    密:ABCD –> CDEF

解    密:CDEF –> ABCD


2、加密演算法分類

加密演算法分為對稱加密演算法(私鑰加密)和非對稱加密演算法(公鑰加密)


2.1、對稱加密演算法(私鑰加密)

加密解密使用相同的金鑰。


DES(Data Encryption Standard) 

DES加密共有三種形式,分為DES(40-bit長度加密),DES(56-bit長度加密)以及3DES(3倍的56-bit長度加密,即168-bit長度加密)


AES(Advanced Encryption Standard) 

AES加密共有三種形式,分為AES 128(128-bit長度加密),AES 192(192-bit長度加密)以及AES 256(256-bit長度加密)


2.2、非對稱加密演算法(公鑰加密)

加密解密使用不同的金鑰,加密時使用的金鑰稱為公鑰,解密時使用的金鑰稱為私鑰,公鑰用於加密,私鑰用於解密。

其基本思想是:甲將公鑰傳送給乙,乙用公鑰加密資料後,將資料傳送給甲,其他人即使截獲了資料,因為沒有金鑰,也無法獲取資料的內容。


RSA公鑰加密演算法的名字是發明者的人名:Rivest, Shamir and Adleman,該演算法的長度位數不定,由人手工定義。


3、加密演算法選擇

公鑰加密演算法雖然相對私鑰加密演算法安全,但是其速度叫私鑰加密演算法慢。所以通常的做法是,先使用公鑰加密演算法安全傳送私鑰加密演算法的金鑰後,再使用私鑰加密演算法就行資料加密。此種做法在保證金鑰安全的同時加快了資料加密的速度。


4、Hash演算法

資料傳送前計算出相應的Hash值,接收者收到資料後也計算Hash值,如果兩者不一致,說明資料在傳輸過程中被篡改了。Hash演算法的特徵在於任何大小的資料計算出的Hash值的長度都是一樣的,僅僅是根據Hash值,是無法推算出資料內容的,無法將資料內容還原。Hash多用於認證,認證對等體雙方在相互認證時,只需要交換密碼的Hash值即可,而無需交換密碼,從而防止了密碼被竊取。

 

MD5(Message Digest 5) 

將任何資料通過計算後輸出128-bit長度的Hash值。

 

SHA-1(Secure Hash Algorithm 1) 

160-bit digest將任何資料通過計算後輸出160-bit長度的Hash值。

      本文轉自開源殿堂 51CTO部落格,原文連結:http://blog.51cto.com/kaiyuandiantang/1694695,如需轉載請自行聯絡原作者


相關文章