第41話 量子計算とRSA暗号と素因数分解


二つの素数p, q 二つの整数e, d
https://cdn-ak.f.st-hatena.com/images/fotolife/c/cat_falcon/20190804/20190804230822.jpg
※modに関しては本記事にメモを置いておきました。

(e, n)を公開鍵、dを秘密鍵といいます。
nが因数分解出来てしまうと秘密鍵も判ってしまいます。本当に安全なのでしょうか?

nをNビットの整数とするとき効率の良い素因数分解アルゴリズムを使った場合の計算回数は概ね
https://cdn-ak.f.st-hatena.com/images/fotolife/c/cat_falcon/20190804/20190804230827.jpg
となることが知られています。αはNに依存しない定数です。
https://cdn-ak.f.st-hatena.com/images/fotolife/c/cat_falcon/20190804/20190804230832.jpg
1CPU辺り理論上Flops値は概ね「浮動小数点演算ユニットの数×クロック周波数」ですがもっと高速処理可能なスーパーコンピュータを使ったとすると、10310GFlopsで計算してもおよそ
https://cdn-ak.f.st-hatena.com/images/fotolife/c/cat_falcon/20190804/20190804230835.jpg
もかかる事になります。

つまり、128ビットのRSA暗号解読するのは事実上不可能と言えます。

ただし、これは大きな数の素因数分解が困難だという現状の話で、つまりアルゴリズムに依存しています。正確には「今のところ安全」というべきかも知れません。将来この素因数分解をいとも簡単に解くアルゴリズムが見つからないとは言えません。

しかし、量子計算が使われるとこの安全性は無いに等しいようです。それは何故なんでしょうか?量子計算はそれほど万能なのでしょうか?それとも巷で囁かれるように本当に早いのでしょうか?
次回からいよいよ量子計算の研究が加速されるきっかけになったとも言えるShorのアルゴリズムを見ながらこの疑問に迫ってみたいと思います。
※今のところRSA暗号整数論等はここではこの程度で良いと思います。気になる方はネット上にも多くの情報もあるようなのでそちらをご覧下さい。



●メモ
https://cdn-ak.f.st-hatena.com/images/fotolife/c/cat_falcon/20190804/20190804230848.jpg
基本性質
https://cdn-ak.f.st-hatena.com/images/fotolife/c/cat_falcon/20190804/20190804230853.jpg