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