0

アイゼンシュタイン素数を用いた楕円曲線暗号の解き方(基本的にはごり押し)

242
0

アイゼンシュタイン素数を用いた楕円曲線暗号の解き方(基本的にはごり押し)

n回で元、原点に戻る時、nは位数
前から計算する。直線の傾きの決定を適当にやって、惜しかったのをピックアップして、少しずつ傾きをずらす。
y2=x3+ax+b
y=cx+d
(cx+d)2=x3+ax+b
x3c2x2+(a2cd)x+bd2=0
x=A(1+Bω+Cω2)とすると、

f(x)=A3(1+Bω+Cω2)3A2c2(1+Bω+Cω2)2+A(a2cd)(1+Bω+Cω2)+bd2=0
(1+Bω+Cω2)2=1+B2ω2+C2ω4+2(Bω+Cω2+BCω3)=12BC+(2BC2)ω+(B22C)ω2
(1+Bω+Cω2)3=(12BC+(2BC2)ω+(B22C)ω2)(1+Bω+Cω2)
f(x)=A3(12BCB3+C3)+A2c2(2BC1)+A(a2cd)+bd2+A3(B2C+3BC2)+A2c2(C22B)+AB(a2cd)ω+A3(B2+2B2BC2C2C2)+A2c2(C22B+AC(a2cd))ω2=12BC+(2BC2)ω+(B22C)ω2+(B2B2C)ω+(2BC2)ω2B(B22C)+C(12BC)ω2(2BC2)C(B22C)Cω=12BCB3+2BC2BC+C3+(2BC2+B2B2CB2C+2B2C)ω+(B22C+2BC2+C2BC2)ω2

係数同士はアイゼンシュタイン素数の足し引き算で、虚部が0になり、実部も0になる。これを利用する。計算の具体的な所は省略する。
アイゼンシュタイン素数は、複素平面上で
ω6=1の解をなす複素数の定数倍、じゃなくて自然数または整数倍同士の加算で作れる複素数。
ガウス素数みたいなもの。
ω3=1の解からでも同じように恒等式を導くことが可能である。

追記

楕円曲線には判別式が存在する。
y2=x3+ax2+bx+c
には、判別式
D=4a3c+a2b2+18abc4b327c3

これは、0になる時必ず重解を持つというあり得ない式である。(その筈だ。自信なし。)
しかし、参考にしている本に
「3次曲線は有限位数の有理点を有限個しか持たない」
なんていうことが、証明された事実かのように書いてある。つまり大嘘が書いてある。
3次曲線から新しく作った交点を
「新しいP」にするということを無限回できると、無限回の操作で元々のPに、いかなる取り方をしても戻れないという主張らしい。
本当か?
「いかなる取り方をしてもいい」
という条件は厳しすぎないか?
乱数でも同じ分子分母になる可能性はあるのに。

投稿日:2023122
更新日:202458
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

のんびりしようね。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. アイゼンシュタイン素数を用いた楕円曲線暗号の解き方(基本的にはごり押し)
  2. 追記