Encryption

您如何將密碼實現為一個查找表?

  • July 30, 2016

我正在閱讀白盒密碼學,但無法理解如何將密碼實現為一個查找表?

假設我的明文只有 4 位,所以我的查找表的大小應該是 $ 2^4 $ ,這樣的查找表是什麼樣的?

具體來說,這是我正在看的幻燈片,我在 Google 上找到的。

在此處輸入圖像描述

對於固定密鑰,(塊)密碼是明文集到密文集的可逆轉換。通常(在幻燈片中)這些集合是相同的,並且由所有確切的 $ n $ 位字元串。這套有 $ 2^n $ 元素,並且經常被注意到 $ {0,1}^n $ .

注:在此符號中 $ {0,1} $ 指定具有兩個元素的集合 $ 0 $ 和 $ 1 $ ,並且像往常一樣將一個集合提升到 $ n $ 意味著我們正在考慮所有的集合 $ n $ -元組與基本集中的每個元素。

該轉換的一種可能實現是表格 $ T $ 密碼的每個輸入的輸出。該表對每個輸入都有一個條目,因此 $ 2^n $ 條目。每個條目都是一個 $ n $ -bit 字元串,因此使用 $ n $ 位。該表因此使用 $ 2^n\cdot n $ 位。

要使用表中定義的密碼,可以將 $ n $ -位輸入到一個整數 $ j $ 和 $ 0\le j<2^n $ , 獲取索引處的表 $ j $ 那是 $ T[j] $ , 得到一個 $ n $ -bit 值,這就是密碼的輸出。

每條評論的補充:如果對手擁有一個實現該轉換的盒子(任何顏色),我們必須假設 $ n $ 位輸入和輸出,以及它們的對應關係,在使用盒子時被觀察到。如果對手不能經濟地複制盒子,和/或列舉所有輸入/輸出是不可能的(例如,需要太多時間/精力,或耗盡使用計數器),那可能不是一場徹底的災難。

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