なってループが終了した。正確な位数はかなりランダムだ。結果として、位数を素因数分解したときの最大因数の大小も、曲線によって大きく異なる。おける「38兆」よりさらに大きいケースもあるし、逆にずっと小さいケースもある。とき、因数分解成功の条件が満たされる。以上はあくまで原理を紹介するための実演であり、実用上、このままでは速度的な不満がある。テスト環境では曲線1個で5秒かかり、合計約55秒。続ける必要があり、ざっと1時間半もかかってしまう。大幅に減らせることは確かなので、効率を改善できれば実用性が高まる。具体的に、標準形の楕円曲線の代わりにモンゴメリー形式を使うことで、計算が速くなる。ステージ2を併用することで、実効性が高まる。呼び出さずに剰余演算の実装を工夫することで、桁違いの高速化が実現される。Montgomery)は「計算の鬼」だ。「これはすごい」と思わせるアルゴリズムをいくつも発見している。xという表示(モンゴメリー形式)が使われる。z-座標を使い、y-座標を使わない」という独特な方法で表現される。x-座標、y-座標、z-座標と呼ぶことにする。これは「比」なので、3個の座標値を定数倍(0倍以外)したり、0以外の定数で割ったりしても、表す点は変わらない。このような点の表し方は、同次座標と呼ばれる。斉次座標または射影座標と呼ばれることも多い。逆数が存在する限りにおいて)。楕円曲線法の文脈において、このような座標系を使う主目的は処理の効率化。逆数の計算は面倒なので、割り算を先延ばしして比の形で座標を保持し、どうしても必要になった場合だけ割り算する。逆数が存在するか?」が問題の核心だった。モンゴメリーの方法では、同じ内容のチェックが曲線1個につき1回で済む。なければ、通常は分解成功となる。同次座標は、モンゴメリー形式に限らず、標準形の楕円曲線でも利用可能。