格子の最短ベクトル問題(SVP問題)に対して基底簡約アルゴリズムの効率化について研究した。この問題は、公開鍵暗号システムの一つである格子暗号システムの安全性を基礎付けるものである。最短ベクトル問題は、基底行列によって生成された格子内で最も短いベクトルを見つけることを目的とする。この目的を達成するため、基底行列をより単純な形に変換する基底簡約アルゴリズムが利用される。 基底簡約アルゴリズムは、短い格子ベクトルの候補を大量に生成し、その中から効率的に基底簡約を行うベクトルを選び出すステップを繰り返す。本研究では、基底簡約における格子ベクトルの選択方法に焦点を当て、どのように選ぶと効率的に簡約できるかを探求した。開発したプログラムでは、短い基底ベクトルの生成部分に関しては、近年、効果が顕著な結果をあげているsieving手法による既存のルーチンを活用した。 基底簡約に使用する格子ベクトルの選択方法については、基底ベクトルを長さ順に並べたときに、従来は前のインデックスの基底ベクトルを短くすることが重視されていたが、インデックスによる重み付きの評価関数を導入することで、前方のインデックスのベクトルをすぐには簡約せず保存し、最も効果的なタイミングで簡約する手法を開発した。また、従来の並列計算は、スレッド並列を用いるものであったが、幅広い計算環境に対応可能なプロセス並列による協調計算のアルゴリズムを開発した。 その成果に基づき、開発したプログラムを用いてSVP Challengeという最短ベクトル問題のチャレンジサイトにて、166次元の問題に対してエントリーし成功を収めた。
|