1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

楕円曲線の演算を剰余(有限体)で行う(その2)

Posted at

楕円曲線(剰余演算)上の整数点の数とnPで網羅する点の数

前回の投稿で楕円曲線(剰余演算)を行って以下の2つを求めました(無限遠点を含む)。

  • 整数点の数 $\cdots (1)$
  • 整数点Pから初めてnPで網羅する点の数(位数) $\cdots (2)$

前回の投稿では、楕円曲線$E: y^2 + x^3 + ax + b \pmod p $で$a = 0, b = 17, p = 13$の時は両方とも$21$で一致しました。

今回は$b, p$が他の値の時はどうか調べてみました($a=0$の場合のみ)。
$(2)$の網羅する点に関して始める整数点Pを変えて最大値を取りました。

以下の表で$dとp$を変えてその結果を$(1)/(2)$で示しています

b=7 b=11 b=13 b=17 b=19 b=23 b=29 b=31
p=11 12/12 12/11 12/12 12/12 12/12 12/12 12/12 12/12
p=13 7/7 19/19 14/13 21/21 7/7 9/3 9/3 16/4
p=17 18/18 18/18 18/18 18/17 18/18 18/18 18/18 18/18
p=19 12/6 12/6 19/19 27/9 20/19 21/21 19/19 28/14
p=23 24/24 24/24 24/24 24/24 24/24 24/23 24/24 24/24
p=29 30/30 30/30 30/30 30/30 30/30 30/30 30/29 30/30
p=31 21/21 25/5 25/5 43/43 21/21 28/14 28/14 32/31
p=37 39/39 48/12 37/37 49/49 37/37 28/14 28/14 28/14
p=41 42/42 42/42 42/42 42/42 42/42 42/42 42/42 42/42
p=43 31/31 36/6 57/57 57/57 49/7 39/39 31/31 39/39
p=47 48/48 48/48 48/48 48/48 48/48 48/48 48/48 48/48
p=53 54/54 54/54 54/54 54/54 54/54 54/54 54/54 54/54
p=59 60/60 60/60 60/60 60/60 60/60 60/60 60/60 60/60
p=61 61/61 76/38 63/21 49/49 75/15 76/38 49/49 49/49
p=67 79/79 79/79 73/73 63/21 63/21 63/21 57/57 79/79
p=71 72/72 72/72 72/72 72/72 72/72 72/72 72/72 72/72
p=73 64/8 91/91 67/67 64/8 81/9 57/57 67/67 67/67
p=79 67/67 93/93 63/21 76/38 93/93 93/93 67/67 93/93
p=83 84/84 84/84 84/84 84/84 84/84 84/84 84/84 84/84
p=89 90/90 90/90 90/90 90/90 90/90 90/90 90/90 90/90
p=97 79/79 93/93 79/79 103/103 112/28 103/103 79/79 117/39

整数点の数とnP倍で網羅する点の数の考察

以下のことが見て取れます。

  • 多くの場合$(1)=(2)$となっている、特に$(1)=(2)=p+1$になる場合($p=23,29,41,47,...$)は$b$の値に関係なく$(1)=(2)$となる。($p=b$の時をのぞく)
  • 赤字の$p=b$の時は$(1)=(2)+1$。これは$(x,y)=(0,0)$が解となりこれが孤立しているから。
  • それ以外のケースではかなりランダムに$(1)>(2)$となっている。ただ$(2)$は$(1)$の約数になっている。

残念ながらその規則性は分かりませんでした。楕円曲線でつかう$b, p$はこの辺を考慮して選ぶ必要がありますね。

ちなみにビットコインで使われているsecp256k1では以下の値が使われているそうです。

p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
a = 0
b = 7

(開発環境:Google Colab)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?