The second step in initialization is to generate a random
matrix
where
each
.
is a data structure that is stored
in addition to the table, though if
is generated pseudorandomly,
then storing the seed of the pseudorandom process is sufficient for
to be regenerated when needed. The
-element table
is then generated as
(where ``
'' denotes equivalence
modulo
). That is,
is the table as described in
Section 2; intuitively, the element in the
-th
``row'' and
-th ``column'' for
and
is
.
To complete initialization, is deleted, and
(or the
seed needed to regenerate it), the table
, and prime
are
stored for the next key regeneration attempt. In addition,
is stored for some (different) one-way and
collision-resistant function
, so that when
is
reconstructed, it can be recognized as correct.
After a sufficient number of successful key reconstructions (see
Section 4.2), the table is ``hardened''
as described in Section 2: if over a number of
successful key reconstructions, each induced feature descriptor
is
consistent on the
-th feature (i.e.,
is usually the same, as
specified more precisely in Section 5), then
element
is assigned to be a random element of
. This should usually not affect reconstruction for the correct
user, since that user typically selects
.