1df1939742f0b09ac8613eb3b7999deaf760a195
[akaros.git] / kern / lib / crypto / include / 2hmac.h
1 /* Copyright 2016 The Chromium OS Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file.
4  */
5
6 #ifndef VBOOT_REFERENCE_VBOOT_2HMAC_H_
7 #define VBOOT_REFERENCE_VBOOT_2HMAC_H_
8
9 #include <stdint.h>
10 #include "2crypto.h"
11
12 /**
13  * Compute HMAC
14  *
15  * @param alg           Hash algorithm ID
16  * @param key           HMAC key
17  * @param key_size      HMAC key size
18  * @param msg           Message to compute HMAC for
19  * @param msg_size      Message size
20  * @param mac           Computed message authentication code
21  * @param mac_size      Size of the buffer pointed by <mac>
22  * @return
23  */
24 int hmac(enum vb2_hash_algorithm alg,
25          const void *key, uint32_t key_size,
26          const void *msg, uint32_t msg_size,
27          uint8_t *mac, uint32_t mac_size);
28
29 #endif