14.07.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!