それでは、暗号論的ハッシュ関数 SHA-256 を詳しく見ていきましょう。
※ SHA-256 ハッシュ関数 ドライブ検査 S.M.A.R.T.、交互に書いています。
そのためにはまず、いくつかの 先入観を捨てること が不可欠です。実を言うと、私自身もこれらの先入観に縛られており、その結果、約六年間にわたってハッシュ関数を誤った形で解釈してしまっていました。
捨てるべき先入観は、次のとおりです。
- K定数は、ハッシュ関数の暗号的性質を最大化するために、数学的に導かれた特別な数である
- 暗号論的ハッシュ関数の出力は、常に一様である
- ハッシュ関数を構成する内部の補助関数は、代数的に見て最も暗号的効果が高まるよう、数学的に証明されている
- すべての出力は、数学的に予測不可能であることが証明されている
この四つです。
ええ、そうなのです。
暗号論的ハッシュ関数であっても、この四つの前提は、いずれも保証されていません。
ここが、最大の落とし穴でした。
実際には、これらの問題点は 出力ビット長の大きさによって覆い隠されていただけ だったのです。それで長い間、問題が見えにくくなっていました。
ところが、その「見えない性質」を脅かす存在が現れました。
それが 量子コンピュータ です。

