yggm/libs/sha512.cuh
2025-03-15 01:38:00 +05:00

15 lines
790 B
Plaintext

#ifndef __SHA512_CUH
#define __SHA512_CUH
struct sha512_state {
unsigned long h[8];
};
extern __device__ __constant__ sha512_state sha512_initial_state;
extern __device__ __constant__ unsigned long round_k[80];
__device__ __forceinline__ unsigned long load64(const unsigned char* x);
__device__ __forceinline__ void store64(unsigned char* x, unsigned long v);
__device__ __forceinline__ unsigned long rot64(unsigned long x, int bits);
__device__ __forceinline__ void sha512_block(sha512_state* s, const unsigned char* blk);
__device__ void sha512_final(sha512_state* s, const unsigned char* blk, unsigned long total_size);
__device__ void sha512_get(const sha512_state* s, unsigned char* hash, unsigned int offset, unsigned int len);
__device__ void sha512_init(sha512_state* s);
#endif