Re: A variation of RC4
From: Mok-Kong Shen (mok-kong.shen_at_t-online.de)
Date: 02/24/04
- Next message: Benjamin Choi: "Re: Blow Blowfish"
- Previous message: John E. Hadstate: "Re: Fast 32-bit Hash"
- In reply to: Aldo: "Re: A variation of RC4"
- Next in thread: Aldo: "Re: A variation of RC4"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Tue, 24 Feb 2004 12:49:01 +0100
Aldo wrote:
> Mok-Kong Shen <mok-kong.shen@t-online.de> wrote in message news:<c1cf3l$odk$01$2@news.t-online.com>...
>
>>In producing each output byte, RC4 modifies its 8*8 S-box
>>by swapping two elements indexed by two counters. A higher
>>rate of modification of the S-box could evidently be
>>achieved in a similar fashion thru employing more counters.
>>A version using three counters i, j and m (initialized to
>>zero) would run as follows:
>>
>> i = (i + 1) mod 256
>> j = (j + S_i) mod 256
>> m = (m + S_j) mod 256
>> rotate (S_i, S_j, S_m)
>
>
> How you intend to rotate() in case i=j, (or j=m, or i=m)?
> The rotate() should then reduce to a simple swap().
> Your rotate() will be cumbersome to program.
I mentioned this issue in a post sent after the original
post. One should check for duplicates and eliminate them,
so that one gets elements in the parentheses that are unique.
This defines a proper meaning of 'rotate'. (Otherwise, there
could be interpretation problems.) That in case e.g. i=j=m
the 'rotate' degenerates to a null statement is o.k. (this
is just a chance event), isn't it? The work involved is
normal programming technique in my view, being simply
implemenatable e.g. with if-then-else.
M. K. Shen
- Next message: Benjamin Choi: "Re: Blow Blowfish"
- Previous message: John E. Hadstate: "Re: Fast 32-bit Hash"
- In reply to: Aldo: "Re: A variation of RC4"
- Next in thread: Aldo: "Re: A variation of RC4"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]