SHA-1 cryptographic hash function. More...
#include "config.h"#include <string.h>#include <inttypes.h>

Go to the source code of this file.
Data Structures | |
| struct | sha1_context |
| SHA-1 context structure. More... | |
Defines | |
| #define | POLARSSL_ERR_SHA1_FILE_IO_ERROR -0x0076 |
| Read/write error in file. | |
Functions | |
| void | sha1_starts (sha1_context *ctx) |
| SHA-1 context setup. | |
| void | sha1_update (sha1_context *ctx, const unsigned char *input, size_t ilen) |
| SHA-1 process buffer. | |
| void | sha1_finish (sha1_context *ctx, unsigned char output[20]) |
| SHA-1 final digest. | |
| void | sha1_process (sha1_context *ctx, const unsigned char data[64]) |
| void | sha1 (const unsigned char *input, size_t ilen, unsigned char output[20]) |
| Output = SHA-1( input buffer ). | |
| int | sha1_file (const char *path, unsigned char output[20]) |
| Output = SHA-1( file contents ). | |
| void | sha1_hmac_starts (sha1_context *ctx, const unsigned char *key, size_t keylen) |
| SHA-1 HMAC context setup. | |
| void | sha1_hmac_update (sha1_context *ctx, const unsigned char *input, size_t ilen) |
| SHA-1 HMAC process buffer. | |
| void | sha1_hmac_finish (sha1_context *ctx, unsigned char output[20]) |
| SHA-1 HMAC final digest. | |
| void | sha1_hmac_reset (sha1_context *ctx) |
| SHA-1 HMAC context reset. | |
| void | sha1_hmac (const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char output[20]) |
| Output = HMAC-SHA-1( hmac key, input buffer ). | |
| int | sha1_self_test (int verbose) |
| Checkup routine. | |
SHA-1 cryptographic hash function.
Copyright (C) 2006-2013, 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 sha1.h.
| #define POLARSSL_ERR_SHA1_FILE_IO_ERROR -0x0076 |
Read/write error in file.
Definition at line 41 of file sha1.h.
Referenced by polarssl_strerror(), and sha1_file().
| void sha1 | ( | const unsigned char * | input, | |
| size_t | ilen, | |||
| unsigned char | output[20] | |||
| ) |
Output = SHA-1( input buffer ).
| input | buffer holding the data | |
| ilen | length of the input data | |
| output | SHA-1 checksum result |
Definition at line 319 of file sha1.c.
References sha1_finish(), sha1_starts(), and sha1_update().
Referenced by rsa_self_test(), sha1_hmac_starts(), ssl3_prf(), ssl_calc_finished_ssl(), ssl_calc_finished_tls(), ssl_calc_verify_ssl(), ssl_calc_verify_tls(), ssl_parse_server_key_exchange(), ssl_write_server_key_exchange(), x509write_crt_set_authority_key_identifier(), and x509write_crt_set_subject_key_identifier().
| int sha1_file | ( | const char * | path, | |
| unsigned char | output[20] | |||
| ) |
Output = SHA-1( file contents ).
| path | input file name | |
| output | SHA-1 checksum result |
Definition at line 334 of file sha1.c.
References POLARSSL_ERR_SHA1_FILE_IO_ERROR, sha1_finish(), sha1_starts(), and sha1_update().
Referenced by sha1_file_wrap().
| void sha1_finish | ( | sha1_context * | ctx, | |
| unsigned char | output[20] | |||
| ) |
SHA-1 final digest.
| ctx | SHA-1 context | |
| output | SHA-1 checksum result |
Definition at line 288 of file sha1.c.
References PUT_UINT32_BE, sha1_padding, sha1_update(), sha1_context::state, and sha1_context::total.
Referenced by sha1(), sha1_file(), sha1_finish_wrap(), sha1_hmac_finish(), sha1_self_test(), ssl3_prf(), ssl_calc_finished_ssl(), ssl_calc_finished_tls(), ssl_calc_verify_ssl(), ssl_calc_verify_tls(), ssl_parse_server_key_exchange(), and ssl_write_server_key_exchange().
| void sha1_hmac | ( | const unsigned char * | key, | |
| size_t | keylen, | |||
| const unsigned char * | input, | |||
| size_t | ilen, | |||
| unsigned char | output[20] | |||
| ) |
Output = HMAC-SHA-1( 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-1 result |
Definition at line 430 of file sha1.c.
References sha1_hmac_finish(), sha1_hmac_starts(), and sha1_hmac_update().
Referenced by tls1_prf().
| void sha1_hmac_finish | ( | sha1_context * | ctx, | |
| unsigned char | output[20] | |||
| ) |
SHA-1 HMAC final digest.
| ctx | HMAC context | |
| output | SHA-1 HMAC checksum result |
Definition at line 405 of file sha1.c.
References sha1_context::opad, sha1_finish(), sha1_starts(), and sha1_update().
Referenced by sha1_hmac(), sha1_hmac_finish_wrap(), and sha1_self_test().
| void sha1_hmac_reset | ( | sha1_context * | ctx | ) |
SHA-1 HMAC context reset.
| ctx | HMAC context to be reset |
Definition at line 421 of file sha1.c.
References sha1_context::ipad, sha1_starts(), and sha1_update().
Referenced by sha1_hmac_reset_wrap().
| void sha1_hmac_starts | ( | sha1_context * | ctx, | |
| const unsigned char * | key, | |||
| size_t | keylen | |||
| ) |
SHA-1 HMAC context setup.
| ctx | HMAC context to be initialized | |
| key | HMAC secret key | |
| keylen | length of the HMAC key |
Definition at line 367 of file sha1.c.
References sha1_context::ipad, sha1_context::opad, sha1(), sha1_starts(), and sha1_update().
Referenced by sha1_hmac(), sha1_hmac_starts_wrap(), and sha1_self_test().
| void sha1_hmac_update | ( | sha1_context * | ctx, | |
| const unsigned char * | input, | |||
| size_t | ilen | |||
| ) |
SHA-1 HMAC process buffer.
| ctx | HMAC context | |
| input | buffer holding the data | |
| ilen | length of the input data |
Definition at line 397 of file sha1.c.
References sha1_update().
Referenced by sha1_hmac(), sha1_hmac_update_wrap(), and sha1_self_test().
| void sha1_process | ( | sha1_context * | ctx, | |
| const unsigned char | data[64] | |||
| ) |
Definition at line 81 of file sha1.c.
References A, GET_UINT32_BE, P, R, and sha1_context::state.
Referenced by sha1_process_wrap(), and sha1_update().
| int sha1_self_test | ( | int | verbose | ) |
Checkup routine.
Definition at line 538 of file sha1.c.
References sha1_finish(), sha1_hmac_finish(), sha1_hmac_starts(), sha1_hmac_test_buf, sha1_hmac_test_buflen, sha1_hmac_test_key, sha1_hmac_test_keylen, sha1_hmac_test_sum, sha1_hmac_update(), sha1_starts(), sha1_test_buf, sha1_test_buflen, sha1_test_sum, and sha1_update().
| void sha1_starts | ( | sha1_context * | ctx | ) |
SHA-1 context setup.
| ctx | context to be initialized |
Definition at line 69 of file sha1.c.
References sha1_context::state, and sha1_context::total.
Referenced by sha1(), sha1_file(), sha1_hmac_finish(), sha1_hmac_reset(), sha1_hmac_starts(), sha1_self_test(), sha1_starts_wrap(), ssl3_prf(), ssl_calc_finished_ssl(), ssl_calc_verify_ssl(), ssl_handshake_init(), ssl_parse_server_key_exchange(), and ssl_write_server_key_exchange().
| void sha1_update | ( | sha1_context * | ctx, | |
| const unsigned char * | input, | |||
| size_t | ilen | |||
| ) |
SHA-1 process buffer.
| ctx | SHA-1 context | |
| input | buffer holding the data | |
| ilen | length of the input data |
Definition at line 240 of file sha1.c.
References sha1_context::buffer, sha1_process(), and sha1_context::total.
Referenced by sha1(), sha1_file(), sha1_finish(), sha1_hmac_finish(), sha1_hmac_reset(), sha1_hmac_starts(), sha1_hmac_update(), sha1_self_test(), sha1_update_wrap(), ssl3_prf(), ssl_calc_finished_ssl(), ssl_calc_verify_ssl(), ssl_parse_server_key_exchange(), ssl_update_checksum_md5sha1(), ssl_update_checksum_start(), and ssl_write_server_key_exchange().
1.6.1