Patent ID: 7093126

Claim:
A method of encrypting a plaintext message while providing the message with an embedded integrity check, and decrypting the message, the method comprising the steps: using a single pass technique both to encrypt a plaintext message and to embed a message integrity check in the encrypted message, including the steps of i) dividing the plaintext message into a multitude of plaintext blocks, ii) encrypting the plaintext blocks to form a multitude of cyphertext blocks; and iii) embedding the message integrity check in the cyphertext blocks; decrypting the cyphertext blocks to re-form the plaintext blocks; and testing the message integrity check in the cyphertext blocks to test the integrity of the re-formed plaintext blocks; wherein the step embedding the message integrity check in the cyphertext blocks includes the steps of: generating a random number; using a randomness expander for expanding the random number to generate a first set of pseudo random numbers; expanding the first set of numbers to generate a second set of pairwise independent pseudo random numbers; and using the random number and the second set of pseudo random numbers to embed the message integrity check in the cyphertext blocks as the cyphertext blocks are being formed.