Puncte:2

Cum să aflați care este ordinea punctului de bază al curbei eliptice?

drapel us

Am vrut să folosesc https://github.com/AntonKueltz/fastecdsa biblioteca și parametrii funcției pentru crearea curbei sunt:

p, # (lung): valoarea lui p în ecuația curbei.
a, # (lung): valoarea lui a din ecuația curbei.
b, # (lung): valoarea lui b în ecuația curbei.
q, # (lung): Ordinea punctului de bază al curbei.
gx, # (lung): coordonata x a punctului de bază al curbei.
gy, # (lung): Coordonata y a punctului de bază al curbei.

Curba de care am nevoie este aceasta: https://docs.starkware.co/starkex-docs-v2-deprecated/crypto/stark-curve Oferă informații despre $p, a, b, gx, gy$. Dar nu $q$

Cum se deduce $q$ parametru?

Puncte:2
drapel in

Răspuns teoretic aici

Practic, se poate folosi SageMath a-l găsi;

a = 1
b = 3141592653589793238462643383279502884197169399375105820974944592307816406665
p = 2^251 + 17*2^192 +1

E = Curba eliptică(GF(p), [0,0,0,a,b])
imprimare(E)
print(E.abelian_group())

card = E.cardinalitate()
print("cardinalitate =",card)
factor (carte)

G = E(874739451078007766457464989774322083649278607533249481151382481072868806602,152666792071518830868575557812948353041420400780739481342941381225525861407)
print("Ordinea generatorului q=", G.order())

Aceasta iese

    Elliptic Curve defined by y^2 = x^3 + x + 3141592653589793238462643383279502884197169399375105820974944592307816406665 over Finite Field of size 3618502788666131213697322783095070105623107215331596699973092056135872020481
Additive abelian group isomorphic to Z/3618502788666131213697322783095070105526743751716087489154079457884512865583 embedded in Abelian group of points on Elliptic Curve defined by y^2 = x^3 + x + 3141592653589793238462643383279502884197169399375105820974944592307816406665 over Finite Field of size 3618502788666131213697322783095070105623107215331596699973092056135872020481
cardinalitate = 3618502788666131213697322783095070105526743751716087489154079457884512865583
Comanda generatorului q= 3618502788666131213697322783095070105526743751716087489154079457884512865583

Deoarece ordinea curbei este primă avem a curba primului, fiecare element este un generator, prin urmare ordinea punctului de bază este egală cu ordinea grupului de curbe.

De asemenea, cofactorul $h$ este 1 deoarece ordinea curbei este primă. Cofactorul este definit ca numărul de $k$ punctele raționale ale curbei $h = \#E(k)/n $ împărțit la ordinea elementului de bază $n$

Nu am putut găsi nicio informație despre numărul magic (nimic-în-mânecă). Motivul alegerii $G$ nu este clar. Deși este psihologic, ar trebui să-l furnizeze.


SageMath folosește sea.gp care este o implementare rapidă a algoritmului SEA. Această bibliotecă este implementată în pari/GP. Un bun slide despre sea.gp este Algoritmul SEA în PARI/GP.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.