From: Mok-Kong Shen on

As I understand it, one main feature of the stream cipher RC4 is its
array S, which contains a randomly ordered alphabet [0..255] that is
dynamically modified via swapping of two of its elements each time a
symbol is being processed. Wouldn't dynamics also be advantageous for
block ciphers?

One could perhaps say that certain dynamics is actually already
exploited in block encryptions. In the CBC mode, the processing
of a block is 'dynamically' influenced by the ciphertext of the
preceding block. However, what I mean here is dynamics within the
processing of the block algorithm itself (from its input to its output,
thus excluding the chaining value). Of course, very "wild" dynamics
could be very dangerous, for their effects couldn't be easily studied.
But couldn't some more or less "mild" dynamics nonetheless be allowed?
Consider, for instance, AES, where each round (excepting the last)
consists of the four components SubBytes, ShiftRows, MixColumns and
AddRoungkey in this order. Would it really matter very much, if the
order of these components is changed? As layman I guess it wouldn't.
If that's indeed true, then one could at algorithm initialization time
use the key to determine randomly an order for each round and
subsequently at run time dynamically modify these orders, employing
e.g. certain values taken during the processing of the preceding
block to do the modifications. In the same vein, the order of the round
keys could be dynamically permuted at run time. That such dynamics
would render analysis much harder seems evident, since it depends
ultimately on the particular plaintext being processed and hence is
unknown to the analyst. Note that all modifications mentioned above are
"mild", for we don't change e.g. the values of the round keys as such
but merely their order.

Thanks.

M. K. Shen
From: unruh on
On 2010-03-02, Mok-Kong Shen <mok-kong.shen(a)t-online.de> wrote:
>
> As I understand it, one main feature of the stream cipher RC4 is its
> array S, which contains a randomly ordered alphabet [0..255] that is
> dynamically modified via swapping of two of its elements each time a
> symbol is being processed. Wouldn't dynamics also be advantageous for
> block ciphers?

That is in a sense what the various chaining modes try to give. But the
problem is recovery from errors. If one byte of the encrypted text
occurs, can the cypher recover from that and still decrypt the rest.
If the algorithm itself is dynamic, this would seem to be impossible.
The decryption of the current byte depends on all of the previous bytes.
>
> One could perhaps say that certain dynamics is actually already
> exploited in block encryptions. In the CBC mode, the processing
> of a block is 'dynamically' influenced by the ciphertext of the
> preceding block. However, what I mean here is dynamics within the
> processing of the block algorithm itself (from its input to its output,
> thus excluding the chaining value). Of course, very "wild" dynamics
> could be very dangerous, for their effects couldn't be easily studied.
> But couldn't some more or less "mild" dynamics nonetheless be allowed?
> Consider, for instance, AES, where each round (excepting the last)
> consists of the four components SubBytes, ShiftRows, MixColumns and
> AddRoungkey in this order. Would it really matter very much, if the
> order of these components is changed? As layman I guess it wouldn't.
> If that's indeed true, then one could at algorithm initialization time
> use the key to determine randomly an order for each round and
> subsequently at run time dynamically modify these orders, employing
> e.g. certain values taken during the processing of the preceding
> block to do the modifications. In the same vein, the order of the round
> keys could be dynamically permuted at run time. That such dynamics
> would render analysis much harder seems evident, since it depends
> ultimately on the particular plaintext being processed and hence is
> unknown to the analyst. Note that all modifications mentioned above are
> "mild", for we don't change e.g. the values of the round keys as such
> but merely their order.
>
> Thanks.
>
> M. K. Shen
From: Mok-Kong Shen on
unruh wrote:
> Mok-Kong Shen wrote:
>>
>> As I understand it, one main feature of the stream cipher RC4 is its
>> array S, which contains a randomly ordered alphabet [0..255] that is
>> dynamically modified via swapping of two of its elements each time a
>> symbol is being processed. Wouldn't dynamics also be advantageous for
>> block ciphers?
>
> That is in a sense what the various chaining modes try to give. But the
> problem is recovery from errors. If one byte of the encrypted text
> occurs, can the cypher recover from that and still decrypt the rest.
> If the algorithm itself is dynamic, this would seem to be impossible.
> The decryption of the current byte depends on all of the previous bytes.

I don't think the issue of technical errors is anything grave, given
today's hightech standard. For all transmission errors are well dealt
with in lower layers of protocol and computers are more reliable than
ever in my humble view. Or do you mean human handling errors? But
also an overwhelmingly large part of what was previously done by humans
in matters of communications has been taken over by machine and often
data entered by humans are checked for plausibility by machine.
Certainly the human factor can never be completely eliminated. But I am
of the humble opinion that one could neglect the disadvantages of
eventual consequences resulting from remaining chance errors in view of
the advantages achievable from (almost) full automation.

Thanks.

M. K. Shen

From: Mok-Kong Shen on
Mok-Kong Shen wrote:
>
> ........... That such dynamics
> would render analysis much harder seems evident, since it depends
> ultimately on the particular plaintext being processed and hence is
> unknown to the analyst.[snip]

I think that such (proper, "inner" and rather simple to implement)
dynamics, plus further the possibility, as I recently suggested, of
employing the "outer" (being outside of the algorithm as such) dynamics
of changing keys (a master key generates the encryption keys for the
individual blocks using e.g. a block cipher in counter mode) for every
block, or after a number of blocks as dynamically determined by certan
values obtained during the processing of a preceding block, would
"fundamentally" foil the chance of any practical success of the
currently well-known analysis techniques, including the more recent
algebraic analysis.

M. K. Shen

From: biject on
On Mar 2, 3:23 pm, Mok-Kong Shen <mok-kong.s...(a)t-online.de> wrote:
> unruh wrote:
> > Mok-Kong Shen wrote:
>
> >> As I understand it, one main feature of the stream cipher RC4 is its
> >> array S, which contains a randomly ordered alphabet [0..255] that is
> >> dynamically modified via swapping of two of its elements each time a
> >> symbol is being processed. Wouldn't dynamics also be advantageous for
> >> block ciphers?
>
> > That is in a sense what the various chaining modes try to give. But the
> > problem is recovery from errors. If one byte of the encrypted text
> > occurs, can the cypher recover from that and still decrypt the rest.
> > If the algorithm itself is dynamic, this would seem to be impossible.
> > The decryption of the current byte depends on all of the previous bytes..
>
> I don't think the issue of technical errors is anything grave, given
> today's hightech standard. For all transmission errors are well dealt
> with in lower layers of protocol and computers are more reliable than
> ever in my humble view. Or do you mean human handling errors? But
> also an overwhelmingly large part of what was previously done by humans
> in matters of communications has been taken over by machine and often
> data entered by humans are checked for plausibility by machine.
> Certainly the human factor can never be completely eliminated. But I am
> of the humble opinion that one could neglect the disadvantages of
> eventual consequences resulting from remaining chance errors in view of
> the advantages achievable from (almost) full automation.
>
> Thanks.
>
> M. K. Shen

I most be getting to old or I read what you wrote wrong. Since I
think I agree with what you said. Or at least I agreed with what
I read as processed by my brain. Way to go.


David A. Scott
--
My Crypto code
http://bijective.dogma.net/crypto/scott19u.zip
http://www.jim.com/jamesd/Kong/scott19u.zip old version
My Compression code http://bijective.dogma.net/
**TO EMAIL ME drop the roman "five" **
Disclaimer:I am in no way responsible for any of the statements
made in the above text. For all I know I might be drugged.
As a famous person once said "any cryptograhic
system is only as strong as its weakest link"