■前回(?)の続き。
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-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
■加算とスカラー倍算の話は一旦スルーする。
同じ点で分母分子がゼロとなる加算を行わない。
「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-1≡3^2 2
P2 x=1 y=4 1^3+2*1-1≡4^2 2
P3 x=2 y=2 2^3+2*2-1≡2^2 4
P4 x=2 y=5 2^3+2*2-1≡5^2 4
P5 x=3 y=2 3^3+2*3-1≡2^2 4
P6 x=3 y=5 3^3+2*3-1≡5^2 4
P7 x=4 y=1 4^3+2*4-1≡1^2 1
P8 x=4 y=6 4^3+2*4-1≡6^2 1
P9 x=5 y=1 5^3+2*5-1≡1^2 1
P10 x=5 y=6 5^3+2*5-1≡6^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+77≡0^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+77≡153^2,77
P2 x=0,y=154,0^3+19*0+77≡154^2,77
P3 x=1,y=149,1^3+19*1+77≡149^2,97
P4 x=1,y=158,1^3+19*1+77≡158^2,97
P5 x=6,y=10,6^3+19*6+77≡10^2,100
P6 x=6,y=297,6^3+19*6+77≡297^2,100
P7 x=7,y=89,7^3+19*7+77≡89^2,246
P8 x=7,y=218,7^3+19*7+77≡218^2,246
P9 x=8,y=110,8^3+19*8+77≡110^2,127
P10 x=8,y=197,8^3+19*8+77≡197^2,127
P11 x=10,y=119,10^3+19*10+77≡119^2,39
P12 x=10,y=188,10^3+19*10+77≡188^2,39
P13 x=12,y=67,12^3+19*12+77≡67^2,191
P14 x=12,y=240,12^3+19*12+77≡240^2,191
P15 x=13,y=40,13^3+19*13+77≡40^2,65
P16 x=13,y=267,13^3+19*13+77≡267^2,65
P17 x=14,y=18,14^3+19*14+77≡18^2,17
P18 x=14,y=289,14^3+19*14+77≡289^2,17
P19 x=15,y=93,15^3+19*15+77≡93^2,53
P20 x=15,y=214,15^3+19*15+77≡214^2,53
P21 x=16,y=57,16^3+19*16+77≡57^2,179
P22 x=16,y=250,16^3+19*16+77≡250^2,179
P23 x=17,y=44,17^3+19*17+77≡44^2,94
P24 x=17,y=263,17^3+19*17+77≡263^2,94
P25 x=20,y=33,20^3+19*20+77≡33^2,168
P26 x=20,y=274,20^3+19*20+77≡274^2,168
P27 x=23,y=44,23^3+19*23+77≡44^2,94
P28 x=23,y=263,23^3+19*23+77≡263^2,94
P29 x=24,y=34,24^3+19*24+77≡34^2,235
P30 x=24,y=273,24^3+19*24+77≡273^2,235
P31 x=27,y=25,27^3+19*27+77≡25^2,11
P32 x=27,y=282,27^3+19*27+77≡282^2,11
P33 x=28,y=134,28^3+19*28+77≡134^2,150
P34 x=28,y=173,28^3+19*28+77≡173^2,150
P35 x=29,y=134,29^3+19*29+77≡134^2,150
P36 x=29,y=173,29^3+19*29+77≡173^2,150
P37 x=30,y=18,30^3+19*30+77≡18^2,17
P38 x=30,y=289,30^3+19*30+77≡289^2,17
P39 x=31,y=8,31^3+19*31+77≡8^2,64
P40 x=31,y=299,31^3+19*31+77≡299^2,64
P41 x=37,y=85,37^3+19*37+77≡85^2,164
P42 x=37,y=222,37^3+19*37+77≡222^2,164
P43 x=38,y=59,38^3+19*38+77≡59^2,104
P44 x=38,y=248,38^3+19*38+77≡248^2,104
P45 x=39,y=72,39^3+19*39+77≡72^2,272
P46 x=39,y=235,39^3+19*39+77≡235^2,272
P47 x=40,y=47,40^3+19*40+77≡47^2,60
P48 x=40,y=260,40^3+19*40+77≡260^2,60
P49 x=43,y=46,43^3+19*43+77≡46^2,274
P50 x=43,y=261,43^3+19*43+77≡261^2,274
P51 x=45,y=112,45^3+19*45+77≡112^2,264
P52 x=45,y=195,45^3+19*45+77≡195^2,264
P53 x=49,y=48,49^3+19*49+77≡48^2,155
P54 x=49,y=259,49^3+19*49+77≡259^2,155
P55 x=52,y=41,52^3+19*52+77≡41^2,146
P56 x=52,y=266,52^3+19*52+77≡266^2,146
P57 x=53,y=51,53^3+19*53+77≡51^2,145
P58 x=53,y=256,53^3+19*53+77≡256^2,145
P59 x=54,y=48,54^3+19*54+77≡48^2,155
P60 x=54,y=259,54^3+19*54+77≡259^2,155
P61 x=55,y=113,55^3+19*55+77≡113^2,182
P62 x=55,y=194,55^3+19*55+77≡194^2,182
P63 x=56,y=132,56^3+19*56+77≡132^2,232
P64 x=56,y=175,56^3+19*56+77≡175^2,232
P65 x=57,y=2,57^3+19*57+77≡2^2,4
P66 x=57,y=305,57^3+19*57+77≡305^2,4
P67 x=58,y=90,58^3+19*58+77≡90^2,118
P68 x=58,y=217,58^3+19*58+77≡217^2,118
P69 x=59,y=102,59^3+19*59+77≡102^2,273
P70 x=59,y=205,59^3+19*59+77≡205^2,273
P71 x=60,y=33,60^3+19*60+77≡33^2,168
P72 x=60,y=274,60^3+19*60+77≡274^2,168
P73 x=65,y=78,65^3+19*65+77≡78^2,251
P74 x=65,y=229,65^3+19*65+77≡229^2,251
P75 x=67,y=5,67^3+19*67+77≡5^2,25
P76 x=67,y=302,67^3+19*67+77≡302^2,25
P77 x=69,y=57,69^3+19*69+77≡57^2,179
P78 x=69,y=250,69^3+19*69+77≡250^2,179
P79 x=70,y=80,70^3+19*70+77≡80^2,260
P80 x=70,y=227,70^3+19*70+77≡227^2,260
P81 x=72,y=54,72^3+19*72+77≡54^2,153
P82 x=72,y=253,72^3+19*72+77≡253^2,153
P83 x=73,y=99,73^3+19*73+77≡99^2,284
P84 x=73,y=208,73^3+19*73+77≡208^2,284
P85 x=75,y=115,75^3+19*75+77≡115^2,24
P86 x=75,y=192,75^3+19*75+77≡192^2,24
P87 x=76,y=140,76^3+19*76+77≡140^2,259
P88 x=76,y=167,76^3+19*76+77≡167^2,259
P89 x=79,y=31,79^3+19*79+77≡31^2,40
P90 x=79,y=276,79^3+19*79+77≡276^2,40
P91 x=80,y=39,80^3+19*80+77≡39^2,293
P92 x=80,y=268,80^3+19*80+77≡268^2,293
P93 x=81,y=64,81^3+19*81+77≡64^2,105
P94 x=81,y=243,81^3+19*81+77≡243^2,105
P95 x=82,y=77,82^3+19*82+77≡77^2,96
P96 x=82,y=230,82^3+19*82+77≡230^2,96
P97 x=83,y=72,83^3+19*83+77≡72^2,272
P98 x=83,y=235,83^3+19*83+77≡235^2,272
P99 x=84,y=5,84^3+19*84+77≡5^2,25
P100 x=84,y=302,84^3+19*84+77≡302^2,25
P101 x=87,y=45,87^3+19*87+77≡45^2,183
P102 x=87,y=262,87^3+19*87+77≡262^2,183
P103 x=88,y=41,88^3+19*88+77≡41^2,146
P104 x=88,y=266,88^3+19*88+77≡266^2,146
P105 x=90,y=110,90^3+19*90+77≡110^2,127
P106 x=90,y=197,90^3+19*90+77≡197^2,127
P107 x=92,y=147,92^3+19*92+77≡147^2,119
P108 x=92,y=160,92^3+19*92+77≡160^2,119
P109 x=93,y=68,93^3+19*93+77≡68^2,19
P110 x=93,y=239,93^3+19*93+77≡239^2,19
P111 x=94,y=28,94^3+19*94+77≡28^2,170
P112 x=94,y=279,94^3+19*94+77≡279^2,170
P113 x=97,y=31,97^3+19*97+77≡31^2,40
P114 x=97,y=276,97^3+19*97+77≡276^2,40
P115 x=99,y=70,99^3+19*99+77≡70^2,295
P116 x=99,y=237,99^3+19*99+77≡237^2,295
P117 x=104,y=29,104^3+19*104+77≡29^2,227
P118 x=104,y=278,104^3+19*104+77≡278^2,227
P119 x=106,y=64,106^3+19*106+77≡64^2,105
P120 x=106,y=243,106^3+19*106+77≡243^2,105
P121 x=108,y=104,108^3+19*108+77≡104^2,71
P122 x=108,y=203,108^3+19*108+77≡203^2,71
P123 x=109,y=114,109^3+19*109+77≡114^2,102
P124 x=109,y=193,109^3+19*109+77≡193^2,102
P125 x=115,y=73,115^3+19*115+77≡73^2,110
P126 x=115,y=234,115^3+19*115+77≡234^2,110
P127 x=116,y=94,116^3+19*116+77≡94^2,240
P128 x=116,y=213,116^3+19*116+77≡213^2,240
P129 x=117,y=51,117^3+19*117+77≡51^2,145
P130 x=117,y=256,117^3+19*117+77≡256^2,145
P131 x=119,y=15,119^3+19*119+77≡15^2,225
P132 x=119,y=292,119^3+19*119+77≡292^2,225
P133 x=120,y=64,120^3+19*120+77≡64^2,105
P134 x=120,y=243,120^3+19*120+77≡243^2,105
P135 x=125,y=58,125^3+19*125+77≡58^2,294
P136 x=125,y=249,125^3+19*125+77≡249^2,294
P137 x=126,y=30,126^3+19*126+77≡30^2,286
P138 x=126,y=277,126^3+19*126+77≡277^2,286
P139 x=127,y=128,127^3+19*127+77≡128^2,113
P140 x=127,y=179,127^3+19*127+77≡179^2,113
P141 x=130,y=97,130^3+19*130+77≡97^2,199
P142 x=130,y=210,130^3+19*130+77≡210^2,199
P143 x=131,y=31,131^3+19*131+77≡31^2,40
P144 x=131,y=276,131^3+19*131+77≡276^2,40
P145 x=132,y=93,132^3+19*132+77≡93^2,53
P146 x=132,y=214,132^3+19*132+77≡214^2,53
P147 x=136,y=32,136^3+19*136+77≡32^2,103
P148 x=136,y=275,136^3+19*136+77≡275^2,103
P149 x=137,y=51,137^3+19*137+77≡51^2,145
P150 x=137,y=256,137^3+19*137+77≡256^2,145
P151 x=141,y=35,141^3+19*141+77≡35^2,304
P152 x=141,y=272,141^3+19*141+77≡272^2,304
P153 x=143,y=129,143^3+19*143+77≡129^2,63
P154 x=143,y=178,143^3+19*143+77≡178^2,63
P155 x=145,y=106,145^3+19*145+77≡106^2,184
P156 x=145,y=201,145^3+19*145+77≡201^2,184
P157 x=146,y=127,146^3+19*146+77≡127^2,165
P158 x=146,y=180,146^3+19*146+77≡180^2,165
P159 x=147,y=79,147^3+19*147+77≡79^2,101
P160 x=147,y=228,147^3+19*147+77≡228^2,101
P161 x=148,y=108,148^3+19*148+77≡108^2,305
P162 x=148,y=199,148^3+19*148+77≡199^2,305
P163 x=149,y=13,149^3+19*149+77≡13^2,169
P164 x=149,y=294,149^3+19*149+77≡294^2,169
P165 x=150,y=96,150^3+19*150+77≡96^2,6
P166 x=150,y=211,150^3+19*150+77≡211^2,6
P167 x=151,y=71,151^3+19*151+77≡71^2,129
P168 x=151,y=236,151^3+19*151+77≡236^2,129
P169 x=156,y=5,156^3+19*156+77≡5^2,25
P170 x=156,y=302,156^3+19*156+77≡302^2,25
P171 x=157,y=122,157^3+19*157+77≡122^2,148
P172 x=157,y=185,157^3+19*157+77≡185^2,148
P173 x=159,y=69,159^3+19*159+77≡69^2,156
P174 x=159,y=238,159^3+19*159+77≡238^2,156
P175 x=160,y=93,160^3+19*160+77≡93^2,53
P176 x=160,y=214,160^3+19*160+77≡214^2,53
P177 x=162,y=82,162^3+19*162+77≡82^2,277
P178 x=162,y=225,162^3+19*162+77≡225^2,277
P179 x=167,y=41,167^3+19*167+77≡41^2,146
P180 x=167,y=266,167^3+19*167+77≡266^2,146
P181 x=168,y=38,168^3+19*168+77≡38^2,216
P182 x=168,y=269,168^3+19*168+77≡269^2,216
P183 x=169,y=56,169^3+19*169+77≡56^2,66
P184 x=169,y=251,169^3+19*169+77≡251^2,66
P185 x=170,y=3,170^3+19*170+77≡3^2,9
P186 x=170,y=304,170^3+19*170+77≡304^2,9
P187 x=173,y=145,173^3+19*173+77≡145^2,149
P188 x=173,y=162,173^3+19*173+77≡162^2,149
P189 x=175,y=79,175^3+19*175+77≡79^2,101
P190 x=175,y=228,175^3+19*175+77≡228^2,101
P191 x=176,y=81,176^3+19*176+77≡81^2,114
P192 x=176,y=226,176^3+19*176+77≡226^2,114
P193 x=177,y=55,177^3+19*177+77≡55^2,262
P194 x=177,y=252,177^3+19*177+77≡252^2,262
P195 x=179,y=56,179^3+19*179+77≡56^2,66
P196 x=179,y=251,179^3+19*179+77≡251^2,66
P197 x=180,y=111,180^3+19*180+77≡111^2,41
P198 x=180,y=196,180^3+19*180+77≡196^2,41
P199 x=181,y=92,181^3+19*181+77≡92^2,175
P200 x=181,y=215,181^3+19*181+77≡215^2,175
P201 x=182,y=144,182^3+19*182+77≡144^2,167
P202 x=182,y=163,182^3+19*182+77≡163^2,167
P203 x=185,y=72,185^3+19*185+77≡72^2,272
P204 x=185,y=235,185^3+19*185+77≡235^2,272
P205 x=186,y=129,186^3+19*186+77≡129^2,63
P206 x=186,y=178,186^3+19*186+77≡178^2,63
P207 x=187,y=7,187^3+19*187+77≡7^2,49
P208 x=187,y=300,187^3+19*187+77≡300^2,49
P209 x=189,y=4,189^3+19*189+77≡4^2,16
P210 x=189,y=303,189^3+19*189+77≡303^2,16
P211 x=190,y=3,190^3+19*190+77≡3^2,9
P212 x=190,y=304,190^3+19*190+77≡304^2,9
P213 x=192,y=50,192^3+19*192+77≡50^2,44
P214 x=192,y=257,192^3+19*192+77≡257^2,44
P215 x=196,y=103,196^3+19*196+77≡103^2,171
P216 x=196,y=204,196^3+19*196+77≡204^2,171
P217 x=199,y=151,199^3+19*199+77≡151^2,83
P218 x=199,y=156,199^3+19*199+77≡156^2,83
P219 x=201,y=7,201^3+19*201+77≡7^2,49
P220 x=201,y=300,201^3+19*201+77≡300^2,49
P221 x=203,y=65,203^3+19*203+77≡65^2,234
P222 x=203,y=242,203^3+19*203+77≡242^2,234
P223 x=204,y=48,204^3+19*204+77≡48^2,155
P224 x=204,y=259,204^3+19*204+77≡259^2,155
P225 x=207,y=15,207^3+19*207+77≡15^2,225
P226 x=207,y=292,207^3+19*207+77≡292^2,225
P227 x=209,y=110,209^3+19*209+77≡110^2,127
P228 x=209,y=197,209^3+19*209+77≡197^2,127
P229 x=210,y=81,210^3+19*210+77≡81^2,114
P230 x=210,y=226,210^3+19*210+77≡226^2,114
P231 x=211,y=146,211^3+19*211+77≡146^2,133
P232 x=211,y=161,211^3+19*211+77≡161^2,133
P233 x=212,y=133,212^3+19*212+77≡133^2,190
P234 x=212,y=174,212^3+19*212+77≡174^2,190
P235 x=214,y=83,214^3+19*214+77≡83^2,135
P236 x=214,y=224,214^3+19*214+77≡224^2,135
P237 x=216,y=35,216^3+19*216+77≡35^2,304
P238 x=216,y=272,216^3+19*216+77≡272^2,304
P239 x=220,y=120,220^3+19*220+77≡120^2,278
P240 x=220,y=187,220^3+19*220+77≡187^2,278
P241 x=221,y=124,221^3+19*221+77≡124^2,26
P242 x=221,y=183,221^3+19*221+77≡183^2,26
P243 x=222,y=57,222^3+19*222+77≡57^2,179
P244 x=222,y=250,222^3+19*222+77≡250^2,179
P245 x=223,y=71,223^3+19*223+77≡71^2,129
P246 x=223,y=236,223^3+19*223+77≡236^2,129
P247 x=225,y=66,225^3+19*225+77≡66^2,58
P248 x=225,y=241,225^3+19*225+77≡241^2,58
P249 x=226,y=7,226^3+19*226+77≡7^2,49
P250 x=226,y=300,226^3+19*226+77≡300^2,49
P251 x=227,y=33,227^3+19*227+77≡33^2,168
P252 x=227,y=274,227^3+19*227+77≡274^2,168
P253 x=228,y=81,228^3+19*228+77≡81^2,114
P254 x=228,y=226,228^3+19*228+77≡226^2,114
P255 x=233,y=23,233^3+19*233+77≡23^2,222
P256 x=233,y=284,233^3+19*233+77≡284^2,222
P257 x=234,y=22,234^3+19*234+77≡22^2,177
P258 x=234,y=285,234^3+19*234+77≡285^2,177
P259 x=235,y=1,235^3+19*235+77≡1^2,1
P260 x=235,y=306,235^3+19*235+77≡306^2,1
P261 x=236,y=43,236^3+19*236+77≡43^2,7
P262 x=236,y=264,236^3+19*236+77≡264^2,7
P263 x=237,y=87,237^3+19*237+77≡87^2,201
P264 x=237,y=220,237^3+19*237+77≡220^2,201
P265 x=239,y=16,239^3+19*239+77≡16^2,256
P266 x=239,y=291,239^3+19*239+77≡291^2,256
P267 x=240,y=71,240^3+19*240+77≡71^2,129
P268 x=240,y=236,240^3+19*240+77≡236^2,129
P269 x=247,y=39,247^3+19*247+77≡39^2,293
P270 x=247,y=268,247^3+19*247+77≡268^2,293
P271 x=249,y=6,249^3+19*249+77≡6^2,36
P272 x=249,y=301,249^3+19*249+77≡301^2,36
P273 x=250,y=134,250^3+19*250+77≡134^2,150
P274 x=250,y=173,250^3+19*250+77≡173^2,150
P275 x=251,y=42,251^3+19*251+77≡42^2,229
P276 x=251,y=265,251^3+19*251+77≡265^2,229
P277 x=254,y=3,254^3+19*254+77≡3^2,9
P278 x=254,y=304,254^3+19*254+77≡304^2,9
P279 x=257,y=35,257^3+19*257+77≡35^2,304
P280 x=257,y=272,257^3+19*257+77≡272^2,304
P281 x=261,y=148,261^3+19*261+77≡148^2,107
P282 x=261,y=159,261^3+19*261+77≡159^2,107
P283 x=263,y=18,263^3+19*263+77≡18^2,17
P284 x=263,y=289,263^3+19*263+77≡289^2,17
P285 x=264,y=143,264^3+19*264+77≡143^2,187
P286 x=264,y=164,264^3+19*264+77≡164^2,187
P287 x=265,y=75,265^3+19*265+77≡75^2,99
P288 x=265,y=232,265^3+19*265+77≡232^2,99
P289 x=266,y=56,266^3+19*266+77≡56^2,66
P290 x=266,y=251,266^3+19*266+77≡251^2,66
P291 x=267,y=44,267^3+19*267+77≡44^2,94
P292 x=267,y=263,267^3+19*267+77≡263^2,94
P293 x=271,y=130,271^3+19*271+77≡130^2,15
P294 x=271,y=177,271^3+19*271+77≡177^2,15
P295 x=273,y=61,273^3+19*273+77≡61^2,37
P296 x=273,y=246,273^3+19*273+77≡246^2,37
P297 x=274,y=53,274^3+19*274+77≡53^2,46
P298 x=274,y=254,274^3+19*274+77≡254^2,46
P299 x=275,y=85,275^3+19*275+77≡85^2,164
P300 x=275,y=222,275^3+19*275+77≡222^2,164
P301 x=276,y=107,276^3+19*276+77≡107^2,90
P302 x=276,y=200,276^3+19*276+77≡200^2,90
P303 x=278,y=2,278^3+19*278+77≡2^2,4
P304 x=278,y=305,278^3+19*278+77≡305^2,4
P305 x=279,y=2,279^3+19*279+77≡2^2,4
P306 x=279,y=305,279^3+19*279+77≡305^2,4
P307 x=282,y=52,282^3+19*282+77≡52^2,248
P308 x=282,y=255,282^3+19*282+77≡255^2,248
P309 x=284,y=47,284^3+19*284+77≡47^2,60
P310 x=284,y=260,284^3+19*284+77≡260^2,60
P311 x=285,y=129,285^3+19*285+77≡129^2,63
P312 x=285,y=178,285^3+19*285+77≡178^2,63
P313 x=287,y=39,287^3+19*287+77≡39^2,293
P314 x=287,y=268,287^3+19*287+77≡268^2,293
P315 x=288,y=15,288^3+19*288+77≡15^2,225
P316 x=288,y=292,288^3+19*288+77≡292^2,225
P317 x=290,y=47,290^3+19*290+77≡47^2,60
P318 x=290,y=260,290^3+19*290+77≡260^2,60
P319 x=292,y=79,292^3+19*292+77≡79^2,101
P320 x=292,y=228,292^3+19*292+77≡228^2,101
P321 x=294,y=150,294^3+19*294+77≡150^2,89
P322 x=294,y=157,294^3+19*294+77≡157^2,89
P323 x=297,y=27,297^3+19*297+77≡27^2,115
P324 x=297,y=280,297^3+19*297+77≡280^2,115
P325 x=300,y=109,300^3+19*300+77≡109^2,215
P326 x=300,y=198,300^3+19*300+77≡198^2,215
P327 x=301,y=19,301^3+19*301+77≡19^2,54
P328 x=301,y=288,301^3+19*301+77≡288^2,54
P329 x=302,y=85,302^3+19*302+77≡85^2,164
P330 x=302,y=222,302^3+19*302+77≡222^2,164
■P8=(7,218)を公開鍵として選ぶ
※ここではスカラー倍算は行わない。
α:P8を75倍すると、P26になる。
※75を秘密鍵aとする。(一般には乱数を生成)
P8 x=7,y=218,7^3+19*7+77≡218^2,246
P26 x=20,y=274,20^3+19*20+77≡274^2,168
Β:P8を234倍すると、P178になる。
※234を秘密鍵bとする。(一般には乱数を生成)
P8 x=7,y=218,7^3+19*7+77≡218^2,246
P178 x=162,y=225,162^3+19*162+77≡225^2,277
■楕円曲線上の点の加法は可能であるが,乗算は定義されない。
代わりに同一の点に対する繰り返しの加算であるスカラー倍算を定義することは出来る。
dを正整数とし,Pを楕円曲線上の点とするとき、スカラー倍算dPはPをd回加算したものと出来る。
同じ場合の加算は以下だった。
λ=(3x1^2+a)*2y1^-1
このスカラー倍算と、楕円曲線上の点として表されたメッセージMをどうするかはまた後日考える。