ホーム / 計算機 / オンライン楕円曲線点演算ツール
無料オンラインツール

オンライン楕円曲線点演算ツール

素数体上の楕円曲線 y²=x³+ax+b で2点の加算を計算。a=2, p=17, P(5,1), Q(6,3) で (10,6) を確認。処理はブラウザ内でローカルに行われます。

使ってみる

機能と使いどころ

このツールは、楕円曲線上の点加算の仕組みを学ぶための実用的なデモです。たとえば、a = 2, p = 17, P = (5, 1), Q = (6, 3) を入力すると、P + Q = (10, 6) が得られます。これは検証済みの具体例です。

計算の仕組み

2点が異なる場合は傾きを (yQ - yP) / (xQ - xP) で計算し、同じ点の場合は (3xP² + a) / (2yP) で計算します。モジュラ逆数は拡張ユークリッドの互除法で求められます。結果の x 座標は slope² - xP - xQ、y 座標は slope(xP - xR) - yP を p で割った余りです。

制限事項

このツールは1回の加算のみ対応しており、スカラー倍算や暗号学的な鍵生成・署名機能はありません。p の上限は 200000 で、合成数や偶数、曲線上にない点はエラーになります。計算はすべてブラウザ内で行われ、入力が外部に送信されることはありませんが、本番の暗号用途には適していません。

よくある質問

Q1: 点 P と Q が同じ点の場合はどうなりますか?

同じ点の場合は、2倍算の公式が使われ、傾きは (3xP² + a) / (2yP) で計算されます。yP が 0 の場合は無限遠点になります。

Q2: 点が無限遠点になるのはどのようなときですか?

2点の x 座標が同じで y 座標が互いに符号が逆(例: P = (5, 1) と Q = (5, 16) で p = 17)の場合、垂直線上の点となり、結果は無限遠点になります。

Q3: p に素数以外を入力するとどうなりますか?

p が素数でない場合や偶数、または 3 未満や 200000 を超える場合はエラーメッセージが表示され、計算は実行されません。

チェックリスト

  • a は整数
  • p は 3 以上 200000 以下の素数
  • P と Q は同じ曲線上にある
  • 結果は p を法として正規化される

安全な整数をカンマまたは空白で区切って入力してください。小数は使用できません。 -9007199254740991 ≤ a, xP, yP, xQ, yQ ≤ 9007199254740991

a: 2; p: 17; P: 5,1; Q: 6,3; P + Q = (10,6)

4a³ + 27b² ≡ 0 (mod p): 曲線が特異なため、楕円曲線上の点の加算には対応しません。

処理はブラウザ内でローカルに行われます。