『暗号理論入門』(丸善出版)勉強メモ 4.8.1 ECBモード
大学の本屋で15%OFFのセールがあった日に『暗号理論入門』(丸善出版)を買いました。\高い/
- 作者: 林芳樹
- 出版社/メーカー: 丸善出版
- 発売日: 2012/04/20
- メディア: 単行本
- この商品を含むブログを見る
以下は 4.6節の「ブロック暗号」と、4.8節の「ブロック暗号のモード」のうち4.8.1節「ECBモード」の勉強メモです。 といってもすんなり理解できなかった所に自分の説明を追加しただけです。
準備
定義 4.6.1 ブロック暗号とは、平文空間と暗号文空間が である暗号方式であるとする。ここで、 はアルファベット 上の長さ の全ての語の集合である。ブロック長 は自然数である。
定理 4.6.2 ブロック暗号の暗号化関数は置換である。
証明省略
最も一般的なブロック暗号を以下のように説明することができる。ブロック長 と一つのアルファベット を固定するとする。平文空間と暗号文空間は とする。 鍵空間は、 上のすべての置換の集合 とする。一つの鍵 に暗号化関数
が対応する。これに対する復号化関数は
である。
この本では次の置換暗号を取り上げていました。
置換暗号を考えてみると、この暗号では記号の位置の変換により成立する置換のみを使う。 であれば、この置換はビット置換である。 鍵空間は置換群 である。 に対して、
とおけば、それに対する復号化関数は
であるので、鍵空間は 個の元をもち、個々の鍵は 個の数の数列としてコード化できる。
ECBモードの例題
ここからが僕がハマった箇所です。
例 4.8.1 長さ のビットベクトル上でビット置換を行うブロック暗号を考える。すなわち、アルファベット とブロック長 の置換暗号を考える。ここでは であり、 に対して
となる。 平文 を
とし、鍵を
$$ \pi = \begin{pmatrix} 1 & 2 & 3 & 4 \\ 2 & 3 & 4 & 1 \end{pmatrix} $$
とする。
ブロック長が4なので、この長さでmをブロックに分けます。
さて を10進変換するとそれぞれ なのですが、 で置換できなそうですね。 …と考えるのはダメで、問題文をよく読まないといけません。(僕は問題文をよく読まない人です。) 「置換暗号」と書いてありますね?しかも「ビット置換」をするとあります。 準備で説明したことを思い出すと、 の見方は、 各 番目の数をそれぞれ 番目に持っていくということです。 下位ビットから 番目という割り当てです。 例えば の3番め(0)と の1番目(1)はそれぞれ4番めと2番めに移動します。 よって、各ブロックの暗号化の結果は、
で、暗号文は
になります。
はてなブログの数式モードクソすぎだね。 そういえば4.10節の「アフィン暗号」を読んでいるときに network & crypto なCTFの問題を思いつきました。