Întrebări cu tag ['curbe-eliptice']
Curbele eliptice sunt structuri algebrico-geometrice cu aplicații în criptografie. O astfel de curbă constă din setul de soluții ale unei ecuații cubice peste un câmp finit echipat cu o operație de grup. Întrebările referitoare la curbele eliptice și algoritmii derivați ar trebui să utilizeze această etichetă și ar putea lua în considerare și etichete mai specifice, cum ar fi logaritmul discret și ecdsa.

Este posibil să se încheie un acord cheie cu ECDH efemer-efemer fără a necesita mai întâi o strângere de mână inițială?
Este posibil să aveți acordul cheii în același mesaj ca și datele criptate cu ECDHE?
Știu că acest lucru este posibil cu ECDH efemer-static, dar asta nu are secretul perfect. Și cu efemer-static trebuie să aveți o modalitate sigură de a stoca cheia privată stat ...
Un punct CE $B$ este publicat public astfel încât un destinatar în posesia unui scalar $a$ poate calcula secretul partajat $S = [a]B$. Acest lucru se face cu curba Ed25519.
Dacă expeditorul (cine știe $b$ și $A$ astfel încât $[b]A=[a]B$) publică, de asemenea, public un octet din reprezentarea comprimată de 32 de octeți a $S$, care sunt consecințele de securitate ale acestui lucru?
Este v ...
Să presupunem că folosim curba Ed25519 și calculăm un punct EC secret comun Diffie-Hellman $S$ prin înmulțirea scalară a scalarului $a$ cu punct CE $B$.
Există vreo modalitate de a calcula parțial cel puțin câțiva biți de $S$ fără a finaliza întregul proces de multiplicare scalară?
Scopul este de a putea comunica câțiva biți (ideal 8 biți) de $S$ în avans persoanei care intențio ...
Este un fapt binecunoscut că cunoașterea nonceului utilizat în semnarea semnăturii ECDSA permite ca cheia privată să fie calculată cu ușurință din acea semnătură.Dacă înțeleg corect, acest nonce este un număr întreg pozitiv de dimensiune finită, așa că nu există atât de multe posibilități în comparație cu încercarea de a forța direct cheia privată. De fapt, am citit că, în ...
Sunt conștient că există punctele slabe ale ECDSA la reutilizare NONCE
și sunt conștient că există o atac de zăbrele pe ECDSA
.
Există și alte modalități de a ataca ECDSA
când o cheie privată a făcut mai mult de 10 milioane de semnături?
Sunt interesat de secp256k1
, secp256r1
parametrii curbei eliptice.În ce condiții poate fi dezvăluită cheia privată din aceste curbe dacă s-a gener ...
Caut măsurători de performanță în numărul de cicluri pentru o implementare a curbei eliptice Diffie-Hellman pentru curba, ed25519
. În mod ideal, numărul de cicluri ar trebui să fie pentru M4, astfel încât să fie comparabil cu cel pqm4
repere: https://github.com/mupq/pqm4. Există măsurători care pot fi comparate în acest scop?
În general, m-ar interesa cât de „mai lent/mai rapid” în c ...
Cred că am o înțelegere a atacului Pohlig-Hellman asupra curbelor eliptice. De la pagina 31 din Asocieri pentru începători:
- Găsiți ordinea grupului $\#E(\mathbb{F}_q)$, numiți $n$și factorizează-l. Exemplu: $966 = 2 \cdot 3 \cdot 7 \cdot 23$
- Pentru fiecare factor prim $p_i$, mai sus: înmulțiți generatorul $P$ și punctul țintă (nu sunt sigur care este termenul), $Q$, de $n/p_i$ (cofactor ...
Am încercat să-mi îmbunătățesc înțelegerea criptografiei cu curbă eliptică; În prezent, încerc să înțeleg în ce măsură curbele sunt interschimbabile.
Exemple de curbe: P-256, Curve25519
Exemple de algoritmi: ECDH, ECDSA, EdDSA
Dintre curbele pe care le-am enumerat, am citit că ambele sunt folosite cu ECDH, dar am citit doar că P-256 este folosit cu ECDSA și Curve25519 este folosit cu ...

Imaginează-ți că există o uniformă pe 256 de biți intrare
de la CSPRNG. Să presupunem că există o curbă ca secp256r1 a cărei ordine a curbei este puțin mai mică de 256 de biți.
Nu putem doar mod(input, curve_order)
deoarece va introduce modul bias. Ce se întâmplă dacă tăiem 256 de biți la 255 de biți, ceea ce este mai mic decât ordinea curbei? Apoi, toate valorile din 255 de biț ...
Am citit cartea Mastering Bitcoin scrisă de Andreas. A fost procesul de comprimare a cheilor publice care m-a durut mintea. Mai exact, o cheie publică după ce a fost generată dintr-o cheie privată cuprinde în mod fundamental coordonarea rezultată a lui x și y.
Cartea spunea că, deoarece valoarea y poate fi obținută de la x prin intermediul funcției: $$y^2\bmod p=(x^3 + 7)\bmod p$$Putem red ...
citesc Perechi pentru incepatori de Craig Costello.
Încerc să înțeleg acest exemplu de (ceea ce cred) este algoritmul PohligâHellman (la pagina 31 a cărții).
Considera $E/\mathbb{F}_{1021}\,:\,y^2=x^3+905x+100$ cu comanda de grup $\#E(\mathbb{F}_q)=966=2\cdot3\cdot7\cdot23$ si generator $P = (1006.416)$. Ne este dat $Q = (612.827)$ și căutăm să găsim $k$ astfel încât $[k]P = Q$. Mai degrabă ...
Pentru a realiza criptografia cu curbe eliptice între părți, toate ecuațiile curbei eliptice sunt considerate a fi sub forma $\bmod p$?
De exemplu, cel $secp256k1$ Curba Bitcoin a ecuației $y^2=x^3+7$ utilizări $\bmod p$, Unde $p=2^{256}-2^{32}-977$.

Secțiunea 4.1.6 din https://www.secg.org/sec1-v2.pdf descrie o tehnică de recuperare a cheilor publice din semnăturile ECDSA.
Cred că Ethereum folosește asta. De exemplu, dacă doriți să validați o anumită tranzacție, presupun că recuperați cheia publică și apoi verificați chibrituri adresa".
Întrebarea mea este... există alte protocoale care folosesc această tehnică?
Presupune $G_1, G_2$ sunt punctele de bază de pe curba25519 și, respectiv, spec256k1.Înmulțirea punctelor înseamnă a calcula $kG_1$ și $kG_2$.
Atunci care curbă este mai rapidă?
citesc „Despre implementarea criptosistemelor bazate pe împerechere”.
Se afirmă că $E(\mathbb{F}_{k^q})[r]$ este izomorfă cu produsul lui $\mathbb{Z}_r$ cu sine. $E(\mathbb{F}_{k^q})[r]$ este setul de $r$-punctele de torsiune, care înseamnă toate punctele, $P$ Unde $rP = O$ (Cred).
Bine. Să testăm asta cu $r = 2$. Știm, cele 4 soluții sunt: $\{O, (a_0, 0), (a_1, 0), (a_2, 0)\}$ Unde
Să presupunem următorul scenariu:
- Alice are acces la 32 de octeți de aleatorie adevărată $s$.
- Alice hashes $s$ cu SHA-512 și folosește hashul rezultat ca secret $d_{A}$ pentru
Ed25519
. Să presupunem că blocarea numărului și așa mai departe sunt implementate corect. - Alice hashes $s$ cu o funcție hash diferită, să spunem BLAKE-2, sau hash $s$ de două ori cu SHA-512 și folosește rez ...
În prezent încerc să fac Provocarea criptopalilor 62, rupând ECDSA cu non-uri părtinitoare, cu ajutorul acelor două legături (1 2) care descriu cu exactitate atacul. Cu toate acestea, după aproximativ 15 ore, încă nu pot să funcționeze și nu am absolut nicio idee unde am greșit.
Iată cum am făcut-o (folosind Python 3.6): În primul rând, pentru a genera semnăturile cu nonces defecte ( ...

Încerc să implementez înmulțirea scalară EC în cel mai rapid mod posibil (dar totuși cu o curbă bună) pe un GPU.
Caut în mod special să o implementez pe baza https://github.com/Chair-for-Security-Engineering/ecmongpu și încercând să folosiți alte curbe precum Curve25519 (sau Edwards25519, cred că este o diferență de reprezentare).
Am observat că toate calculele pe coordonatele x ...

Sunt începător în criptografie și colegiul meu mi-a dat acest ECDSA. Știu că trebuie să împărțiți rezultatul din: h(m)+r.priv pentru a genera semnătură. Dar este posibil să generez semnătură fără Nonce sau „K” când am o cheie privată (priv) și un r selectat și un hash de mesaj?
Pentru criptografia cu curbă eliptică, procedura de găsire a unui punct de bază care generează un subgrup cu ordine $n$ este:
- Calculați comanda $N$ a curbei eliptice (folosind cea a lui Schoof)
- Alege $n$. $n$ trebuie să fie prim și un divizor al $N$
- Calculați cofactor $h = \frac{N}{n}$
- Alegeți un punct aleatoriu $P$ pe curbă
- Calcula $G = hP$
- Dacă $G$ este 0, apoi reveniți la pasul 4. ...

Este posibil să spunem dacă un punct de pe o curbă eliptică este mai mic de jumătate din ordinul curbei?
Dacă am un punct $ = [a]$ pe o curbă cu ordinul prim q, există o modalitate eficientă de a ști asta $a < q/2$?
Înțeleg că probele de interval ar funcționa pentru asta, dar există o modalitate mai rapidă? Mai exact, lucrez cu secp256k1, dar orice sfat este foarte apreciat.
SafeCurves definește criterii pentru alegerea curbelor sigure în criptografia cu curbă eliptică.
Curba STARK definește o curbă eliptică Stark-friendly care poate fi utilizată cu ECDSA.
Mă întrebam: Curba STARK este o curbă sigură?
Aș dori să-mi verific sistemul rulând vectori de testare ECDSA NIST, dar nu primesc rezultatul așteptat. Sunt capabil să calculez semnătura, dar nu este corect sau cel puțin componentele "r" și "s" conțin valori diferite decât în vectorii nist. Ce fac eu gresit?
Vectori de testare: NIST: FIPS 186-4 ECDSA - 186-3ecdsasiggencomponenttestvectors.zip
#include <mbedtls/ecdsa.h>
#in ...
Ma refer RFC-6090 pentru o încercare de implementare a ECC în proiectul meu de timp liber.
În RFC, sunt date exemple de pseudo-cod pentru a ilustra modul de gestionare a punctelor la infinit în aritmetica punctului, iar acest lucru a implicat mai multe cazuri speciale. Acest lucru se datorează faptului că formula de dublare a punctelor și de adunare a punctelor în coordonate afine și omogene nu p ...
Implementez ECC în proiectul meu de timp liber. Ma refer RFC-6090 pentru algoritm aritmetic punctual peste coordonate omogene.
În apendicele F subsecțiunea 2, există 5 etichete de caz atunci când se determină ce formulă să se utilizeze, în funcție de câte, dacă există vreun punct la infinit, există în operanzi. Pentru mine, implementarea acestor etichete de caz în timp constant nu este o p ...
FIPS 186-4 Standard de semnătură digitală se apropie de ANSI X9.62-2005 pentru specificația ECDSA, cu cerințe suplimentare stabilite în capitolul 6 și apendicele D. Cu toate acestea, X9.62-2005 a fost de atunci retras și înlocuit cu ANSI X9.142-2020. The Proiectul FIPS 186-5 a remarcat retragerea lui X9.62-2005 și că X9.142 era în curs de dezvoltare (Anexa E, p. 78) și, în schimb, oferă ...

Îmi pare rău dacă această întrebare este greșită, sunt dezvoltator de software și nu criptograf.
Să presupunem că am o cheie publică și 2 mesaje semnate.
Mesaj semnat 1:
mesaj_hash_1
semnătură_1.r
semnătură_1.s
Mesajul 2 semnat:
mesaj_hash_2
semnătura_2.r
semnătură_2.s
Ipoteze:
message_hash_1 == message_hash_2
semnătură_1.r != semnătură_2.r
semnătură_1.s != semnătură_2.s
...

Am o cheie privată ec de șir de octeți de 32 de octeți.
Și vreau să convertesc aceasta la cheie privată de tip pem.
Eu folosesc curba secp256r1.
Cum pot face acest lucru?
Există vreo comandă sau metodă pentru asta?
Presupun că un executabil ar putea conține o cheie care semnează rezultatul său, dar acea cheie ar putea fi extrasă și utilizată pentru a semna alte date. Este posibil să se verifice dacă rezultatul unui executabil este rezultatul direct al propriului flux de control (asamblare) nealterat?
Când mă uit la algoritmul Montgomery Ladder, nu găsesc nimic specific curbei Montgomery. Avem de-a face cu punctele tot timpul, adică fie adăugăm două puncte, fie dublăm un punct.Din câte știu, acele puncte pot aparține oricărei forme de curbă eliptică. De ce, în multe lucrări, se pretinde că scara Montgomery este cea mai rapidă pe curbele Montgomery? Ce îmi lipsește?