![Jussi Kivilinna](/assets/img/avatar_default.png)
Serpent SSE2 assembler implementations only provide 4-way/8-way parallel functions and need setkey and one-block encrypt/decrypt functions. CC: Dag Arne Osvik <osvik@ii.uib.no> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
26 lines
583 B
C
26 lines
583 B
C
/*
|
|
* Common values for serpent algorithms
|
|
*/
|
|
|
|
#ifndef _CRYPTO_SERPENT_H
|
|
#define _CRYPTO_SERPENT_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/crypto.h>
|
|
|
|
#define SERPENT_MIN_KEY_SIZE 0
|
|
#define SERPENT_MAX_KEY_SIZE 32
|
|
#define SERPENT_EXPKEY_WORDS 132
|
|
#define SERPENT_BLOCK_SIZE 16
|
|
|
|
struct serpent_ctx {
|
|
u32 expkey[SERPENT_EXPKEY_WORDS];
|
|
};
|
|
|
|
int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen);
|
|
|
|
void __serpent_encrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src);
|
|
void __serpent_decrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src);
|
|
|
|
#endif
|