An encryption and authentication technique that achieves enhanced
integrity verification through assured error-propagation using a
multistage sequence of pseudorandom permutations. The present invention
generates intermediate data-dependent cryptographic variables at each
stage, which are systematically combined into feedback loops. The
encryption technique also generates an authentication tag without any
further steps that is N times longer than the block size where N is the
number of pseudorandom permutations used in the encipherment of each
block. The authentication tag provides a unique mapping to the plaintext
for any number of plaintext blocks that is less than or equal to N. In
addition to being a stand alone encryption algorithm, the disclosed
technique is applicable to any mode that uses pseudorandom permutations
such as, key dependent lookup tables, S-Boxes, and block ciphers such as
RC5, TEA, and AES.