From: Scott Fluhrer on

"J.D." <degolyer181(a)yahoo.com> wrote in message
news:3dd24543-c302-4073-a341-51f621e3a403(a)q15g2000yqj.googlegroups.com...
>> >>3. if using a single key and repeatedly encrypting with it while
>> >>moving output bits to input bits, do you pass through all combinations
>> >>of data, a single grand loop, or do you circuit through lesser
>> >>combinations with the same key or different numbers of combinations in
>> >>the loops with different keys?
>>
>> > It is extremely unlikely that AES forms a single
>> > cycle for any key, let alone in general. But I
>> > don't think anyone knows for sure. A random
>> > permutation wouldn't, in general, and AES seems to
>> > model a random permutation.
>>
>> Actually, we do know the answer to question 3: "No" (unsurprisingly).
>> This
>> is because AES always implements an even permutation, and a single-cycle
>> permutaion (on an even number of elements) is an odd permutation.
>
> I am not sure WTShaw was asking about permutation cycles in the sense
> you are talking about.

WTShaw might not have intended to ask about permutation cycles; however,
that does appear to be the answer to his question. When he says "repeatedly
encrypting with it while moving output bits to input bits", it sounds like
he is talking about the sequence X, E(X), E(E(X)), ..., E^n(X)

When he then ask whether "you pass through all combinations of data", it
sounds like whether, for a fixed key and X, whether all possible 2^128
values can be represented by E^n(X), for some n. This is precisely the
single-cycle permuation criteria.

And, as AES is known not to be a single cycle permutation for any key, we
know that the answer to his question is "No".

> And if it
> is more prone to forming a particular number of loops, I greatly doubt
> that this will help in any key-recovery attack.
Yes, it doesn't help a key-recovery attack...

--
poncho


From: J.D. on
@Scott Fluhrer

> WTShaw might not have intended to ask about permutation cycles; however,
> that does appear to be the answer to his question.  When he says "repeatedly
> encrypting with it while moving output bits to input bits", it sounds like
> he is talking about the sequence X, E(X), E(E(X)), ..., E^n(X)
>
> When he then ask whether "you pass through all combinations of data", it
> sounds like whether, for a fixed key and X, whether all possible 2^128
> values can be represented by E^n(X), for some n.  This is precisely the
> single-cycle permuation criteria.
>
> And, as AES is known not to be a single cycle permutation for any key, we
> know that the answer to his question is "No".
You appear to be correct about whether WTShaw was talking about
permutation cycles. However I cannot understand your argument for why
AES can never be a single cycle for any key. I suppose I will have to
read more about permutation parity...do you have any suggestions?
From: Scott Fluhrer on

"J.D." <degolyer181(a)yahoo.com> wrote in message
news:8f9796ea-dfc8-4d31-8ef3-2d7dee0e1694(a)30g2000yqi.googlegroups.com...
> You appear to be correct about whether WTShaw was talking about
> permutation cycles. However I cannot understand your argument for why
> AES can never be a single cycle for any key. I suppose I will have to
> read more about permutation parity...do you have any suggestions?


http://en.wikipedia.org/wiki/Even_and_odd_permutations


As for AES always implementing an even permutation, this can be deduced from
the facts that:

- AES can be implemented via the composition of a number of invertable
operations on subsets of bits; for each suboperation, there is always at
least 1 bit that does not participate.

- Any operation on a subset of bits (which happen independently of the
values of the bits not in the subset) always performs an even permutation on
the entire value.

- The composition of even permutations is always an even permutation.


From: J.D. on
On Mar 15, 6:46 pm, "Scott Fluhrer" <sfluh...(a)ix.netcom.com> wrote:
> "J.D." <degolyer...(a)yahoo.com> wrote in message
>
> news:8f9796ea-dfc8-4d31-8ef3-2d7dee0e1694(a)30g2000yqi.googlegroups.com...
>
> > You appear to be correct about whether WTShaw was talking about
> > permutation cycles.  However I cannot understand your argument for why
> > AES can never be a single cycle for any key.  I suppose I will have to
> > read more about permutation parity...do you have any suggestions?
>
> http://en.wikipedia.org/wiki/Even_and_odd_permutations
>
> As for AES always implementing an even permutation, this can be deduced from
> the facts that:
>
> - AES can be implemented via the composition of a number of invertable
> operations on subsets of bits; for each suboperation, there is always at
> least 1 bit that does not participate.
>
> - Any operation on a subset of bits (which happen independently of the
> values of the bits not in the subset) always performs an even permutation on
> the entire value.
>
> - The composition of even permutations is always an even permutation.

Thanks. That certainly helps, though I am going to have to do a lot
more reading before I can understand enough to fully follow your
argument.
From: Maaartin on
On Mar 16, 12:08 am, "J.D." <degolyer...(a)yahoo.com> wrote:
> On Mar 15, 6:46 pm, "Scott Fluhrer" <sfluh...(a)ix.netcom.com> wrote:
> Thanks.  That certainly helps, though I am going to have to do a lot
> more reading before I can understand enough to fully follow your
> argument.

I don't think so, it's easy, the 1st and 3rd parts follows directly
from the definition. The second can be clarified by an example:
Consider the set of 4-bit numbers (written in hex), habe a function
complementing the first bit. This function looks like follows:
0 -> 1
1 -> 0
2 -> 3
3 -> 2
....
E -> F
F -> E
so it's composition of 8 swaps:
0 <-> 1, 2 <-> 3, ..., E <-> F,
so it's even per definition. Obviously the same argument holds for
"any operation on a subset of bits (which happen independently of the
values of the bits not in the subset)". In fact, the number of swaps
is always a multiple of 2**n where n is the number of the bits not in
the subset.