« Back to documentation index 
    
sha512.h File Reference 
SHA-384 and SHA-512 cryptographic hash function.  
More... 
Go to the source code of this file. 
struct   sha512_context   SHA-512 context structure.  More...  void  sha512_init  (sha512_context  *ctx)  Initialize SHA-512 context.   void  sha512_free  (sha512_context  *ctx)  Clear SHA-512 context.   void  sha512_starts  (sha512_context  *ctx, int is384)  SHA-512 context setup.   void  sha512_update  (sha512_context  *ctx, const unsigned char *input, size_t ilen)  SHA-512 process buffer.   void  sha512_finish  (sha512_context  *ctx, unsigned char output[64])  SHA-512 final digest.   void  sha512  (const unsigned char *input, size_t ilen, unsigned char output[64], int is384)  Output = SHA-512( input buffer )   int  sha512_file  (const char *path, unsigned char output[64], int is384)  Output = SHA-512( file contents )   void  sha512_hmac_starts  (sha512_context  *ctx, const unsigned char *key, size_t keylen, int is384)  SHA-512 HMAC context setup.   void  sha512_hmac_update  (sha512_context  *ctx, const unsigned char *input, size_t ilen)  SHA-512 HMAC process buffer.   void  sha512_hmac_finish  (sha512_context  *ctx, unsigned char output[64])  SHA-512 HMAC final digest.   void  sha512_hmac_reset  (sha512_context  *ctx)  SHA-512 HMAC context reset.   void  sha512_hmac  (const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char output[64], int is384)  Output = HMAC-SHA-512( hmac key, input buffer )   int  sha512_self_test  (int verbose)  Checkup routine.   
Detailed Description 
SHA-384 and SHA-512 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 sha512.h .
Function Documentation 
      
        
          void sha512  
          ( 
          const unsigned char *  
           input ,  
         
        
          size_t  
           ilen ,  
         
        
          unsigned char  
           output [64],  
         
        
          int  
           is384   
         
        
          ) 
           
      
 
Output = SHA-512( input buffer ) 
Parameters: 
  
    input buffer holding the data  ilen length of the input data  output SHA-384/512 checksum result  is384 0 = use SHA512, 1 = use SHA384  
   
Definition at line 355  of file sha512.c .
 
 
      
        
          int sha512_file  
          ( 
          const char *  
           path ,  
         
        
          unsigned char  
           output [64],  
         
        
          int  
           is384   
         
        
          ) 
           
      
 
Output = SHA-512( file contents ) 
Parameters: 
  
    path input file name  output SHA-384/512 checksum result  is384 0 = use SHA512, 1 = use SHA384 
   
Returns: 0 if successful, or POLARSSL_ERR_SHA512_FILE_IO_ERROR  Definition at line 371  of file sha512.c .
 
 
SHA-512 final digest. 
Parameters: 
  
    ctx SHA-512 context  output SHA-384/512 checksum result  
   
Definition at line 317  of file sha512.c .
 
 
Clear SHA-512 context. 
Parameters: 
  
    ctx SHA-512 context to be cleared  
   
Definition at line 149  of file sha512.c .
 
 
      
        
          void sha512_hmac  
          ( 
          const unsigned char *  
           key ,  
         
        
          size_t  
           keylen ,  
         
        
          const unsigned char *  
           input ,  
         
        
          size_t  
           ilen ,  
         
        
          unsigned char  
           output [64],  
         
        
          int  
           is384   
         
        
          ) 
           
      
 
Output = HMAC-SHA-512( hmac key, input buffer ) 
Parameters: 
  
    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  
   
Definition at line 473  of file sha512.c .
 
 
      
        
          void sha512_hmac_finish  
          ( 
          sha512_context  *  ctx ,  
         
        
          unsigned char  
           output [64]  
         
        
          ) 
           
      
 
SHA-512 HMAC final digest. 
Parameters: 
  
    ctx HMAC context  output SHA-384/512 HMAC checksum result  
   
Definition at line 444  of file sha512.c .
 
 
SHA-512 HMAC context reset. 
Parameters: 
  
    ctx HMAC context to be reset  
   
Definition at line 464  of file sha512.c .
 
 
      
        
          void sha512_hmac_starts  
          ( 
          sha512_context  *  ctx ,  
         
        
          const unsigned char *  
           key ,  
         
        
          size_t  
           keylen ,  
         
        
          int  
           is384   
         
        
          ) 
           
      
 
SHA-512 HMAC context setup. 
Parameters: 
  
    ctx HMAC context to be initialized  is384 0 = use SHA512, 1 = use SHA384  key HMAC secret key  keylen length of the HMAC key  
   
Definition at line 404  of file sha512.c .
 
 
      
        
          void sha512_hmac_update  
          ( 
          sha512_context  *  ctx ,  
         
        
          const unsigned char *  
           input ,  
         
        
          size_t  
           ilen   
         
        
          ) 
           
      
 
SHA-512 HMAC process buffer. 
Parameters: 
  
    ctx HMAC context  input buffer holding the data  ilen length of the input data  
   
Definition at line 435  of file sha512.c .
 
 
Initialize SHA-512 context. 
Parameters: 
  
    ctx SHA-512 context to be initialized  
   
Definition at line 144  of file sha512.c .
 
 
      
        
          int sha512_self_test  
          ( 
          int  
           verbose  ) 
           
      
 
Checkup routine. 
Returns: 0 if successful, or 1 if the test failed  Definition at line 708  of file sha512.c .
 
 
SHA-512 context setup. 
Parameters: 
  
    ctx context to be initialized  is384 0 = use SHA512, 1 = use SHA384  
   
Definition at line 160  of file sha512.c .
 
 
      
        
          void sha512_update  
          ( 
          sha512_context  *  ctx ,  
         
        
          const unsigned char *  
           input ,  
         
        
          size_t  
           ilen   
         
        
          ) 
           
      
 
SHA-512 process buffer. 
Parameters: 
  
    ctx SHA-512 context  input buffer holding the data  ilen length of the input data  
   
Definition at line 265  of file sha512.c .