PAIR

Kind: global class
this: {PAIR}

new PAIR()

Creates an instance of PAIR

PAIR.line()

Line function

Kind: static method of PAIR
this: {PAIR}

PAIR.initmp()

prepare for multi-pairing

Kind: static method of PAIR
this: {PAIR}

PAIR.miller(r, res)

basic Miller loop

Kind: static method of PAIR
this: {PAIR}

ParamDescription
rFP12 precomputed array of accumulated line functions
resFP12 result

PAIR.another(r, P1, Q1)

Precompute line functions for n-pairing

Kind: static method of PAIR
this: {PAIR}

ParamDescription
rarray of precomputed FP48 products of line functions
P1An element of G2
Q1An element of G1

PAIR.ate(P1, Q1)

Calculate Miller loop for Optimal ATE pairing e(P,Q)

Kind: static method of PAIR
this: {PAIR}
Result: r An element of GT i.e. result of the pairing calculation e(P,Q)

ParamDescription
P1An element of G2
Q1An element of G1

PAIR.ate2(P1, Q1, R1, S1)

Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)

Kind: static method of PAIR
this: {PAIR}
Result: r An element of GT i.e. result of the double pairing calculation e(P,Q).e(R,S)

ParamDescription
P1An element of G2
Q1An element of G1
R1An element of G2
S1An element of G1

PAIR.fexp(m)

Final exponentiation of pairing, converts output of Miller loop to element in GT

Kind: static method of PAIR
this: {PAIR}
Result: r m^((p^12-1)/r) where p is modulus and r is the group order

ParamDescription
mFP12 value

PAIR.lbits()

prepare ate parameter, n=6u+2 (BN) or n=u (BLS), n3=3*n

Kind: static method of PAIR
this: {PAIR}

PAIR.glv()

GLV method

Kind: static method of PAIR
this: {PAIR}

PAIR.gs()

Galbraith & Scott Method

Kind: static method of PAIR
this: {PAIR}

PAIR.G1mul(P, e) ⇒

Fast point multiplication of a member of the group G1 by a BIG number

Kind: static method of PAIR
Returns: R Member of G1 R=e.P
this: {PAIR}

ParamDescription
PMember of G1
eBIG multiplier

PAIR.G2mul(P, e) ⇒

Multiply P by e in group G2

Kind: static method of PAIR
Returns: R Member of G2 R=e.P
this: {PAIR}

ParamDescription
PMember of G2
eBIG multiplier

PAIR.GTpow(d, e) ⇒

Fast raising of a member of GT to a BIG power

Kind: static method of PAIR
Returns: r d^e
this: {PAIR}

ParamDescription
dMember of GT
eBIG exponent