1/*
2 * Broadcom Home Gateway Reference Design
3 *
4 * Copyright 2005, Broadcom Corporation
5 * All Rights Reserved.
6 *
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
11 * $Id: opencrypto.h,v 1.1.1.1 2008/10/15 03:31:22 james26_jang Exp $
12 */
13
14#ifndef _opencrypto_h
15#define _opencrypto_h
16
17
18#define AES_BLOCK_LEN   8
19
20
21/*  AES-based keywrap function defined in RFC3394 */
22int aes_wrap(size_t kl, uint8 *key, size_t il, uint8 *input, uint8 *output);
23
24/* AES-based key unwrap function defined in RFC3394 */
25int aes_unwrap(size_t kl, uint8 *key, size_t il, uint8 *input, uint8 *output);
26
27/*Pseudo random function */
28int fPRF(unsigned char *key, int key_len, unsigned char *prefix,
29        int prefix_len, unsigned char *data, int data_len,
30        unsigned char *output, int len);
31
32/* hmac-sha1 keyed secure hash algorithm */
33void hmac_sha1(unsigned char *text, int text_len, unsigned char *key,
34               int key_len, unsigned char *digest);
35
36
37
38#endif /*_opencrypto_h */
39