研究概要 |
非再帰型擬似乱数生成アルゴリズムSSI32を用いた新しいハッシュ関数MBnhashの構築,乱数性の検証,セキュリティについての研究を行った。SSI32アルゴリズムは数値計算の桁落ち誤差の解析に基づいた,乗算・シフトの繰り返しによる32ビットの乱数生成法である。前年度までの研究では,桁落ち誤差発生のメカニズムを直接反映した乱数生成アルゴリズムSSRの発展形としてSSI32アルゴリズムをとらえてきた。またハッシュ関数の構成においてもSSRアルゴリズムの応用としてまずSSRハッシュ関数を構成し,その発展形としてハッシュ関数SSInhashを構成していた。そのためハッシュ関数の安全性の研究に関しては,SSRハッシュ関数について行われ,SSIハッシュ関数の安全性の(直接的な)考察は特にはなされていなかった。しかしながら,SSRハッシュ関数の安全性の研究の過程において,SSIアルゴリズムは,数学的には[1,2)上のベータ変換の繰り返しとして数式化されることが分ってきた。本年度は,SSIアルゴリズムを,数式的な記述が複雑なSSRアルゴリズムの発展形としてではなく,[1,2)上のベータ変換 M(t)=βt-[βt]+1の繰り返しという見地から直接数式的に記述し直し,そのアルゴリズムを計算機に実装する際に使用する変数のビット数に応じて様々なハッシュ値長をもつハッシュ関数MBnhashが構成出来るという立場で研究を行った。この立場ではMBnhashはアルゴリズムとその具現化(実装)という2つのプロセスから構成されるので,その安全性の検証も,アルゴリズムそのものの安全性と,アルゴリズムを有限ビットで具現化する際に現れる危険性とに分離して考察できるようになった。この結果,アルゴリズムの安全性を保証する5次以上の代数方程式が具体的な数式で記述されるという成果を得た。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
前年度までの研究では,桁落ち誤差の解析に基づいたハッシュ関数SSRhashの発展形としてハッシュ関数SSInhash(n=160,192,256,384,512,1024,2048)を構成し,SSInhashの基礎となるSSRhashの安全性が,高次の代数方程式を解くことに帰着されることなどの成果を得ている。 本年度は,SSIアルゴリズムをSSRアルゴリズムの発展形としてではなく,ベータ変換 M_β(t)=βt-[βt]+1 を使って直接的に記述して,SSInhashの安全性を評価するという研究を行った。その結果,アルゴリズムがSSInhashとほぼ同等であるハッシュ関数MBnhashについて,そのアルゴリズムを数式により直接表現することができるようになった。この数式表現により,MBnhashの安全性がアルゴリズム的には十分であることを厳密に示すことができた。また,MBnhashアルゴリズムが計算機に実装される際の危険性の除去についても,SSRhashよりもシンプルな議論で記述されることが分った。SSInhashはMBnhashにおいてβの計算をより複雑にして安全性を高めたものであるので,SSInhashの安全性は十分に確認されたということができる。 SSInhash,MBnhashの計算機への実装については,今年度はワークステーションを増設したので,n=160,192,256,384,512,1024,2048に加えてn=4096のハッシュ値長をもつハッシュ関数について数値実験を行うことが可能となり,生成されるハッシュ値の乱数性を確認する能力が前年度より向上した。
|
今後の研究の推進方策 |
ハッシュ関数のアルゴリズムを,ベータ変換 M_β(t) を使って数式で直接的に表し,その数式を用いて安全性を示すという研究はほぼ目途が立ったので,今後はアルゴリズムの計算機への実装の範囲を拡げる研究,およびベータ変換 M_β(t) そのもののエルゴード性の解析を行っていきたいと考えている。具体的には,計算機の能力を向上させて,まだ扱っていないハッシュ値長(n=8192など)に対するMBnhashのパラメータの決定,および,アセンブラを使用しての 64bit×64bit=128bit の乗算を用いたSSI64乱数生成法の確立等の研究を行う予定である。また,[1,2)上のベータ変換 M_β(t)=βt-[βt]+1は,[0,1)上の linear mod 1 変換の特殊形としてとらえられるので,既存の研究結果が,我々の M_β(t) とどのような関係を持っているかを調べて,M_β(t)のエルゴード的な性質の拡張解析の研究を行う計画である。
|