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

twofish.h (743B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _CRYPTO_TWOFISH_H
      3#define _CRYPTO_TWOFISH_H
      4
      5#include <linux/types.h>
      6
      7#define TF_MIN_KEY_SIZE 16
      8#define TF_MAX_KEY_SIZE 32
      9#define TF_BLOCK_SIZE 16
     10
     11struct crypto_tfm;
     12
     13/* Structure for an expanded Twofish key.  s contains the key-dependent
     14 * S-boxes composed with the MDS matrix; w contains the eight "whitening"
     15 * subkeys, K[0] through K[7].	k holds the remaining, "round" subkeys.  Note
     16 * that k[i] corresponds to what the Twofish paper calls K[i+8]. */
     17struct twofish_ctx {
     18	u32 s[4][256], w[8], k[32];
     19};
     20
     21int __twofish_setkey(struct twofish_ctx *ctx, const u8 *key,
     22		     unsigned int key_len);
     23int twofish_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key_len);
     24
     25#endif