File: re_hmac.h

package info (click to toggle)
libre 2.0.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,556 kB
  • sloc: ansic: 41,621; makefile: 143; sh: 1
file content (26 lines) | stat: -rw-r--r-- 677 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * @file re_hmac.h  Interface to HMAC functions
 *
 * Copyright (C) 2010 Creytiv.com
 */


void hmac_sha1(const uint8_t *k,   /* secret key */
	       size_t         lk,  /* length of the key in bytes */
	       const uint8_t *d,   /* data */
	       size_t         ld,  /* length of data in bytes */
	       uint8_t*       out, /* output buffer, at least "t" bytes */
	       size_t         t);


enum hmac_hash {
	HMAC_HASH_SHA1,
	HMAC_HASH_SHA256
};

struct hmac;

int  hmac_create(struct hmac **hmacp, enum hmac_hash hash,
		 const uint8_t *key, size_t key_len);
int  hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len,
		 const uint8_t *data, size_t data_len);