公鑰密碼學,也稱為非對稱密碼學,是現代網路安全的基本要素。它涉及使用兩個不同的金鑰:公鑰和私鑰。這些密鑰在數學上是相關的,但僅從公鑰導出私鑰在計算上是不可行的。此屬性對於各種加密功能(包括加密、解密和數位簽章)非常重要,這些功能對於安全通訊和身份驗證至關重要。
身份驗證是驗證電腦系統中使用者、設備或實體身分的過程。公鑰加密可用於透過數位簽章和公鑰基礎設施 (PKI) 等機制進行驗證。公鑰在這些過程中的作用至關重要,理解其應用需要掌握一些密碼學和數論原理。
數位簽章和認證
數位簽名是一種加密技術,允許實體對一段資料進行簽名,從而向接收者提供有關資料來源和完整性的保證。數位簽章方案通常涉及三種主要演算法:
1. 密鑰產生:產生一對密鑰,公鑰和私鑰。
2. 簽章:使用私鑰對資料建立簽章。
3. 驗證:使用公鑰驗證簽章的真實性。
數字簽名的工作原理
1. 密鑰生成:個人產生密鑰對。私鑰保密,公鑰廣泛分發。
2. 簽名:個人使用他們的私鑰來簽署訊息。這是透過建立訊息的雜湊,然後使用私鑰加密雜湊以建立簽名來完成的。
3. 驗證狀態:任何有權存取公鑰的人都可以驗證簽名。他們使用公鑰解密簽章以檢索雜湊值,然後將其與接收的訊息的雜湊值進行比較。如果兩個哈希值匹配,則簽名有效,證明該訊息是由私鑰持有者簽署的且該訊息未被更改。
用於身份驗證的數位簽名範例
考慮 Alice,她想向 Bob 發送簽署訊息。愛麗絲遵循以下步驟:
1. Alice 產生金鑰對(公鑰和私鑰)。
2. Alice 寫入一則訊息並建立該訊息的雜湊值。
3. Alice 使用她的私鑰加密哈希值以建立簽章。
4. Alice 將訊息連同簽章一起傳送給 Bob。
5. Bob 收到訊息和簽名。然後,他使用 Alice 的公鑰來解密簽章並檢索雜湊值。
6. Bob 將收到的訊息進行雜湊處理,並與解密的雜湊值進行比較。如果它們匹配,Bob 就可以確信該訊息確實是由 Alice 簽署的並且沒有被竄改。
公鑰基礎設施 (PKI)
PKI 是一個管理金鑰和憑證的框架,為公鑰分發提供可擴展且安全的方法。它包括以下組件:
- 憑證授權單位 (CA):頒發數位憑證的可信任實體,數位憑證是將公鑰與實體身分綁定的電子文件。
- 註冊機構 (RA):在頒發憑證之前驗證個人或組織身分的實體。
- 證書:包含公鑰和金鑰所有者身分的數位文檔,由 CA 簽署。
- 憑證撤銷清單 (CRL):在到期日之前已撤銷的憑證清單。
使用憑證進行身份驗證
在PKI中,可以使用數位憑證來執行身份驗證。當實體出示憑證時,接收者可以透過檢查 CA 的簽章並確保憑證未被撤銷來驗證憑證的有效性。然後,接收者可以使用憑證中的公鑰來驗證數位簽章或建立安全通訊通道。
數學基礎
公鑰密碼學的安全性依賴於數論原理,例如分解大整數或計算離散對數的困難。在這種情況下,兩個基本概念是歐幾裡得演算法和歐拉定理。
歐幾里得算法
歐幾裡得演算法用於找出兩個整數的最大公約數 (GCD)。它對於 RSA (Rivest-Shamir-Adleman) 密碼系統中的金鑰產生至關重要。該演算法基於兩個數的 GCD 也除以它們的差的原理。
歐拉 Phi 函數
歐拉 Phi 函數,表示為 φ(n),計算 n 以內與 n 互質的整數的數量。對於質數 p,φ(p) = p – 1。
歐拉定理
歐拉定理指出,對於任何互質的整數 a 和 n:
![]()
該定理對於 RSA 演算法很重要,它確保加密和解密是互逆的。
RSA演算法
RSA 是最廣泛使用的公鑰密碼系統之一。它涉及三個主要步驟:
1. 密鑰生成:選擇兩個大質數,p 和 q。計算 n = pq 和 φ(n) = (p-1)(q-1)。選取一個整數 e,使得 1 < e < φ(n) 且 gcd(e, φ(n)) = 1。公鑰是(e,n),私鑰是(d,n)。
2. 加密:給定訊息 m,計算密文 c = m^e mod n。
3. 解密:給定密文 c,計算訊息 m = c^d mod n。
RSA 驗證
在RSA中,可以透過顛倒加密和解密的角色來實現身份驗證:
1. 發送者(Alice)用她的私鑰加密訊息的雜湊值,創建數位簽章。
2. 接收者 (Bob) 使用 Alice 的公鑰解密簽章以驗證雜湊值。
用於身份驗證的 RSA 範例
1. Alice 產生 RSA 金鑰:公鑰 (e, n) 和私鑰 (d, n)。
2. Alice 寫入一則訊息並建立一個哈希值。
3. Alice 使用她的私鑰加密哈希值以建立簽章。
4. Alice 將訊息和簽章傳送給 Bob。
5. Bob 使用 Alice 的公鑰來解密簽章並檢索雜湊值。
6. Bob 將收到的訊息進行雜湊處理,並與解密的雜湊值進行比較。如果匹配,則簽章有效。
公鑰在公鑰加密中的身份驗證中發揮著重要作用。數位簽章和 PKI 利用公鑰來確保訊息的真實性和完整性。歐幾裡得演算法和歐拉定理等數學基礎為這些加密過程提供了必要的安全保證。透過理解這些原理,人們可以認識到基於公鑰的身份驗證機制在保護數位通訊方面的穩健性和可靠性。
最近的其他問題和解答 EITC/IS/CCF 經典密碼學基礎:
- 是否引入公鑰密碼術用於加密?
- 特定加密協定的所有可能密鑰的集合在密碼學中是否稱為密鑰空間?
- 在移位密碼中,字母表末尾的字母是否按照模運算被字母表開頭的字母替換?
- 根據香農的說法,分組密碼應該包含什麼?
- 引入 DES 協定是否是為了提高 AES 密碼系統的安全性?
- 分組密碼的安全性是否依賴於多次組合混淆和擴散操作?
- 為了確保加密協定的安全,加密和解密功能是否需要保密?
- 密碼分析可以用來透過不安全的通訊管道進行安全通訊嗎?
- 網路、GSM、無線網路屬於不安全的通訊管道嗎?
- 詳盡的密鑰搜尋對替換密碼有效嗎?
查看 EITC/IS/CCF 經典密碼學基礎知識中的更多問題和解答
更多問題及解答:
- 領域: 網路安全
- 程序: EITC/IS/CCF 經典密碼學基礎 (前往認證計劃)
- 課: 公鑰密碼學簡介 (去相關課程)
- 主題: PKC 的數論 – 歐幾里得算法、歐拉 Phi 函數和歐拉定理

