A method and system for encrypting and verifying the integrity of a message using
a three-phase encryption process is provided. A source having a secret master key
that is shared with a target receives the message and generates a random number.
The source then generates: a first set of intermediate values from the message
and the random number; a second set of intermediate values from the first set of
values; and a cipher text from the second set of values. At the three phases, the
values are generated using the encryption function of a block cipher encryption/decryption
algorithm. The random number and the cipher text are transmitted to the target,
which decrypts the cipher text by reversing the encryption process. The target
verifies the integrity of the message by comparing the received random number with
the random number extracted from the decrypted cipher text.