原文:https://mirror.xyz/privacy-scaling-explorations.eth/4OyAht_dHsVT1MgcZTwrK2qJ-bwxpINcpBmLNfF4I2E
作者:Miha Stopar (PSE)
譯者:Kurt Pan
後量子密碼學(PQC)很重要,因為它解決了量子電腦對傳統密碼學系統構成的潛在威脅。
量子電腦利用量子力學原理,在某些情況下能夠以指數級速度進行計算,遠超傳統電腦。特別是有兩種演算法帶來了重大威脅:
https://en.wikipedia.org/wiki/Shor%27s_algorithm
https://en.wikipedia.org/wiki/Grover%27s_algorithm
如果大規模且具容錯能力的量子電腦變得切實可行,當前許多加密、數位簽章與密鑰交換協議都將面臨安全風險。
基於格的密碼學是現代密碼學中一個極具前景的領域,可能是後量子密碼學中最通用且效能最佳的子領域。例如,摺疊方案 LatticeFold 被認為與最快的傳統基於橢圓曲線的摺疊方案同樣高效。
相較之下,競爭的非格後量子密碼學零知識證明系統(Ligero、Aurora)僅依賴非結構化雜湊函數的安全性,但它們在計算資源需求上極為龐大。
在本文中,我們將探討基於格的零知識證明系統構建過程中所面臨的一些挑戰。欲獲得更深入的解釋,請參考 Vadim Lyubashevsky 的影片。
零知識證明(ZKP)是一種密碼學協議,允許一方(證明者)向另一方(驗證者)證明某個特定陳述為真,而不透露除該陳述真實性之外的任何額外資訊。
通常,證明者可能還希望展示這些陳述的其他屬性。例如,假設對一些公開值,證明者想要證明其知道 ,使得:
以及知道,使得:
此外,證明者還想要證明對某個,
對於證明 使得 的零知識證明,可以使用 Schnorr 協議 (https://en.wikipedia.org/wiki/Proof_of_knowledge)(嚴格來說,這是一個對誠實驗證者的零知識證明,但我們暫且忽略這一細節):

現在,此協議可以輕鬆擴展到證明對 的知識,使得 。在這種情況下,證明者在第一步會同樣發送 ,並在第三步發送 給驗證者。驗證者接著將檢查是否滿足 。

注意,檢查額外屬性 很直接:
此外,例如,若有 ,則線性關係 也可輕易檢查:
然而,Schnorr 協議並非量子安全,因其依賴離散對數問題,而該問題可被 Shor 演算法破解。我們能否利用格來構造類似的零知識證明呢?
離散對數問題是指在給定 的情況下求 。在基於格的密碼學中,有一個類似的問題:最短整數解 (SIS)問題。
考慮線性方程組
其中 且 ,這個方程組可以利用高斯消去法在多項式時間內求解。
但是,這個問題的變體可能變得困難。例如,當我們要求 的範數小於某個界限 時。請注意,這個界限必須小於 ;否則, 就是一個平凡解。
SIS 問題 是指尋找 使得
我們能否針對這樣的 構造類似 Schnorr 的零知識證明?
令使得
且
下面的協議可行嗎?

協議的最後一步會是驗證者檢查是否滿足
然而,這樣做並不可行。問題在於 可能並不「短」(即範數不小);如果我們不要求 小,證明者就可以利用高斯消去法構造出一個滿足 的 !
因此,必須要求 小。為了達到這個目的,挑戰值 也必須小(注意 ),但另一方面,我們希望挑戰空間足夠大一一挑戰值越大,其健全性就越好。需要注意的是,如果證明者能預測挑戰 ,那麼證明者可以將第一個訊息設為 ,而最後一個訊息設為 。
這也是為何使用環 的原因之一——它提供了具有小範數的元素的一個大集合(即具有小係數的多項式,而非僅僅是小整數)。
在最後一步,驗證者還必須檢查 是否足夠小。
然而,這並不是基於格的 Schnorr 版本所面臨問題的全部。
如果這是一個證明 知識的證明,我們可以從證明者那裡提取出 的值。這通常通過迴繞(rewinding)來完成:我們作為黑盒運行證明者兩次,獲得兩個腳本: 與 。由此得到
在 Schnorr 演算法中,可以直接計算
求出滿足 的秘密 。利用格,我們可以求得 (可假設 是可逆的),使得 。然而,問題仍在於 可能並不夠小!
因此,使用格,我們只能提取出 使得
其中 以及 。
注意,雖然 的範數仍然較小(雖然沒有 那麼小),但對於給定的 與 來說,要找出這樣的 與 依然是困難的。
接下來,你將會看到提取器(extractor)如何“僅”返回 的 ,但這仍可用於構造基於格的證明系統。
基於格的證明系統發展過程中的重要一步,就是論文《More Efficient Commitments from Structured Lattice Assumptions》的發表。該論文中描述的承諾方案流程如下:
密鑰生成返回 和 分別為
其中 是隨機取自 , 是隨機取自.
為了承諾 ,我們選擇一個隨機小範數多項式向量 ,輸出承諾
一個承諾的有效打開
是一個三元組 , 和.
驗證者檢驗:

注意此承諾方案的打開值不僅僅包含 與 ;它還包含一個多項式 。這是由於前述提取器所面臨的問題所致。
提取器需要返回滿足下列條件的三元組
該元組可以通過迴繞得到:
接著我們有:
其中 , .
因此,不是有 ,我們有 .
我們提取 為:
提取的元組為 。很容易看到 :
自上述承諾方案問世以來,基於格的零知識證明領域已取得許多新進展。因此,請期待更多關於基於格以及其他後量子密碼學方案的新資料。於 PSE,我們致力於站在這一快速發展領域的前沿,不斷跟進並測試最新的後量子密碼學進展。我們的目標是確保在轉向量子安全系統的過程中,能夠充分應對挑戰與抓住機遇。