---
# System prepended metadata

title: h1

---

# 楕円曲線2
問題文
楕円曲線E: y^2 = x^3 + ax + b(D := -16(4a^2-27b^2) ≠ 0)の点の座標成分が有限体Fp={0, 1, ..., p-1}の元である場合を考えましょう．ただし，pは2,3以外の素数です．
E = E(Fp)をFp上の楕円曲線として，BをE上の点とし，Bをベースポイントと呼びます．このとき，Bを底とする離散対数問題が与えられます．

xB = P

となり，整数xを求める問題になります．

p=5, ベースポイントを(2,4)，y^2 = x^3 + 21x + 1とするとき，位数とkBを答えなさい
CSL24{Bの位数:kB}

例
B の位数= 4
kB= [(0 : 1 : 0), (4 : 1 : 1), (3 : 0 : 1), (4 : 4 : 1)]
ならば，
CSL24{4:(0 : 1 : 0), (4 : 1 : 1), (3 : 0 : 1), (4 : 4 : 1)}

解法
問題文1と同様に問題文に合うように修正すればOKです．
```
E=EllipticCurve(GF(p), [21, 1])

B= E(2,4)
kB=[]
k=0
while k*B not in kB: #k*B== kB
    kB.append(k*B) 
    k+=1
print("B の位数: ",k)
print("kB: ", kB)

```
CSL24{3:(0 : 1 : 0), (2 : 4 : 1), (2 : 1 : 1)}
