PBC Library Manual 0.5.11 - Stanford Crypto Group
PBC Library Manual 0.5.11 - Stanford Crypto Group
PBC Library Manual 0.5.11 - Stanford Crypto Group
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 8. <strong>PBC</strong> internals<br />
b:<br />
E: y^2= x^3 + b<br />
beta:<br />
A quadratic nonresidue in Fq: used in quadratic extension.<br />
alpha0, alpha1:<br />
x^6 + alpha0 + alpha1 sqrt(beta) is irreducible: used in sextic extension.<br />
Discovered by Barreto and Naehrig, "Pairing-friendly elliptic curves of prime order".<br />
8.9. Type G Internals<br />
Another construction based on the CM method.<br />
g_param struct fields:<br />
q, n, h, r:<br />
h * r = n is the order of E(F_q)<br />
a, b:<br />
E: y^2 = x^3 + ax + b<br />
nk:<br />
#E(F_q^10)<br />
hk:<br />
hk * r^2 = nk<br />
coeff:<br />
array of coefficients of polynomial used for quintic extension.<br />
nqr:<br />
a quadratic nonresidue<br />
g_param struct fields:<br />
Discovered by Freeman, "Constructing pairing-friendly elliptic curves with embedding degree 10."<br />
8.10. Testing functions<br />
For testing, debugging, demonstrations and benchmarks. Declared in pbc_test.h:<br />
void pbc_demo_pairing_init(pairing_t pairing, int argc, char **argv)<br />
Initializes pairing from file specified as first argument, or from standard input if there is no first argument.<br />
40