forked from Minki/linux
crypto: n2 - remove ecb(arc4) support
Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
e33d2a7b30
commit
b2ba047684
@ -662,7 +662,6 @@ struct n2_skcipher_context {
|
|||||||
u8 aes[AES_MAX_KEY_SIZE];
|
u8 aes[AES_MAX_KEY_SIZE];
|
||||||
u8 des[DES_KEY_SIZE];
|
u8 des[DES_KEY_SIZE];
|
||||||
u8 des3[3 * DES_KEY_SIZE];
|
u8 des3[3 * DES_KEY_SIZE];
|
||||||
u8 arc4[258]; /* S-box, X, Y */
|
|
||||||
} key;
|
} key;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -789,36 +788,6 @@ static int n2_3des_setkey(struct crypto_skcipher *skcipher, const u8 *key,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int n2_arc4_setkey(struct crypto_skcipher *skcipher, const u8 *key,
|
|
||||||
unsigned int keylen)
|
|
||||||
{
|
|
||||||
struct crypto_tfm *tfm = crypto_skcipher_tfm(skcipher);
|
|
||||||
struct n2_skcipher_context *ctx = crypto_tfm_ctx(tfm);
|
|
||||||
struct n2_skcipher_alg *n2alg = n2_skcipher_alg(skcipher);
|
|
||||||
u8 *s = ctx->key.arc4;
|
|
||||||
u8 *x = s + 256;
|
|
||||||
u8 *y = x + 1;
|
|
||||||
int i, j, k;
|
|
||||||
|
|
||||||
ctx->enc_type = n2alg->enc_type;
|
|
||||||
|
|
||||||
j = k = 0;
|
|
||||||
*x = 0;
|
|
||||||
*y = 0;
|
|
||||||
for (i = 0; i < 256; i++)
|
|
||||||
s[i] = i;
|
|
||||||
for (i = 0; i < 256; i++) {
|
|
||||||
u8 a = s[i];
|
|
||||||
j = (j + key[k] + a) & 0xff;
|
|
||||||
s[i] = s[j];
|
|
||||||
s[j] = a;
|
|
||||||
if (++k >= keylen)
|
|
||||||
k = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int skcipher_descriptor_len(int nbytes, unsigned int block_size)
|
static inline int skcipher_descriptor_len(int nbytes, unsigned int block_size)
|
||||||
{
|
{
|
||||||
int this_len = nbytes;
|
int this_len = nbytes;
|
||||||
@ -1122,21 +1091,6 @@ struct n2_skcipher_tmpl {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct n2_skcipher_tmpl skcipher_tmpls[] = {
|
static const struct n2_skcipher_tmpl skcipher_tmpls[] = {
|
||||||
/* ARC4: only ECB is supported (chaining bits ignored) */
|
|
||||||
{ .name = "ecb(arc4)",
|
|
||||||
.drv_name = "ecb-arc4",
|
|
||||||
.block_size = 1,
|
|
||||||
.enc_type = (ENC_TYPE_ALG_RC4_STREAM |
|
|
||||||
ENC_TYPE_CHAINING_ECB),
|
|
||||||
.skcipher = {
|
|
||||||
.min_keysize = 1,
|
|
||||||
.max_keysize = 256,
|
|
||||||
.setkey = n2_arc4_setkey,
|
|
||||||
.encrypt = n2_encrypt_ecb,
|
|
||||||
.decrypt = n2_decrypt_ecb,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
/* DES: ECB CBC and CFB are supported */
|
/* DES: ECB CBC and CFB are supported */
|
||||||
{ .name = "ecb(des)",
|
{ .name = "ecb(des)",
|
||||||
.drv_name = "ecb-des",
|
.drv_name = "ecb-des",
|
||||||
|
Loading…
Reference in New Issue
Block a user