Terminology

安全參數和安全參數有什麼區別bbb位安全?

  • June 30, 2020

上一個問題中,我讀到

… 為了 $ b $ -位安全意義 $ O(2^b) $ 為攻擊者工作以破壞系統…

在 Katz 的現代密碼學導論中,我讀到:

密鑰生成算法 $ \text{Gen} $ 作為輸入 $ 1^n $ (即一元寫入的安全參數)並輸出一個密鑰 $ k $ ”。

安全參數和安全參數有什麼區別 $ b $ 位安全?

編輯:我可以舉一個 McEliece 密碼系統的例子嗎?

安全參數有什麼區別 $ 1^n $ 和 $ b $ 位安全?

不是一個,而是兩個:

  1. 安全參數 $ 1^n $ 沒有準確說明攻擊者的工作如何隨著 $ n $ . 根據作者和上下文,可以是:未指定;比任何多項式都快 $ n $ (在非對稱密碼學中很常見);指數在 $ n $ (在理論對稱密碼學中很常見);或大致¹為 $ 2^n $ (在應用對稱密碼學中很常見)。

相比之下, ” $ b $ -bit security”指定攻擊的工作量大致增長¹為 $ 2^b $ ,因為它可以在對稱密碼學中用於旨在恢復 $ b $ 理想密碼的位密鑰。這種區別在 RSA 中至關重要,其中 $ n $ 最常見的是模數的位大小,並且 $ n=2048 $ 相信會產生 $ b\approx112 $ . 2. 當我們考慮算法的執行時間至多與其輸入的大小成多項式時,正如理論工作中的慣例:通過 $ 1^n $ (意思是一個位串由 $ n $ 位為一)作為輸入意味著執行時間是多項式 $ n $ , 通過時 $ n $ 將允許執行時間成為多項式 $ \log(n) $ . 通常在密碼學中需要前者。

然而 ” $ b $ -bit security”沒有說明執行時間。


¹ 對於大致的一些定義。許多人,包括我,經常說預期的攻擊者工作是 $ O(2^b) $ ,. 這是不合適的,因為上限表示有效。我們至少應該寫 $ \Omega(2^b) $ 或者 $ \Theta(2^b) $ ; 看到這個。我在回答提到的“上一個問題”時更正了這個(次要和常見的)問題。

它們都與位長方面的複雜性有關,但相似之處就結束了。

這 $ b- $ 位安全使用蠻力猜測次數 $ 2^b $ 這將需要在最壞的情況下確定一個 $ b- $ 位鍵(因為有盡可能多的鍵)。

關於安全參數的另一個符號是一個符號結構,它確保某個輸入具有“正確的大小”,就在安全證明的漸近分析中的使用而言。

維基百科:

在密碼學中,安全參數是衡量計算問題的輸入大小的變數。密碼算法或協議的資源需求以及攻擊者破壞安全的機率都以安全參數表示。

安全參數通常以一元表示形式表示(例如,安全參數 $ n $ 表示為一串 $ n $ 1s

**注意:**這是你的 $ 1^n $

因此密碼算法的時間複雜度在輸入的大小上是多項式的。

引用自:https://crypto.stackexchange.com/questions/81593