# Intel® Enhanced Privacy ID SDK: epid/member/api.h File Reference

api.h File Reference

Intel(R) EPID SDK member API. More...

`#include <stddef.h>`
`#include "epid/common/stdtypes.h"`
`#include "epid/common/types.h"`
`#include "epid/common/errors.h"`
`#include "epid/common/bitsupplier.h"`

## Data Structures

struct | MemberPrecomp
| Pre-computed member settings. More...
struct | PreComputedSignature
| Pre-computed signature. More...

## Functions

EpidStatus | EpidMemberCreate (GroupPubKey const *pub_key, PrivKey const *priv_key, MemberPrecomp const *precomp, BitSupplier rnd_func, void *rnd_param, MemberCtx **ctx)
| Creates a new member context. More...
void | EpidMemberDelete (MemberCtx **ctx)
| Deletes an existing member context. More...
EpidStatus | EpidMemberWritePrecomp (MemberCtx const *ctx, MemberPrecomp *precomp)
| Serializes the pre-computed member settings. More...
EpidStatus | EpidMemberSetHashAlg (MemberCtx *ctx, HashAlg hash_alg)
| Sets the hash algorithm to be used by a member. More...
size_t | EpidGetSigSize (SigRl const *sig_rl)
| Computes the size in bytes required for a Intel(R) EPID signature. More...
EpidStatus | EpidSign (MemberCtx const *ctx, void const *msg, size_t msg_len, void const *basename, size_t basename_len, SigRl const *sig_rl, size_t sig_rl_size, EpidSignature *sig, size_t sig_len)
| Writes a Intel(R) EPID signature. More...
EpidStatus | EpidRegisterBaseName (MemberCtx *ctx, void const *basename, size_t basename_len)
| Registers a basename with a member. More...
EpidStatus | EpidAddPreSigs (MemberCtx *ctx, size_t number_presigs, PreComputedSignature *presigs)
| Extends the member's pool of pre-computed signatures. More...
size_t | EpidGetNumPreSigs (MemberCtx const *ctx)
| Gets the number of pre-computed signatures in the member's pool. More...
EpidStatus | EpidWritePreSigs (MemberCtx *ctx, PreComputedSignature *presigs, size_t number_presigs)
| Serializes pre-computed signatures from the member's pool. More...
EpidStatus | EpidRequestJoin (GroupPubKey const *pub_key, IssuerNonce const *ni, FpElemStr const *f, BitSupplier rnd_func, void *rnd_param, HashAlg hash_alg, JoinRequest *join_request)
| Creates a request to join a group. More...
EpidStatus | EpidSignBasic (MemberCtx const *ctx, void const *msg, size_t msg_len, void const *basename, size_t basename_len, BasicSignature *sig)
| Creates a basic signature for use in constrained environment. More...
EpidStatus | EpidNrProve (MemberCtx const *ctx, void const *msg, size_t msg_len, BasicSignature const *sig, SigRlEntry const *sigrl_entry, NrProof *proof)
| Calculates a non-revoked proof for a single signature based revocation list entry. More...
bool | EpidIsPrivKeyInGroup (GroupPubKey const *pub_key, PrivKey const *priv_key)
| Tests if a member private key is valid without checking revocation. More...
EpidStatus | EpidDecompressPrivKey (GroupPubKey const *pub_key, CompressedPrivKey const *compressed_privkey, PrivKey *priv_key)
| Decompresses compressed member private key. More...

## Detailed Description

Intel(R) EPID SDK member API.