clispとbashでECCのおもちゃ(その1)

■前回(?)の続き。

 clispとbashでRSAのおもちゃ
 http://d.hatena.ne.jp/labunix/20130214

■以下のサイトを参考にする。

 楕円曲線の点の群の例
 http://deztec.jp/x/05/faireal/23-index.html#d31128

■まず以下のよくある楕円曲線を基準の関数とする。

y^2=x^3+2x-1

■「mod7」を満たす(x,y)に制限する。

y^2≡x^3+2x-1(mod7)

■「mod7」なので正の整数に制限される。
 x*y、つまり7*7=49通りしかない。

$ for x in `seq 1 7`;do \
     for y in `seq 1 7`;do \
       LEFT=`echo "(setq y ${y})(mod (expt y 2) 7)" | clisp -q | tail -1`; \
       RIGHT=`echo "(setq x ${x})(mod (+ (expt x 3) (* 2 x) -1) 7)" | clisp -q | tail -1`; \
       test "$LEFT" -eq "$RIGHT" && echo "x=$x,y=$y,$x^3+2*$x-1≡$y^2,$RIGHT"; \
     done; \
  done
x=1,y=3,1^3+2*1-13^2,2
x=1,y=4,1^3+2*1-14^2,2
x=2,y=2,2^3+2*2-12^2,4
x=2,y=5,2^3+2*2-15^2,4
x=3,y=2,3^3+2*3-12^2,4
x=3,y=5,3^3+2*3-15^2,4
x=4,y=1,4^3+2*4-11^2,1
x=4,y=6,4^3+2*4-16^2,1
x=5,y=1,5^3+2*5-11^2,1
x=5,y=6,5^3+2*5-16^2,1

■加算とスカラー倍算の話は一旦スルーする。
 同じ点で分母分子がゼロとなる加算を行わない。
 「x1=x2」かつ「y1=-y2」となる無限遠点を除く。

(x1, y1)(x2, y2) の和 (x3, y3)を求める。

x3=λ^2-x1-x2
y3(x1-x3)-y1

λ=(y2-y1)*(x2-x1)^-1

$ echo "x=1,y=3,1^3+2*1-1≡3^2,2
x=1,y=4,1^3+2*1-1≡4^2,2
x=2,y=2,2^3+2*2-1≡2^2,4
x=2,y=5,2^3+2*2-1≡5^2,4
x=3,y=2,3^3+2*3-1≡2^2,4
x=3,y=5,3^3+2*3-1≡5^2,4
x=4,y=1,4^3+2*4-1≡1^2,1
x=4,y=6,4^3+2*4-1≡6^2,1
x=5,y=1,5^3+2*5-1≡1^2,1
x=5,y=6,5^3+2*5-1≡6^2,1" | nl | sed s/"^  *"/"P"/g | sed s/","/"\t"/g
P1      x=1     y=3     1^3+2*1-13^2   2
P2      x=1     y=4     1^3+2*1-14^2   2
P3      x=2     y=2     2^3+2*2-12^2   4
P4      x=2     y=5     2^3+2*2-15^2   4
P5      x=3     y=2     3^3+2*3-12^2   4
P6      x=3     y=5     3^3+2*3-15^2   4
P7      x=4     y=1     4^3+2*4-11^2   1
P8      x=4     y=6     4^3+2*4-16^2   1
P9      x=5     y=1     5^3+2*5-11^2   1
P10     x=5     y=6     5^3+2*5-16^2   1

■P5とP8の加算
 ※ここは手計算とする。理由は後述。

λ=(y2-y1)*(x2-x1)
λ=(6-2)*(4-3)^-1=4*1^-1=4

x3=λ^2-x1-x2(mod 7)
   4^2-3-4(mod 7)=2
y3(x1-x3)-y1(mod 7)
   4(4-2)-2(mod 7)=2

上記(2,2)に該当するのはP3である。

■位数331の群の関数で試す。
 定数77のみが残る(x,y)(0,0)の場合は無限遠点とする。

P1      x=0,y=0,0^3+19*0+770^2,無限遠点

y^2=x^3+19x+77(mod 307)

$ for x in `seq 0 307`;do \
    for y in `seq 0 307`;do \
      LEFT=`echo "(setq y ${y})(mod (expt y 2) 307)" | clisp -q | tail -1`; \
      RIGHT=`echo "(setq x ${x})(mod (+ (expt x 3) (* 19 x) 77) 307)" | clisp -q | tail -1`; \
      test "$LEFT" -eq "$RIGHT" && echo "x=$x,y=$y,$x^3+19*$x+77≡$y^2,$RIGHT"; \
    done; \
  done > 331.list

$ nl 331.list | sed s/"^  *"/"P"/g
P1      x=0,y=153,0^3+19*0+77153^2,77
P2      x=0,y=154,0^3+19*0+77154^2,77
P3      x=1,y=149,1^3+19*1+77149^2,97
P4      x=1,y=158,1^3+19*1+77158^2,97
P5      x=6,y=10,6^3+19*6+7710^2,100
P6      x=6,y=297,6^3+19*6+77297^2,100
P7      x=7,y=89,7^3+19*7+7789^2,246
P8      x=7,y=218,7^3+19*7+77218^2,246
P9      x=8,y=110,8^3+19*8+77110^2,127
P10     x=8,y=197,8^3+19*8+77197^2,127
P11     x=10,y=119,10^3+19*10+77119^2,39
P12     x=10,y=188,10^3+19*10+77188^2,39
P13     x=12,y=67,12^3+19*12+7767^2,191
P14     x=12,y=240,12^3+19*12+77240^2,191
P15     x=13,y=40,13^3+19*13+7740^2,65
P16     x=13,y=267,13^3+19*13+77267^2,65
P17     x=14,y=18,14^3+19*14+7718^2,17
P18     x=14,y=289,14^3+19*14+77289^2,17
P19     x=15,y=93,15^3+19*15+7793^2,53
P20     x=15,y=214,15^3+19*15+77214^2,53
P21     x=16,y=57,16^3+19*16+7757^2,179
P22     x=16,y=250,16^3+19*16+77250^2,179
P23     x=17,y=44,17^3+19*17+7744^2,94
P24     x=17,y=263,17^3+19*17+77263^2,94
P25     x=20,y=33,20^3+19*20+7733^2,168
P26     x=20,y=274,20^3+19*20+77274^2,168
P27     x=23,y=44,23^3+19*23+7744^2,94
P28     x=23,y=263,23^3+19*23+77263^2,94
P29     x=24,y=34,24^3+19*24+7734^2,235
P30     x=24,y=273,24^3+19*24+77273^2,235
P31     x=27,y=25,27^3+19*27+7725^2,11
P32     x=27,y=282,27^3+19*27+77282^2,11
P33     x=28,y=134,28^3+19*28+77134^2,150
P34     x=28,y=173,28^3+19*28+77173^2,150
P35     x=29,y=134,29^3+19*29+77134^2,150
P36     x=29,y=173,29^3+19*29+77173^2,150
P37     x=30,y=18,30^3+19*30+7718^2,17
P38     x=30,y=289,30^3+19*30+77289^2,17
P39     x=31,y=8,31^3+19*31+778^2,64
P40     x=31,y=299,31^3+19*31+77299^2,64
P41     x=37,y=85,37^3+19*37+7785^2,164
P42     x=37,y=222,37^3+19*37+77222^2,164
P43     x=38,y=59,38^3+19*38+7759^2,104
P44     x=38,y=248,38^3+19*38+77248^2,104
P45     x=39,y=72,39^3+19*39+7772^2,272
P46     x=39,y=235,39^3+19*39+77235^2,272
P47     x=40,y=47,40^3+19*40+7747^2,60
P48     x=40,y=260,40^3+19*40+77260^2,60
P49     x=43,y=46,43^3+19*43+7746^2,274
P50     x=43,y=261,43^3+19*43+77261^2,274
P51     x=45,y=112,45^3+19*45+77112^2,264
P52     x=45,y=195,45^3+19*45+77195^2,264
P53     x=49,y=48,49^3+19*49+7748^2,155
P54     x=49,y=259,49^3+19*49+77259^2,155
P55     x=52,y=41,52^3+19*52+7741^2,146
P56     x=52,y=266,52^3+19*52+77266^2,146
P57     x=53,y=51,53^3+19*53+7751^2,145
P58     x=53,y=256,53^3+19*53+77256^2,145
P59     x=54,y=48,54^3+19*54+7748^2,155
P60     x=54,y=259,54^3+19*54+77259^2,155
P61     x=55,y=113,55^3+19*55+77113^2,182
P62     x=55,y=194,55^3+19*55+77194^2,182
P63     x=56,y=132,56^3+19*56+77132^2,232
P64     x=56,y=175,56^3+19*56+77175^2,232
P65     x=57,y=2,57^3+19*57+772^2,4
P66     x=57,y=305,57^3+19*57+77305^2,4
P67     x=58,y=90,58^3+19*58+7790^2,118
P68     x=58,y=217,58^3+19*58+77217^2,118
P69     x=59,y=102,59^3+19*59+77102^2,273
P70     x=59,y=205,59^3+19*59+77205^2,273
P71     x=60,y=33,60^3+19*60+7733^2,168
P72     x=60,y=274,60^3+19*60+77274^2,168
P73     x=65,y=78,65^3+19*65+7778^2,251
P74     x=65,y=229,65^3+19*65+77229^2,251
P75     x=67,y=5,67^3+19*67+775^2,25
P76     x=67,y=302,67^3+19*67+77302^2,25
P77     x=69,y=57,69^3+19*69+7757^2,179
P78     x=69,y=250,69^3+19*69+77250^2,179
P79     x=70,y=80,70^3+19*70+7780^2,260
P80     x=70,y=227,70^3+19*70+77227^2,260
P81     x=72,y=54,72^3+19*72+7754^2,153
P82     x=72,y=253,72^3+19*72+77253^2,153
P83     x=73,y=99,73^3+19*73+7799^2,284
P84     x=73,y=208,73^3+19*73+77208^2,284
P85     x=75,y=115,75^3+19*75+77115^2,24
P86     x=75,y=192,75^3+19*75+77192^2,24
P87     x=76,y=140,76^3+19*76+77140^2,259
P88     x=76,y=167,76^3+19*76+77167^2,259
P89     x=79,y=31,79^3+19*79+7731^2,40
P90     x=79,y=276,79^3+19*79+77276^2,40
P91     x=80,y=39,80^3+19*80+7739^2,293
P92     x=80,y=268,80^3+19*80+77268^2,293
P93     x=81,y=64,81^3+19*81+7764^2,105
P94     x=81,y=243,81^3+19*81+77243^2,105
P95     x=82,y=77,82^3+19*82+7777^2,96
P96     x=82,y=230,82^3+19*82+77230^2,96
P97     x=83,y=72,83^3+19*83+7772^2,272
P98     x=83,y=235,83^3+19*83+77235^2,272
P99     x=84,y=5,84^3+19*84+775^2,25
P100    x=84,y=302,84^3+19*84+77302^2,25
P101    x=87,y=45,87^3+19*87+7745^2,183
P102    x=87,y=262,87^3+19*87+77262^2,183
P103    x=88,y=41,88^3+19*88+7741^2,146
P104    x=88,y=266,88^3+19*88+77266^2,146
P105    x=90,y=110,90^3+19*90+77110^2,127
P106    x=90,y=197,90^3+19*90+77197^2,127
P107    x=92,y=147,92^3+19*92+77147^2,119
P108    x=92,y=160,92^3+19*92+77160^2,119
P109    x=93,y=68,93^3+19*93+7768^2,19
P110    x=93,y=239,93^3+19*93+77239^2,19
P111    x=94,y=28,94^3+19*94+7728^2,170
P112    x=94,y=279,94^3+19*94+77279^2,170
P113    x=97,y=31,97^3+19*97+7731^2,40
P114    x=97,y=276,97^3+19*97+77276^2,40
P115    x=99,y=70,99^3+19*99+7770^2,295
P116    x=99,y=237,99^3+19*99+77237^2,295
P117    x=104,y=29,104^3+19*104+7729^2,227
P118    x=104,y=278,104^3+19*104+77278^2,227
P119    x=106,y=64,106^3+19*106+7764^2,105
P120    x=106,y=243,106^3+19*106+77243^2,105
P121    x=108,y=104,108^3+19*108+77104^2,71
P122    x=108,y=203,108^3+19*108+77203^2,71
P123    x=109,y=114,109^3+19*109+77114^2,102
P124    x=109,y=193,109^3+19*109+77193^2,102
P125    x=115,y=73,115^3+19*115+7773^2,110
P126    x=115,y=234,115^3+19*115+77234^2,110
P127    x=116,y=94,116^3+19*116+7794^2,240
P128    x=116,y=213,116^3+19*116+77213^2,240
P129    x=117,y=51,117^3+19*117+7751^2,145
P130    x=117,y=256,117^3+19*117+77256^2,145
P131    x=119,y=15,119^3+19*119+7715^2,225
P132    x=119,y=292,119^3+19*119+77292^2,225
P133    x=120,y=64,120^3+19*120+7764^2,105
P134    x=120,y=243,120^3+19*120+77243^2,105
P135    x=125,y=58,125^3+19*125+7758^2,294
P136    x=125,y=249,125^3+19*125+77249^2,294
P137    x=126,y=30,126^3+19*126+7730^2,286
P138    x=126,y=277,126^3+19*126+77277^2,286
P139    x=127,y=128,127^3+19*127+77128^2,113
P140    x=127,y=179,127^3+19*127+77179^2,113
P141    x=130,y=97,130^3+19*130+7797^2,199
P142    x=130,y=210,130^3+19*130+77210^2,199
P143    x=131,y=31,131^3+19*131+7731^2,40
P144    x=131,y=276,131^3+19*131+77276^2,40
P145    x=132,y=93,132^3+19*132+7793^2,53
P146    x=132,y=214,132^3+19*132+77214^2,53
P147    x=136,y=32,136^3+19*136+7732^2,103
P148    x=136,y=275,136^3+19*136+77275^2,103
P149    x=137,y=51,137^3+19*137+7751^2,145
P150    x=137,y=256,137^3+19*137+77256^2,145
P151    x=141,y=35,141^3+19*141+7735^2,304
P152    x=141,y=272,141^3+19*141+77272^2,304
P153    x=143,y=129,143^3+19*143+77129^2,63
P154    x=143,y=178,143^3+19*143+77178^2,63
P155    x=145,y=106,145^3+19*145+77106^2,184
P156    x=145,y=201,145^3+19*145+77201^2,184
P157    x=146,y=127,146^3+19*146+77127^2,165
P158    x=146,y=180,146^3+19*146+77180^2,165
P159    x=147,y=79,147^3+19*147+7779^2,101
P160    x=147,y=228,147^3+19*147+77228^2,101
P161    x=148,y=108,148^3+19*148+77108^2,305
P162    x=148,y=199,148^3+19*148+77199^2,305
P163    x=149,y=13,149^3+19*149+7713^2,169
P164    x=149,y=294,149^3+19*149+77294^2,169
P165    x=150,y=96,150^3+19*150+7796^2,6
P166    x=150,y=211,150^3+19*150+77211^2,6
P167    x=151,y=71,151^3+19*151+7771^2,129
P168    x=151,y=236,151^3+19*151+77236^2,129
P169    x=156,y=5,156^3+19*156+775^2,25
P170    x=156,y=302,156^3+19*156+77302^2,25
P171    x=157,y=122,157^3+19*157+77122^2,148
P172    x=157,y=185,157^3+19*157+77185^2,148
P173    x=159,y=69,159^3+19*159+7769^2,156
P174    x=159,y=238,159^3+19*159+77238^2,156
P175    x=160,y=93,160^3+19*160+7793^2,53
P176    x=160,y=214,160^3+19*160+77214^2,53
P177    x=162,y=82,162^3+19*162+7782^2,277
P178    x=162,y=225,162^3+19*162+77225^2,277
P179    x=167,y=41,167^3+19*167+7741^2,146
P180    x=167,y=266,167^3+19*167+77266^2,146
P181    x=168,y=38,168^3+19*168+7738^2,216
P182    x=168,y=269,168^3+19*168+77269^2,216
P183    x=169,y=56,169^3+19*169+7756^2,66
P184    x=169,y=251,169^3+19*169+77251^2,66
P185    x=170,y=3,170^3+19*170+773^2,9
P186    x=170,y=304,170^3+19*170+77304^2,9
P187    x=173,y=145,173^3+19*173+77145^2,149
P188    x=173,y=162,173^3+19*173+77162^2,149
P189    x=175,y=79,175^3+19*175+7779^2,101
P190    x=175,y=228,175^3+19*175+77228^2,101
P191    x=176,y=81,176^3+19*176+7781^2,114
P192    x=176,y=226,176^3+19*176+77226^2,114
P193    x=177,y=55,177^3+19*177+7755^2,262
P194    x=177,y=252,177^3+19*177+77252^2,262
P195    x=179,y=56,179^3+19*179+7756^2,66
P196    x=179,y=251,179^3+19*179+77251^2,66
P197    x=180,y=111,180^3+19*180+77111^2,41
P198    x=180,y=196,180^3+19*180+77196^2,41
P199    x=181,y=92,181^3+19*181+7792^2,175
P200    x=181,y=215,181^3+19*181+77215^2,175
P201    x=182,y=144,182^3+19*182+77144^2,167
P202    x=182,y=163,182^3+19*182+77163^2,167
P203    x=185,y=72,185^3+19*185+7772^2,272
P204    x=185,y=235,185^3+19*185+77235^2,272
P205    x=186,y=129,186^3+19*186+77129^2,63
P206    x=186,y=178,186^3+19*186+77178^2,63
P207    x=187,y=7,187^3+19*187+777^2,49
P208    x=187,y=300,187^3+19*187+77300^2,49
P209    x=189,y=4,189^3+19*189+774^2,16
P210    x=189,y=303,189^3+19*189+77303^2,16
P211    x=190,y=3,190^3+19*190+773^2,9
P212    x=190,y=304,190^3+19*190+77304^2,9
P213    x=192,y=50,192^3+19*192+7750^2,44
P214    x=192,y=257,192^3+19*192+77257^2,44
P215    x=196,y=103,196^3+19*196+77103^2,171
P216    x=196,y=204,196^3+19*196+77204^2,171
P217    x=199,y=151,199^3+19*199+77151^2,83
P218    x=199,y=156,199^3+19*199+77156^2,83
P219    x=201,y=7,201^3+19*201+777^2,49
P220    x=201,y=300,201^3+19*201+77300^2,49
P221    x=203,y=65,203^3+19*203+7765^2,234
P222    x=203,y=242,203^3+19*203+77242^2,234
P223    x=204,y=48,204^3+19*204+7748^2,155
P224    x=204,y=259,204^3+19*204+77259^2,155
P225    x=207,y=15,207^3+19*207+7715^2,225
P226    x=207,y=292,207^3+19*207+77292^2,225
P227    x=209,y=110,209^3+19*209+77110^2,127
P228    x=209,y=197,209^3+19*209+77197^2,127
P229    x=210,y=81,210^3+19*210+7781^2,114
P230    x=210,y=226,210^3+19*210+77226^2,114
P231    x=211,y=146,211^3+19*211+77146^2,133
P232    x=211,y=161,211^3+19*211+77161^2,133
P233    x=212,y=133,212^3+19*212+77133^2,190
P234    x=212,y=174,212^3+19*212+77174^2,190
P235    x=214,y=83,214^3+19*214+7783^2,135
P236    x=214,y=224,214^3+19*214+77224^2,135
P237    x=216,y=35,216^3+19*216+7735^2,304
P238    x=216,y=272,216^3+19*216+77272^2,304
P239    x=220,y=120,220^3+19*220+77120^2,278
P240    x=220,y=187,220^3+19*220+77187^2,278
P241    x=221,y=124,221^3+19*221+77124^2,26
P242    x=221,y=183,221^3+19*221+77183^2,26
P243    x=222,y=57,222^3+19*222+7757^2,179
P244    x=222,y=250,222^3+19*222+77250^2,179
P245    x=223,y=71,223^3+19*223+7771^2,129
P246    x=223,y=236,223^3+19*223+77236^2,129
P247    x=225,y=66,225^3+19*225+7766^2,58
P248    x=225,y=241,225^3+19*225+77241^2,58
P249    x=226,y=7,226^3+19*226+777^2,49
P250    x=226,y=300,226^3+19*226+77300^2,49
P251    x=227,y=33,227^3+19*227+7733^2,168
P252    x=227,y=274,227^3+19*227+77274^2,168
P253    x=228,y=81,228^3+19*228+7781^2,114
P254    x=228,y=226,228^3+19*228+77226^2,114
P255    x=233,y=23,233^3+19*233+7723^2,222
P256    x=233,y=284,233^3+19*233+77284^2,222
P257    x=234,y=22,234^3+19*234+7722^2,177
P258    x=234,y=285,234^3+19*234+77285^2,177
P259    x=235,y=1,235^3+19*235+771^2,1
P260    x=235,y=306,235^3+19*235+77306^2,1
P261    x=236,y=43,236^3+19*236+7743^2,7
P262    x=236,y=264,236^3+19*236+77264^2,7
P263    x=237,y=87,237^3+19*237+7787^2,201
P264    x=237,y=220,237^3+19*237+77220^2,201
P265    x=239,y=16,239^3+19*239+7716^2,256
P266    x=239,y=291,239^3+19*239+77291^2,256
P267    x=240,y=71,240^3+19*240+7771^2,129
P268    x=240,y=236,240^3+19*240+77236^2,129
P269    x=247,y=39,247^3+19*247+7739^2,293
P270    x=247,y=268,247^3+19*247+77268^2,293
P271    x=249,y=6,249^3+19*249+776^2,36
P272    x=249,y=301,249^3+19*249+77301^2,36
P273    x=250,y=134,250^3+19*250+77134^2,150
P274    x=250,y=173,250^3+19*250+77173^2,150
P275    x=251,y=42,251^3+19*251+7742^2,229
P276    x=251,y=265,251^3+19*251+77265^2,229
P277    x=254,y=3,254^3+19*254+773^2,9
P278    x=254,y=304,254^3+19*254+77304^2,9
P279    x=257,y=35,257^3+19*257+7735^2,304
P280    x=257,y=272,257^3+19*257+77272^2,304
P281    x=261,y=148,261^3+19*261+77148^2,107
P282    x=261,y=159,261^3+19*261+77159^2,107
P283    x=263,y=18,263^3+19*263+7718^2,17
P284    x=263,y=289,263^3+19*263+77289^2,17
P285    x=264,y=143,264^3+19*264+77143^2,187
P286    x=264,y=164,264^3+19*264+77164^2,187
P287    x=265,y=75,265^3+19*265+7775^2,99
P288    x=265,y=232,265^3+19*265+77232^2,99
P289    x=266,y=56,266^3+19*266+7756^2,66
P290    x=266,y=251,266^3+19*266+77251^2,66
P291    x=267,y=44,267^3+19*267+7744^2,94
P292    x=267,y=263,267^3+19*267+77263^2,94
P293    x=271,y=130,271^3+19*271+77130^2,15
P294    x=271,y=177,271^3+19*271+77177^2,15
P295    x=273,y=61,273^3+19*273+7761^2,37
P296    x=273,y=246,273^3+19*273+77246^2,37
P297    x=274,y=53,274^3+19*274+7753^2,46
P298    x=274,y=254,274^3+19*274+77254^2,46
P299    x=275,y=85,275^3+19*275+7785^2,164
P300    x=275,y=222,275^3+19*275+77222^2,164
P301    x=276,y=107,276^3+19*276+77107^2,90
P302    x=276,y=200,276^3+19*276+77200^2,90
P303    x=278,y=2,278^3+19*278+772^2,4
P304    x=278,y=305,278^3+19*278+77305^2,4
P305    x=279,y=2,279^3+19*279+772^2,4
P306    x=279,y=305,279^3+19*279+77305^2,4
P307    x=282,y=52,282^3+19*282+7752^2,248
P308    x=282,y=255,282^3+19*282+77255^2,248
P309    x=284,y=47,284^3+19*284+7747^2,60
P310    x=284,y=260,284^3+19*284+77260^2,60
P311    x=285,y=129,285^3+19*285+77129^2,63
P312    x=285,y=178,285^3+19*285+77178^2,63
P313    x=287,y=39,287^3+19*287+7739^2,293
P314    x=287,y=268,287^3+19*287+77268^2,293
P315    x=288,y=15,288^3+19*288+7715^2,225
P316    x=288,y=292,288^3+19*288+77292^2,225
P317    x=290,y=47,290^3+19*290+7747^2,60
P318    x=290,y=260,290^3+19*290+77260^2,60
P319    x=292,y=79,292^3+19*292+7779^2,101
P320    x=292,y=228,292^3+19*292+77228^2,101
P321    x=294,y=150,294^3+19*294+77150^2,89
P322    x=294,y=157,294^3+19*294+77157^2,89
P323    x=297,y=27,297^3+19*297+7727^2,115
P324    x=297,y=280,297^3+19*297+77280^2,115
P325    x=300,y=109,300^3+19*300+77109^2,215
P326    x=300,y=198,300^3+19*300+77198^2,215
P327    x=301,y=19,301^3+19*301+7719^2,54
P328    x=301,y=288,301^3+19*301+77288^2,54
P329    x=302,y=85,302^3+19*302+7785^2,164
P330    x=302,y=222,302^3+19*302+77222^2,164P8=(7,218)を公開鍵として選ぶ
 ※ここではスカラー倍算は行わない。

α:P8を75倍すると、P26になる。
  ※75を秘密鍵aとする。(一般には乱数を生成)

P8      x=7,y=218,7^3+19*7+77218^2,246
P26     x=20,y=274,20^3+19*20+77274^2,168

Β:P8を234倍すると、P178になる。
  ※234を秘密鍵bとする。(一般には乱数を生成)

P8      x=7,y=218,7^3+19*7+77218^2,246
P178    x=162,y=225,162^3+19*162+77225^2,277

■楕円曲線上の点の加法は可能であるが,乗算は定義されない。
 代わりに同一の点に対する繰り返しの加算であるスカラー倍算を定義することは出来る。

 dを正整数とし,Pを楕円曲線上の点とするとき、スカラー倍算dPはPをd回加算したものと出来る。
 同じ場合の加算は以下だった。

 λ=(3x1^2+a)*2y1^-1

 このスカラー倍算と、楕円曲線上の点として表されたメッセージMをどうするかはまた後日考える。