- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代密碼學
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰撤銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼的工作模式
- 分組密碼的工作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 經典密碼
- 密碼學 - 逆向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 置換密碼
- 密碼學 - 加密置換密碼
- 密碼學 - 解密置換密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼加密
- 密碼學 - 簡單替換密碼解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼實現
- 現代密碼
- Base64 編碼和解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單表代換密碼
- 密碼學 - 單表代換密碼破解
- 密碼學 - 多表代換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - Hill 密碼
- 多表代換密碼
- 密碼學 - 一次性密碼本
- 一次性密碼本的實現
- 密碼學 - 置換技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列置換密碼
- 密碼學 - 隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準 (DES)
- 密碼學 - 三重 DES (3DES)
- 密碼學 - 雙重 DES (2DES)
- 高階加密標準 (AES)
- 密碼學 - AES 結構
- 密碼學 - AES 變換函式
- 密碼學 - 位元組替換變換
- 密碼學 - 行移位變換
- 密碼學 - 列混淆變換
- 密碼學 - 輪金鑰加變換
- 密碼學 - AES 金鑰擴充套件演算法
- 密碼學 - Blowfish 演算法
- 密碼學 - SHA 演算法
- 密碼學 - RC4 演算法
- 密碼學 - Camellia 加密演算法
- 密碼學 - ChaCha20 加密演算法
- 密碼學 - CAST5 加密演算法
- 密碼學 - SEED 加密演算法
- 密碼學 - SM4 加密演算法
- IDEA - 國際資料加密演算法
- 公鑰(非對稱)密碼演算法
- 密碼學 - RSA 演算法
- 密碼學 - RSA 加密
- 密碼學 - RSA 解密
- 密碼學 - 建立 RSA 金鑰
- 密碼學 - RSA 密碼破解
- 密碼學 - ECDSA 演算法
- 密碼學 - DSA 演算法
- 密碼學 - Diffie-Hellman 演算法
- 密碼學中的資料完整性
- 密碼學中的資料完整性
- 訊息認證
- 密碼學數字簽名
- 公鑰基礎設施 (PKI)
- 雜湊演算法
- MD5(訊息摘要演算法 5)
- SHA-1(安全雜湊演算法 1)
- SHA-256(安全雜湊演算法 256 位)
- SHA-512(安全雜湊演算法 512 位)
- SHA-3(安全雜湊演算法 3)
- 密碼雜湊
- Bcrypt 雜湊模組
- 現代密碼學
- 量子密碼學
- 後量子密碼學
- 密碼協議
- 密碼學 - SSL/TLS 協議
- 密碼學 - SSH 協議
- 密碼學 - IPsec 協議
- 密碼學 - PGP 協議
- 影像和檔案加密
- 密碼學 - 影像
- 密碼學 - 檔案
- 隱寫術 - 影像
- 檔案加密和解密
- 密碼學 - 檔案加密
- 密碼學 - 檔案解密
- 物聯網中的密碼學
- 物聯網安全挑戰、威脅和攻擊
- 物聯網安全的密碼技術
- 物聯網裝置的通訊協議
- 常用密碼技術
- 自定義構建密碼演算法(混合密碼學)
- 雲密碼學
- 量子密碼學
- 密碼學中的影像隱寫術
- DNA 密碼學
- 密碼學中的一次性密碼 (OTP) 演算法
- 區別
- 密碼學 - MD5 與 SHA1 的比較
- 密碼學 - RSA 與 DSA 的比較
- 密碼學 - RSA 與 Diffie-Hellman 的比較
- 密碼學與密碼學的比較
- 密碼學 - 密碼學與密碼分析的比較
- 密碼學 - 經典密碼學與量子密碼學的比較
- 密碼學與隱寫術的比較
- 密碼學與加密的比較
- 密碼學與網路安全的比較
- 密碼學 - 流密碼與分組密碼的比較
- 密碼學 - AES 與 DES 密碼的比較
- 密碼學 - 對稱加密與非對稱加密的比較
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼學 - 加密演算法
加密演算法將資訊轉換為密文。該演算法使用加密金鑰以可預測的方式轉換資料,並將資料轉換為看起來隨機的密文,但可以使用解密金鑰將其轉換回明文。在上一章中,我們瞭解了資料加密是什麼,本章我們將瞭解加密演算法。
加密演算法分類
根據加密演算法的操作、金鑰長度和用途,可以將其分為不同的類別。主要分類如下:
- 對稱加密 - 這種加密使用同一個金鑰進行加密和解密。例如,使用同一個金鑰對 zip 檔案進行加密和解密。由於金鑰需要對外部保密,對稱加密有時被稱為“秘密金鑰”加密。常用的對稱加密演算法包括 DES、AES 和 Blowfish。
- 非對稱加密(公鑰加密) - 公鑰加密或非對稱加密使用公鑰-私鑰對,其中使用公鑰加密的資料只能使用私鑰解密。非對稱加密部分由 TLS(或 SSL)協議使用,該協議支援 HTTPS。常見的非對稱加密演算法包括 RSA 和 ECC。
- 雜湊函式 - 雜湊函式是從給定資料生成特定字元集(雜湊值)的工具。這些雜湊值是不可逆的,因此無法從雜湊值恢復原始資訊。雜湊函式通常用於驗證資料完整性。常用的例子包括 SHA-256 和 MD5。
- 分組密碼和流密碼 - 對稱金鑰方法提供兩種主要形式:分組密碼和流密碼。兩種密碼都使用相同的金鑰來加密和解密資料。流密碼逐位處理資料,而分組密碼則處理固定大小的資料塊。
- 金鑰長度 - 金鑰長度通常以位元數的對數形式給出。例如,3 位金鑰長度可以使用 8 個不同的金鑰 (2 x 2 x 2 = 8)。金鑰長度越大,資料通常被認為越安全。金鑰長度是一個加密安全標準,它根據協議和演算法而有所不同。
- 用途 - 加密演算法的用途可以根據其具體的應用進行分類,例如保護網際網路上的資料傳輸 (SSL/TLS)、保護儲存資料(磁碟加密)以及保護各種程式中的通訊(例如用於加密電子郵件的 PGP)。
加密演算法型別
下圖顯示了一些根據分類列出的加密演算法型別名稱:
對稱加密演算法
如上圖所示,常用的對稱加密演算法包括資料加密標準 (DES)、高階加密標準 (AES)、三重 DES (3DES)、Blowfish、Twofish、IDEA(國際資料加密演算法)和 RC4(Rivest 密碼 4)。下面我們將簡要討論這些加密技術。
- 資料加密標準 (DES) - 資料加密標準 (DES) 是一種使用單個金鑰來保護數字資料的加密型別。雖然由於其 56 位的短金鑰長度,它可能不如當前方法安全,但它在密碼學的發展中發揮了至關重要的作用。
- 高階加密標準 (AES) - 高階加密標準 (AES) 是一種對稱分組密碼,美國政府使用它來保護機密資料。AES 在全球範圍內廣泛用於軟體和硬體中,用於加密重要資訊。它在政府計算機安全、網路安全和電子資料保護中發揮著至關重要的作用。
- 三重 DES (3DES) - 三重資料加密標準 (3DES) 是密碼學中的一種標準,它使用固定長度的金鑰,並涉及三次 DES 演算法的傳遞。它是一種基於對稱分組密碼的加密方法,這意味著傳送方和接收方共享相同的金鑰進行加密和解密。
- Blowfish - Blowfish 是一種加密方法,旨在取代 DES。它將訊息分成 64 位塊並相應地進行加密。Blowfish 以其速度、靈活性和優異的安全效能而聞名,使其成為保護電子商務網站、銀行交易和密碼管理應用程式的流行選擇。Blowfish 在開發者中非常流行,部分原因是它是公共領域的並且可以免費使用。
- Twofish - Twofish 是 Blowfish 的繼任者,它也使用對稱加密來解密 128 位資料塊,無需許可證。與其他演算法不同,Twofish 始終以 16 輪加密資料,而不管金鑰大小如何。這使得它適用於軟體和硬體環境,並且以其快速效能而聞名。許多組織使用 Twofish 來進行安全的資料通訊和保護。
- RC4 - RC4 是一種具有可變長度金鑰演算法的流密碼。該演算法一次加密一個位元組(或更大的資料單元)。金鑰輸入是一個偽隨機位生成器,它建立一個 8 位數字流,在不知道輸入金鑰的情況下是不可預測的。生成器的輸出,稱為金鑰流,使用 X-OR 運算與明文流密碼逐位元組混合。
- IDEA - 國際資料加密演算法 (IDEA) 是對稱金鑰分組密碼加密的一個例子。IDEA 使用 128 位金鑰,並處理 64 位塊。基本上,它將 64 位的明文塊轉換為 64 位的密文塊。
非對稱加密演算法
非對稱加密技術示例包括RSA、橢圓曲線加密(ECC)、Diffie-Hellman金鑰交換、ElGamal和數字簽名演算法(DSA)。非對稱加密,通常稱為公鑰加密,使用兩個不同的金鑰進行加密和解密。因此,讓我們討論所有流行的非對稱加密演算法:
- Rivest-Shamir-Adleman (RSA) − RSA是一種非對稱公鑰加密系統,作為網際網路的加密標準。RSA加密可靠且安全。它是一種使用金鑰對的加密型別:公鑰和私鑰分別用於加密和解密。
- 橢圓曲線加密(ECC) − 橢圓曲線加密(ECC)是一種類似於RSA的加密方法,允許公鑰加密。顧名思義,ECC是一種基於有限域橢圓曲線代數結構的非對稱加密技術。
- Diffie-Hellman金鑰交換 − Diffie-Hellman演算法用於建立共享金鑰,可在透過公共網路傳送資料時用於私密通訊。橢圓曲線用於生成點,並使用引數獲得金鑰。
- ElGamal − ElGamal加密方案是一種基於Diffie-Hellman金鑰交換的公鑰加密的非對稱金鑰加密方法。ElGamal演算法為公鑰加密提供了RSA的替代方案。RSA的安全性依賴於對大整數進行因式分解的複雜性。ElGamal演算法的安全性在於在大素數範圍內計算離散資料的複雜性。
- 數字簽名演算法 (DSA) − DSA 指的是數字簽名演算法。它用於數字簽名及其驗證。它基於模冪運算和離散對數的數學原理。美國國家標準與技術研究院 (NIST) 於 1991 年制定了該演算法。
雜湊函式
- 安全雜湊演算法 (SHA-1, SHA-256, SHA-3) − 安全雜湊演算法或 SHA 是一組固定的加密函式,旨在確保資料安全。這些演算法透過使用雜湊函式(包括位運算、模加法和壓縮功能)更改資訊來發揮作用。
- 訊息摘要演算法 (MD5) − MD5演算法通常用於建立128位雜湊值以驗證資料完整性。它是對MD4演算法的改進,並於1992年在RFC 1321中正式記錄。MD5可以作為校驗和,以確保資料完整性得到維護並免受意外損壞。
- RIPEMD (RACE完整性基元評估訊息摘要) − RIPEMD 代表 RACE 完整性基元評估訊息摘要,它是一個於 1992 年建立的雜湊函式組。它的靈感來自 MD4(一種以其漏洞而聞名的雜湊函式)的弱點。它專門設計用於最佳化 32 位處理器的效能。
- Whirlpool − Whirlpool 是一種密碼雜湊函式。該演算法的靈感來自方塊密碼和高階加密標準。Whirlpool 被設計為塊密碼雜湊函式,能夠處理小於 2^256 位的輸入長度併產生 512 位的雜湊輸出。
廣告