成功条件を満たしている。...いずれも、分解が速いのはステージ2のおかげだ。ステージ2の成功条件は比較的成り立ちやすいので、少ない個数の曲線を試すだけで済む。「赤ちゃん・巨人」と素数ペアリングが、ステージ2そのものの高速化に寄与している。約数として含んでいる。これがスヤマ・チューニングの効果で、「お金を崩す」ように位数を「崩す」働きを持つ。アルゴリズムが成功しやすい。大きければ大きいほど、より大きな「位数の素因数」に対応できる。大き過ぎると曲線1個当たりの処理が遅くなり、トータルでの効率は悪化する。目安として、ステージ1にかける時間とステージ2にかける時間がだいたい同じになるのが妥当とされる。ステージ2で強力な高速化を行っている場合、100より高い倍率が妥当になることもある。所要時間を気にしなければ、30桁くらいまでの因数は検出される。数時間~数日を費やすなら、30~40桁の因数も検出される可能性がある。上の簡易的な実装にしては、そう悪くないだろう。この方法を使っても、現状、100桁や200桁の因数は検出できない。「任意の整数を因数分解する速い方法があるのか」という根本的問題は、依然として未解決だ。1」法の方が高速であることも珍しくない。検出できる因数の範囲をある程度、広げてくれる。条件によっては40桁以上も可能だろう。位数がスムーズな群に出会うまで、曲線を変えて何度でも再試行できる。分解できなかったこと。メルセンヌ数を扱ったのは、もともとは任意精度ライブラリの動作テスト・実演のためだった。この記事の前半と同等の内容(楕円曲線の標準形&アフィン座標のステージ1)は、一般的な教科書にも記されている。オンライン公開されていて、自由に読むことができる。解説しているウェブページも複数ある。1」法を知ってから取り組むと、楕円曲線法のステージ1は、あっけないほど簡単だ。分解可能であり、大きな達成感が得られる。ステージ2については、ウェブ上で検索しても、見つかるのは素朴な実装と高度な話題の両極端で、中間が分からず、初めは手探り状態だった。1」法のステージ2の焼き直しで済むのだが、その先はどうなるのか...。内容は多岐にわたり、なかなかピンとこない。粘り強く、試行錯誤や実験を繰り返しながら、少しずつ理解できる範囲を広げていくしかない。標準版ステージ2を最小構成的に提示していて、最初の手掛かりとして大きな助けとなった。この記事の話題の多くには、発展の余地がある。「モンゴメリーのはしご」を「リュカの鎖」で置き換えること。「誕生日パラドックス」版ステージ2を試すこと。1」法のステージ2にも適用可能だ。1」法のテクニックを楕円曲線法に応用するのだが、素数ペアリングは逆順でやった方が自然だろう。この道順で進むと、ブレント・スヤマ拡張も自然と視野に入り、ステージ2でモンゴメリー形式から標準形に戻りたくなる理由も見えてくる。法とする剰余類が作る有限環」上の楕円曲線)は、普通の意味での「曲線」ではない。「碁盤の上に散らばった碁石」とイメージしてもいいだろう。点が必ずペアで存在する。点がないときには1個もない。しないか」という違いに対応する(右辺が平方剰余か非剰余か)。素数の場合、任意の2個の碁石(同じ石を2回選んでもいい)に対して、それらの和と呼ばれる第3の碁石が矛盾なく定義される。素数の場合というのは、有限環上の楕円曲線の中でも特別なケースに当たり、有限体上の楕円曲線と呼ばれる。楕円曲線法の厳密な扱いは難しいが、「曲線上の勝手な点を整数倍する」という本質は単純明快だ。ところが楕円曲線法は、必要以上に(というより中途半端に)小難しい表現で説明されることがある。ないが)一歩踏み込んでみたい。計算不能になる(定義されない)。}であることを示した(5個の点が存在)。考えることができる(33個の点が存在)。定まる(60は7で割ると4余り、11で割ると5余る。72は7で割ると2余り、11で割ると6余る)。