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 des[DES_KEY_SIZE];
|
||||
u8 des3[3 * DES_KEY_SIZE];
|
||||
u8 arc4[258]; /* S-box, X, Y */
|
||||
} key;
|
||||
};
|
||||
|
||||
@ -789,36 +788,6 @@ static int n2_3des_setkey(struct crypto_skcipher *skcipher, const u8 *key,
|
||||
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)
|
||||
{
|
||||
int this_len = nbytes;
|
||||
@ -1122,21 +1091,6 @@ struct n2_skcipher_tmpl {
|
||||
};
|
||||
|
||||
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 */
|
||||
{ .name = "ecb(des)",
|
||||
.drv_name = "ecb-des",
|
||||
|
Loading…
Reference in New Issue
Block a user