富士通は1月23日、量子コンピュータによる既存暗号解読の懸念に対して、自社開発の39量子ビットの量子コンピュータシミュレータ(以下、量子シミュレータ)を活用し、現在普及しているRSA暗号の安全性を定量的に評価する実験を行い、安全性の評価に成功したことを報告した。
RSA暗号はインターネットにおける標準暗号の一つであり、オンラインショッピングにおけるクレジットカード情報の送受信や、SNS(Social Networking Service)におけるメッセージ交換の際などに利用されている。
RSA暗号が鍵として使用する合成数は素因数分解が困難であり、現在のコンピュータによる素因数分解記録が829ビットであることから、将来の計算能力の向上などを考慮して鍵長2048ビットのRSA暗号の利用が推奨されている。
量子ビットのノイズや量子ゲート数の上限値などの制約がない理想的な量子コンピュータを想定した場合、巨大な合成数であっても容易に素因数分解可能であり、長期的にはRSA暗号から耐量子計算機暗号などの代替技術への移行が必要だとされているという。しかし、2048ビットの合成数を実際に素因数分解する量子コンピュータは実験事例が少なく、計算リソースの見積もりが難しいため代替技術への移行時期の明確化が困難とされていた。
今回、実験ではRSA暗号を解読する量子アルゴリズムである「ショアのアルゴリズム」を量子シミュレータ上に実装し、必要なリソースを定量的に評価した。その結果、9ビットのRSA型合成数(2つの異なる奇素数)であるN=15からN=511までの96個の素因数分解に成功し、汎用的なプログラムが正しい量子回路を生成できることを確認できたという。
さらに、10ビットから25ビットのいくつかの合成数を素因数分解する量子回路を実際に生成し、その計算リソースから2048ビット合成数の素因数分解に必要な量子回路の計算リソースを見積もった結果、2048ビットの合成数を素因数分解するにはおよそ1万量子ビットに加え、ゲート数がおよそ2兆2300億、深さおよそ1兆8000億の量子回路が必要なことが判明したとのことだ。
この結果から試算すると、約104日間量子ビットを誤りなく保持する必要があり、現時点ではこれほど大規模かつ長時間にわたり安定稼働する量子コンピュータは実現が困難であることから、RSA暗号がショアのアルゴリズムに対して安全であることが示されたとしている。