随分以前からずっと気になっていたレインボーテーブルに漸く取り組んだ。 総当たり攻撃でハッシュ値から平文を得る場合、(1)平文を推測し、(2)そのハッシュ値を計算し、(3)解析したいハッシュ値と比較する、というプロセスを経る。平文の長さや構成する文字によっては大変な時間を必要とする。翻ってレインボーテーブルを使う方法では、予め解析用のデータを用意して臨む。そのため総当たり攻撃で言うところの(1)と(2)のプロセスが事実上、必要なくなる。(3)+αの処理で済むから解析に要する時間が劇的に短くなる、という仕組みである。忙しいビジネスパーソンにマッチするソリューションと言える。 しかしながら、考え得るあらゆる文字列の組み合わせとそのハッシュ値のデータは一般的に夥しい数になる。例えば 8 文字の小文字アルファベットの文字列だけで考えても、組み合わせの数は 26 の 8 乗すなわち 208827064