SHA256 アルゴリズムを母体とし二次創作されたハッシュアルゴリズム(ソースコード公開)
このプロジェクトがスタートした経緯を説明します。
趣味で FIPS180-2 をMicrosoft Visual Basic で記述していた時、SHA224 アルゴリズムの発表が行われました。
私はそのドキュメントを見るなり、作る側、使う側に無意味な頭を使わせ 224 bit 長という、なんとも使いにくいサイズ長に当時、愕然としました。
素人の私が間違いなく使わないと確信するほどでした。
ちなみにその当時、私は SHA256 を使用することを選択しました。
SHA256 アルゴリズムを考え付く頭の良い方々が、なぜこのような変更を用いたのか、私には長い間、疑問でした...
時は流れ、私は、SHA224 の事は忘れ趣味に没頭する毎日を送っていました。
そんななか、大きな配列に bit shift を与えるというコードを書いている最中に、このアルゴリズムを思いつきました。
それは、SHA256 の final関数にある Padding the Message 部分を取り除き 最後に得たハッシュ値にTotal Character Length (counter) で left bit modulo (左モジュロ) させるという方法です。
最後の最後だけにこの演算が入るだけであれば SHA256 と比べて処理速度はそれほど気にならないと仮定でき、ビットレベルでのシフトなので本来の SHA256 の安全性を保つことが出来ると推測できます。
※注意、このアルゴリズムは、アメリカ合衆国の国立標準技術研究所 (National Institute of Standards and Technology, NIST)で定められている SHA256 アルゴリズムを母体とし二次創作されています。
ソフト名: | SECURE HASH STANDARD 256 COUNTER SHIFT (sha256cs) |
---|---|
動作OS: | Windows Vista/XP |
機種: | IBM-PC |
種類: | フリーソフト |
作者: | Takashi Tsubaki |