cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sha3.h (879B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Common values for SHA-3 algorithms
      4 */
      5#ifndef __CRYPTO_SHA3_H__
      6#define __CRYPTO_SHA3_H__
      7
      8#define SHA3_224_DIGEST_SIZE	(224 / 8)
      9#define SHA3_224_BLOCK_SIZE	(200 - 2 * SHA3_224_DIGEST_SIZE)
     10
     11#define SHA3_256_DIGEST_SIZE	(256 / 8)
     12#define SHA3_256_BLOCK_SIZE	(200 - 2 * SHA3_256_DIGEST_SIZE)
     13
     14#define SHA3_384_DIGEST_SIZE	(384 / 8)
     15#define SHA3_384_BLOCK_SIZE	(200 - 2 * SHA3_384_DIGEST_SIZE)
     16
     17#define SHA3_512_DIGEST_SIZE	(512 / 8)
     18#define SHA3_512_BLOCK_SIZE	(200 - 2 * SHA3_512_DIGEST_SIZE)
     19
     20struct sha3_state {
     21	u64		st[25];
     22	unsigned int	rsiz;
     23	unsigned int	rsizw;
     24
     25	unsigned int	partial;
     26	u8		buf[SHA3_224_BLOCK_SIZE];
     27};
     28
     29int crypto_sha3_init(struct shash_desc *desc);
     30int crypto_sha3_update(struct shash_desc *desc, const u8 *data,
     31		       unsigned int len);
     32int crypto_sha3_final(struct shash_desc *desc, u8 *out);
     33
     34#endif