Encryption

密碼的簡單位測量安全性的替代方案

  • January 1, 2021

對於加密原語,我們通常會看到以位為單位測量的安全級別,其中 n 位安全意味著攻擊者必須執行 $ 2^n $ 操作來打破它。

對於密鑰派生函式,我們經常看到故意使用大量計算或記憶體的函式,以使它們的計算成本很高。

然而,在比較密碼的安全級別時,似乎很少討論計算費用。

我的假設:與可以並行執行的密碼相比,不能並行執行的密碼(在某些方面)更安全,這似乎是合乎邏輯的。或者,如果其中一個在超級電腦上執行速度快十億倍,那麼兩個具有相同安全級別的密碼並不真正相等。

問題

  1. 我的假設是否被誤導了?
  2. 考慮到算法的計算費用,是否有任何替代方法來衡量密碼安全性?如果不是,為什麼不呢?

我的假設:與可以並行執行的密碼相比,不能並行執行的密碼(在某些方面)更安全,這似乎是合乎邏輯的。或者,如果其中一個在超級電腦上執行速度快十億倍,那麼兩個具有相同安全級別的密碼並不真正相等。

我的假設是否被誤導了?

一個密碼 $ n $ -位安全意味著有 $ 2^n $ 選擇作為加密密鑰的密鑰。如果我們可以迭代密鑰,那總是可能的,那麼我們就可以開始並行蠻力。因此,這不是一個好的前提。

密碼可以比其他密碼更快,例如 Rijndael 比 MARS 更快,這也是選擇 Rijndael 作為 AES 的原因之一。我們仍然認為 $ n $ -位安全性作為可能的密鑰數量。在比較對密碼的攻擊時,我們考慮攻擊如何比暴力破解更快。因此,我們比較了暴力破解時間——一次加密的執行時間乘以密鑰數量——與攻擊時間。第一個很容易,但仍然取決於平台,第二個可能很難,因為攻擊可能取決於許多參數並且測量可能並不容易。

例如,在改進 AES 的 Biclique 密碼分析文章 Tao et 中。al 考慮了在所有細節上執行蠻力的實際計算,並在相同的細節級別上比較了他們的攻擊,以比較攻擊的成功率。另一方面,因式分解攻擊使用朗道符號來表達它們的複雜性。

如果有更快的攻擊,我們認為這是因為加密算法被破壞了。這仍然不意味著它實際上被破壞了。考慮 AES256 有攻擊,但它們是不可行的。此外,攻擊可能需要過多的隨機記憶體訪問,這會嚴重影響計算時間。因此,它完全依賴於攻擊。

考慮到算法的計算費用,是否有任何替代方法來衡量密碼安全性?如果不是,為什麼不呢?

我們不認為算法的計算成本是一個弱點,實際上它是偉大的。誰不想要一個快速而安全的算法而不是緩慢而安全的算法?時間就是金錢,面積成本就是金錢。我們希望密碼能夠抵抗所有攻擊以確保安全 $ n $ 位密碼。

如果我們考慮對所有可能攻擊的安全性,那麼這是一個巨大的攻擊列表

  • 線性攻擊安全
  • 差分攻擊安全
  • 代數攻擊安全
  • 所需的已知明文數
  • 所需選擇明文的數量
  • 多目標安全。
  • 並行執行的可能性
  • 量子安全
  • 記憶體要求

考慮對 DES 的線性和差分攻擊。它們在計算要求上更快,但攻擊所需的已知明文和選擇明文非常龐大,以至於它們不實用。即使在今天,對 DES 實施的最快攻擊也是基於暴力破解

因此,放置一個指標並不是一件容易的事。真正的衡量標準是實施和與蠻力的比較。如果這是不可能的,而且大多數情況下不是這樣,那麼要麼首選複雜性分析,要麼像 AES 攻擊中那樣詳細分析。

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