1. 程式人生 > >密碼學(對稱與非對稱密碼)

密碼學(對稱與非對稱密碼)

目錄

密碼學

密碼學發展

雜湊演算法

密碼學

密碼學發展

  • 古典密碼:古代----19世紀末
  • 近代密碼:20世紀初---1949年
  • 現代密碼:1949(夏農發表的《保密系統的加密原理》)---1975
  • 公鑰密碼:1976(W.Diffie和M.Hellman發表的《密碼學的新方向》)--至今

對稱加密體制

加密和解密祕鑰相同,如:DES、3DES、AES等
優點:

  • 效率高,演算法簡單,系統開銷小
  • 適合加密大量資料
  • 明文長度和密文相同

缺點:

  • 需要以安全方式進行金鑰交換
  • 金鑰管理複雜

非對稱加密體制

加密和解密祕鑰不相同,如RSA加密演算法
優點:

  • 解決金鑰傳遞問題、金鑰管理簡單
  • 大大減少金鑰持有量
  • 提供了對稱密碼技術無法或很難提供的服務(數字簽名)

缺點:

  • 計算複雜、耗用資源大
  • 非對稱會導致得到的密文變長

雜湊演算法

雜湊(Hash),一般翻譯做"雜湊",也有直接音譯為"雜湊"的,就是把任意長度的輸入(又叫做預對映, pre-image),通過雜湊演算法,變換成固定長度的輸出,該輸出通常稱作雜湊值、數字指紋 或 訊息摘要。這種轉換是一種壓縮對映,也就是,雜湊值的空間通常遠小於輸入的空間(不同的輸入有可能會雜湊成相同的輸出,機率非常小),而不可能從雜湊值來逆向推出輸入值,也就是說,雜湊函式是不可逆的。簡單的說就是一種將任意長度的訊息壓縮到某一固定長度的訊息摘要的函式。
雜湊函式也稱為雜湊函式、雜湊函式等。
雜湊函式的特點:不可逆性,碰撞約束

目前網上大部分的雜湊破解都是利用雜湊值的密碼字典進行爆破。

常見的雜湊演算法有:MD4  、MD5 、  SHA1、  SHA224 、 SHA256 、 SHA384  、SHA 512

  • MD5 ,      輸出32bit的雜湊值
  • SHA1 ,    輸出160bit的雜湊值
  • SHA224, 輸出224bit的雜湊值
  • SHA256, 輸出256bit的雜湊值
  • SHA384, 輸出384bit的雜湊值
  • SHA512, 輸出512bit的雜湊值

雜湊演算法的用途:檔案校驗、數字簽名、安全傳輸和儲存口令