|
PolarSSL v1.3.9
|
Generic message digest wrapper. More...
#include <string.h>

Go to the source code of this file.
Data Structures | |
| struct | md_info_t |
| Message digest information. More... | |
| struct | md_context_t |
| Generic message digest context. More... | |
Macros | |
| #define | POLARSSL_ERR_MD_FEATURE_UNAVAILABLE -0x5080 |
| The selected feature is not available. | |
| #define | POLARSSL_ERR_MD_BAD_INPUT_DATA -0x5100 |
| Bad input parameters to function. | |
| #define | POLARSSL_ERR_MD_ALLOC_FAILED -0x5180 |
| Failed to allocate memory. | |
| #define | POLARSSL_ERR_MD_FILE_IO_ERROR -0x5200 |
| Opening or reading of file failed. | |
| #define | POLARSSL_MD_MAX_SIZE 32 /* longest known is SHA256 or less */ |
| #define | MD_CONTEXT_T_INIT |
Enumerations | |
| enum | md_type_t { POLARSSL_MD_NONE =0 , POLARSSL_MD_MD2 , POLARSSL_MD_MD4 , POLARSSL_MD_MD5 , POLARSSL_MD_SHA1 , POLARSSL_MD_SHA224 , POLARSSL_MD_SHA256 , POLARSSL_MD_SHA384 , POLARSSL_MD_SHA512 , POLARSSL_MD_RIPEMD160 } |
Functions | |
| const int * | md_list (void) |
| Returns the list of digests supported by the generic digest module. | |
| const md_info_t * | md_info_from_string (const char *md_name) |
| Returns the message digest information associated with the given digest name. | |
| const md_info_t * | md_info_from_type (md_type_t md_type) |
| Returns the message digest information associated with the given digest type. | |
| void | md_init (md_context_t *ctx) |
| Initialize a md_context (as NONE) | |
| void | md_free (md_context_t *ctx) |
| Free and clear the message-specific context of ctx. | |
| int | md_init_ctx (md_context_t *ctx, const md_info_t *md_info) |
| Initialises and fills the message digest context structure with the appropriate values. | |
| int | md_free_ctx (md_context_t *ctx) |
| Free the message-specific context of ctx. | |
| static unsigned char | md_get_size (const md_info_t *md_info) |
| Returns the size of the message digest output. | |
| static md_type_t | md_get_type (const md_info_t *md_info) |
| Returns the type of the message digest output. | |
| static const char * | md_get_name (const md_info_t *md_info) |
| Returns the name of the message digest output. | |
| int | md_starts (md_context_t *ctx) |
| Set-up the given context for a new message digest. | |
| int | md_update (md_context_t *ctx, const unsigned char *input, size_t ilen) |
| Generic message digest process buffer. | |
| int | md_finish (md_context_t *ctx, unsigned char *output) |
| Generic message digest final digest. | |
| int | md (const md_info_t *md_info, const unsigned char *input, size_t ilen, unsigned char *output) |
| Output = message_digest( input buffer ) | |
| int | md_file (const md_info_t *md_info, const char *path, unsigned char *output) |
| Output = message_digest( file contents ) | |
| int | md_hmac_starts (md_context_t *ctx, const unsigned char *key, size_t keylen) |
| Generic HMAC context setup. | |
| int | md_hmac_update (md_context_t *ctx, const unsigned char *input, size_t ilen) |
| Generic HMAC process buffer. | |
| int | md_hmac_finish (md_context_t *ctx, unsigned char *output) |
| Generic HMAC final digest. | |
| int | md_hmac_reset (md_context_t *ctx) |
| Generic HMAC context reset. | |
| int | md_hmac (const md_info_t *md_info, const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char *output) |
| Output = Generic_HMAC( hmac key, input buffer ) | |
| int | md_process (md_context_t *ctx, const unsigned char *data) |
Generic message digest wrapper.
Copyright (C) 2006-2014, 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.
Definition in file md.h.
| #define MD_CONTEXT_T_INIT |
| #define POLARSSL_ERR_MD_ALLOC_FAILED -0x5180 |
| #define POLARSSL_ERR_MD_BAD_INPUT_DATA -0x5100 |
| #define POLARSSL_ERR_MD_FEATURE_UNAVAILABLE -0x5080 |
| #define POLARSSL_ERR_MD_FILE_IO_ERROR -0x5200 |
| #define POLARSSL_MD_MAX_SIZE 32 /* longest known is SHA256 or less */ |
| enum md_type_t |
| int md | ( | const md_info_t * | md_info, |
| const unsigned char * | input, | ||
| size_t | ilen, | ||
| unsigned char * | output ) |
Output = message_digest( input buffer )
| md_info | message digest info |
| input | buffer holding the data |
| ilen | length of the input data |
| output | Generic message digest checksum result |
| int md_file | ( | const md_info_t * | md_info, |
| const char * | path, | ||
| unsigned char * | output ) |
Output = message_digest( file contents )
| md_info | message digest info |
| path | input file name |
| output | generic message digest checksum result |
| int md_finish | ( | md_context_t * | ctx, |
| unsigned char * | output ) |
Generic message digest final digest.
| ctx | Generic message digest context |
| output | Generic message digest checksum result |
| void md_free | ( | md_context_t * | ctx | ) |
Free and clear the message-specific context of ctx.
Freeing ctx itself remains the responsibility of the caller.
| int md_free_ctx | ( | md_context_t * | ctx | ) |
Free the message-specific context of ctx.
Freeing ctx itself remains the responsibility of the caller.
| ctx | Free the message-specific context |
|
inlinestatic |
Returns the name of the message digest output.
| md_info | message digest info |
Definition at line 255 of file md.h.
References md_info_t::name.
|
inlinestatic |
Returns the size of the message digest output.
| md_info | message digest info |
Definition at line 225 of file md.h.
References md_info_t::size.
Returns the type of the message digest output.
| md_info | message digest info |
Definition at line 240 of file md.h.
References POLARSSL_MD_NONE, and md_info_t::type.
| int md_hmac | ( | const md_info_t * | md_info, |
| const unsigned char * | key, | ||
| size_t | keylen, | ||
| const unsigned char * | input, | ||
| size_t | ilen, | ||
| unsigned char * | output ) |
Output = Generic_HMAC( hmac key, input buffer )
| md_info | message digest info |
| key | HMAC secret key |
| keylen | length of the HMAC key |
| input | buffer holding the data |
| ilen | length of the input data |
| output | Generic HMAC-result |
| int md_hmac_finish | ( | md_context_t * | ctx, |
| unsigned char * | output ) |
Generic HMAC final digest.
| ctx | HMAC context |
| output | Generic HMAC checksum result |
| int md_hmac_reset | ( | md_context_t * | ctx | ) |
Generic HMAC context reset.
| ctx | HMAC context to be reset |
| int md_hmac_starts | ( | md_context_t * | ctx, |
| const unsigned char * | key, | ||
| size_t | keylen ) |
Generic HMAC context setup.
| ctx | HMAC context to be initialized |
| key | HMAC secret key |
| keylen | length of the HMAC key |
| int md_hmac_update | ( | md_context_t * | ctx, |
| const unsigned char * | input, | ||
| size_t | ilen ) |
Generic HMAC process buffer.
| ctx | HMAC context |
| input | buffer holding the data |
| ilen | length of the input data |
| const md_info_t * md_info_from_string | ( | const char * | md_name | ) |
Returns the message digest information associated with the given digest name.
| md_name | Name of the digest to search for. |
Returns the message digest information associated with the given digest type.
| md_type | type of digest to search for. |
| void md_init | ( | md_context_t * | ctx | ) |
Initialize a md_context (as NONE)
| int md_init_ctx | ( | md_context_t * | ctx, |
| const md_info_t * | md_info ) |
Initialises and fills the message digest context structure with the appropriate values.
| ctx | context to initialise. May not be NULL. The digest-specific context (ctx->md_ctx) must be NULL. It will be allocated, and must be freed using md_free_ctx() later. |
| md_info | message digest to use. |
0 on success, POLARSSL_ERR_MD_BAD_INPUT_DATA on parameter failure, POLARSSL_ERR_MD_ALLOC_FAILED if allocation of the digest-specific context failed. | const int * md_list | ( | void | ) |
Returns the list of digests supported by the generic digest module.
| int md_process | ( | md_context_t * | ctx, |
| const unsigned char * | data ) |
| int md_starts | ( | md_context_t * | ctx | ) |
Set-up the given context for a new message digest.
| ctx | generic message digest context. |
| int md_update | ( | md_context_t * | ctx, |
| const unsigned char * | input, | ||
| size_t | ilen ) |
Generic message digest process buffer.
| ctx | Generic message digest context |
| input | buffer holding the datal |
| ilen | length of the input data |