プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

情報セキュリティにおける線形解読法とは?仕組みと2段階の手順を解説


線形解読法(Linear Cryptanalysis)は既知平文攻撃の一種です。攻撃者は、平文・暗号文・隠された秘密鍵の各パリティビット間に存在する確率的な線形関係(「線形近似」と呼ばれます)を分析します。

この手法では、攻撃者は既知の平文と暗号文のパリティビットを計算することで、秘密鍵のパリティビットに関する高確率の近似値を取得します。さらに、補助技術をはじめとする複数の手法を組み合わせることで、攻撃を拡張し、秘密鍵の追加のビットまで発見できる場合があります。

ブロック暗号に対する代表的な攻撃手法

線形解読法は、差分解読法(Differential Cryptanalysis)と並んで、ブロック暗号に対して最も広く用いられる攻撃手法のひとつです。この技法は日本の研究者である松井充(Mitsuru Matsui)氏によって初めて考案され、当初はFEAL暗号に対して適用されました。

線形解読法の2つの段階

線形解読法は、一般的に次の2つの部分から構成されます。

第1段階:高バイアスの線形方程式を作成する

まず、平文・暗号文・鍵ビットを関連付ける線形方程式を作成します。ここで重要なのは「バイアス(偏り)」が大きいこと、すなわち方程式が成立する確率が0または1にできる限り近いことです。

第2段階:既知の平文・暗号文ペアで鍵ビットを導出する

次に、これらの線形方程式を既知の平文・暗号文ペアと組み合わせて使用し、鍵ビットを導出します。

非線形処理を線形近似でモデル化

線形解読法は、暗号化プロセス内の非線形処理を線形近似によってモデル化します。大量の既知平文にこの近似を適用することで、最終的に特定の確率で正しい鍵ビットを1つ見つけ出すことができます。さらに、暗号ごとの特性に応じた改良を加えることで、複数の鍵ビットを同時に特定することも可能です。

DES(データ暗号化標準)への適用

線形解読攻撃は、Data Encryption Standard(DES)に実装された変換を記述する線形近似を発見することに基づいています。この手法によれば、約243個の既知平文からDESの鍵を導出できます。これは、差分解読法に必要とされる247個の選択平文と対照的です。

既知平文は選択平文よりも入手が簡単であるため、これは一種の進歩と言えます。しかし、依然として膨大な量の既知平文が必要となるため、当時の線形解読法はDESに対する現実的な攻撃としては実行困難なものでした。

目的となる線形方程式の形式

線形解読法の目的は、次の形式の有効な線形方程式を見つけることにあります。

P[α1, α2 … αa] ⊕ C[β1, β2 … βb] = K[γ1, γ2 … γc]

ここで、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 と仮定します。これにより、鍵ビットに関する1本の線形方程式が得られます。

このような関係式をさらに多く収集すれば、連立方程式として鍵ビットを解き明かすことができます。線形方程式を扱う这一般、問題には暗号の1ラウンドずつ順にアプローチし、それぞれの結果をつなぎ合わせていくことが可能です。


  1. 情報セキュリティにおける線形解読法と差分解読法の違いとは?2大暗号解析手法を徹底解説

    線形解読法(Linear Cryptanalysis)とは 線形解読法は、暗号の構成要素に対するアフィン近似(線形近似)を見つけ出すことを基盤とする代表的な暗号解読手法です。この手法を用いた攻撃はブロック暗号やストリーム暗号に対して実現されており、ブロック暗号に対する2大攻撃手法のひとつとされています(もうひとつは後述の差分解読法です)。 線形解読法は、ブロック暗号の解析において非常に強力な暗号解析ツールとなります。この攻撃では、攻撃者は非線形関数を「確率1/2からずれた確率」で近似できる線形式を探そうとします。 平文と暗号文の関係を含む最良の近似式が発見されると、攻撃者は秘密鍵に関する情報

  2. 情報セキュリティにおけるIDEA(国際データ暗号化アルゴリズム)とは?仕組みと特徴を解説

    IDEA(International Data Encryption Algorithm)とは?IDEAは「International Data Encryption Algorithm(国際データ暗号化アルゴリズム)」の略称で、ジェームズ・マッセイ(James Massey)と来学嘉(Xuejia Lai)によって考案された共通鍵方式のブロック暗号です。1991年に初めて定義され、128ビットの鍵長を用いて64ビット単位のデータブロックを暗号化します。IDEAの主な特徴鍵長:128ビットブロック長:64ビット構成:8つの同一ラウンド+出力変換使用する演算:XOR(排他的論理和)、加算、乗算の