linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: linux-crypto@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-ppp@vger.kernel.org
Subject: Re: [PATCH v2] crypto: add blkcipher implementation of ARC4
Date: Tue, 6 Apr 2010 22:30:02 +0200	[thread overview]
Message-ID: <20100406203002.GA1842@Chamillionaire.breakpoint.cc> (raw)
In-Reply-To: <20100406124412.GA24488@gondor.apana.org.au>

* Herbert Xu | 2010-04-06 20:44:12 [+0800]:

>On Mon, Apr 05, 2010 at 07:04:06PM +0200, Sebastian Andrzej Siewior wrote:
>>
>> +static void arc4_key_to_iv(const u8 *in_key, u32 key_len, struct arc4_iv *iv)
>> +{
>> +	int i, j = 0, k = 0;
>> +
>> +	iv->iv.x = 1;
>> +	iv->iv.y = 0;
>> +
>> +	for (i = 0; i < 256; i++)
>> +		iv->iv.S[i] = i;
>> +
>> +	for (i = 0; i < 256; i++)
>> +	{
>> +		u8 a = iv->iv.S[i];
>> +		j = (j + in_key[k] + a) & 0xff;
>> +		iv->iv.S[i] = iv->iv.S[j];
>> +		iv->iv.S[j] = a;
>> +		if (++k >= key_len)
>> +			k = 0;
>> +	}
>> +}
>> +
>> +static void arc4_ivsetup(struct arc4_iv *iv)
>> +{
>> +	struct arc4_iv tmp_iv;
>> +
>> +	if (iv->type == ARC4_TYPE_IV)
>> +		return;
>> +
>> +	memcpy(&tmp_iv, iv, sizeof(tmp_iv));
>> +	arc4_key_to_iv(tmp_iv.key.key, tmp_iv.key.key_len, iv);
>> +	iv->type = ARC4_TYPE_IV;
>> +}
>
>We need to verify that 1 <= key_len <= 256.
Good point. All arc4 users don't care about return value of setkey so I
think that I just change void to int add the check for the valid key
length.

While we are here, the .setkey() callback could be removed, couldn't it?
It returns 0 even it is doing nothing what looks kinda wrong. However it
shouldn't be called at all since min/max key is 0. Any objections on
that?

>
>Cheers,

Sebastian

  reply	other threads:[~2010-04-06 20:30 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-03  7:49 Convert arc4 from a cipher into a block cipher Sebastian Andrzej Siewior
2010-04-03  7:49 ` [PATCH 1/7] crypto: rename arc4 Sebastian Andrzej Siewior
     [not found] ` <1270280969-11357-1-git-send-email-sebastian-E0PNVn5OA6ohrxcnuTQ+TQ@public.gmane.org>
2010-04-03  7:49   ` [PATCH 2/7] crypto: add blkcipher implementation of ARC4 Sebastian Andrzej Siewior
2010-04-05  8:42     ` Herbert Xu
2010-04-05 17:04       ` [PATCH v2] " Sebastian Andrzej Siewior
2010-04-06 12:44         ` Herbert Xu
2010-04-06 20:30           ` Sebastian Andrzej Siewior [this message]
2010-04-07  0:31             ` Herbert Xu
2010-04-07  8:23               ` Sebastian Andrzej Siewior
2010-04-07  9:25                 ` Herbert Xu
2010-04-07  6:19         ` Pavel Roskin
2010-04-07  8:29           ` Sebastian Andrzej Siewior
2010-04-07 16:31             ` Pavel Roskin
2010-04-05 20:33   ` Convert arc4 from a cipher into a block cipher Pavel Roskin
2010-04-06  0:39     ` Herbert Xu
2010-04-03  7:49 ` [PATCH 3/7] crypto/testmgr: add testing for arc4 based on ecb(arc4) Sebastian Andrzej Siewior
2010-04-07  6:29   ` Pavel Roskin
2010-04-07  9:29     ` Herbert Xu
     [not found]       ` <20100407092907.GB29993-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2010-04-08  7:58         ` Sebastian Andrzej Siewior
2010-04-03  7:49 ` [PATCH 4/7] net/wireless: switch lib80211_crypt_tkip from arc4 to arc4blk Sebastian Andrzej Siewior
     [not found]   ` <1270280969-11357-5-git-send-email-sebastian-E0PNVn5OA6ohrxcnuTQ+TQ@public.gmane.org>
2010-04-05 17:13     ` John W. Linville
2010-04-03  7:49 ` [PATCH 5/7] net/wireless: switch lib80211_crypt_wep " Sebastian Andrzej Siewior
2010-04-05 17:13   ` John W. Linville
2010-04-03  7:49 ` [PATCH 6/7] net/mac80211: convert wep " Sebastian Andrzej Siewior
2010-04-05 17:15   ` John W. Linville
2010-04-03  7:49 ` [PATCH 7/7] net/ppp_mppe: convert " Sebastian Andrzej Siewior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100406203002.GA1842@Chamillionaire.breakpoint.cc \
    --to=sebastian@breakpoint.cc \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-ppp@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).