Port of TI's CC3100 Websock camera demo. Using FreeRTOS, mbedTLS, also parts of Arducam for cams ov5642 and 0v2640. Can also use MT9D111. Work in progress. Be warned some parts maybe a bit flacky. This is for Seeed Arch max only, for an M3, see the demo for CM3 using the 0v5642 aducam mini.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

sha1.h File Reference

sha1.h File Reference

SHA-1 cryptographic hash function. More...

Go to the source code of this file.

Data Structures

struct  sha1_context
 SHA-1 context structure. More...

Functions

void sha1_init (sha1_context *ctx)
 Initialize SHA-1 context.
void sha1_free (sha1_context *ctx)
 Clear SHA-1 context.
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 (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.

Detailed Description

SHA-1 cryptographic hash function.

Copyright (C) 2006-2014, ARM Limited, All Rights Reserved

This file is part of mbed TLS (https://tls.mbed.org)

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.


Function Documentation

void sha1 ( const unsigned char *  input,
size_t  ilen,
unsigned char  output[20] 
)

Output = SHA-1( input buffer )

Parameters:
inputbuffer holding the data
ilenlength of the input data
outputSHA-1 checksum result

Definition at line 349 of file sha1.c.

int sha1_file ( const char *  path,
unsigned char  output[20] 
)

Output = SHA-1( file contents )

Parameters:
pathinput file name
outputSHA-1 checksum result
Returns:
0 if successful, or POLARSSL_ERR_SHA1_FILE_IO_ERROR

Definition at line 364 of file sha1.c.

void sha1_finish ( sha1_context ctx,
unsigned char  output[20] 
)

SHA-1 final digest.

Parameters:
ctxSHA-1 context
outputSHA-1 checksum result

Definition at line 318 of file sha1.c.

void sha1_free ( sha1_context ctx )

Clear SHA-1 context.

Parameters:
ctxSHA-1 context to be cleared

Definition at line 88 of file sha1.c.

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 )

Parameters:
keyHMAC secret key
keylenlength of the HMAC key
inputbuffer holding the data
ilenlength of the input data
outputHMAC-SHA-1 result

Definition at line 462 of file sha1.c.

void sha1_hmac_finish ( sha1_context ctx,
unsigned char  output[20] 
)

SHA-1 HMAC final digest.

Parameters:
ctxHMAC context
outputSHA-1 HMAC checksum result

Definition at line 437 of file sha1.c.

void sha1_hmac_reset ( sha1_context ctx )

SHA-1 HMAC context reset.

Parameters:
ctxHMAC context to be reset

Definition at line 453 of file sha1.c.

void sha1_hmac_starts ( sha1_context ctx,
const unsigned char *  key,
size_t  keylen 
)

SHA-1 HMAC context setup.

Parameters:
ctxHMAC context to be initialized
keyHMAC secret key
keylenlength of the HMAC key

Definition at line 397 of file sha1.c.

void sha1_hmac_update ( sha1_context ctx,
const unsigned char *  input,
size_t  ilen 
)

SHA-1 HMAC process buffer.

Parameters:
ctxHMAC context
inputbuffer holding the data
ilenlength of the input data

Definition at line 428 of file sha1.c.

void sha1_init ( sha1_context ctx )

Initialize SHA-1 context.

Parameters:
ctxSHA-1 context to be initialized

Definition at line 83 of file sha1.c.

int sha1_self_test ( int  verbose )

Checkup routine.

Returns:
0 if successful, or 1 if the test failed

Definition at line 570 of file sha1.c.

void sha1_starts ( sha1_context ctx )

SHA-1 context setup.

Parameters:
ctxcontext to be initialized

Definition at line 99 of file sha1.c.

void sha1_update ( sha1_context ctx,
const unsigned char *  input,
size_t  ilen 
)

SHA-1 process buffer.

Parameters:
ctxSHA-1 context
inputbuffer holding the data
ilenlength of the input data

Definition at line 270 of file sha1.c.