後量子密碼學(四):公鑰密碼學(非對稱式密碼學)
公鑰與私鑰, Public key and private key
我認為密碼學是一種不需要信任他人的技術。
-惠特菲爾德·迪菲
在前篇文章中,我們了解到對稱式密碼系統中,加密者與解密者共享一把相同的密鑰,這樣的特性使得對稱式密碼系統高效。然而,在使用對稱式密碼系統前,會面臨到的問題是:如何安全的傳遞與共享這把密鑰?若不幸的在傳輸過程中受到竊聽,那很可能會造成安全疑慮。
公鑰密碼系統(非對稱式密碼系統)
公鑰與私鑰
在公鑰密碼系統中,使用者會有兩把鑰匙:公鑰與私鑰。公鑰密碼系統中,加密與解密資料的過程使用兩把不同鑰匙。公鑰與私鑰之間透過數學難題來聯繫。公鑰與私鑰間的數學難題就是公鑰密碼系統維持安全性的關鍵。在公鑰密碼系統中,公鑰可以公開在網路上,私鑰不可以公開需私自保管。
加密系統
在加密的過程中,加密者會使用解密者所公開的公鑰進行文件與明文的加密。在加密後將密文透過網路傳遞給解密者。解密者收到密文後,再透過自己的私鑰解開。使用公鑰把明文加密後所得的密文,只能用相對應的私鑰才能解密並得到原本的明文。這樣的特性使得密文可以透過不安全的途徑傳送,只有對應的私鑰持有者才可以解密得到明文。即使具有惡意的其他人從網路上竊取到密文及用來加密的公鑰,也無法解密得到明文與秘密。
公鑰密碼系統中,使用者具有公鑰與私鑰
假設Alice想要透過公鑰密碼系統傳遞訊息給Bob。在加密過程中,加密者 Alice 會使用Bob的公鑰(Bob's public key)將想傳遞的訊息或稱明文(Plaintext)轉換為密文(Ciphertext)。Alice後將密文傳遞給Bob。當解密者 Bob 收到 Alice 傳送的密文時,便可使用自己的私鑰(Bob's private key)來解密密文,來得到明文。
加密解密過程
Alice與Bob透過非對稱式密碼系統傳遞訊息的流程會是:
- Bob 擁有自己的公鑰與私鑰
- Bob 公開自己的公鑰
- Alice 用 Bob 的公鑰加密明文訊息為密文
- Bob接受到密文後用自己的私鑰解開得到明文
成為保護者
在先前我們瞭解到:對稱式密碼學的特點是加密者與解密者共有同一把鑰匙。該如何安全地共享這把相同的密鑰是一個重要關鍵。 透過公鑰密碼系統,如果Alice與Bob想要建立一個安全且不受影響的聯絡管道來共享密鑰,那麼Alice與Bob可以透過公鑰密碼系統,將密鑰進行加密後再傳輸。這樣就沒有遭受竊聽的風險了。換句話說,就是透過公鑰密碼系統把分享密鑰的問題解決!會這麼做的原因是對稱式密碼系統相對公鑰密碼系統而言高效。但作為建立安全的聯絡管道,公鑰密碼系統是再好不過的選擇了。其餘的便可以透過對稱式密碼系統來完成。
現代應用中,採取公鑰密碼系統+對稱式密碼系統的雙重應用
然而,如同一開始所提,量子威脅造成現今主流的公鑰密碼學遭到根本性的破壞,這也是急需後量子密碼學的原因。透過此篇文章我們可以更理解PQC的定位:
後量子密碼系統 = 能抵抗量子電腦攻擊的密碼系統