50#define SHA2512Blocksize 128
51#define SHA2512Digestsize 64
119 (void) memset(sha_info,0,
sizeof(*sha_info));
131 sha_info->
timestamp=time((time_t *) NULL);
229 datum[count++]=(
unsigned char) 0x80;
241 datum[112]=(
unsigned char) (high_order >> 56);
242 datum[113]=(
unsigned char) (high_order >> 48);
243 datum[114]=(
unsigned char) (high_order >> 40);
244 datum[115]=(
unsigned char) (high_order >> 32);
245 datum[116]=(
unsigned char) (high_order >> 24);
246 datum[117]=(
unsigned char) (high_order >> 16);
247 datum[118]=(
unsigned char) (high_order >> 8);
248 datum[119]=(
unsigned char) high_order;
249 datum[120]=(
unsigned char) (low_order >> 56);
250 datum[121]=(
unsigned char) (low_order >> 48);
251 datum[122]=(
unsigned char) (low_order >> 40);
252 datum[123]=(
unsigned char) (low_order >> 32);
253 datum[124]=(
unsigned char) (low_order >> 24);
254 datum[125]=(
unsigned char) (low_order >> 16);
255 datum[126]=(
unsigned char) (low_order >> 8);
256 datum[127]=(
unsigned char) low_order;
262 *q++=(
unsigned char) ((*p >> 56) & 0xff);
263 *q++=(
unsigned char) ((*p >> 48) & 0xff);
264 *q++=(
unsigned char) ((*p >> 40) & 0xff);
265 *q++=(
unsigned char) ((*p >> 32) & 0xff);
266 *q++=(
unsigned char) ((*p >> 24) & 0xff);
267 *q++=(
unsigned char) ((*p >> 16) & 0xff);
268 *q++=(
unsigned char) ((*p >> 8) & 0xff);
269 *q++=(
unsigned char) (*p & 0xff);
338 return(sha2512_info->
digest);
438 return((x & y) ^ (~x & z));
444 return((x & y) ^ (x & z) ^ (y & z));
455 return(
Trunc64((x >> n) | (x << (64-n))));
460#define Sigma0(x) (RotateRight(x,1) ^ RotateRight(x,8) ^ Trunc64((x) >> 7))
461#define Sigma1(x) (RotateRight(x,19) ^ RotateRight(x,61) ^ Trunc64((x) >> 6))
462#define Suma0(x) (RotateRight(x,28) ^ RotateRight(x,34) ^ RotateRight(x,39))
463#define Suma1(x) (RotateRight(x,14) ^ RotateRight(x,18) ^ RotateRight(x,41))
575 for (i=0; i < 16; i++)
582 for (i=0; i < 16; i++)
607 for (i=16; i < 80; i++)
609 for (j=0; j < 80; j++)
647 (void) memset(W,0,
sizeof(W));
697 if (length < sha_info->low_order)
702 if (sha_info->
offset != 0)
#define WizardAssert(domain, predicate)
#define ThrowWizardFatalError(domain, error)
WizardBooleanType LogWizardEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
#define GetWizardModule()
static unsigned int H(const unsigned int x, const unsigned int y, const unsigned int z)
static unsigned int F(const unsigned int x, const unsigned int y, const unsigned int z)
static unsigned int G(const unsigned int x, const unsigned int y, const unsigned int z)
WizardExport void * AcquireWizardMemory(const size_t size)
WizardExport void * CopyWizardMemory(void *destination, const void *source, const size_t size)
WizardExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
WizardExport void * RelinquishWizardMemory(void *memory)
WizardExport WizardBooleanType FinalizeSHA2512(SHA2512Info *sha_info)
WizardExport const StringInfo * GetSHA2512Digest(const SHA2512Info *sha2512_info)
WizardExport WizardBooleanType InitializeSHA2512(SHA2512Info *sha_info)
WizardExport unsigned int GetSHA2512Digestsize(const SHA2512Info *sha2512_info)
static void TransformSHA2512(SHA2512Info *)
#define SHA2512Digestsize
WizardExport SHA2512Info * AcquireSHA2512Info(void)
WizardExport WizardBooleanType UpdateSHA2512(SHA2512Info *sha_info, const StringInfo *message)
WizardExport SHA2512Info * DestroySHA2512Info(SHA2512Info *sha_info)
static WizardSizeType Trunc64(const WizardSizeType x)
WizardExport unsigned int GetSHA2512Blocksize(const SHA2512Info *sha2512_info)
#define RotateRight(x, n)
WizardExport size_t GetStringInfoLength(const StringInfo *string_info)
WizardExport StringInfo * AcquireStringInfo(const size_t length)
WizardExport void SetStringInfoDatum(StringInfo *string_info, const unsigned char *source)
WizardExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
WizardExport StringInfo * DestroyStringInfo(StringInfo *string_info)
WizardBooleanType lsb_first
WizardSizeType * accumulator
WizardSizeType high_order
#define WizardULLConstant(c)