Puncte:2

Cum se generează o cheie privată BLS? Care sunt diferitele denumiri ale pieselor?

drapel ru

relicvă, biblioteca folosită de majoritatea implementărilor BLS, este destul de dificil de construit pe mai multe platforme.

Din această cauză, am căutat altele pur Implementări BLS care nu se bazează pe C - și am găsit una în Go și alta în Rust.

Cu toate acestea, nomenclatura pare să fie diferită între fiecare bibliotecă.

Văd o combinație a cuvintelor „Afin”, „Scalar”, „FR”, „FRRepr”, „G1”, „G2”, „Cheie publică”, „Secret” și „Sămânță”, printre altele, care nu se potrivesc neapărat cu ceea ce am citit în articole despre BLS, WikiPedia sau alte biblioteci de coduri.

Presupun că unii dintre acești termeni sunt interschimbabili, iar unii au un sens distinct.

De exemplu, se pare că „G1Element” este sinonim cu „Cheie publică”.

Dar care sunt sinonimele tehnice pentru „Cheie privată” sau „Secret”?

Mai exact, încerc să discern cum pot folosi ceva de genul acesta:

În acest moment, tot ceea ce vreau să fac este să pot compila un cod încrucișat pentru cele mai comune 6 platforme arch+os care vor genera o pereche de chei private + publice.

Acestea fiind spuse, mi-ar plăcea să învăț tot ce aveți de oferit cu privire la modul de a lega terminologia neprofesionistului ("Cheie privată", "Cheie publică", "Semnătură") cu terminologia matematică și de programare ("G1" , etc).

Puncte:2
drapel tr

Confuzia provine dintr-un nume care face referire la două lucruri diferite, dar legate. Și anume,

  1. BLS, ca și în semnăturile BLS: reprezintă semnături digitale care utilizează criptografie bazată pe împerechere pentru a oferi semnătură scurtă cu proprietăți suplimentare, cum ar fi agregabilitatea, Vezi mai multe aici. Au fost introduși pentru prima dată de Boneh, Lynn și Shacham, de unde și numele BLS

  2. BLS, ca în BLS12_381: este o așa-numită curbă eliptică „Prietenoasă pentru asociere” care permite aplicații eficiente și sigure ale criptografiei bazate pe asociere, inclusiv semnăturile BLS. Ei provin din munca lui Barreto, Lynn și Scott, prin urmare BLS.

Deci, se pare că căutați o implementare a 1), în timp ce bibliotecile pe care le-ați căutat oferă doar o implementare pentru 2), adică: curba de bază.

Aruncă o privire asupra semnăturilor BLS de implementare pură Python pentru a vedea cum se leagă cele două concepte. https://github.com/Chia-Network/bls-signatures/blob/main/python-impl/schemes.py

Dar în general și așa cum este descris Aici, generarea cheii funcționează la un nivel înalt, după cum urmează: selectați o valoare aleatorie $x, 0 < x < N$, Unde $N$ este ordinea curbei și setați cheia publică la $xG$, Unde $G$ este generatorul curbei.

Detaliile precise depind de standard.

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.