
231
12
章
ショアの素因数分解アルゴリズム
本書を手に取る前に量子コンピューティングの応用について聞いたことがあるとすれば、それはショ
ア の 素 因 数 分 解 ア ル ゴ リ ズ ム(
Shor
’
s factoring algorithm
)だったのではないでしょうか?
当初、量子コンピューティングは、実用的というよりも学術的な興味の対象でした。そのような中で、
1994
年にピーター・ショアが、十分に強力な量子コンピュータであればどの従来型の計算機よりも指
数関数的に速く整数の素因数を見つけることができることを発見し、その実用性が認識されるようにな
りました。この章では、ショアの素因数分解のアルゴリズムを、具体的な
1
つの実装例をもとに、ハン
ズオン形式で説明します。
大きな整数の素因数分解を高速に行うことは、単なる数学的な好奇心にとどまらず、
RSA
(
Rivest–
Shamir–Adleman
)公開鍵暗号を解読するのに役立ちます。例えば、
ssh
のセッションを始めるたびに、
私たちは
RSA
暗号を利用しています。
RSA
のような公開鍵暗号システムは、誰でも自由に利用できる
公開鍵を使って情報を暗号化できるという仕組みで機能しています。情報が暗号化されると、非公開
の秘密鍵を使用してのみ復号(
decrypt
)することができます。公開鍵暗号システムは、よく郵便ポスト
の電子版にたとえられます。誰でもメッセージを投稿できる(しかし取り出すことができない)スリット
付きの鍵のかけられた箱と、所有者だけが鍵を持ってい ...