Algorithm-Design

關於蠻力執行時間的問題

  • November 7, 2018

一個很簡單的問題,雖然我無法理解它:

密鑰大小為: $ n $

因為它是蠻力的,所以它會嘗試每個可能的鍵一次 $ 0 $ 至 $ n $ ,但在我看來,這只是執行時間 $ O(n) $ ,儘管它肯定是多項式或指數的。解密消息大小 $ x $ 雖然我不確定它是否相關。會不會是因為鑰匙的大小 $ n $ ,但他們還必須嘗試所有來自 $ 0 $ 至 $ n $ 做了 $ 2^n $ ?

當我們說密鑰大小是 $ n $ , 我們認為 $ n $ 以位為單位,n 位密鑰大小。例如,AES 具有 128、192 和 256 位密鑰大小。因此,我們有 $ 2^{128} $ 搜尋 AES-128 的關鍵,它是指數的, $ \mathcal{O}(2^n) $


在密碼學中,我們還使用一個安全參數來衡量問題的輸入大小。安全參數表示為一元表示( $ \lambda-\text{times }1) $ 因此密碼算法的複雜度將是多項式時間。

對於類似 RSA 的系統,當我們說安全參數是 $ 1^\lambda $ , 這 $ \lambda $ 表示 RSA 模數的位數 $ n $ . 所以正整數 $ n $ 必須介於 $ 0,\ldots,2^{\lambda-1} $ .

**注意:**我們通常不會說 AES(和其他分組密碼)具有安全參數 128,我們只是說 128 位密鑰。

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