
- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 元件
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰撤銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼的工作模式
- 分組密碼的工作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 經典密碼
- 密碼學 - 逆向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 換位密碼
- 密碼學 - 加密換位密碼
- 密碼學 - 解密換位密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼的加密
- 密碼學 - 簡單替換密碼的解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼的實現
- 現代密碼
- Base64 編碼和解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單字母替換密碼
- 密碼學 - 單字母替換密碼的破解
- 密碼學 - 多字母替換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - Hill 密碼
- 多字母替換密碼
- 密碼學 - 一次性密碼本密碼
- 一次性密碼本密碼的實現
- 密碼學 - 換位技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列置換
- 密碼學 - 隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準
- 密碼學 - 三重DES
- 密碼學 - 雙重DES
- 高階加密標準
- 密碼學 - AES 結構
- 密碼學 - AES 變換函式
- 密碼學 - 位元組替換變換
- 密碼學 - 行移位變換
- 密碼學 - 列混合變換
- 密碼學 - 輪金鑰加變換
- 密碼學 - AES 金鑰擴充套件演算法
- 密碼學 - Blowfish 演算法
- 密碼學 - SHA 演算法
- 密碼學 - RC4 演算法
- 密碼學 - Camellia 加密演算法
- 密碼學 - ChaCha20 加密演算法
- 密碼學 - CAST5 加密演算法
- 密碼學 - SEED 加密演算法
- 密碼學 - SM4 加密演算法
- IDEA - 國際資料加密演算法
- 公鑰(非對稱)密碼學演算法
- 密碼學 - RSA 演算法
- 密碼學 - RSA 加密
- 密碼學 - RSA 解密
- 密碼學 - 建立 RSA 金鑰
- 密碼學 - 破解 RSA 密碼
- 密碼學 - ECDSA 演算法
- 密碼學 - DSA 演算法
- 密碼學 - Diffie-Hellman 演算法
- 密碼學中的資料完整性
- 密碼學中的資料完整性
- 訊息認證
- 密碼學數字簽名
- 公鑰基礎設施
- 雜湊
- 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 密碼
- 密碼學 - 對稱與非對稱
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼系統 - 概述
密碼系統使用密碼方法及其周圍的支援結構來保護資訊。它也稱為密碼系統。
密碼系統使用演算法將明文轉換為密文,以安全地編碼或解碼訊息。術語密碼系統指的是一個使用密碼的計算機系統,程式碼用於保護資訊和通訊,以便只有預期的人員才能閱讀和處理它。
密碼系統使用金鑰建立、加密和解碼演算法來確保資料安全。加密金鑰(演算法使用的位元串)將明文轉換為編碼文字,反之亦然。
金鑰和可變資料作為輸入提供給演算法以執行此操作。演算法的安全性依賴於安全的金鑰。
密碼系統線上安全地使用信用卡等私人資料。安全電子郵件使用簽名、雜湊和金鑰管理。
我們將研究一個基本的密碼系統模型。此模型使傳輸的資訊保密。您可以在下面的圖片中看到這個簡單的模型 -

上圖顯示了傳送方以一種無法被通訊通道中的任何經過身份驗證的第三方或第三方提取資料的方式向接收方傳輸敏感資訊。
這個簡單加密方案的目標是,在流程結束時,只有傳送方和接收方才能知道私人資訊。
加密金鑰
金鑰在作為輸入提交給加密演算法的可變資訊中起著重要作用,以執行加密或解密過程。密碼系統的安全性在很大程度上取決於所用金鑰的安全性。如果未經授權的方能夠訪問金鑰,他們可能會解密加密的訊息,假裝成其他人,或加密誤導性的訊息以冒充他人。必須將金鑰保密並安全地生成、分發和儲存,以維護密碼系統的完整性。加密的強度也取決於金鑰的長度和複雜性。
密碼系統型別
從根本上說,根據系統中執行加密-解密的方式,密碼系統有兩種型別 -
對稱金鑰加密
非對稱金鑰加密
這些密碼系統之間最大的區別在於加密和解密金鑰之間的連結。在任何密碼系統中,這兩個金鑰在邏輯上都是相關的。使用與加密金鑰無關的金鑰幾乎不可能解密密文。
對稱金鑰加密
使用相同的金鑰對資訊進行加密和解密的加密過程稱為對稱金鑰加密。
對稱密碼系統的研究稱為對稱密碼學。對稱密碼系統有時也稱為秘密金鑰密碼系統。
一些眾所周知的對稱金鑰加密方法的例子包括 - 資料加密標準 (DES)、三重 DES (3DES)、IDEA 和 BLOWFISH。

在 1970 年之前,所有密碼系統都使用對稱金鑰加密。即使在今天,它的相關性也非常高,並且已廣泛應用於許多密碼系統中。這種加密不太可能消失,因為它比非對稱金鑰加密具有一定的優勢。
基於對稱金鑰加密的密碼系統的顯著特徵是 -
使用對稱金鑰加密的人員必須在交換資訊之前共享一個通用金鑰。
建議定期更改金鑰以防止對系統進行任何攻擊。
需要一個強大的機制來在通訊雙方之間交換金鑰。由於需要定期更改金鑰,因此此技術變得昂貴且繁瑣。
在一個由 n 個人組成的小組中,為了使任何兩個人之間都能進行雙向通訊,該小組所需的金鑰數量為 n x (n − 1)/2。
此加密中金鑰的長度(位數)較小,因此加密-解密過程比非對稱金鑰加密快。
執行對稱演算法所需的計算機系統的處理能力較低。
對稱金鑰密碼系統的挑戰
使用對稱金鑰密碼學有兩個主要挑戰。
金鑰建立 - 在任何通訊之前,傳送方和接收方都需要就一個秘密的對稱金鑰達成一致。它需要一個安全的金鑰管理方案。
信任問題 - 由於傳送方和接收方使用相同的對稱金鑰,因此隱含地要求傳送方和接收方“相互信任”。例如,可能會發生接收方將金鑰丟失給攻擊者,而傳送方沒有被告知的情況。
這兩個挑戰對於現代通訊來說具有很大的限制性。如今,人們需要與不熟悉且不可信的各方交換資訊。例如,線上賣家和客戶之間的溝通。對稱金鑰加密的這些限制催生了非對稱金鑰加密方案。
非對稱(公鑰)加密
非對稱金鑰加密是使用各種金鑰對資訊進行加密和解密的過程。儘管金鑰不同,但它們在數學上是相似的,因此可以透過解密密文來獲取明文。該過程在以下插圖中描述 -

非對稱金鑰加密演算法誕生於20世紀,旨在解決通訊雙方需要預先共享金鑰的問題。該加密方案的主要特點如下:
系統中的每個使用者都需要擁有一個由私鑰和公鑰組成的金鑰對。由於這兩個金鑰之間存在數學關係,因此無論使用哪一個金鑰進行加密,都可以解密密文並恢復原始明文。
公鑰需要儲存在公共儲存庫中,而私鑰則需要嚴格保密。因此,這種加密方案也被稱為公鑰加密。
儘管使用者的公鑰和私鑰之間存在關聯,但從一個金鑰推匯出另一個金鑰在計算上是不可行的。這是該方案的優勢所在。
當主機1需要向主機2傳送資料時,它會從儲存庫中獲取主機2的公鑰,對檔案進行加密,然後傳送。
主機2使用其私鑰解密檔案,提取明文。
這種加密演算法的金鑰長度(位元數)較長,因此加密和解密過程比對稱金鑰加密慢。
執行非對稱演算法所需的計算機系統處理能力較高。
對稱加密系統是一個比較直觀的概念。相比之下,公鑰加密系統則比較難以理解。
你可能會想,加密金鑰和解密金鑰是如何“相關”的,同時又不可能從加密金鑰推匯出解密金鑰呢?答案在於數學原理。可以建立一種金鑰具備此特性的加密系統。公鑰密碼學的概念相對較新。已知的公鑰演算法比對稱演算法少。
公鑰加密系統的挑戰
公鑰加密系統的一個基本問題是,使用者必須相信他在與另一個人通訊時使用的公鑰確實是該人的公鑰,而不是由第三方建立的。
這通常是透過一個由可信第三方組成的公鑰基礎設施(PKI)來實現的。第三方安全地管理和認證公鑰的真實性。當第三方被要求提供任何通訊者X的公鑰時,人們相信他們會提供正確的公鑰。
第三方透過授權、簽名或其他程式來確保使用者身份,即X是唯一且全球唯一的X。提供已驗證公鑰的最常見方法是將它們嵌入到由可信第三方數字簽名的證書中。
加密方案之間的關係
下面總結了兩種型別的加密系統的基本金鑰特性:
標題 | 金鑰之間的關係 | 加密金鑰 | 解密金鑰 |
---|---|---|---|
對稱加密系統 | 相同 | 對稱 | 對稱 |
公鑰加密系統 | 不同,但存在數學關係 | 公鑰 | 私鑰 |
由於兩種系統都各有優缺點,因此在實際的資訊安全系統中,通常將對稱金鑰加密和公鑰加密系統結合使用。
柯克霍夫原則
柯克霍夫原則是在加密領域的一個重要概念。它認為,加密系統的強度不應該依賴於保持加密方法的秘密。相反,安全性應該來自保護加密金鑰。即使加密過程的細節成為公開知識,一個設計良好的加密系統也需要保持安全。
這個理念對於現代加密標準至關重要——它促進了演算法設計和分析的透明度。只要金鑰被隱藏,就可以公開加密過程的具體細節。這鼓勵安全專家共同審查加密方法。這也意味著可以公開提出和測試新的演算法,並確信它們不會僅僅因為釋出而被破解。最終,柯克霍夫原則之所以具有基礎性,是因為它將重點轉移到勤勉地保護加密觸發器上,而不是徒勞地試圖隱藏加密機制本身。
透過密碼學實現資訊安全的概念起源於19世紀後期。它最初是由荷蘭密碼學家奧古斯特·柯克霍夫提出的,他為現代密碼分析和安全加密系統的設計奠定了基礎。後來在20世紀,美國數學家和密碼學家克勞德·夏農進一步發展了密碼學和安全理論。
柯克霍夫為密碼系統定義的六項設計原則如下:
密碼系統應該在實踐上,如果不是在數學上,是不可破解的。
密碼系統落入入侵者手中不應導致任何系統妥協,防止給使用者帶來任何不便。
金鑰應該易於溝通、記憶和更改。
密文應該可以透過電報(一個不安全的通道)傳輸。
加密裝置和文件應該是便攜的,可以由一個人操作。
最後,系統必須易於使用,既不需要精神上的壓力,也不需要了解一套冗長的規則。
第二條規則目前被稱為柯克霍夫原則。它幾乎應用於所有現代加密演算法,例如DES、AES等。這些公開的演算法被認為是完全安全的。加密訊息的安全性完全取決於金鑰的安全性。
保持演算法的秘密可能會成為密碼分析的一個重大障礙。但是,只有在嚴格限制的範圍內使用演算法時,才能保持演算法的秘密。
密碼系統的重要性
密碼系統在保護透過網際網路傳送的敏感資訊方面發揮著重要作用。它們允許使用者以安全的方式傳輸私人資料,例如信用卡號碼。密碼學在除了訊息傳遞之外的各種應用中都有廣泛用途。例如,安全的電子郵件系統可以包含數字簽名以驗證發件人的身份。它還可以使用密碼雜湊函式來驗證訊息在傳輸過程中是否被篡改。此外,此類系統將管理加密金鑰以加密和解密通訊。總的來說,密碼學技術有助於確保數字通訊的隱私和完整性。