資訊安全中的線性密碼分析是什麼?


線性密碼分析是一種已知明文攻擊,攻擊者研究明文、密文和隱藏金鑰的奇偶校驗位之間的機率線性關係,稱為線性逼近。

在這種方法中,攻擊者透過計算已知明文和密文的奇偶校驗位來獲得隱藏金鑰奇偶校驗位的機率逼近。透過使用多種方法,包括輔助技術,攻擊者可以擴充套件攻擊以發現更多秘密金鑰位。

線性密碼分析和差分密碼分析是通常用於攻擊分組密碼的攻擊方法。線性密碼分析技術最初由Matsui Mitsuru發明,他首先將其用於FEAL密碼。

線性密碼分析通常分為兩個部分:第一部分是建立將明文、密文和金鑰位聯絡起來的線性方程,這些方程具有較大的偏差;也就是說,其成立的機率儘可能接近0或1。

第二部分是需要將這些線性方程與已知的明文-密文對結合起來,以推匯出金鑰位。

線性密碼分析使用線性逼近來模擬加密過程中的非線性過程。透過對大量已知明文使用逼近,最終可以找到一個以特定機率正確的金鑰位。這種方法的特定於密碼的改進可以找到多個金鑰位。

線性密碼分析攻擊是基於發現線性逼近來定義資料加密標準中實現的轉換。這種方法可以在給定243個已知明文的情況下發現資料加密標準金鑰,而差分密碼分析需要247個選擇的明文。

即使這是一個微小的進步,因為獲得已知明文比獲得選擇的明文更容易,但這使得線性密碼分析作為對資料加密標準的攻擊變得不可行。

線性密碼分析的目標是發現一個有效形式的線性方程:

$$\mathrm{P\left [ \alpha 1,\: \alpha 2\: ...\alpha a \right ] \oplus \, C\left [\beta 1,\: \beta 2\: ...\beta b \right ]=K\left [ \gamma 1,\, \gamma 2\: ...\gamma c \right ] }$$

(其中x = 0或1;1≤ a, b≤ n, 1 ≤ c ≤ m,其中α、β和γ項代表固定的、特定的位元位置),其機率為p ≠ 0.5。

p距離0.5越遠,方程就越有效。由於確定了一個潛在的關聯,因此該過程是評估大量明文-密文對的前一個方程左邊的結果。如果結果在超過一半的時間裡為0,則假設K [γ1, γ2... γc] = 0。

如果結果在大多數時間裡為1,則假設K [γ1, γ2 ... γc] = 1。這為我們提供了一個關於金鑰位的線性方程。可以嘗試獲得更多這樣的關係,以便可以求解金鑰位。由於本文處理線性方程,因此可以一次處理密碼的一輪,並將結果連線起來。

更新於:2022年3月14日

2K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告