最短ベクトル問題における新しいsieving計算の手法の開発
Project/Area Number |
20K11669
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60010:Theory of informatics-related
|
Research Institution | The University of Tokyo |
Principal Investigator |
柏原 賢二 東京大学, 大学院総合文化研究科, 助教 (70282514)
|
Project Period (FY) |
2020-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2022: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2021: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
Fiscal Year 2020: ¥1,690,000 (Direct Cost: ¥1,300,000、Indirect Cost: ¥390,000)
|
Keywords | 格子の最短ベクトル問題 / 基底簡約問題 / sieving / 並列計算アルゴリズム / 確率分布 / 効率的なアルゴリズム / 基底簡約 / 大規模並列計算 / 最短ベクトル問題 / 格子基底簡約 / 格子暗号 |
Outline of Research at the Start |
格子暗号は、量子アルゴリズムでも効率的な解法が見つかっていない次世代の暗号として注目されている公開鍵暗号方式である。格子暗号の安全性は、格子の最短ベクトル問題の求解の困難性の評価によって担保される。 この研究では、格子基底簡約に、sievingを組み合わせるという、近年注目を浴びているアプローチを用いて、最短ベクトル問題に対する効率的なアルゴリズムを構築を目指す。sieving は、 既知の格子ベクトルの組の和や差を考えることにより、短いベクトルを探す手法である。
|
Outline of Annual Research Achievements |
本研究は、格子の最短ベクトル問題に対して、基底簡約問題に帰着させて考えるアプローチを用いて効率的なアルゴリズムの開発を目指す。最短ベクトル問題は、公開鍵暗号である格子暗号の安全性の基礎になる問題である。基底簡約アルゴリズムにおいては、短い格子ベクトルを見つけるステップとそれを使って基底を簡約するステップに分かれ、交互に繰り返す。われわれのアプローチではsievingという手法によって短い格子ベクトルを見つけて、そのベクトルで基底簡約を行い、基底を改善していく。sievingは、既知の短い格子ベクトルの組みを足し合わせることにより短い格子ベクトルを見つける手法である。われわれのアプローチの特徴は、基底簡約するときに、どの短い格子ベクトルを使うかを戦略的に選択することにある。本研究では大規模な並列計算機上で実行可能なプロセス並列な効率的なアルゴリズムを開発している。また、SVP Challengeというドイツのダルムシュタット工科大学が運営する格子の最短ベクトル問題へのチャレンジサイトへのエントリーを目標にしている。次元ごとに定められた長さ以下の格子ベクトルを見つけるとサイトへのエントリーが可能になる。 2022年度は、主にアルゴリズムの効率的な実装に取り組み、基底簡約するときに、小さいindexの基底ベクトルを少しずつ簡約するのではなく、一気に複数の短い格子ベクトルを使って簡約することで効率的に基底簡約する方法を実装した。 それにより、われわれが開発中のプログラムの効率があがり、SVP Challengeにも162次元や164次元の記録を登録することができた。
|
Current Status of Research Progress |
Current Status of Research Progress
4: Progress in research has been delayed.
Reason
2022年度の研究は、アルゴリズムの改善が主になり、プログラムの実装に時間を使った。プログラムは主にsieving部分はC++で書かれていて、元になった一般公開されているプログラムであるG6Kと呼ばれるプログラムをほぼそのまま利用している。 基底簡約部分のプログラムは、Pythonで実装され、われわれが独自に開発したアルゴリズムが使われている。SVP Challengeへの記録のエントリーすることが優先されてしまったために、研究成果をまとめた論文の執筆に遅れが生じている。 また、プログラムを動かす環境として、購入したトークンに応じて利用できるOakBridgeという並列の大型スーパーコンピュータの環境を利用している。それに加えて別の環境でも動かすために高性能のパーソナルコンピュータも購入した。しかし、パソコン上では、高速な実行にとって重要な、既存のsieving部分のプログラムの最適化オプションを使ったコンパイルがうまくいかず想定の何倍も遅い実行速度になってしまった。並列計算の環境によるものと思われるので、修正は困難と思われる。その部分は非常に想定外であった。
|
Strategy for Future Research Activity |
格子の最短ベクトル問題に対する効率的なアルゴリズムに対する知見はある程度得られたので、今後はその成果を英語論文にまとめて、発表したい。そのために、さまざまな条件下における計算機実験を行いデータを蓄積したい。sievingにより見つかった短い格子ベクトルをある程度貯めたのちに、一気に複数のベクトルを用いて基底簡約をする手法を中心とした論文を作成する。また、国内外において、学会発表も行いたい。 SVP Challengeへの挑戦に関しては、現在166次元の問題へのエントリーを目指して大型並列計算機を使って計算中であり、エントリーできる短い格子ベクトルを見つけたい。 また、現在、うまく動いてないパーソナルコンピュータ上での最適化オプション付きのコンパイルも成功させて、パソコン上でも効率的な計算ができるような環境を整えたい。
|
Report
(3 results)
Research Products
(2 results)