NISQ制約下における簡約Shor回路の基数選択 ― N=35 に対するサポート質量の実機評価 ―
注記(Important Notice)
本稿は、AIアシスタント(Claude)との対話的な壁打ちを通じて設計・実装・執筆された実験レポートである。著者はShorアルゴリズムの専門家ではなく、本実験はあくまで個人的な学習・実験の記録として位置づけられる。
口調は練習として論文口調で書いていますので悪しからず。
本稿の主張は「RSA暗号を破った」「Shorアルゴリズムを完全に実装した」といった大げさなものではない。小さな合成数(N=35)に対する簡約(compiled)回路を用いた位相検出実験の結果を報告するものであり、その限界と制約を明示した上で、実験事実を共有することを目的とする。
Quick Summary
表記: 理論サポート上の確率質量を本稿では Support Mass(サポート質量)$S$ と呼ぶ。$S := \sum_{x \in \mathrm{support}} P(x)$(理論的に非零確率を持つ測定ビン集合への総測定確率)。
| 項目 | a=6 (r=2) | a=8 (r=4) |
|---|---|---|
| デバイス | Rigetti Ankaa-3 (AWS Braket) | |
| 量子ビット | 3 | 5 |
| 2Qゲート | 2 | 8 |
| Support Mass (S) | 96.6% ± 1.2% | 47.6% ± 2.2% |
| Off-support mass (O) | 3.4% | 52.4% |
※ ±はrep間標準偏差(rep-to-rep SD)を示す
Key takeaway: 2Qゲート数の増加(2→8)に伴い、Sが約49pp低下(96.6%→47.6%)、Off-support massが約49pp増加(3.4%→52.4%)。数論的な基数選択によりNISQ制約下でも高いSを達成。
概要(Abstract)
Shorのorder-findingにおいて、合成数 N と基数 a の選択は量子回路の複雑度を大きく左右する。本稿では N=35 に対し、a=6(周期 r=2)と a=8(r=4)を同一 NISQ デバイス(Rigetti Ankaa-3, 84-qubit superconducting processor)上で比較した。a=6 回路は 3 量子ビット・論理 2Q ゲート 2 個で構成され、サポート質量(理論サポートへの確率集中度)S=96.6±1.2% を達成した。一方、a=8 回路は 5 量子ビット・論理 2Q ゲート 8 個を要し、S=47.6±2.2% にとどまった。この約 49 pp の差は、NISQ 制約下では基数選択が実効的な回路忠実度に直結することを示唆する。本稿はスケーリング優位性を主張するものではなく、compiled/encoded order-finding における hardware-aware な設計選択の定量的整理を目的とする。
キーワード: Shorアルゴリズム、order-finding、NISQ、基数選択、Support Mass、hardware-aware設計、Rigetti Ankaa-3
1. はじめに
1.1 背景
Shorのアルゴリズム [1] は、量子コンピュータを用いて整数の素因数分解を多項式時間で解くアルゴリズムである。RSA暗号の安全性に関わることから、量子計算研究における重要なベンチマークとなっている。
しかし、現在のNISQ(Noisy Intermediate-Scale Quantum)デバイスでは、ノイズやデコヒーレンスにより、大規模な量子回路の実行は困難である。そのため、実機実験では特定のNに対して最適化された「簡約回路」が用いられることが多い。
1.2 先行研究
N=35の実機実験に関する先行研究として、以下が挙げられる:
| 研究 | 年 | デバイス | 基数 | 結果 |
|---|---|---|---|---|
| Amico et al. [2] | 2019 | IBM ibmqx5 | compiled Shor (N=15/21/35) | 詳細は原論文 |
| Bagourd et al. [4] | 2025 | 複数クラウド量子機 | a=4, a=8 (N=35) | order-finding 実験 |
2019年のIBM ibmqx5での実験では、compiled Shor により N=35 が試みられているが、詳細な成功率や評価指標は原論文に依拠する。本稿は新規性の主張よりも、基数選択がNISQ下の分布保持(Support Mass)に与える影響を、同一デバイス上で整理して示すことに主眼を置く。
1.3 本実験の動機と貢献
本実験では、数論的な観点から基数選択を最適化することで、より簡素な回路でより高いSupport Mass(S)が得られることを実験的に示す。
主な貢献:
- N=35においてa=6(r=2)が本稿のcompiled/encodedモデルの下でNISQ制約下の最小回路となることの特定と実験的検証
- 同一デバイス上でのa=6 vs a=8の定量的比較
- 回路複雑度とSupport Mass(S)の関係の実験的検証
1.4 設計思想:デバイスファースト
従来のShorアルゴリズム実装では、「アルゴリズムを設計し、それをデバイスで動かす」というアプローチが一般的である。しかし、NISQデバイスではノイズやデコヒーレンスの制約が厳しく、このアプローチでは高い成功率を得ることが難しい。
本実験では、逆のアプローチを採用した:
従来: Shorアルゴリズム → 回路設計 → デバイス実行 → ノイズで失敗
本実験: デバイス制約把握 → 最小構成探索 → 成立条件を満たす(N,a)を採用 → 成功
具体的には:
- デバイス制約の把握: Rigetti Ankaa-3で高いSupport Massが期待できる回路規模(2Qゲート数個程度)を見積もる
- 最小構成の探索: その制約内で量子干渉が残る構成を探す
- 数論的条件の探索: 制約下で成立しやすい(N, a)の組み合わせを探索し、N=35, a=6, r=2 を採用
この「デバイスファースト」の設計思想は、Hardware-aware circuit designやco-designの概念と関連する。本実験の高いSupport Mass(96.6%)は、この設計思想の有効性を示唆している。
2. 理論的背景
2.1 Shorアルゴリズムの概要
Shorアルゴリズムの核心は、関数 f(x) = a^x mod N の周期rを量子位相推定(QPE)により発見することである。周期rが偶数かつ a^(r/2) ≢ -1 (mod N) ならば、
- p = gcd(a^(r/2) - 1, N)
- q = gcd(a^(r/2) + 1, N)
から非自明な因数が得られる。
2.2 N=35の群構造
N = 35 = 5 × 7 に対して、乗法群 Z*_35 の位数は φ(35) = 24 である。
Z*_35 の元の位数分布(全探索により算出):
| 位数 r | 元の個数 | 例 |
|---|---|---|
| 1 | 1 | {1} |
| 2 | 3 | {6, 29, 34} |
| 3 | 2 | {11, 16} |
| 4 | 4 | {8, 13, 22, 27} |
| 6 | 6 | {4, 9, 19, 24, 26, 31} |
| 12 | 8 | {2, 3, 12, 17, 18, 23, 32, 33} |
2.3 a=6(r=2)による最小回路構成
定理: ord_35(6) = 2
証明: 直接計算により、6^1 = 6 ≢ 1 (mod 35)、6^2 = 36 ≡ 1 (mod 35)。□
a=6を用いた因数分解:
- 6^(2/2) = 6^1 = 6
- gcd(6-1, 35) = gcd(5, 35) = 5 ✓
- gcd(6+1, 35) = gcd(7, 35) = 7 ✓
よって、35 = 5 × 7 が得られる。
2.4 回路の複雑度比較
| 基数 | 周期r | 状態数 | 量子ビット | 2Qゲート |
|---|---|---|---|---|
| a=6 | 2 | 2 | 3(制御2+作業1) | 2 |
| a=8 | 4 | 4 | 5(制御3+作業2) | 8 |
a=6はa=8と比較して、量子ビット数40%減、2Qゲート数75%減となる。
3. 実験方法
3.1 実験環境
| 項目 | 値 |
|---|---|
| デバイス | Rigetti Ankaa-3 [6] |
| デバイスタイプ | 超伝導量子ビット |
| 総量子ビット数 | 84(公開仕様) |
| プラットフォーム | AWS Braket |
| リージョン | us-west-1(北カリフォルニア) |
| 実験日 | 2026年1月30日〜31日 |
同一デバイス条件: a=6とa=8の比較実験は、同一デバイス(Ankaa-3)・同一日(2026年1月31日)に連続して実施した。デバイスキャリブレーションの日次変動を排除するため、この条件を重視した。ただしデバイス状態はタスク投入時刻や混雑状況に依存して変動し得るため、完全な統制ではない。
3.2 回路設計
2Qゲート数の定義: 本稿の「2Qゲート数」は論理回路レベルでのカウントであり、AWS Braketへの送信前の回路構成に基づく。実際のデバイス実行時にはトランスパイル(ネイティブゲートへの分解・qubit routing)が行われるため、物理2Qゲート数は増加しうる。本稿の比較は論理2Qゲート数に基づくが、物理2Qゲート数の増加は一般に回路深さ・エラー率増加としてSupport Mass低下に寄与する。したがって本比較は「論理回路複雑度の差」に基づく下界評価であり、実際のSupport Mass差は論理カウント差以上に増幅され得る。
a=6 (r=2) 回路
量子ビット: 3(制御: 2, 作業: 1)
構成:
- Hadamardゲート: 4(制御2ビットの初期化H×2 + 逆QFT内のH×2)
- CNOTゲート: 1
- CPhaseShift: 1
- 測定: 制御レジスタのみ
※ 2ビット逆QFTはSWAPを含む実装が多い。ここではSWAPを省略し、測定後にビット順を古典的に反転して補正する前提で 2Qゲート数を数える。
a=8 (r=4) 回路
量子ビット: 5(制御: 3, 作業: 2)
構成:
- Hadamardゲート: 6
- CNOTゲート: 5
- Ryゲート: 4(Margolus gate用)
- CPhaseShift: 3
- 測定: 制御レジスタのみ
※ a=8についても同様に、逆QFTのSWAPは省略し、測定後に古典的なビット反転補正を行う前提で論理2Qゲート数を数える。
3.3 測定プロトコル
各rep(反復)は初期化・回路実行・測定を独立に行った別試行であり、ショットの単なる分割ではない。
| 条件 | a=6 | a=8 |
|---|---|---|
| ショット数/回 | 400 | 400 |
| 反復回数 | 3 | 5 |
| 総ショット数 | 1,200 | 2,000 |
3.4 ビット順序の補正
逆QFT実装においてSWAPゲートを省略(do_swaps=False)している。このため、測定結果のビット順序を古典的に反転して解釈する。
例(a=6, 2ビット):
- 測定値 "01" → 補正後 "10" として解釈
- 期待ビン {00, 10} は補正後の値
3.5 評価指標
Support Mass(サポート質量)$S$ の定義は Quick Summary を参照。
Support Mass $S$: 本稿で用いるサポート質量とは、理論的に非零確率を持つ測定ビン集合(サポート)への総測定確率 $S = \sum_{x \in \mathrm{support}} P(x)$ を指す。これは状態忠実度(state fidelity)とは異なる指標であり、位相推定の出力分布が理論的に期待されるビンにどの程度集中しているかを測定する。理想値は100%。Sは「理論的に有効なQPE出力にどれだけ確率が残っているか」を直接定量化するため、NISQノイズ下でのcompiled回路評価に特に適している。
- a=6 (r=2): サポート = {00, 10}(理論値: 各50%、合計100%)
- a=8 (r=4): サポート = {000, 010, 100, 110}(理論値: 各25%、合計100%)
比較可能性の限界: $S$ はサポートサイズ(= $2^t / r$)に依存するため、異なる $r$ 間の単純比較は限定的である。本稿では補助指標としてHellinger距離を併記し、分布形状の近さも評価した。
Off-support mass(サポート外質量)$O$: サポート外に漏れた確率質量。$O = 1 - S$。なお、超伝導量子ビットにおける非計算基底(|2⟩等)への "leakage" とは異なる概念である。
r推定達成率: 各repについて、最頻となる測定ビンをQPE出力として採用し、対応する位相 x = m/2^t に連分数展開を適用して候補分母集合 {r_i} を得る。候補 r_i のうち、r_i ≤ N かつ a^{r_i} ≡ 1 (mod N) を満たす最小の r_i を推定周期として採用した。最頻ビンが同率となる場合は、ビン値が小さい方を採用した。r推定達成率は、この手順で正しい周期rを推定できた試行の割合である。本稿では2種類の評価を報告する:(1) global-mode(全ビンで最頻を採用)、(2) diagnostic(診断用)(サポート内ビンのみで最頻を採用)。後者は「Sが低いときにglobal decisionが壊れるかどうか」を診断する目的で導入しており、理論的に正しいビンのみを考慮するため、ノイズが大きい場合でも周期推定が成功しやすい。
Hellinger距離: 測定分布Pと理想分布Qの類似度(補助指標)。理想分布Qは、本稿で用いたcompiled/encoded回路の理想シミュレーション(ノイズなし)出力と一致するように定義した。本稿の回路ではサポート上の一様分布に帰着する(例:a=6では Q(00)=Q(10)=0.5, Q(01)=Q(11)=0; a=8では Q(000)=Q(010)=Q(100)=Q(110)=0.25, 他0)。注: Qは本稿独自の「compiled回路の理想出力」であり、一般的なShorの位相分布(sinc²状ピーク)とは異なる。
$$H(P, Q) = \frac{1}{\sqrt{2}} \sqrt{\sum_x \left(\sqrt{P(x)} - \sqrt{Q(x)}\right)^2}$$
統計誤差について: 表中の ± は rep 間の標準偏差(rep-to-rep SD)を示す。ショット由来の二項標準誤差は SE ≈ √(S(1−S)/n) であり、a=6 (S≈0.97, n=400) では約0.9pp、a=8 (S≈0.48, n=400) では約2.5pp のオーダーである。平均値の不確かさとして、平均の標準誤差(SEM = SD/√reps)も参考となる(a=6: SEM ≈ 0.7pp、a=8: SEM ≈ 1.0pp)。
4. 実験結果
4.1 N=21 実験(予備実験)
N=35に先立ち、N=21の因数分解を実施した。これはSkosana & Tame [3] が報告したcompiled Shor (N=21) と同型の回路を用いた事前検証である。
| 項目 | 値 |
|---|---|
| 対象数 | N = 21 = 3 × 7 |
| 基数 | a = 4 |
| 周期 | r = 3 |
| 量子ビット | 5(制御3 + 作業2) |
| 回路深度 | 31 |
| ショット数 | 100 |
| 主要技術 | Margolus gate(近似Toffoli) |
結果:期待される位相付近にピークが観測され、アルゴリズムの動作を確認した。ただし、ノイズの影響で測定結果は広く分布した。
4.2 N=35 a=6 (r=2) 結果
| rep | Support Mass (S) [%] | Off-support mass (O) | Hellinger距離 | r推定 |
|---|---|---|---|---|
| 1 | 97.0 | 3.0% | 0.124 | 2 ✓ |
| 2 | 95.0 | 5.0% | 0.162 | 2 ✓ |
| 3 | 97.8 | 2.2% | 0.107 | 2 ✓ |
| 平均 | 96.6 ± 1.2 | 3.4% ± 1.2% | 0.131 ± 0.023 | 3/3成功 |
典型的な測定分布(rep 3):
10: 199 (49.8%) ← サポート内
00: 192 (48.0%) ← サポート内
01: 5 ( 1.2%) ← ノイズ
11: 4 ( 1.0%) ← ノイズ
4.3 N=35 a=8 (r=4) 結果
| rep | Support Mass (S) [%] | Off-support mass (O) | Hellinger距離 | r推定 |
|---|---|---|---|---|
| 1 | 47.8 | 52.2% | 0.557 | 4 ✓ |
| 2 | 49.5 | 50.5% | 0.546 | 4 ✓ |
| 3 | 45.8 | 54.2% | 0.572 | 4 ✓ |
| 4 | 44.5 | 55.5% | 0.579 | 4 ✓ |
| 5 | 50.5 | 49.5% | 0.541 | 4 ✓ |
| 平均 | 47.6 ± 2.2 | 52.4% ± 2.2% | 0.559 ± 0.015 | 5/5成功 |
典型的な測定分布(rep 1):
111: 66 (16.5%) ← ノイズ
100: 52 (13.0%) ← サポート内
110: 51 (12.8%) ← サポート内
101: 50 (12.5%) ← ノイズ
001: 47 (11.8%) ← ノイズ
010: 47 (11.8%) ← サポート内
011: 46 (11.5%) ← ノイズ
000: 41 (10.2%) ← サポート内
4.4 比較まとめ
| 基数 | 周期r | 量子ビット | 2Qゲート | Support Mass (S) [%] | Off-support mass (O) | r推定(global) | r推定(diagnostic) |
|---|---|---|---|---|---|---|---|
| a=6 | 2 | 3 | 2 | 96.6 | 3.4% | 3/3 (100%) | 3/3 (100%) |
| a=8 | 4 | 5 | 8 | 47.6 | 52.4% | 3/5 (60%) | 5/5 (100%) |
| 差分 | +2 | +2 | +6 | -49.0pp | +49.0pp | -40pp | - |
※ Support Mass = サポート内ビン(理論的に正しい位相)の確率合計
※ Off-support mass (O) = 1 − S(サポート外質量)
※ 一様分布でのSupport Mass:a=6は50%(2/4)、a=8は50%(4/8)
※ pp = percentage points(百分率の差)
5. 考察
5.1 回路複雑度とSupport Massの関係
論理2Qゲート数が2から8に増加すると、Sは96.6%から47.6%へ約49ポイント低下した。この低下は論理2Qゲート数の増加に加え、トランスパイルによる物理深さ増加も含めた「実効的な回路複雑度」の増大に起因すると考えられる。具体的には以下の要因が寄与した可能性がある:
- 2量子ビットゲートのエラー率の累積
- デコヒーレンス時間の消費
- クロストークの増大
- 物理qubit routing によるSWAP挿入
5.2 a=6選択の意義
a=6(r=2)を選択することで:
- 回路が極限まで単純化される
- ノイズの影響を最小限に抑えられる
- 結果として高いSupport Massが得られる
この基数選択は、少なくとも我々が確認した主要な公開実験報告では見当たらなかった。
5.3 a=8の結果についての解釈
a=8(r=4)のSupport Massは47.6%であった。完全に一様な分布であればサポート/非サポートの差は期待されず、Support Massの期待値は50%である。本実験ではそれに近い値が観測された(Off-support mass ≈ 52%)。
しかし、以下の点から量子回路の構造的動作は確認できる:
- r推定の成功: diagnostic(診断用)評価(サポート内最頻ビンを採用)では、5回全ての試行で正しい周期r=4を推定できた(サポート内最頻ビン:rep1=100, rep2=100, rep3=010, rep4=110, rep5=100)。一方、global-mode評価(全ビンで最頻を採用)では、rep1(最頻=111)とrep4(最頻=101)でサポート外ビンが最頻となり、r推定は3/5(60%)に低下した。この差は、Sが低い場合にサポート外ノイズが周期推定を妨げることを示している。ここで重要なのは、diagnostic(診断用)評価でrを正しく推定できた点であり、Sは分布の集中度を測る指標であって決定レベルの正解率とは異なる。
- サポート内の偏り: 各repにおいてサポート内ビン(000/010/100/110)に一貫した偏りが残っている。サポート内確率を正規化した条件付き分布 P(x | x ∈ support) を見ると、一様分布(各25%)からの偏りが観測された(例:rep1では100が最大、rep4では110が最大)。この偏りが統計的変動か構造的かの厳密検定は本稿の範囲外であるが、5 rep全てでサポート内最頻ビンからr=4を正しく推定できた事実は、回路が完全にノイズに埋もれていない可能性を示唆する(量子干渉の構造が部分的に残存している可能性がある)
a=8の低いSupport Massは、回路複雑度(2Qゲート8個)がNISQデバイスの限界に近いことを示している。
5.4 ハードウェア vs アルゴリズムの限界
a=6で96.6%の高いSupport Massを達成した一方、a=8では47.6%にとどまった。この差は、ハードウェア故障ではなく、回路複雑度に伴う誤差累積が主要因であることを示唆する。
6. 限界と制約
本実験には以下の限界がある:
- 簡約回路の使用: 完全なShorアルゴリズムではなく、Nに特化した簡約(compiled)回路を使用している
- 単一デバイス: Rigetti Ankaa-3のみでの実験であり、他デバイス(IBM、IonQ等)との比較は行っていない
- 小さなN: N=35は暗号学的には意味のない小さな数である
- 低ショット数: 400 shots/repは統計的に十分とは言えない場合がある(個人予算での実験のため、ある程度の統計が取れる範囲で設定)
- 理論周期の固定評価: 成功率の評価において、理論的に正しい周期rを前提としている
本実験は「RSA暗号を破った」「量子優位性を示した」といった主張をするものではない。
6.1 「事前知識の使用」批判への回答
想定される批判: a=6を選択した時点でr=2を知っているのではないか。これは因数の事前知識を使っているに等しい。
回答:
-
確率的正当性: Z*_35 から {1} を除いた集合(サイズ23)からランダムにaを選択した場合、Shorの古典後処理が非自明因数を返す確率は78%(18/23)である。なお a=1 は常に r=1 を与えて自明であるため除外する。
-
基数選択の標準性: Shorアルゴリズムでは、gcd(a, N) ≠ 1, N の場合は即座に因数が得られるため除外され、残りのaからランダムに選択する。a=6の選択は、この標準手順の範囲内である。
-
論点の分離(aの選択とcompiled/encoded圧縮): a=6の選択それ自体はShorの標準手順(ランダムなaの選択+gcdフィルタ)の範囲にあり、因数の事前知識を前提としない。一方で、本稿の2状態への圧縮(エンコード設計)は、U: x ↦ a^x (mod N) が張る不変部分空間(軌道)を事前に同定して回路をcompiledする手法であり、一般のblack-boxなmodular exponentiationをそのまま実装する設定とは前提が異なる。したがって本稿はスケーリング優位性の主張ではなく、**「基数選択がcompiled回路の量子資源を劇的に変える」**という設計論(hardware-aware / co-design的観点)の整理と、その整合的な理論付けを目的とする。
6.2 「Cherry-picking」批判への回答
想定される批判: 成功するケースだけを選んで報告しているのではないか。
回答:
-
透明性の確保: ここでの「成功/失敗」はShorの古典後処理が非自明因数を返すか(rが偶数かつ a^(r/2) ≢ -1 (mod N))により定義する。a=1は常にr=1を与えて自明であるため除外し、Z*_35 から {1} を除いた集合(サイズ23)上で議論する。このとき失敗集合は (i) rが奇数となる {11, 16}、(ii) a^(r/2) ≡ -1 (mod 35) となる {34, 19, 24} の計5個である。よって成功集合のサイズは 23 − 5 = 18 であり、成功確率は 18/23 ≈ 78.3% である。また r=2 かつ成功となる基数は {6, 29} の2個であり、その確率は 2/23 ≈ 8.7% である。
-
a=6の特殊性の明示: a=6はr=2を持つ3元 {6, 29, 34} の中で最小であり、6² ≡ 1 (mod 35) かつ 6¹ = 6 ≢ −1 (mod 35) を満たすため因数分解が成功する。この特性は事後的に選んだのではなく、「最小周期を持つ元の中で因数分解条件を満たすもの」という系統的な探索の結果である。
6.3 一般化の限界
本手法には以下の一般化の限界がある:
-
r=2の「存在」と「出現確率」の分離: Nが2つの奇素数p, qの積(RSA型)である場合、Z*_N には常に x² ≡ 1 (mod N) を満たす元が複数存在し、そのうち少なくとも2つはShorの成功条件(a^(r/2) ≢ -1)を満たすため、r=2を与える基数自体は存在する。しかし、RSA型 N=pq(p, q odd prime)では Z*_N の中で r=2 を与える元は4個(x² ≡ 1 (mod N) の解)に限られ、成功条件 a ≠ -1 を満たすのはそのうち2個であるため、aを「Z*_N から {1} を除いた集合」から一様に選ぶと「成功するr=2」を引く確率はおよそ 2/(φ(N)-1)(φはオイラーのトーシェント関数)と極めて小さい。したがって本稿の最適基数選択は、NISQ実験における「設計上の選択」として位置づけられる。
-
compiled回路の前提: 本手法は軌道構造を事前に同定できることを前提としており、未知のNに対するblack-box因数分解には直接適用できない。
-
NISQ特化: 本手法はNISQデバイスの制約(低い2Qゲート忠実度)を前提とした設計論であり、誤り訂正付き量子計算機が利用可能になった場合にはその意義が変化する。
7. 結論
本実験では、N=35の因数分解において、基数a=6を選択することで周期r=2が得られ、3量子ビット・2Qゲート2個という極めて簡素な回路で実装可能であることを示した。
Rigetti Ankaa-3での実機実験により:
- a=6 (r=2): S = 96.6% ± 1.2%
- a=8 (r=4): S = 47.6% ± 2.2%
を達成した。回路複雑度の増加に伴いSが約49ポイント低下することを定量的に確認した。
本稿の貢献は、r=2の存在自体ではなく、(N, a)選択がcompiled回路の量子資源を離散的に変化させ得ることを、実機の分布指標(S)で示した点にある。ただし、本手法の一般化には限界がある。r=2となる基数はRSA型でも存在しうる一方で、ランダム選択でr=2を引く確率は極めて小さく、本実験で用いた「デバイスファースト」の設計思想は特定の(N, a)の組み合わせにのみ適用可能である。それでもなお、NISQ時代における回路設計の方法論としては他のNや他のデバイスにも応用可能であると考える。
参考文献
[1] P. W. Shor, "Algorithms for quantum computation: discrete logarithms and factoring," Proceedings 35th Annual Symposium on Foundations of Computer Science (FOCS), 1994, pp. 124-134.
[2] M. Amico et al., "Experimental study of Shor's factoring algorithm on IBM Q," Physical Review A, vol. 100, no. 1, 012305, 2019.
[3] U. Skosana and M. Tame, "Demonstration of Shor's factoring algorithm for N = 21 on IBM quantum processors," Scientific Reports, vol. 11, no. 1, p. 16599, 2021.
[4] P. Bagourd et al., "Practical Challenges in Executing Shor's Algorithm on Existing Quantum Platforms," arXiv:2512.15330, 2025.
[5] J. A. Smolin, G. Smith, and A. Vargo, "Oversimplifying quantum factoring," Nature, vol. 499, no. 7457, pp. 163-165, 2013.
[6] Rigetti Computing, "Ankaa-3 (84-qubit) system," 2024. (Rigetti公式サイト内 Ankaa-3 概要ページ)
付録A: 実験の再現性
A.1 リポジトリ
実験に使用したコードは以下のリポジトリで公開:
https://github.com/kaminuma/quantum-crypto-lab
A.2 主要ファイル
quantum-rsa-lab/
├── src/quantum_rsa/modexp/
│ ├── n21_optimized.py # N=21回路
│ ├── n35_a6_optimized.py # N=35 a=6回路
│ └── n35_a8_optimized.py # N=35 a=8回路
├── scripts/
│ └── run_n35_experiments.py # 実験スクリプト
└── docs/reports/
├── 2026-01-30-ankaa3-n21-execution.md
└── 2026-01-31-n35-comparison-report.md
A.3 実行コマンド
# a=6 実機実行
python scripts/run_n35_experiments.py --base 6 --shots 400 --reps 3
# a=8 実機実行
python scripts/run_n35_experiments.py --base 8 --shots 400 --reps 5
# シミュレーション
python scripts/run_n35_experiments.py --base 6 --shots 10000 --simulate
A.4 依存関係
- Python 3.11+
- amazon-braket-sdk
- qiskit(シミュレーション用)
- numpy
A.5 実験メタデータ(再現性・公平性の参考情報)
| 項目 | a=6 | a=8 |
|---|---|---|
| 実行日時 | 2026-01-31 | 2026-01-31 |
| AWS Braket Task ARN | (実験ログ参照) | (実験ログ参照) |
| デバイスキャリブレーション | 同一日内で連続実行 | 同一日内で連続実行 |
※ 詳細なTask ARNは docs/reports/2026-01-31-n35-comparison-report.md に記載。
A.6 先行研究調査の範囲
本稿で「a=6(r=2)を用いた同種の実機比較は確認できなかった」と述べた調査範囲は以下の通り:
- 検索対象: Google Scholar, arXiv, IEEE Xplore, Physical Review journals
- 検索クエリ: "Shor algorithm N=35", "compiled Shor circuit", "order-finding N=35", "quantum factoring 35"
- 調査期間: 2019年〜2025年の主要文献
- 確認した代表的論文: [2], [3], [4], [5] およびそれらが引用する実験報告
なお、未公開の実験や非英語文献については調査対象外である。
付録B: 生データ
B.1 N=35 a=6 測定結果
| rep | 00 | 01 | 10 | 11 | Support Mass (S) [%] |
|---|---|---|---|---|---|
| 1 | 187 | 5 | 201 | 7 | 97.0 |
| 2 | 174 | 6 | 206 | 14 | 95.0 |
| 3 | 192 | 5 | 199 | 4 | 97.8 |
B.2 N=35 a=8 測定結果
| rep | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | Support Mass (S) [%] |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 41 | 47 | 47 | 46 | 52 | 50 | 51 | 66 | 47.8 |
| 2 | 43 | 46 | 45 | 58 | 62 | 43 | 48 | 55 | 49.5 |
| 3 | 39 | 45 | 62 | 62 | 36 | 49 | 46 | 61 | 45.8 |
| 4 | 37 | 51 | 39 | 52 | 45 | 60 | 57 | 59 | 44.5 |
| 5 | 38 | 38 | 52 | 60 | 63 | 39 | 49 | 61 | 50.5 |
本稿は2026年1月31日に作成されました。
AIアシスタント(Claude)との対話を通じて執筆されました。