Question regarding table construction:
let’s say that we have some chains from the table:
(we only know first and the last value in each chain)
1. 2. 30. 31. 32.
X-x-x-x- -x-x-x-x-x- ... -x-x-x-x-x- -x-x-x-x-x- -x-x-x-x-X
X-x-x-x-x- -x-x-x-x- ... -x-x-x-x -x-x-x-x- -x-x-x-x-X
X-x-x- -x-x-x-x-x- ... -x-x-x-x-x- -x-x-x-x- -x-x-x-X
A-b-c-d-e- -f-g-h-i-j- ... -k-l-m-n-o- -p-q-r-s-t- -u-v-w-y-Z
X-x-x-x-x- -x-x-x-x- ... -x-x-x -x-x-x-x-x- -x-x-x-x-X
X-x-x-x- -x-x-x-x-x- ... -x-x-x-x-x- -x-x-x-x-x- -x-x-X
( i don’t have the time to write a million character chain
so i wrote just a few characters per round :) )
Now, for example we have the key M and we want to know what A5 inner
state generated this key.
We start calculating the chain from the key M.
After some time we calculate a value with 15 zero bits
we then check if it could be found in the table.
It can't be found so we continue with next round.
again after some time we calculate a value with 15 zero bits
we then check if it could be found in the table.
It can't be found so we continue with next round.
Now, after some time we calculate a value with 15 zero bits
we then check if it could be found in the table.
We FOUND it! It is 'Z'!
so we get this chain: M-n-o- -p-q-r-s-t- -u-v-w-y-Z
that means that our chain corresponds with chain from the table like this:
A-b-c-d-e- -f-g-h-i-j- ... -k-l-m-n-o- -p-q-r-s-t- -u-v-w-y-Z
| | | | | | | | | | | | |
M-n-o- -p-q-r-s-t- -u-v-w-y-Z
Now we have to calculate the chain from the table again (starting from A)
so we can find out what was the value before M.
The result is L!
Is that how it works?
If that is the case,
how do we know that state M was in round 30 (so we could apply correct
round function) ?
Or do we calculate the same thing starting from round 1, then starting
from round 2, ..., then starting from round 32?
thanks,
V.
(Sorry for the long text and bad english)
_______________________________________________
A51 mailing list
[email protected]
http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51