Cryptography Reference
In-Depth Information
Block B 1 :
Block B 2 :
Block B 3 :
P unchanged,
P updated to P N , P N unchanged,
Q updated.
Q unchanged.
Q updated to Q N .
(Q denotes the updated array)
Block B 4 , that is not shown in the diagram, would only be used for verifying
whether the reconstruction is correct or not. Algorithm 10.5.1 (called Recon-
structState) takes as inputs the 512 words of the array P and (assuming that
the 2048 keystream words corresponding to the four blocks B 1 , B 2 , B 3 and B 4
are known) produces as output 512 words of the array Q N . Since the update
of an array depends only on itself, it turns out that from block B 3 onwards
the complete state becomes known.
In B 1 and B 3 , Q is updated. Let Q denote the updated array after the
completion of block B 1 and let Q N be the new array after Q is updated in
block B 3 . In B 1 , P remains unchanged and in B 2 , it is updated to P N . Let s b,i
denote the i-th keystream word produced in block B b , 1 ≤ b ≤ 4, 0 ≤ i≤ 511.
The update of P (or Q) depends only on itself, i.e.,
8
<
P[i] + g 1 (P[509 + i],P[502 + i],P[i + 1]), for 0 ≤i ≤ 2;
P[i] + g 1 (P N [i−3],P[502 + i],P[i + 1]), for 3 ≤i ≤ 9;
P[i] + g 1 (P N [i−3],P N [i−10],P[i + 1]), for 10 ≤ i≤ 510;
P[i] + g 1 (P N [i−3],P N [i−10],P N [i−511]), for i = 511.
(10.14)
Thus, if one knows the 512 words of P (or Q) corresponding to any one block,
then one can easily derive the complete P (or Q) array corresponding to any
subsequent block.
Consider that the keystream words s b,i , 1 ≤ b ≤ 4, 0 ≤ i ≤ 511, are
observable. A state reconstruction problem can be formulated as follows.
P N [i] =
:
Given the partial state information P[0...511],
reconstruct the complete state (P N [0...511],Q N [0...511]).
Since the update of each of P and Q depends only on P and Q respectively,
once we determine P N and Q N , we essentially recover the complete state
information for all subsequent steps.
10.5.2 State Reconstruction Strategy
The state reconstruction proceeds in five phases. The First Phase would
be to determine P N from P using (10.14).
The keystream generation of block B 2 follows the equation
h 1 (P[500 + i])⊕P N [i], for 0 ≤i ≤ 11;
h 1 (P N [i−12])⊕P N [i], for 12 ≤ i≤ 511.
s 2,i =
(10.15)
Since h 1 (x) = Q[x (0) ] + Q[256 + x (2) ], we can rewrite (10.15) as
Q[l i ] + Q[u i ] = s 2,i
⊕P N [i],
(10.16)
Search WWH ::




Custom Search