Cyclic verification of code integrity is applied to an object by
identifying multiple segments of the object. Each segment is separated
into multiple blocks, and a message authentication code (MAC) value of
each of these segments is computed. The computed module MAC values are
then incorporated into selected ones of the multiple segments (referred
to here as "checker segments"), which may also have their MAC values
incorporated into other checker segments. A new MAC value for each of the
checker segments is then calculated. A new block is added to each of the
checker segments that results in restoring the MAC value of the checker
segment back to its original value. Thus, the checker segments can be
subsequently verified based on the MAC values stored in other segments.