Puncte:0

Verificați practic dacă punctul este pe Curbă

drapel cn

Curba pe care o folosesc este secp256r1. Formulele sale sunt

$y^2 == x^3 + a\cdot x + b$

$a$ = 0xffffffff0000000100000000000000000000000fffffffffffffffffffffffc (1157920892103562487626974469494075735301869434075735301869034186903487626974469494075735301869034186903487626974469494075735

$b$ = 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b (41058363725152142129326129780047268409114441015993725554835256314039467401291)

Și verific punctul de bază $G$:

$G_x$ = 0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296 (484395612939064517590525851759052585175905258517590525851759052585175905258517590525851759052585175905258517590525851759052585175905

$G_y$ = 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5 (361342509567497957985851279195683719568371956837195683719568371956837195683719568371956837195683719568371958681819586818195867181958681819586818195687181956818181958678184

Se calculează partea stângă $y^2$ imi da:

1305684092205373533040221077691077339148521389884908815529498583727542773586739078600732747106020956683600164371063053787771205051084393085089418365301881

Se calculează partea dreaptă $x^3 + a\cdot x + b$ ofera:

113658155427813365024510503555061841058107074695539734801914243855899581676106121216742031186749037217068373713699401633275460693094202620308271598867055040123401752346577561684789671973397929725392419990583281258891711488349384075

Laturile stânga și dreapta nu sunt egale.

Ce greșesc în calculele mele?

kelalaka avatar
drapel in
Răspunde asta la întrebarea ta? [Verificați că un punct îi aparține secp256r1](https://crypto.stackexchange.com/questions/90151/verify-that-a-point-belongs-to-secp256r1) Exact același motiv.
drapel cn
@kelalaka, da dacă am făcut mod cu p pe ambele părți și merge egal. Funcționează cu punctul de bază și alte puncte constante de pe curbă. Dar am o problemă cu punctele calculate cu înmulțirea scalară. Am pus intrebarea intr-un alt topic. Acum cercetând implementarea mea a operației de multiplicare scalară pentru a identifica ce este greșit.
Puncte:1
drapel my

Ce greșesc în calculele mele?

Ecuația reală poate fi exprimată astfel:

$$y^2 \equiv x^3 + ax + b \pmod p$$

Unde $p$ este caracteristica câmpului pe care P256 îl folosește. Când lucrăm în acest domeniu, de obicei înțelegem că suntem în acest domeniu $GF(p)$ si nu $\mathbb{Z}$ (și deci nu trebuie să scriem modulul), totuși este important să ne dăm seama că este acolo.

Când nu reduceți fiecare modul lateral $p$ și vezi dacă funcționează.

Când lucrez cu calcule P256, folosesc de obicei un subsistem care face reducerea modulară la fiecare pas (adunare, înmulțire); în acest caz, pur și simplu nu apare.

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.