author | Alistair Strachan <astrachan@google.com> | 2018-10-22 19:46:58 (GMT) |
---|---|---|
committer | Alistair Strachan <astrachan@google.com> | 2018-10-22 19:46:58 (GMT) |
commit | 5c9027cbd457318444f6990619ff98048fdd0a3f (patch) | |
tree | 4f8f2859fd24fafe5fd55edacdfe47388af8af36 | |
parent | 54f177e3fab6d667863f2c670ef5562cb8b135a4 (diff) | |
download | common-5c9027cbd457318444f6990619ff98048fdd0a3f.zip common-5c9027cbd457318444f6990619ff98048fdd0a3f.tar.gz common-5c9027cbd457318444f6990619ff98048fdd0a3f.tar.bz2 |
Revert "FROMGIT: crypto: speck - export common helpers"
This reverts commit f1f456e05a3f659cdd4396e0285f2045072d75da.
Bug: 116008047
Change-Id: I9d0a8357be1ab090a793646716771015299fb7fe
Signed-off-by: Alistair Strachan <astrachan@google.com>
-rw-r--r-- | crypto/speck.c | 90 | ||||
-rw-r--r-- | include/crypto/speck.h | 62 |
2 files changed, 41 insertions, 111 deletions
diff --git a/crypto/speck.c b/crypto/speck.c index 58aa9f7..4e80ad7 100644 --- a/crypto/speck.c +++ b/crypto/speck.c @@ -24,7 +24,6 @@ */ #include <asm/unaligned.h> -#include <crypto/speck.h> #include <linux/bitops.h> #include <linux/crypto.h> #include <linux/init.h> @@ -32,6 +31,22 @@ /* Speck128 */ +#define SPECK128_BLOCK_SIZE 16 + +#define SPECK128_128_KEY_SIZE 16 +#define SPECK128_128_NROUNDS 32 + +#define SPECK128_192_KEY_SIZE 24 +#define SPECK128_192_NROUNDS 33 + +#define SPECK128_256_KEY_SIZE 32 +#define SPECK128_256_NROUNDS 34 + +struct speck128_tfm_ctx { + u64 round_keys[SPECK128_256_NROUNDS]; + int nrounds; +}; + static __always_inline void speck128_round(u64 *x, u64 *y, u64 k) { *x = ror64(*x, 8); @@ -50,9 +65,9 @@ static __always_inline void speck128_unround(u64 *x, u64 *y, u64 k) *x = rol64(*x, 8); } -void crypto_speck128_encrypt(const struct speck128_tfm_ctx *ctx, - u8 *out, const u8 *in) +static void speck128_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) { + const struct speck128_tfm_ctx *ctx = crypto_tfm_ctx(tfm); u64 y = get_unaligned_le64(in); u64 x = get_unaligned_le64(in + 8); int i; @@ -63,16 +78,10 @@ void crypto_speck128_encrypt(const struct speck128_tfm_ctx *ctx, put_unaligned_le64(y, out); put_unaligned_le64(x, out + 8); } -EXPORT_SYMBOL_GPL(crypto_speck128_encrypt); - -static void speck128_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) -{ - crypto_speck128_encrypt(crypto_tfm_ctx(tfm), out, in); -} -void crypto_speck128_decrypt(const struct speck128_tfm_ctx *ctx, - u8 *out, const u8 *in) +static void speck128_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) { + const struct speck128_tfm_ctx *ctx = crypto_tfm_ctx(tfm); u64 y = get_unaligned_le64(in); u64 x = get_unaligned_le64(in + 8); int i; @@ -83,16 +92,11 @@ void crypto_speck128_decrypt(const struct speck128_tfm_ctx *ctx, put_unaligned_le64(y, out); put_unaligned_le64(x, out + 8); } -EXPORT_SYMBOL_GPL(crypto_speck128_decrypt); - -static void speck128_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) -{ - crypto_speck128_decrypt(crypto_tfm_ctx(tfm), out, in); -} -int crypto_speck128_setkey(struct speck128_tfm_ctx *ctx, const u8 *key, +static int speck128_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen) { + struct speck128_tfm_ctx *ctx = crypto_tfm_ctx(tfm); u64 l[3]; u64 k; int i; @@ -134,16 +138,22 @@ int crypto_speck128_setkey(struct speck128_tfm_ctx *ctx, const u8 *key, return 0; } -EXPORT_SYMBOL_GPL(crypto_speck128_setkey); - -static int speck128_setkey(struct crypto_tfm *tfm, const u8 *key, - unsigned int keylen) -{ - return crypto_speck128_setkey(crypto_tfm_ctx(tfm), key, keylen); -} /* Speck64 */ +#define SPECK64_BLOCK_SIZE 8 + +#define SPECK64_96_KEY_SIZE 12 +#define SPECK64_96_NROUNDS 26 + +#define SPECK64_128_KEY_SIZE 16 +#define SPECK64_128_NROUNDS 27 + +struct speck64_tfm_ctx { + u32 round_keys[SPECK64_128_NROUNDS]; + int nrounds; +}; + static __always_inline void speck64_round(u32 *x, u32 *y, u32 k) { *x = ror32(*x, 8); @@ -162,9 +172,9 @@ static __always_inline void speck64_unround(u32 *x, u32 *y, u32 k) *x = rol32(*x, 8); } -void crypto_speck64_encrypt(const struct speck64_tfm_ctx *ctx, - u8 *out, const u8 *in) +static void speck64_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) { + const struct speck64_tfm_ctx *ctx = crypto_tfm_ctx(tfm); u32 y = get_unaligned_le32(in); u32 x = get_unaligned_le32(in + 4); int i; @@ -175,16 +185,10 @@ void crypto_speck64_encrypt(const struct speck64_tfm_ctx *ctx, put_unaligned_le32(y, out); put_unaligned_le32(x, out + 4); } -EXPORT_SYMBOL_GPL(crypto_speck64_encrypt); -static void speck64_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) -{ - crypto_speck64_encrypt(crypto_tfm_ctx(tfm), out, in); -} - -void crypto_speck64_decrypt(const struct speck64_tfm_ctx *ctx, - u8 *out, const u8 *in) +static void speck64_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) { + const struct speck64_tfm_ctx *ctx = crypto_tfm_ctx(tfm); u32 y = get_unaligned_le32(in); u32 x = get_unaligned_le32(in + 4); int i; @@ -195,16 +199,11 @@ void crypto_speck64_decrypt(const struct speck64_tfm_ctx *ctx, put_unaligned_le32(y, out); put_unaligned_le32(x, out + 4); } -EXPORT_SYMBOL_GPL(crypto_speck64_decrypt); -static void speck64_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) -{ - crypto_speck64_decrypt(crypto_tfm_ctx(tfm), out, in); -} - -int crypto_speck64_setkey(struct speck64_tfm_ctx *ctx, const u8 *key, +static int speck64_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen) { + struct speck64_tfm_ctx *ctx = crypto_tfm_ctx(tfm); u32 l[3]; u32 k; int i; @@ -237,13 +236,6 @@ int crypto_speck64_setkey(struct speck64_tfm_ctx *ctx, const u8 *key, return 0; } -EXPORT_SYMBOL_GPL(crypto_speck64_setkey); - -static int speck64_setkey(struct crypto_tfm *tfm, const u8 *key, - unsigned int keylen) -{ - return crypto_speck64_setkey(crypto_tfm_ctx(tfm), key, keylen); -} /* Algorithm definitions */ diff --git a/include/crypto/speck.h b/include/crypto/speck.h deleted file mode 100644 index 73cfc95..0000000 --- a/include/crypto/speck.h +++ b/dev/null @@ -1,62 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Common values for the Speck algorithm - */ - -#ifndef _CRYPTO_SPECK_H -#define _CRYPTO_SPECK_H - -#include <linux/types.h> - -/* Speck128 */ - -#define SPECK128_BLOCK_SIZE 16 - -#define SPECK128_128_KEY_SIZE 16 -#define SPECK128_128_NROUNDS 32 - -#define SPECK128_192_KEY_SIZE 24 -#define SPECK128_192_NROUNDS 33 - -#define SPECK128_256_KEY_SIZE 32 -#define SPECK128_256_NROUNDS 34 - -struct speck128_tfm_ctx { - u64 round_keys[SPECK128_256_NROUNDS]; - int nrounds; -}; - -void crypto_speck128_encrypt(const struct speck128_tfm_ctx *ctx, - u8 *out, const u8 *in); - -void crypto_speck128_decrypt(const struct speck128_tfm_ctx *ctx, - u8 *out, const u8 *in); - -int crypto_speck128_setkey(struct speck128_tfm_ctx *ctx, const u8 *key, - unsigned int keysize); - -/* Speck64 */ - -#define SPECK64_BLOCK_SIZE 8 - -#define SPECK64_96_KEY_SIZE 12 -#define SPECK64_96_NROUNDS 26 - -#define SPECK64_128_KEY_SIZE 16 -#define SPECK64_128_NROUNDS 27 - -struct speck64_tfm_ctx { - u32 round_keys[SPECK64_128_NROUNDS]; - int nrounds; -}; - -void crypto_speck64_encrypt(const struct speck64_tfm_ctx *ctx, - u8 *out, const u8 *in); - -void crypto_speck64_decrypt(const struct speck64_tfm_ctx *ctx, - u8 *out, const u8 *in); - -int crypto_speck64_setkey(struct speck64_tfm_ctx *ctx, const u8 *key, - unsigned int keysize); - -#endif /* _CRYPTO_SPECK_H */ |