Intel(R) EPID 1.1 specific pairing

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

Typedefs

typedef struct Epid11PairingState Epid11PairingState
 A pairing.
 

Functions

EpidStatus NewEpid11PairingState (EcGroup const *ga, EcGroup const *gb, FiniteField const *ff, Epid11PairingState **ps)
 Constructs a new Tate pairing state. More...
 
void DeleteEpid11PairingState (Epid11PairingState **ps)
 Frees a previously allocated by Epid11PairingState. More...
 
EpidStatus Epid11Pairing (Epid11PairingState *ps, EcPoint const *a, EcPoint const *b, FfElement *d)
 Computes a Tate Pairing for two parameters. More...
 

Detailed Description

Intel(R) EPID 1.1 pairing operations.

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

These pairing operations are intended to support Intel(R) EPID 1.1 verification.

See also
Intel(R) EPID 1.1 support

Function Documentation

◆ DeleteEpid11PairingState()

void DeleteEpid11PairingState ( Epid11PairingState **  ps)

Frees a previously allocated by Epid11PairingState.

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

This pairing operation is intended to support Intel(R) EPID 1.1 verification.

Parameters
[in]psThe pairing state. Can be NULL.
See also
NewEpid11PairingState
Intel(R) EPID 1.1 support

◆ Epid11Pairing()

EpidStatus Epid11Pairing ( Epid11PairingState ps,
EcPoint const *  a,
EcPoint const *  b,
FfElement d 
)

Computes a Tate Pairing for two parameters.

This pairing operation is intended to support Intel(R) EPID 1.1 verification. It frees memory pointed to by an Intel(R) EPID 1.1 pairing state.

Parameters
[in]psThe pairing state.
[in]aThe first value to pair. Must be in ga.
[in]bThe second value to pair. Must be in gb.
[out]dThe result of the pairing. Must be in ff.
Returns
EpidStatus
See also
Intel(R) EPID 1.1 support

◆ NewEpid11PairingState()

EpidStatus NewEpid11PairingState ( EcGroup const *  ga,
EcGroup const *  gb,
FiniteField const *  ff,
Epid11PairingState **  ps 
)

Constructs a new Tate pairing state.

Allocates memory and creates a new pairing state for Tate pairing.

Use DeleteEpid11PairingState() to free memory.

This pairing operation is intended to support Intel(R) EPID 1.1 verification.

Parameters
[in]gaThe EcGroup from which the first parameter of the pairing will be taken.
[in]gbThe EcGroup from which the second parameter of the pairing will be taken.
[in]ffThe result finite field. Must be a Fq12 field.
[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 Epid11PairingState.
See also
DeleteEpid11PairingState
Intel(R) EPID 1.1 support