SHA512_CTX
static void SHA512_Last(SHA512_CTX *);
SHA512_Init(SHA512_CTX *context)
SHA512_Transform(SHA512_CTX *context, const uint64_t *data)
SHA512_Transform(SHA512_CTX *context, const uint64_t *data)
SHA512_Update(SHA512_CTX *context, const uint8_t *data, size_t len)
SHA512_Last(SHA512_CTX *context)
SHA512_Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA512_CTX *context)
return SHA512_Update((SHA512_CTX *)context, data, len);
SHA384_Transform(SHA512_CTX *context, const uint64_t *data)
SHA512_Transform((SHA512_CTX *)context, data);
SHA512_Last((SHA512_CTX *)context);
SHA512_CTX *c = racoon_malloc(sizeof(*c));
SHA512_Update((SHA512_CTX *)c, (unsigned char *) data->v, data->l);
SHA512_Final((unsigned char *) res->v, (SHA512_CTX *)c);
SHA512_Last((SHA512_CTX*)context);
#define data(ctx) ((SHA512_CTX *)(ctx)->md_data)
sizeof(struct env_md_st *) + sizeof(SHA512_CTX),
void SHA512_Last(SHA512_CTX*);
void SHA512_Transform(SHA512_CTX*, const sha2_word64*);
void SHA512_Init(SHA512_CTX* context) {
if (context == (SHA512_CTX*)0) {
void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) {
assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0);
void SHA512_Last(SHA512_CTX* context) {
void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) {
assert(context != (SHA512_CTX*)0);
char *SHA512_End(SHA512_CTX* context, char buffer[]) {
assert(context != (SHA512_CTX*)0);
SHA512_CTX context;
SHA512_Update((SHA512_CTX*)context, data, len);
typedef SHA512_CTX SHA384_CTX;
void SHA512_Init __P((SHA512_CTX*));
void SHA512_Update __P((SHA512_CTX*, const u_int8_t*, size_t));
void SHA512_Final __P((u_int8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*));
char* SHA512_End __P((SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]));
"sha512", sizeof(SHA512_CTX), SHA512_DIGEST_LENGTH,
prng_get_entropy_data(SHA512_CTX *ctx)
SHA512_CTX ctx;
SHA512_CTX ctx;
prng_get_entropy_file(SHA512_CTX *ctx)
offsetof(SHA512_CTX, state),
FPOPS_ADD("SHA512", SHA512_DIGEST_LENGTH, sizeof(SHA512_CTX),
SHA512_CTX sha512ctx;
&auth_hash_hmac_sha2_512, sizeof(SHA512_CTX),
int SHA512_Init(SHA512_CTX*);
int SHA512_Update(SHA512_CTX*, const uint8_t*, size_t);
int SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*);
char *SHA512_End(SHA512_CTX *, char[SHA512_DIGEST_STRING_LENGTH]);
void SHA512_Transform(SHA512_CTX *, const uint64_t*);
typedef SHA512_CTX SHA384_CTX;
SHA512_CTX ctx;
#define MD5_CTX SHA512_CTX
SHA512_CTX ctxSHA512;