7209a38c80f3d82914c9c11040cbdd9f97366496
[akaros.git] / kern / include / crypto / 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 #pragma once
7
8 #include <stdint.h>
9 #include "2crypto.h"
10
11 /**
12  * Compute HMAC
13  *
14  * @param alg           Hash algorithm ID
15  * @param key           HMAC key
16  * @param key_size      HMAC key size
17  * @param msg           Message to compute HMAC for
18  * @param msg_size      Message size
19  * @param mac           Computed message authentication code
20  * @param mac_size      Size of the buffer pointed by <mac>
21  * @return
22  */
23 int hmac(enum vb2_hash_algorithm alg,
24          const void *key, uint32_t key_size,
25          const void *msg, uint32_t msg_size,
26          uint8_t *mac, uint32_t mac_size);
27
28 #endif