sqhash.h

来自「一些加密解密的源代码」· C头文件 代码 · 共 38 行

H
38
字号
#ifndef __SQHASH_H
#define __SQHASH_H

/*
	Hashing support

	IMPORTANT REMARK: input buffers to the hashing functions
	must be word-aligned on machines which have this as a requirement.
*/

#include "square.h"

/* Matyas-Meyer-Oseas single block length hashing scheme: */
typedef struct {
	squareBlock digest;
	squareBlock block; /* context data block */
	unsigned occupied; /* number of occupied bytes in the data block */
	word32 byteCount[2]; /* 64-bit message byte count */
	squareKeySchedule roundKeys;
} squareHashContext;

void squareHashInit   (squareHashContext *ctxHash);
	/* Initialize a Square hashing context. */
void squareHashUpdate (squareHashContext *ctxHash, const byte *dataBuffer, unsigned dataLength);
	/* Updates a Square hashing context with a data buffer dataBuffer of length dataLength. */
void squareHashFinal  (squareHashContext *ctxHash, squareBlock digest);
	/* Finished evaluation of a 128-bit Square digest, clearing the context. */
void squareHash (const byte *dataBuffer, unsigned dataLength, squareBlock digest);
	/* Hash a single message dataBuffer of length dataLength into a 128-bit Square digest */

#if 0
/* Knudsen-Preneel double block length hashing scheme: */
void squareHashKP (const byte *dataBuffer, unsigned dataLength, byte digest[2*SQUARE_BLOCKSIZE]);
	/* Hash a single message dataBuffer of length dataLength into a 128-bit Square digest */
#endif

#endif /* __SQHASH_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?