6. 算術演算をベースとするハッシュ関数に対する攻撃計算量に関する調査
7.4. ツールを用いたハッシュ関数の評価検討
7.4.1. SHA-0 の評価検討
SHA-0 は 1993 年に SHA として公開されたハッシュ関数である。1995 年に SHA-1 が公開 された際に区別のためにそれまでの SHA を SHA-0 と表記するようになった。ブロック長は 512 ビット、ハッシュ値長は 160 ビットである。SHA-1 との差異はメッセージ拡大アルゴリ ズムにおけるローテーションシフトの有無であり、SHA-0 には 1 ビットローテーションシフ トがない。SHA-0 には既にコリジョンが発見されている。
・ ローカルコリジョン構成モジュール - 適用可能性
本モジュールの入力は「ハッシュ関数アルゴリズム」であり、入力データの準備は容 易である。このため、適用可能性は「容易」と考えられる。
- 実現性
SHA-0 には、攻撃に有効なローカルコリジョンが存在することが知られており、本モ ジュールにて出力を得ることは可能である。このため実現性は「容易」と考えられる。
- 課題
SHA-0 については有効なローカルコリジョンの存在が知られており、難易度は「小」
とする。
・ ディスターバンスベクトル構成モジュール - 適用可能性
本モジュールの入力は「ハッシュ関数アルゴリズム」であり、入力データの準備は容 易である。このため、適用可能性は「容易」と考えられる。
- 実現性
SHA-0 のディスターバンスベクトルは、メッセージ拡大アルゴリズムを適用して導出 することができる。このため実現性は「容易」と考えられる。
- 課題
4.2 節で説明した通り、SHA-0 の場合、入力された「本質的なディスターバンスベク トル」には 216のバリエーションが存在すると考えられる。この数は大きくないため、
課題の難易度は「小」と考えられる。
・ 差分パス構成モジュール - 適用可能性
本モジュールの入力は、「ハッシュ関数アルゴリズム」、及び、ローカルコリジョン構 成モジュールの出力とディスターバンスベクトル構成ツールの出力から得ることが 可能であるため、適用可能性は「容易」と考えられる。
- 実現性
SHA-0 の場合、ディスターバンスベクトルに従ってローカルコリジョンをセットする 処理は多くの計算量を要しない。従って実現性は「容易」と考えられる。
- 課題
SHA-0 においてはローカルコリジョンの組み合わせでの差分パスは構築可能であり、
難易度は「小」と考えられる。
・ メッセージモディフィケーション適用判定モジュール - 適用可能性
本モジュールへの入力は、「ハッシュ関数アルゴリズム」、及び、差分パス構成ツール の出力から得ることが可能であるため、適用可能性は「容易」と考えられる。
- 実現性
SHA-0 に関して、入力された「コンディションの存在箇所」情報から、その条件に対 してモディフィケーションが適用できるかどうかを判定することは可能であると考 えられる。しかし、判定順序のバリエーションの数が多い可能性があり、実現性は「や や困難」と考えられる。
- 課題
実現性の項目で説明した通り、判定順序のバリエーションの数が多い可能性があり、
有効な判定順序の検討が必要となる可能性がある。このため課題の難易度は「中」と 考えられる。
・ 安全性算出モジュール - 適用可能性
本モジュールへの入力は、差分パス構成ツールの出力とモディフィケーション適用判 定モジュールの出力から得ることが可能であるため、適用可能性は「容易」と考えら れる。
-
80 大きな課題は見受けられないが、見積もり処理全体の高速化のために効率の良い実装 が求められる。難易度は「小」と考えられる。