ndn-lite
Data Structures | Macros | Typedefs | Functions
uECC.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  uECC_HashContext
 

Macros

#define uECC_arch_other   0
 
#define uECC_x86   1
 
#define uECC_x86_64   2
 
#define uECC_arm   3
 
#define uECC_arm_thumb   4
 
#define uECC_arm_thumb2   5
 
#define uECC_arm64   6
 
#define uECC_avr   7
 
#define uECC_OPTIMIZATION_LEVEL   2
 
#define uECC_SQUARE_FUNC   0
 
#define uECC_VLI_NATIVE_LITTLE_ENDIAN   0
 
#define uECC_SUPPORTS_secp160r1   1
 
#define uECC_SUPPORTS_secp192r1   1
 
#define uECC_SUPPORTS_secp224r1   1
 
#define uECC_SUPPORTS_secp256r1   1
 
#define uECC_SUPPORTS_secp256k1   1
 
#define uECC_SUPPORT_COMPRESSED_POINT   1
 

Typedefs

typedef const struct uECC_Curve_tuECC_Curve
 
typedef int(* uECC_RNG_Function) (uint8_t *dest, unsigned size)
 
typedef struct uECC_HashContext uECC_HashContext
 

Functions

uECC_Curve uECC_secp160r1 (void)
 
uECC_Curve uECC_secp192r1 (void)
 
uECC_Curve uECC_secp224r1 (void)
 
uECC_Curve uECC_secp256r1 (void)
 
uECC_Curve uECC_secp256k1 (void)
 
void uECC_set_rng (uECC_RNG_Function rng_function)
 
uECC_RNG_Function uECC_get_rng (void)
 
int uECC_curve_private_key_size (uECC_Curve curve)
 
int uECC_curve_public_key_size (uECC_Curve curve)
 
int uECC_make_key (uint8_t *public_key, uint8_t *private_key, uECC_Curve curve)
 
int uECC_shared_secret (const uint8_t *public_key, const uint8_t *private_key, uint8_t *secret, uECC_Curve curve)
 
void uECC_compress (const uint8_t *public_key, uint8_t *compressed, uECC_Curve curve)
 
void uECC_decompress (const uint8_t *compressed, uint8_t *public_key, uECC_Curve curve)
 
int uECC_valid_public_key (const uint8_t *public_key, uECC_Curve curve)
 
int uECC_compute_public_key (const uint8_t *private_key, uint8_t *public_key, uECC_Curve curve)
 
int uECC_sign (const uint8_t *private_key, const uint8_t *message_hash, unsigned hash_size, uint8_t *signature, uECC_Curve curve)
 
int uECC_sign_deterministic (const uint8_t *private_key, const uint8_t *message_hash, unsigned hash_size, const uECC_HashContext *hash_context, uint8_t *signature, uECC_Curve curve)
 
int uECC_verify (const uint8_t *public_key, const uint8_t *message_hash, unsigned hash_size, const uint8_t *signature, uECC_Curve curve)
 

Macro Definition Documentation

◆ uECC_arch_other

#define uECC_arch_other   0

◆ uECC_arm

#define uECC_arm   3

◆ uECC_arm64

#define uECC_arm64   6

◆ uECC_arm_thumb

#define uECC_arm_thumb   4

◆ uECC_arm_thumb2

#define uECC_arm_thumb2   5

◆ uECC_avr

#define uECC_avr   7

◆ uECC_OPTIMIZATION_LEVEL

#define uECC_OPTIMIZATION_LEVEL   2

◆ uECC_SQUARE_FUNC

#define uECC_SQUARE_FUNC   0

◆ uECC_SUPPORT_COMPRESSED_POINT

#define uECC_SUPPORT_COMPRESSED_POINT   1

◆ uECC_SUPPORTS_secp160r1

#define uECC_SUPPORTS_secp160r1   1

◆ uECC_SUPPORTS_secp192r1

#define uECC_SUPPORTS_secp192r1   1

◆ uECC_SUPPORTS_secp224r1

#define uECC_SUPPORTS_secp224r1   1

◆ uECC_SUPPORTS_secp256k1

#define uECC_SUPPORTS_secp256k1   1

◆ uECC_SUPPORTS_secp256r1

#define uECC_SUPPORTS_secp256r1   1

◆ uECC_VLI_NATIVE_LITTLE_ENDIAN

#define uECC_VLI_NATIVE_LITTLE_ENDIAN   0

◆ uECC_x86

#define uECC_x86   1

◆ uECC_x86_64

#define uECC_x86_64   2

Typedef Documentation

◆ uECC_Curve

typedef const struct uECC_Curve_t* uECC_Curve

◆ uECC_HashContext

◆ uECC_RNG_Function

typedef int(* uECC_RNG_Function) (uint8_t *dest, unsigned size)

Function Documentation

◆ uECC_compress()

void uECC_compress ( const uint8_t *  public_key,
uint8_t *  compressed,
uECC_Curve  curve 
)

◆ uECC_compute_public_key()

int uECC_compute_public_key ( const uint8_t *  private_key,
uint8_t *  public_key,
uECC_Curve  curve 
)

◆ uECC_curve_private_key_size()

int uECC_curve_private_key_size ( uECC_Curve  curve)

◆ uECC_curve_public_key_size()

int uECC_curve_public_key_size ( uECC_Curve  curve)

◆ uECC_decompress()

void uECC_decompress ( const uint8_t *  compressed,
uint8_t *  public_key,
uECC_Curve  curve 
)

◆ uECC_get_rng()

uECC_RNG_Function uECC_get_rng ( void  )

◆ uECC_make_key()

int uECC_make_key ( uint8_t *  public_key,
uint8_t *  private_key,
uECC_Curve  curve 
)

◆ uECC_secp160r1()

uECC_Curve uECC_secp160r1 ( void  )

◆ uECC_secp192r1()

uECC_Curve uECC_secp192r1 ( void  )

◆ uECC_secp224r1()

uECC_Curve uECC_secp224r1 ( void  )

◆ uECC_secp256k1()

uECC_Curve uECC_secp256k1 ( void  )

◆ uECC_secp256r1()

uECC_Curve uECC_secp256r1 ( void  )

◆ uECC_set_rng()

void uECC_set_rng ( uECC_RNG_Function  rng_function)

◆ uECC_shared_secret()

int uECC_shared_secret ( const uint8_t *  public_key,
const uint8_t *  private_key,
uint8_t *  secret,
uECC_Curve  curve 
)

◆ uECC_sign()

int uECC_sign ( const uint8_t *  private_key,
const uint8_t *  message_hash,
unsigned  hash_size,
uint8_t *  signature,
uECC_Curve  curve 
)

◆ uECC_sign_deterministic()

int uECC_sign_deterministic ( const uint8_t *  private_key,
const uint8_t *  message_hash,
unsigned  hash_size,
const uECC_HashContext hash_context,
uint8_t *  signature,
uECC_Curve  curve 
)

◆ uECC_valid_public_key()

int uECC_valid_public_key ( const uint8_t *  public_key,
uECC_Curve  curve 
)

◆ uECC_verify()

int uECC_verify ( const uint8_t *  public_key,
const uint8_t *  message_hash,
unsigned  hash_size,
const uint8_t *  signature,
uECC_Curve  curve 
)