Copyright (C) 2006-2010, Brainspark B.V.
This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Data Structures | |
struct | sha4_context |
SHA-512 context structure. More... | |
Macros | |
#define | int64 long long |
#define | UL64(x) x##ULL |
Functions | |
void | sha4 (const unsigned char *input, int ilen, unsigned char output[64], int is384) |
Output = SHA-512( input buffer ) More... | |
int | sha4_file (const char *path, unsigned char output[64], int is384) |
Output = SHA-512( file contents ) More... | |
void | sha4_finish (sha4_context *ctx, unsigned char output[64]) |
SHA-512 final digest. More... | |
void | sha4_hmac (const unsigned char *key, int keylen, const unsigned char *input, int ilen, unsigned char output[64], int is384) |
Output = HMAC-SHA-512( hmac key, input buffer ) More... | |
void | sha4_hmac_finish (sha4_context *ctx, unsigned char output[64]) |
SHA-512 HMAC final digest. More... | |
void | sha4_hmac_reset (sha4_context *ctx) |
SHA-512 HMAC context reset. More... | |
void | sha4_hmac_starts (sha4_context *ctx, const unsigned char *key, int keylen, int is384) |
SHA-512 HMAC context setup. More... | |
void | sha4_hmac_update (sha4_context *ctx, const unsigned char *input, int ilen) |
SHA-512 HMAC process buffer. More... | |
int | sha4_self_test (int verbose) |
Checkup routine. More... | |
void | sha4_starts (sha4_context *ctx, int is384) |
SHA-512 context setup. More... | |
void | sha4_update (sha4_context *ctx, const unsigned char *input, int ilen) |
SHA-512 process buffer. More... | |
#define int64 long long |
void sha4 | ( | const unsigned char * | input, |
int | ilen, | ||
unsigned char | output[64], | ||
int | is384 | ||
) |
Output = SHA-512( input buffer )
input | buffer holding the data |
ilen | length of the input data |
output | SHA-384/512 checksum result |
is384 | 0 = use SHA512, 1 = use SHA384 |
Referenced by main().
int sha4_file | ( | const char * | path, |
unsigned char | output[64], | ||
int | is384 | ||
) |
Output = SHA-512( file contents )
path | input file name |
output | SHA-384/512 checksum result |
is384 | 0 = use SHA512, 1 = use SHA384 |
void sha4_finish | ( | sha4_context * | ctx, |
unsigned char | output[64] | ||
) |
SHA-512 final digest.
ctx | SHA-512 context |
output | SHA-384/512 checksum result |
void sha4_hmac | ( | const unsigned char * | key, |
int | keylen, | ||
const unsigned char * | input, | ||
int | ilen, | ||
unsigned char | output[64], | ||
int | is384 | ||
) |
Output = HMAC-SHA-512( hmac key, input buffer )
key | HMAC secret key |
keylen | length of the HMAC key |
input | buffer holding the data |
ilen | length of the input data |
output | HMAC-SHA-384/512 result |
is384 | 0 = use SHA512, 1 = use SHA384 |
void sha4_hmac_finish | ( | sha4_context * | ctx, |
unsigned char | output[64] | ||
) |
SHA-512 HMAC final digest.
ctx | HMAC context |
output | SHA-384/512 HMAC checksum result |
void sha4_hmac_reset | ( | sha4_context * | ctx | ) |
SHA-512 HMAC context reset.
ctx | HMAC context to be reset |
void sha4_hmac_starts | ( | sha4_context * | ctx, |
const unsigned char * | key, | ||
int | keylen, | ||
int | is384 | ||
) |
SHA-512 HMAC context setup.
ctx | HMAC context to be initialized |
is384 | 0 = use SHA512, 1 = use SHA384 |
key | HMAC secret key |
keylen | length of the HMAC key |
void sha4_hmac_update | ( | sha4_context * | ctx, |
const unsigned char * | input, | ||
int | ilen | ||
) |
SHA-512 HMAC process buffer.
ctx | HMAC context |
input | buffer holding the data |
ilen | length of the input data |
int sha4_self_test | ( | int | verbose | ) |
void sha4_starts | ( | sha4_context * | ctx, |
int | is384 | ||
) |
SHA-512 context setup.
ctx | context to be initialized |
is384 | 0 = use SHA512, 1 = use SHA384 |
void sha4_update | ( | sha4_context * | ctx, |
const unsigned char * | input, | ||
int | ilen | ||
) |
SHA-512 process buffer.
ctx | SHA-512 context |
input | buffer holding the data |
ilen | length of the input data |