ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

sha2.c File Reference
#include "config.h"
#include <string.h>
#include <assert.h>
#include "sha2.h"

Go to the source code of this file.

Defines

#define SHA256_SHORT_BLOCK_LENGTH   (SHA256_BLOCK_LENGTH - 8)
#define SHA384_SHORT_BLOCK_LENGTH   (SHA384_BLOCK_LENGTH - 16)
#define SHA512_SHORT_BLOCK_LENGTH   (SHA512_BLOCK_LENGTH - 16)
#define SHA2_WORD64_CONST(dw1, dw2)   (((sha2_word64)(dw1) << 32) | (dw2))
#define REVERSE32(w, x)
#define REVERSE64(w, x)
#define ADDINC128(w, n)
#define SHA2_USE_MEMSET_MEMCPY   1
#define MEMSET_BZERO(p, l)   memset((p), 0, (l))
#define MEMCPY_BCOPY(d, s, l)   memcpy((d), (s), (l))
#define R(b, x)   ((x) >> (b))
#define S32(b, x)   (((x) >> (b)) | ((x) << (32 - (b))))
#define S64(b, x)   (((x) >> (b)) | ((x) << (64 - (b))))
#define Ch(x, y, z)   (((x) & (y)) ^ ((~(x)) & (z)))
#define Maj(x, y, z)   (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
#define Sigma0_256(x)   (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x)))
#define Sigma1_256(x)   (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x)))
#define sigma0_256(x)   (S32(7, (x)) ^ S32(18, (x)) ^ R(3 , (x)))
#define sigma1_256(x)   (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x)))
#define Sigma0_512(x)   (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x)))
#define Sigma1_512(x)   (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x)))
#define sigma0_512(x)   (S64( 1, (x)) ^ S64( 8, (x)) ^ R( 7, (x)))
#define sigma1_512(x)   (S64(19, (x)) ^ S64(61, (x)) ^ R( 6, (x)))

Functions

void SHA512_Last (SHA512_CTX *)
void SHA256_Transform (SHA256_CTX *, const sha2_word32 *)
void SHA512_Transform (SHA512_CTX *, const sha2_word64 *)
void SHA256_Init (SHA256_CTX *context)
void SHA256_Update (SHA256_CTX *context, const sha2_byte *data, size_t len)
void SHA256_Final (sha2_byte digest[], SHA256_CTX *context)
charSHA256_End (SHA256_CTX *context, char buffer[])
charSHA256_Data (const sha2_byte *data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH])
void SHA512_Init (SHA512_CTX *context)
void SHA512_Update (SHA512_CTX *context, const sha2_byte *data, size_t len)
void SHA512_Final (sha2_byte digest[], SHA512_CTX *context)
charSHA512_End (SHA512_CTX *context, char buffer[])
charSHA512_Data (const sha2_byte *data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH])
void SHA384_Init (SHA384_CTX *context)
void SHA384_Update (SHA384_CTX *context, const sha2_byte *data, size_t len)
void SHA384_Final (sha2_byte digest[], SHA384_CTX *context)
charSHA384_End (SHA384_CTX *context, char buffer[])
charSHA384_Data (const sha2_byte *data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH])

Variables

static const sha2_word32 K256 [64]
static const sha2_word32 sha256_initial_hash_value [8]
static const sha2_word64 K512 [80]
static const sha2_word64 sha384_initial_hash_value [8]
static const sha2_word64 sha512_initial_hash_value [8]
static const char sha2_hex_digits [] = "0123456789abcdef"

Generated on Sat May 26 2012 05:16:38 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.