我們如何衡量後量子密碼算法的安全級別?有這種測量的標準方法嗎?
我們如何衡量一般送出給 NIST PQC 標準化流程(競賽)的後量子密碼算法的安全級別,例如:NTRU Prime、Sabre、Kyber…?
我閱讀了 NTRU Prime 的 NIST 送出包中的文件,但理解 PQC 算法的安全級別似乎非常複雜,這與非 PQC 算法不同,我們可以將其與 AES-256 進行簡單的比較。他們根據某些參數談論轉換和 CCA、CPA 安全級別,但對我來說似乎很複雜。
有人可以解釋一下 PQC 算法的安全測量嗎?
這個問題是相關的。請注意,正如您所懷疑的那樣,這個問題確實表明通過與 AES/SHA3 進行比較來分析安全性。
也許了解更多資訊的最有用的方法是“動手”,並閱讀各種 NIST PQC 第 3 輪候選人的安全分析部分。這些應該接近社區對如何分析方案的共識(儘管仍有分歧,通常在 NIST PQC google group 上討論)。一些分歧的例子如下:
- 舍入(出於壓縮目的)是否提高了基於格的 KEM 的安全性?如果是這樣,是多少位?(或者通過什麼“CoreSVP count”,一個特定於基於格的方案分析的指標)
- “CoreSVP”計數究竟是什麼意思?
- 當應用於僅具有“確定性”雜訊(由舍入引起)的基於格的基元時,估計(來自“嘈雜”基於格的基元的密碼分析)有多準確?
- 如何處理適當分析攻擊的記憶體成本。這裡的一個大問題是量子儲存器(意味著需要量子比特)和量子可訪問的經典儲存器之間的差異,後者應該要豐富得多(例如, $ 2^{30} $ 經典記憶目前是相當可行的,但我從未聽說過我們應該期待什麼時候有自信的估計 $ 2^{30} $ 邏輯量子比特——我不相信我們甚至還沒有達到一個邏輯量子比特!)。
- 如何妥善處理非緊縮?通常,QROM 縮減不如 ROM 縮減那麼嚴格。是否應該將參數設置得更寬鬆以進行補償,或者這是相對較新模型的產物?
但總的來說,儘管存在一些分歧,但安全測量與經典安全的測量大致相似(即通過與 AES/SHA3 的安全性進行比較),並且可以在各種送出的規範中找到。如果您閱讀了足夠多的內容,您應該對社區如何(大部分)決定分析各種方案的安全性有一個很好的了解。
當然,您也可以閱讀 google 組,但它比送出的內容更…自由形式,因此可能不是最簡潔的資訊來源。值得一提的是,無論如何閱讀都會很有趣,因為辯論會變得有些活躍(這可能導致它的資訊密度低於送出的內容)。
通常,可以根據可證明的安全性來討論(非對稱)加密方案 - 如果底層密碼原語是困難的,我們可以證明該方案在某些攻擊下是安全的。換句話說,可證明的安全性依賴於將我們的問題簡化為原始問題,例如,RSA 問題可簡化為因式分解問題。
通常,討論以下四個屬性,IND、CPA、CCA 和 CCA2:
IND(不可區分性):對手無法區分任何兩條相同長度的消息的加密,即。如果給定一個挑戰密文 $ c $ ,他們無法判斷是否 $ c $ 來自 $ m_1 $ 或者 $ m_2 $ .
IND-CPA(在選擇的明文攻擊下不可區分):如果獲得公鑰的訪問權限,對手無法區分用於創建挑戰密文的消息(換句話說,他們能夠從選擇的消息中創建密文)。
IND-CCA(在選擇密文攻擊下的不可區分性):與以前相同的設置,但是這一次,對手有一個他們能夠查詢的解密神諭,直到他們獲得挑戰密文。
IND-CCA2(在自適應選擇密文攻擊下的不可區分性):與前面的範例一樣,但是現在攻擊者即使在收到挑戰後也可以查詢解密預言機(需要注意的是,他們不允許向預言機輸入挑戰密文)
選擇這些進行討論,就好像我們可以證明(假設證明應用在適當的上下文中),我們只需要擔心它背後的問題的難度。
對於對稱方案,這些屬性的定義可能略有不同(它們不是基於數學問題),但我們能夠在某些條件下再次證明類似的結果(想想密鑰長度)。
這使我們現在能夠以一種可以轉換並與 AES 比較的方式評估這些參數的“安全級別”。