În criptografia asimetrică, bazată pe împerechere $\mathbb G_1$ este de obicei un subgrup al unei curbe eliptice peste un câmp prim $\mathbb F_q$. Elementele acestui grup sunt de obicei exprimate ca o pereche de numere $(x,y)\in(\mathbb F_q)^2$. Din punct de vedere computațional, ambele valori sunt necesare, dar ca $y$ poate fi recuperat din $x$ până la semn elementele sunt adesea comprimate într-un $x$ valoare și un bit suplimentar în scopul transmiterii. Este nevoie de $\lceil\lg q\rceil+1$ biți.
$\mathbb G_2$ este de obicei un subgrup al curbei eliptice cu aceeași ecuație dar cu puncte de $\mathbb F_{q^k}$ Unde $k$ este astfel încât $\#\mathbb G_1|(q^k-1)$. Generic, așa $k$ sunt greu de găsit, dar există diverse construcții speciale care parametrizăm potrivite $q$ și curbe pentru anumite valori ale $k$. Există o familie deosebit de drăguță găsită de Barreto și Nehrig pentru $k=12$ ceea ce permite folosirea întregului grup de curbe eliptice pentru $\mathbb G_1$, care este deosebit de eficient. O construcție anterioară mai generală de Barreto, Lynn și Scott este aproape la fel de eficient cu $k=12$ și $k=48$. Atât în cazul BN, cât și în cazul BLS, elementele de $\mathbb G_2$ poate fi exprimat ca o pereche $(x,y)\in\mathbb (F_{q^k})^2$. Din nou compresia este posibilă, astfel încât numai $x$ și trebuie transmis un bit de semn. Acest lucru ar necesita $k\lceil\lg q\rceil+1$ biți. În cazurile BLS și BN, putem alege $\mathbb G_2$ în așa fel încât $x$ și $y$ și poate fi derivat dintr-un punct pe o curbă aferentă peste $\mathbb F_{q^{k/6}}$. În asemenea împrejurări, este suficient să se transmită un singur element de $\mathbb F_{q^{k/6}}$ și un pic de semn. Acest lucru ar necesita $\frac k6\lceil\lg q\rceil+1$ biți. Cu toate acestea această alegere a $\mathbb G_2$ este nu este compatibil cu toate utilizările criptografiei bazate pe împerechere.
Cu astfel de alegeri de $\mathbb G_1$ și $\mathbb G_2$ diferitele împerecheri criptografice toate se mapează la $\mathbb G_T$ care este un subgrup multiplicativ $\mathbb F_{q^k}$ de ordine $\#\mathbb G_1$. Elementele acestui grup pot fi scrise ca elemente ale $\mathbb F_{q^k}$ care ia $k\lceil\lg q\rceil$ biți.
Alegerea de $q$ și $k$ va depinde de nivelul de securitate pe care doriți să îl aibă sistemul dvs. bazat pe asociere. Mărimea la $\mathbb G_1$ trebuie să fie suficient de mare pentru a bloca „atacuri cu rădăcină pătrată” generice și dimensiunea/structura $\mathbb G_T$ trebuie să fie suficient pentru a bloca atacul TNFS al Kim si Barbalescu. A Proiect 2019 de la IETF sugerează următoarele în secțiunea 4.
Securitate (în biți) |
Dimensiunea de $\mathbb G_1$ (necomp./comp.) |
Dimensiunea de $\mathbb G_2$ (necomp./comp./BN-BLS comp.) |
Dimensiunea de $\mathbb G_T$ |
100 |
512/257 |
6144/3073/513 (BN256, $k=12$) |
3072 |
128 |
924/463 |
11088/5545/925 (BN462, $k=12$) |
5544 |
128 |
922/462 |
11064/5533/923 (BLS12-461, $k=12$) |
5532 |
128 |
762/382 |
9144/4573/763 (BLS12-381, $k=12$) |
4572 |
256 |
1162/582 |
55776/27889/4649 (BLS48-581, $k=48$) |
27888 |
Rețineți că aceasta este o estimare de securitate pur clasică și, ca toate sistemele de împerechere, acestea ar trebui considerate vulnerabile la un computer cuantic relevant din punct de vedere criptoanalitic.