『暗号のおはなし』:第2章まとめ
Amazon.co.jp:暗号のおはなし―情報セキュリティの基盤 (おはなし科学・技術シリーズ)
本記事では第2章の要約を載せる。なお、記事中の図はすべて本書より引用した。
DESとは
- DES
Data Encryption Standard : データ暗号化規格。平文64ビットを64ビットの暗号文に暗号化する。鍵長も64ビット。
- ブロック暗号
DESのように、一定の長さの平文を一定の長さの暗号文に暗号化する暗号のこと。暗号文は平文より長い場合もある。また、特に平文と暗号文の長さがともにnビットのブロック暗号をnビットブロック暗号と呼ぶ。
- フェイステル型暗号
平文を同じ長さの二つのブロックに分割して、基本変換AとB(下図参照)を繰り返す構造を持った暗号。より一般的に同じ変換を持った暗号を繰返し型ブロック暗号と呼ぶ。
DESのf関数→下図
S_i …… S箱:単純な変換表。8つに分けているのは表のサイズを節約するため(48ビットのまま→S箱の欄の数が2^48=約300兆、6ビットずつ8個→S箱の欄の数総計が2^6×8=512)。
状況による暗号攻撃の分類
- 暗号文攻撃 …… 暗号文しか与えられない状況における攻撃
- 既知平文攻撃 …… 平文の一部とそれに対応する暗号文の部分のいくつかを入手した状況での攻撃
- 選択平文攻撃 …… 任意に選んだ平文に対して暗号文が入手できる状況における攻撃
- 選択暗号文攻撃 …… 選択平文攻撃ができる上、任意に選んだ暗号文に対する平文が得られる状況における攻撃
攻撃の方法
- 全数探索 …… 力技。すべての鍵のパターンを試す。
- 差分攻撃法 …… 選択平文攻撃ができる状況で、平文の一部を変えて暗号文の変化を観察し、鍵による変化分(差分)の偏りから鍵を割り出す攻撃法。
DESからT-DESへ
DESの設計思想:差分攻撃に強いように(カッパースミス、IBM)。
DESの安全性崩壊
DESの鍵長56ビットであるため、2^56回程度のDESの暗号化の計算により全数探索が可能。これがコンピュータとネットワークの性能向上・発展により現実的になってきた。実際1999年には、1日以内に全数探索できるようになった。
その場しのぎのT-DES
そこでDESを3回繰り返して用いるトリプルDES(T-DES)が広く用いられるようになってきた。
実際には1回目と3回目は通常の暗号化で2回目は復号だが、DESの場合、復号と暗号化はほとんどおなじ操作であるため、3回DESの暗号化を繰り返すと考えて良い。
各DESに使う鍵をすべて同じにすると、これは1回目の暗号と2回目の復号で元に戻るため結局1回のDESと同じになり意味がない。実際にT-DESとして使われるのは1回目と3回目の鍵を同一にする2鍵T-DES(鍵長112ビット)と各回の鍵をそれぞれ独立に選ぶ3鍵T-DES(鍵長168ビット)である。
ちなみにDESの回数を2回でなく3回にしているのは、1回目の暗号化と2回目の復号の結果を照らし合わせながら行う中間一致攻撃を防ぐためである。
新しい暗号標準AES
T-DESの鍵長は3鍵T-DESで168ビットと過剰に長い上、処理効率が良くない。そもそもDESは繰り返して使うように設計されていないため、DESの正式な後継となる暗号が求められた。
そこで米国政府が1997年にDESの後継暗号をAES(Advanced Encryption Standard)として公募。結果、2001年にベルギーの研究者が発明したRijndaelがAESとして連邦政府標準暗号に制定された。
AESの鍵の長さは128ビット、192ビット、256ビットのいずれかを選択できる。AESは平文と暗号文の長さはともに128ビットの128ビットブロック暗号である。ただし、DESと異なりフェイステル型(2ブロックに分割する)ではなく、全体で処理する。処理は8ビット単位で行われる。また、副鍵は簡単な操作により作られる。
図のような換字と変換を繰り返す構造をもつ暗号をSPN型暗号と呼ぶ。
ブロック暗号の使い方
T-DESやAESなどブロック暗号は使い方によっては簡単に破れてしまう。例えば、平文64ビットのうち初めの8ビットのみ使い残りの56ビットが常に0の場合やデジタル画像の特性(明るい場所や暗い場所の偏り)など。
送るべき平文が、暗号の鍵のようにランダムの時は良いが、普通の言語や音声・画像を暗号化する場合、そのまま暗号化するのは避けるべきである。下図の(b)、(c)、(d)のような処理を行うべきである。
量子暗号
量子暗号は光の量子的性質を用いた暗号で、通常の通信路に加え、量子通信路を必要とする。