跳轉到內容

密碼學/筆記

來自華夏公益教科書

'密碼學是希臘語,意思是“秘密寫作”

密碼學的重要用途 1. 保護訊息的機密性(透過加密演算法實現) 2. 為身份驗證提供身份(透過非對稱加密演算法、數字簽名演算法實現) 3. 驗證資訊以檢查訊息完整性(透過雜湊函式實現)

為了驗證資訊,使用密碼學功能。

密碼學功能被稱為雜湊函式

雜湊函式的示例 1. MD5 (訊息摘要 5) 2. SHA (安全雜湊演算法)

密碼學型別 1. 金鑰加密(雙方知道相同的金鑰。使用對稱加密) 2. 公鑰加密(雙方擁有兩個不同的金鑰,用於加密的公鑰用於解密的私鑰。)

私鑰用於簽名,公鑰用於簽名驗證。[1][2]

在可逆的公鑰演算法中,用私鑰加密的資料可以用公鑰解密。使用非對稱加密[需要引用]

加密演算法被稱為密碼,以加密形式的資訊被稱為密文

兩種型別的密碼 1. 流密碼(一次處理一個位元組的資料) 2. 塊密碼(一次處理 8 位元組的塊資料。填充小於塊的包)

對稱加密演算法的示例

1. DES(資料加密標準 - 塊) 2. 3DES(三重強度資料加密標準 - 塊) 3. RC2(Rivest 密碼 2 - 塊) 4. RC4(Rivest 密碼 4 - 流)

非對稱加密演算法的示例

1. RSA - Rivest Shamir Adleman 2. DSA - 數字簽名演算法 - 只能用於數字簽名。

  1. https://security.stackexchange.com/questions/69461/encrypt-with-private-and-decrypt-with-public
  2. https://stackoverflow.com/questions/30718174/encrypt-with-private-key-and-decrypt-with-public-key
華夏公益教科書