gracekrcx / weekly-notes

4 stars 0 forks source link

[2019-11-17] 雜湊和加密 #23

Open gracekrcx opened 4 years ago

gracekrcx commented 4 years ago

什麼是雜湊(Hash function)

  1. (wiki) 它也常用作一種資訊安全的實作方法,由一串資料中經過雜湊演算法(Hashing algorithms)計算出來的資料指紋(data fingerprint),經常用來識別檔案與資料是否有被竄改,以保證檔案與資料確實是由原創者所提供。
  2. 有些資料是不應該被還原的。
  3. 具有確認資料正確性的功能。
  4. 相同的內容輸入相同雜湊演算法,得到的輸出必定一樣。
  5. 由於雜湊演算法所計算出來的雜湊值(Hash Value)具有不可逆的性質。多對一不可逆
  6. 目前 MD4, MD5, SHA1 這些演算法都已經被研究出碰撞的方法。

常見的雜湊

  1. SHA 系列:SHA-1, SHA-256/224
  2. MD4, MD5

加鹽

wiki

// abcdefghijklmnopqrstuvwxyz 為加鹽的欄位
// x7faqgjw 原始密碼

x7faqgjwabcdefghijklmnopqrstuvwxyz

什麼是加密(Encryption)

  1. (wiki) 在密碼學中,加密(英語:Encryption)是將明文(plaintext)資訊改變為難以讀取的密文(ciphertext)內容,使之不可讀的過程。只有擁有解密方法的物件,經由解密過程,才能將密文還原為正常可讀的內容。
  2. 加密是可逆的,最終目的是讓資料是可以還原的 (Restorable)。
  3. 加密與解密的流程,是由加解密演算法處理。
  4. 依解密的關鍵 (Key) 不同,分成底下兩者,差別在於取得金鑰 (Key) 的方法。
    1. 對稱式加解密演算法 (Symmetric Algorithm)
    2. 以及非對稱式加解密演算法 (Asymmetric Algorithm)
  5. 因為對稱式加密的安全性以及在實際應用上不夠理想,於是乎,出現了安全性更高,應用範圍更廣的非對稱式加密(Asymmetric Encryption)。

常見加密演算法

對稱式:DES/Triple DES, AES 非對稱式:RSA, DSA, ECC

雜湊與加密的差別

  1. 加密:可逆,需要密鑰,可以透過解密得到原文。
  2. 雜湊:不可逆,不需密鑰,無法逆向解出原始輸入。

參考文章 雜湊不是加密,雜湊不是加密,雜湊不是加密。 如何區分加密、壓縮、編碼 基礎密碼學(對稱式與非對稱式加密技術) 加密和雜湊有什麼不一樣?

gracekrcx commented 4 years ago

Dropbox 儲存密碼的方式