Puncte:0

Dimensiunea cheii publice pentru diferite curbe eliptice

drapel pk

Să presupunem că vreau un anumit nivel de securitate (de exemplu, 128 de biți) atunci când folosesc ECIES, dar vreau și să minimizez comunicarea, contează curba eliptică utilizată pe dimensiunea cheii publice? Dacă contează, care este stadiul actual al curbei eliptice și cum se compară cu curbele eliptice populare, cum ar fi Curve25519 sau secp256k1?

kelalaka avatar
drapel in
[Ați făcut vreo cercetare?](https://crypto.stackexchange.com/questions/80601/what-is-the-key-length-of-shared-secret-by-curve-25519-ecdh) Curve25519 are 32 octeți pentru ECDH și secp256k1 are 33 de octeți pentru comprimat...
poncho avatar
drapel my
@kelalaka: pentru ECIES, nu aveți nevoie de coordonatele y și deci ar fi 32 de octeți pentru nici...
kelalaka avatar
drapel in
@poncho da, exact, deoarece nu este nevoie de coordonata $y$ pentru ECDH. 33 de octeți este dimensiunea standard a cheii publice Bitcoin.
drapel pk
@kelalaka Da, știu că curve25519 folosește o cheie de 32 de octeți, dar mă întrebam dacă există vreo curbă care să funcționeze mai bine? Tocmai am citit [aceasta] (https://crypto.stackexchange.com/questions/59573/information-theoretical-lower-limit-on-the-size-of-public-and-private-keys) și mă întrebam dacă există curba merge mai bine. Din câte înțeleg acest lucru nu este posibil, dar nu sunt un expert și nu am găsit pe nimeni care să afirme acest lucru (probabil este evident) de aceea caut aici.
kelalaka avatar
drapel in
Ce vrei să spui prin a face mai bine? Atacul generic asupra Dlog reduce securitatea la 128 de biți pentru Curve25619. Doriți o marjă de securitate mai mică? Configurați-vă nivelul de securitate și înmulțiți-l cu doi, aspectul pentru o astfel de curbă sigură pe curbele de siguranță. De ce 32 de octeți este mare pentru tine? În comparație cu RSA, acesta este ieftin de depozitat.
drapel pk
Ar fi trebuit să mă lamuresc, mergând mai bine în ceea ce privește dimensiunile cheilor. Știu că aceasta este o îmbunătățire mare în comparație cu RSA, dar fac o aplicație în care încerc să minimizez memoria cât mai mult posibil, păstrând în același timp același nivel de securitate.
kelalaka avatar
drapel in
Utilizați https://www.keylength.com/en/compare/ pentru a decide ce aveți nevoie!
Puncte:1
drapel my

Dacă contează, care este stadiul actual al curbei eliptice și cum se compară cu curbele eliptice populare, cum ar fi Curve25519 sau secp256k1?

Ei bine, dacă aveți o curbă eliptică cu un subgrup mare de dimensiuni $q$ (care este prim), atunci știm cum să calculăm un log discret în cadrul acelui subgrup în $O(\sqrt{q})$ timp, iar acest lucru se aplică tuturor curbelor eliptice (de fapt, tuturor grupurilor).

Deci, pentru a face acest atac să ia $2^{128}$ timp, avem nevoie de un $q \aproximativ 2^{256}$.

Și, din cauza teoremei Hasse, pentru o curbă primă de caracteristică $p$, avem $p + 2\sqrt{p} > q$, sau cu alte cuvinte, cel mai mic $p$ poate fi este de aproximativ 256 de biți.

Modul standard de a reprezenta o cheie publică este de a da $x$ coordonate ca un întreg; aceasta este o valoare cuprinsă între 0 și $p-1$; adică o valoare de 256 de biți.

Prin urmare, selectarea unei alte curbe decât Curva25519, secp256k1 sau P256 nu ne cumpără nimic; fie acea curbă alternativă ar fi redus securitatea, fie ar avea o cheie publică care este la fel de mare.

Cam singurul lucru pe care îl puteți încerca să veniți cu o metodă redusă de transmitere a $x$ coordona; o abordare simplă ar fi să selectați întotdeauna o $x$ coordoneaza cu $k$ biți de 0 în partea de sus (și pur și simplu nu îi transmiteți $k$ biți în mod explicit); găsirea unei astfel de chei folosind eșantionarea de respingere ar fi nevoie $O(2^k)$ timp și ar economisi $k$ biți - poate realizabil dacă trebuie să salvați un octet sau doi - evident imposibil de a salva mai mult decât atât. Nu cunosc o abordare mai inteligentă pentru a găsi chei publice care să îndeplinească o tehnică similară de economisire a spațiului.

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.