mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2025-09-17 23:44:27 +00:00
59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
/*
|
|
* file : hash_api.h
|
|
* version : 1.0.208
|
|
* date : 14.12.2010
|
|
*
|
|
* ECHO vperm implementation Hash API
|
|
*
|
|
* Cagdas Calik
|
|
* ccalik@metu.edu.tr
|
|
* Institute of Applied Mathematics, Middle East Technical University, Turkey.
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef HASH_API_H
|
|
#define HASH_API_H
|
|
|
|
#ifndef NO_AES_NI
|
|
#define HASH_IMPL_STR "ECHO-aesni"
|
|
#else
|
|
#define HASH_IMPL_STR "ECHO-vperm"
|
|
#endif
|
|
|
|
|
|
#include "algo/sha3/sha3_common.h"
|
|
|
|
#include <emmintrin.h>
|
|
|
|
|
|
typedef struct
|
|
{
|
|
__m128i state[4][4];
|
|
__m128i k;
|
|
__m128i hashsize;
|
|
__m128i const1536;
|
|
|
|
unsigned int uRounds;
|
|
unsigned int uHashSize;
|
|
unsigned int uBlockLength;
|
|
unsigned int uBufferBytes;
|
|
DataLength processed_bits;
|
|
BitSequence buffer[192];
|
|
|
|
} hashState_echo;
|
|
|
|
HashReturn init_echo(hashState_echo *state, int hashbitlen);
|
|
|
|
HashReturn reinit_echo(hashState_echo *state);
|
|
|
|
HashReturn update_echo(hashState_echo *state, const BitSequence *data, DataLength databitlen);
|
|
|
|
HashReturn final_echo(hashState_echo *state, BitSequence *hashval);
|
|
|
|
HashReturn hash_echo(int hashbitlen, const BitSequence *data, DataLength databitlen, BitSequence *hashval);
|
|
|
|
|
|
#endif // HASH_API_H
|
|
|