diff options
author | Jussi Kivilinna <jussi.kivilinna@mbnet.fi> | 2011-10-17 17:03:08 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2011-11-08 22:43:00 -0500 |
commit | bc83b8299cb4ac2a9f64215a04854e4c934d1510 (patch) | |
tree | 706503a1a84e12d0c5de95600ff65fa11cc799e8 /include/crypto | |
parent | 7fb7fe4469d0b870a031a5d33676343979b80625 (diff) |
crypto: serpent - export common functions for x86_64/i386-sse2 assembler implementations
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>
Diffstat (limited to 'include/crypto')
-rw-r--r-- | include/crypto/serpent.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/crypto/serpent.h b/include/crypto/serpent.h new file mode 100644 index 00000000000..40df885f9d1 --- /dev/null +++ b/include/crypto/serpent.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Common values for serpent algorithms | ||
3 | */ | ||
4 | |||
5 | #ifndef _CRYPTO_SERPENT_H | ||
6 | #define _CRYPTO_SERPENT_H | ||
7 | |||
8 | #include <linux/types.h> | ||
9 | #include <linux/crypto.h> | ||
10 | |||
11 | #define SERPENT_MIN_KEY_SIZE 0 | ||
12 | #define SERPENT_MAX_KEY_SIZE 32 | ||
13 | #define SERPENT_EXPKEY_WORDS 132 | ||
14 | #define SERPENT_BLOCK_SIZE 16 | ||
15 | |||
16 | struct serpent_ctx { | ||
17 | u32 expkey[SERPENT_EXPKEY_WORDS]; | ||
18 | }; | ||
19 | |||
20 | int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen); | ||
21 | |||
22 | void __serpent_encrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src); | ||
23 | void __serpent_decrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src); | ||
24 | |||
25 | #endif | ||