Cryptanalysis

是否有可能在黑匣子內對未知密碼進行精確逆向工程?

  • March 7, 2020

考慮以下安排:-

盒子

黑盒內部有一個未知的密碼算法在執行。您可以輸入無限鍵/純文字對,並觀察所有輸出。這個盒子也可以像保護整個 4K UHD 電影一樣保護一個短小的朋友/敵人挑戰。任何計數器模式、流、IV、隨機數或填充都在盒子內處理。您需要做的就是輸入任意大小的純文字。密碼是世界級的現代類型,其強度相當於 *fish、Rijndael 或 ChaCha,但不是其中之一。 它可能來自外太空,也可能來自異象。關鍵是沒有人見過它。它甚至可能是一個完全未知的 NSA Suite A 算法。

給定無限的輸入輸出元組,是否可以精確地對算法進行逆向工程,以便它可以可靠地用於未來的加密?

注意:假設的未知密碼 - 默默無聞的安全性?出現了,但老實說我無法理解這個問題。

,通常不可能對黑匣子內的未知密碼進行逆向工程。證明:如果盒子是不可穿透的並且 AES/Rijndael(用作建構塊)是安全的,我們可以按照要求建構一個從外部顯然不可能進行逆向工程的黑盒。

實現分組密碼的合適設計是(對於 128 位參數)

$$ \text{BOX}(K,P)\mapsto\text{AES-128-ENC}(K,\text{AES-128-ENC}(S,P)) $$

在哪裡 $ \text{BOX} $ 和 $ \text{AES-128-ENC} $ 兩個參數中的第一個是分組密碼的密鑰。 $ \text{BOX} $ 具有部分秘密設計(128 位秘密常數 $ S $ )。區分 $ \text{BOX} $ 從一個理想的加密預言機(實現一個隨機的 128 位排列 $ P $ 對於每個 $ K $ ) 不知道 $ S $ 將打破 AES-128,這被認為在計算上是不可行的。

我們可以包裝上面 $ \text{BOX} $ 成一個 $ \text{BOX2} $ 執行密碼,而不是分組密碼;例如 $ \text{BOX2} $ 可能 $ \text{BOX-CTR} $ . 我們可以擴展到更大的參數(例如,由Rijndael支持的 256 位,如果不是由 AES 支持)來抵抗遙遠可預見的進展。

具有秘密設計的實際現代(DES 後)密碼是通過分析有關其設計的洩漏、或/和擷取的黑匣子的內部、或/和(在某種程度上)諸如不需要的電磁發射之類的物理側通道的洩漏來進行逆向工程的。


每條評論:硬體逆向工程的一個公開範例是Karsten NohlDavid EvansReverse-Engineering a Cryptographic RFID Tag,在 Usenix 2008 的程序中。他們的一些結果不能僅從規範中獲得(例如,實施反向工程冗餘計算相同的布爾函式)。在付費電視智能卡領域還有其他記錄較少的範例,據報導這些範例使用了定制密碼,據稱其中一些被逆向工程破解。

對於通過物理側通道對(相當部分)未知密碼進行逆向工程,請參見例如 Christophe Clavier 的逆向工程側通道分析 (SCARE) - An Improvement Attack Against a Secret A3/A8 GSM Algorithm,在ICISS 2007(付費專區)的程序中,這是早期工作的最終形式(後記;此處為 PDF 翻譯)。

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