隨著量子計算技術的快速發展,主流的公鑰加密技術如 RSA 和 ECC (橢圓曲線密碼學)可能無法再確保資訊的安全性。量子計算機在這密碼學問題上具有顛覆性的計算能力,因數分解問題與橢圓曲線離散對數問題可能不再安全。
密碼學家於是將焦點放在能抵禦量子電腦的數學問題,設計「後量子密碼學」,也稱為「抗量子密碼學」。可說是未來資訊安全的基礎。
然而,「後量子密碼學」中的數學問題,並不如直因數分解或離散對數問題那樣直觀後好理解。趁著這次的三十天鐵人賽,我希望在這裡分享個人在學習後量子密碼學上的心得。
預計涵蓋內容:
- 相關數學知識: 在介紹每個密碼學主題時,順帶介紹所需的數學知識,包括(聽到爛的)模算數、多項式模算數、格(Lattices)、多元二次方程組、雜湊函數、和編碼理論等。這些數學概念對於理解和實作後量子密碼學協議至關重要。
- SageMath 密碼學實作: SageMath 是我研究後量子密碼學的主要工具。SageMath 是一款基於 Python 上的開源數學計算軟體,方便操作且已經自帶定義許多複雜的數學結構運算。為了不要把整個篇幅搞得都是數學,儘量多一些可以實作的部分,讓大家體驗「建構密碼學」,甚至「破密碼學」。
- 晶格密碼學(Lattice Based Cryptography)
- 多變量二次方程密碼學(Multivariate Quadratic Based Cryptography)
- 雜湊函數密碼學(Hash Based Cryptography)
- 編碼密碼學(Code Based Cryptography)