GPU Parallelization of Cryptographic Primitives using Multivariate Quadratic Polynomials and its Security Evaluation

(邦訳:多変数二次多項式を用いた暗号プリミティブとその安全性評価のGPU並列化)
 
田中 哲士
日本電信電話(株) セキュアプラットフォーム研究所

[背景]多変数二次多項式を利用したストリーム暗号の実用化
[問題]多量の計算による低速性,将来的な安全性評価の不足
[貢献]GPUを用いた暗号アルゴリズムの高速化

 ストリーム暗号はメッセージの暗号化に用いる鍵に疑似乱数の結果を利用する暗号方式である.この暗号方式で利用する疑似乱数は,通常,処理時間が短く,かつ,軽量であり,撹拌性能が高いものが選択される.また,メッセージの暗号化においても,メッセージと鍵との排他的論理和で暗号化を行うため,高速,かつ,軽量である.従って,ストリーム暗号は他の方式と比較して,高速で軽量な暗号方式であることが知られている.一方で,ストリーム暗号の安全性は,主に,既知の攻撃手法に対して評価されており,それらの攻撃に対して,安全であることは保証されているものの,将来的には,その暗号に対して効率的に解読可能な手法が開発されることによって安全性が急激に低下する可能性が存在する.そこで,公開鍵暗号方式と同様に,安全性の根拠に既知の解決困難な数学の問題を利用する種類のストリーム暗号の開発が行われている.この種の暗号では,暗号解読の困難性,すなわち,暗号の安全性を,対象の暗号が利用する数学問題の解決困難性に帰着することを証明できる.すなわち,これらの数学問題を解決するために必要な計算時間を,利用している暗号の解読に必要な計算時間の指標とすることが可能である.そのため,将来的な安全性の推移を評価することが可能である.

 本研究では,QUADと呼ばれる安全性の証明可能なストリーム暗号を実用化するために,QUADに関連するアルゴリズムをGPUを用いて並列化し,高速化を図った.QUADは,疑似乱数の生成に有限体上の多変数二次多項式の付値を利用しており,安全性の根拠として,有限体上の連立二次方程式の求解問題(MQ問題)の解決困難性を利用した暗号である.QUADの課題点は大きく3つ存在する.(1)疑似乱数の生成に多変数二次多項式の付値を利用しているため,多数の加算及び乗算の処理が必要となり,他のストリーム暗号と比較して計算コストが大きい.(2)多変数二次多項式内 のすべての係数を保存しなければならないため,大量のメモリ領域を必要としている.(3)QUADの将来的な安全性に関して,十分に評価されているとは言えない.本研究ではこれらの課題点の内,(1)及び(3)の解決を図った.

 具体的な本研究の貢献は,以下の通りである.
  1. 一般の有限体上の多変数二次多項式の付値計算の並列アルゴリズムを提案し,計算の高速化を図った.また,GPUでの実装に適したデータ配列の提案を行った.
  2. 係数に線形回帰数列を用いた,多変数二次方程式の付値計算の並列アルゴリズムにおける並列性を評価し,その並列性の低さに着目し,同時に複数の疑似乱数器を計算するマルチストリーム方式を利用することで,効率的に疑似乱数生成を行う手法を提案した.
  3. MQ問題の解決アルゴリズムであるXL-WiedemannアルゴリズムをGPU上で並列化し,具体的なMQ問題の解決時間について評価を行った.

 

 (2015年6月22日受付)
取得年月日:2015年3月
学位種別:博士(工学)
大学:九州大学



推薦文
:(コンピュータセキュリティ研究会)


量子コンピュータ時代の安全な暗号の設計と解析に取り組み,その成果を2本の論文誌,6つの査読有り国際学会において発表した研究をまとめたものである.これら最新の結果は,国内外にて4つの賞(Best paper:WICS2014,ヤングリサーチャー賞:FIT2014,等)を受賞するなど高く評価されている.


著者からの一言


博士号の取得にあたり,指導教員である櫻井幸一先生をはじめとする諸先生方,研究室の皆様,友人,家族に感謝申し上げます.博士後期課程における貴重な経験は,私に,道を切り開き前に進む力を与えてくれたように思います.今後も,暗号,セキュリティの分野に携わるものの一員として,社会に貢献していけるよう邁進していく所存です.