後量子密碼學(三):對稱式密碼學
對稱, Symmetry
我想表達的東西,竟是如此美麗而純粹。
-莫里茨·科內利斯·艾雪
在前篇文章中,我們瞭解到目前廣泛使用的公鑰密碼系統,例如 RSA 與 ECC,分別基於大數分解問題與離散對數問題的計算困難性。然而,隨著量子電腦可利用 Shor 演算法高效率地破解大數分解問題與離散對數問題,我們需要PQC。
然而更根本的問題是:究竟什麼是公鑰密碼學?
在此篇文章中,我們想回到這個基礎上,詳細的介紹對稱式密碼學與公鑰密碼學。在現代社會中,密碼學的應用到處都是包含日常通訊、國家資訊安全、商業機密保護或者更新興的技術領域:區塊鏈技術。在現代的實際應用中,對稱式密碼學用在資料與訊息的加解密。
對稱式密碼系統
加密與解密
對稱式密碼系統中,加密與解密資料的過程使用一把相同並在通訊兩方共有的密鑰(shared secret key)。對稱式密碼系統就像一個數學上的函數,與密鑰一起使用後,便能對訊息進行加密與解密。
對稱式密碼系統中,加密者與解密者使用同一把密鑰
假設Alice想要透過對稱式密碼系統傳遞訊息給Bob。在加密過程中,加密者 Alice 會使用密鑰(shared secret key)將想傳遞的訊息或稱明文(Plaintext)轉換為密文(Ciphertext),Alice與Bob共有的這對密鑰就如同一組擁有相同密碼的保險箱。Alice的加密行為就像將秘密訊息存入保險箱。當解密者 Bob 收到 Alice 傳送的密文時,便可使用相同的密鑰來解密密文,解密就像是用共有的密碼打開保險箱,取出其中的秘密訊息。
加密解密過程
Alice與Bob透過對稱式密碼系統傳遞訊息的流程會是:
- 互相共有同一把密鑰(shared secret key)
- Alice用此密鑰加密明文訊息(Plaintext)為密文(Ciphertext)
- Bob接受到密文後用同一把密鑰解開得到明文
竊聽與風險
對稱式密碼學的特點是加密者與解密者共有同一把鑰匙。在現代應用中,通訊的兩方常常會是透過網路來傳遞訊息,在兩者傳遞訊息前,會需要做的第一個步驟是事先共享共同的密鑰。然而,透過網路分享這把密鑰也帶來了一個重大安全風險:
該如何安全地共享這把相同的密鑰?
若是在Alice與Bob共享密鑰的過程中,Eve攻擊者竊聽了訊息,並也獲得了密鑰,那至此之後Eve都可以解密Alice與Bob之間的訊息。該如何安全地共享這把相同的密鑰來使得攻擊者無法在密鑰分享過程中竊取到密鑰便成為一個關鍵的問題。雖然對稱式密碼學具備簡單高效的優勢,但密鑰的安全管理與分享始終是一大挑戰。
這個問題的解答是:透過公鑰密碼學!
現代安全系統通常結合對稱式與公鑰密碼學(非對稱式密碼學),利用公鑰密碼學來安全地交換密鑰,從而實現既高效又安全的通信。