HashApi.h File Reference
#include <sming_attr.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for HashApi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  crypto_md5_context_t
 
struct  crypto_sha1_context_t
 
struct  crypto_sha224_context_t
 
struct  crypto_sha384_context_t
 

Macros

#define CRYPTO_NAME(hash, name)   crypto_##hash##_##name
 
#define CRYPTO_CTX(hash)   CRYPTO_NAME(hash, context_t)
 
#define CRYPTO_FUNC_INIT(hash)   void CRYPTO_NAME(hash, init)(CRYPTO_CTX(hash) * ctx)
 
#define CRYPTO_FUNC_UPDATE(hash)   void CRYPTO_NAME(hash, update)(CRYPTO_CTX(hash) * ctx, const void* input, uint32_t length)
 
#define CRYPTO_FUNC_FINAL(hash)   void CRYPTO_NAME(hash, final)(uint8_t * digest, CRYPTO_CTX(hash) * ctx)
 
#define CRYPTO_FUNC_GET_STATE(hash)   uint64_t CRYPTO_NAME(hash, get_state)(CRYPTO_CTX(hash) * ctx, void* state)
 
#define CRYPTO_FUNC_SET_STATE(hash)   void CRYPTO_NAME(hash, set_state)(CRYPTO_CTX(hash) * ctx, const void* state, uint64_t count)
 
#define CRYPTO_FUNC_HMAC(hash)   void CRYPTO_NAME(hash, hmac)(const uint8_t* msg, int msg_len, const uint8_t* key, int key_len, uint8_t* digest)
 
#define CRYPTO_FUNC_HMAC_V(hash)
 
#define MD5_SIZE   16
 
#define MD5_STATESIZE   16
 
#define MD5_BLOCKSIZE   64
 
#define SHA1_SIZE   20
 
#define SHA1_STATESIZE   20
 
#define SHA1_BLOCKSIZE   64
 
#define SHA224_SIZE   28
 
#define SHA224_STATESIZE   32
 
#define SHA224_BLOCKSIZE   64
 
#define SHA256_SIZE   32
 
#define SHA256_STATESIZE   32
 
#define SHA256_BLOCKSIZE   64
 
#define SHA384_SIZE   48
 
#define SHA384_STATESIZE   64
 
#define SHA384_BLOCKSIZE   128
 
#define SHA512_SIZE   64
 
#define SHA512_STATESIZE   64
 
#define SHA512_BLOCKSIZE   128
 

Typedefs

typedef crypto_sha224_context_t crypto_sha256_context_t
 
typedef crypto_sha384_context_t crypto_sha512_context_t
 

Functions

 CRYPTO_FUNC_INIT (md5)
 
 CRYPTO_FUNC_UPDATE (md5)
 
 CRYPTO_FUNC_FINAL (md5)
 
 CRYPTO_FUNC_GET_STATE (md5)
 
 CRYPTO_FUNC_SET_STATE (md5)
 
 CRYPTO_FUNC_HMAC_V (md5)
 
static CRYPTO_FUNC_HMAC (md5)
 
 CRYPTO_FUNC_INIT (sha1)
 
 CRYPTO_FUNC_UPDATE (sha1)
 
 CRYPTO_FUNC_FINAL (sha1)
 
 CRYPTO_FUNC_GET_STATE (sha1)
 
 CRYPTO_FUNC_SET_STATE (sha1)
 
 CRYPTO_FUNC_HMAC_V (sha1)
 
static CRYPTO_FUNC_HMAC (sha1)
 
 CRYPTO_FUNC_INIT (sha224)
 
 CRYPTO_FUNC_UPDATE (sha224)
 
 CRYPTO_FUNC_FINAL (sha224)
 
 CRYPTO_FUNC_GET_STATE (sha224)
 
 CRYPTO_FUNC_SET_STATE (sha224)
 
 CRYPTO_FUNC_INIT (sha256)
 
 CRYPTO_FUNC_UPDATE (sha256)
 
 CRYPTO_FUNC_FINAL (sha256)
 
 CRYPTO_FUNC_GET_STATE (sha256)
 
 CRYPTO_FUNC_SET_STATE (sha256)
 
 CRYPTO_FUNC_HMAC_V (sha256)
 
static CRYPTO_FUNC_HMAC (sha256)
 
 CRYPTO_FUNC_INIT (sha384)
 
 CRYPTO_FUNC_UPDATE (sha384)
 
 CRYPTO_FUNC_FINAL (sha384)
 
 CRYPTO_FUNC_GET_STATE (sha384)
 
 CRYPTO_FUNC_SET_STATE (sha384)
 
 CRYPTO_FUNC_HMAC_V (sha384)
 
static CRYPTO_FUNC_HMAC (sha384)
 
 CRYPTO_FUNC_INIT (sha512)
 
 CRYPTO_FUNC_UPDATE (sha512)
 
 CRYPTO_FUNC_FINAL (sha512)
 
 CRYPTO_FUNC_GET_STATE (sha512)
 
 CRYPTO_FUNC_SET_STATE (sha512)
 
 CRYPTO_FUNC_HMAC_V (sha512)
 
static CRYPTO_FUNC_HMAC (sha512)
 

Macro Definition Documentation

◆ CRYPTO_CTX

#define CRYPTO_CTX (   hash)    CRYPTO_NAME(hash, context_t)

◆ CRYPTO_FUNC_FINAL

#define CRYPTO_FUNC_FINAL (   hash)    void CRYPTO_NAME(hash, final)(uint8_t * digest, CRYPTO_CTX(hash) * ctx)

◆ CRYPTO_FUNC_GET_STATE

#define CRYPTO_FUNC_GET_STATE (   hash)    uint64_t CRYPTO_NAME(hash, get_state)(CRYPTO_CTX(hash) * ctx, void* state)

◆ CRYPTO_FUNC_HMAC

#define CRYPTO_FUNC_HMAC (   hash)    void CRYPTO_NAME(hash, hmac)(const uint8_t* msg, int msg_len, const uint8_t* key, int key_len, uint8_t* digest)

◆ CRYPTO_FUNC_HMAC_V

#define CRYPTO_FUNC_HMAC_V (   hash)
Value:
void CRYPTO_NAME(hash, hmac_v)(const uint8_t** msg, int* msg_len, int count, const uint8_t* key, int key_len, \
uint8_t* digest)
#define CRYPTO_NAME(hash, name)
Definition: HashApi.h:26

◆ CRYPTO_FUNC_INIT

#define CRYPTO_FUNC_INIT (   hash)    void CRYPTO_NAME(hash, init)(CRYPTO_CTX(hash) * ctx)

◆ CRYPTO_FUNC_SET_STATE

#define CRYPTO_FUNC_SET_STATE (   hash)    void CRYPTO_NAME(hash, set_state)(CRYPTO_CTX(hash) * ctx, const void* state, uint64_t count)

◆ CRYPTO_FUNC_UPDATE

#define CRYPTO_FUNC_UPDATE (   hash)    void CRYPTO_NAME(hash, update)(CRYPTO_CTX(hash) * ctx, const void* input, uint32_t length)

◆ CRYPTO_NAME

#define CRYPTO_NAME (   hash,
  name 
)    crypto_##hash##_##name

◆ MD5_BLOCKSIZE

#define MD5_BLOCKSIZE   64

◆ MD5_SIZE

#define MD5_SIZE   16

◆ MD5_STATESIZE

#define MD5_STATESIZE   16

◆ SHA1_BLOCKSIZE

#define SHA1_BLOCKSIZE   64

◆ SHA1_SIZE

#define SHA1_SIZE   20

◆ SHA1_STATESIZE

#define SHA1_STATESIZE   20

◆ SHA224_BLOCKSIZE

#define SHA224_BLOCKSIZE   64

◆ SHA224_SIZE

#define SHA224_SIZE   28

◆ SHA224_STATESIZE

#define SHA224_STATESIZE   32

◆ SHA256_BLOCKSIZE

#define SHA256_BLOCKSIZE   64

◆ SHA256_SIZE

#define SHA256_SIZE   32

◆ SHA256_STATESIZE

#define SHA256_STATESIZE   32

◆ SHA384_BLOCKSIZE

#define SHA384_BLOCKSIZE   128

◆ SHA384_SIZE

#define SHA384_SIZE   48

◆ SHA384_STATESIZE

#define SHA384_STATESIZE   64

◆ SHA512_BLOCKSIZE

#define SHA512_BLOCKSIZE   128

◆ SHA512_SIZE

#define SHA512_SIZE   64

◆ SHA512_STATESIZE

#define SHA512_STATESIZE   64

Typedef Documentation

◆ crypto_sha256_context_t

◆ crypto_sha512_context_t

Function Documentation

◆ CRYPTO_FUNC_FINAL() [1/6]

CRYPTO_FUNC_FINAL ( md5  )

◆ CRYPTO_FUNC_FINAL() [2/6]

CRYPTO_FUNC_FINAL ( sha1  )

◆ CRYPTO_FUNC_FINAL() [3/6]

CRYPTO_FUNC_FINAL ( sha224  )

◆ CRYPTO_FUNC_FINAL() [4/6]

CRYPTO_FUNC_FINAL ( sha256  )

◆ CRYPTO_FUNC_FINAL() [5/6]

CRYPTO_FUNC_FINAL ( sha384  )

◆ CRYPTO_FUNC_FINAL() [6/6]

CRYPTO_FUNC_FINAL ( sha512  )

◆ CRYPTO_FUNC_GET_STATE() [1/6]

CRYPTO_FUNC_GET_STATE ( md5  )

◆ CRYPTO_FUNC_GET_STATE() [2/6]

CRYPTO_FUNC_GET_STATE ( sha1  )

◆ CRYPTO_FUNC_GET_STATE() [3/6]

CRYPTO_FUNC_GET_STATE ( sha224  )

◆ CRYPTO_FUNC_GET_STATE() [4/6]

CRYPTO_FUNC_GET_STATE ( sha256  )

◆ CRYPTO_FUNC_GET_STATE() [5/6]

CRYPTO_FUNC_GET_STATE ( sha384  )

◆ CRYPTO_FUNC_GET_STATE() [6/6]

CRYPTO_FUNC_GET_STATE ( sha512  )

◆ CRYPTO_FUNC_HMAC() [1/5]

static CRYPTO_FUNC_HMAC ( md5  )
inlinestatic

◆ CRYPTO_FUNC_HMAC() [2/5]

static CRYPTO_FUNC_HMAC ( sha1  )
inlinestatic

◆ CRYPTO_FUNC_HMAC() [3/5]

static CRYPTO_FUNC_HMAC ( sha256  )
inlinestatic

◆ CRYPTO_FUNC_HMAC() [4/5]

static CRYPTO_FUNC_HMAC ( sha384  )
inlinestatic

◆ CRYPTO_FUNC_HMAC() [5/5]

static CRYPTO_FUNC_HMAC ( sha512  )
inlinestatic

◆ CRYPTO_FUNC_HMAC_V() [1/5]

CRYPTO_FUNC_HMAC_V ( md5  )

◆ CRYPTO_FUNC_HMAC_V() [2/5]

CRYPTO_FUNC_HMAC_V ( sha1  )

◆ CRYPTO_FUNC_HMAC_V() [3/5]

CRYPTO_FUNC_HMAC_V ( sha256  )

◆ CRYPTO_FUNC_HMAC_V() [4/5]

CRYPTO_FUNC_HMAC_V ( sha384  )

◆ CRYPTO_FUNC_HMAC_V() [5/5]

CRYPTO_FUNC_HMAC_V ( sha512  )

◆ CRYPTO_FUNC_INIT() [1/6]

CRYPTO_FUNC_INIT ( md5  )

◆ CRYPTO_FUNC_INIT() [2/6]

CRYPTO_FUNC_INIT ( sha1  )

◆ CRYPTO_FUNC_INIT() [3/6]

CRYPTO_FUNC_INIT ( sha224  )

◆ CRYPTO_FUNC_INIT() [4/6]

CRYPTO_FUNC_INIT ( sha256  )

◆ CRYPTO_FUNC_INIT() [5/6]

CRYPTO_FUNC_INIT ( sha384  )

◆ CRYPTO_FUNC_INIT() [6/6]

CRYPTO_FUNC_INIT ( sha512  )

◆ CRYPTO_FUNC_SET_STATE() [1/6]

CRYPTO_FUNC_SET_STATE ( md5  )

◆ CRYPTO_FUNC_SET_STATE() [2/6]

CRYPTO_FUNC_SET_STATE ( sha1  )

◆ CRYPTO_FUNC_SET_STATE() [3/6]

CRYPTO_FUNC_SET_STATE ( sha224  )

◆ CRYPTO_FUNC_SET_STATE() [4/6]

CRYPTO_FUNC_SET_STATE ( sha256  )

◆ CRYPTO_FUNC_SET_STATE() [5/6]

CRYPTO_FUNC_SET_STATE ( sha384  )

◆ CRYPTO_FUNC_SET_STATE() [6/6]

CRYPTO_FUNC_SET_STATE ( sha512  )

◆ CRYPTO_FUNC_UPDATE() [1/6]

CRYPTO_FUNC_UPDATE ( md5  )

◆ CRYPTO_FUNC_UPDATE() [2/6]

CRYPTO_FUNC_UPDATE ( sha1  )

◆ CRYPTO_FUNC_UPDATE() [3/6]

CRYPTO_FUNC_UPDATE ( sha224  )

◆ CRYPTO_FUNC_UPDATE() [4/6]

CRYPTO_FUNC_UPDATE ( sha256  )

◆ CRYPTO_FUNC_UPDATE() [5/6]

CRYPTO_FUNC_UPDATE ( sha384  )

◆ CRYPTO_FUNC_UPDATE() [6/6]

CRYPTO_FUNC_UPDATE ( sha512  )