pairing

Pairing operations. More...

Modules

 Intel(R) EPID 1.1 specific pairing
 Intel(R) EPID 1.1 pairing operations.
 

Functions

EpidStatus NewPairingState (EcGroup const *ga, EcGroup const *gb, FiniteField *ff, BigNumStr const *t, bool neg, PairingState **ps)
 Constructs a new pairing state. More...
 
void DeletePairingState (PairingState **ps)
 Frees a previously allocated by PairingState. More...
 
EpidStatus Pairing (PairingState *ps, EcPoint const *a, EcPoint const *b, FfElement *d)
 Computes an Optimal Ate Pairing for two parameters. More...
 

Detailed Description

Pairing operations.

Provides APIs for defining and using a pairing relationship between two elliptic curve groups.

Function Documentation

◆ DeletePairingState()

void DeletePairingState ( PairingState **  ps)

Frees a previously allocated by PairingState.

Frees memory pointed to by pairing state. Nulls the pointer.

Parameters
[in]psThe pairing state. Can be NULL.
See also
NewPairingState

◆ NewPairingState()

EpidStatus NewPairingState ( EcGroup const *  ga,
EcGroup const *  gb,
FiniteField ff,
BigNumStr const *  t,
bool  neg,
PairingState **  ps 
)

Constructs a new pairing state.

Allocates memory and creates a new pairing state for Optimal Ate Pairing.

Use DeletePairingState() to free memory.

Parameters
[in]gaThe EcGroup from which the first parameter of the pairing is taken.
[in]gbThe EcGroup from which the second parameter of the pairing is taken.
[in]ffThe result finite field. Must be a Fq12 field.
[in]tA positive integer such that 6(t^2) == q - p, where p and q are parameters of G1.
[in]negSelect the alternate "negate" processing path for Optimal Ate Pairing.
[out]psNewly constructed pairing state.
Returns
EpidStatus
Attention
It is the responsibility of the caller to ensure that ga, gb, and ff exist for the entire lifetime of the new PairingState.
See also
DeletePairingState

◆ Pairing()

EpidStatus Pairing ( PairingState ps,
EcPoint const *  a,
EcPoint const *  b,
FfElement d 
)

Computes an Optimal Ate Pairing for two parameters.

Parameters
[in]psThe pairing state.
[in]aThe first value to pair. Must be in ga used to create ps.
[in]bThe second value to pair. Must be in gb used to create ps
[out]dThe result of the pairing. Will be in ff used to create the pairing state.
Returns
EpidStatus