Patent ID: 7406595
Filing Date: 2008-07-29
Classification: H04L

Abstract:
1. A method of packet encryption, comprising the steps of: (a) identifying each packet in a message to be encrypted; (b) assigning a unique number to each packet; (c) acquiring a value R of width w, where w is a user-definable integer; (d) initializing a first register of width w with R, where the first register is configured to step; (e) generating an initialization vector IV that is a function of the contents of the first register; (f) stepping the first register a user-definable number of times; (g) selecting a packet that has not been processed; (h) combining R and the unique number of the selected packet; (i) initializing a second register of width w with the result of the last step, where the second register is configured to step; (j) generating a checksum; (k) dividing the selected packet into blocks of width w, padding any block to width w if necessary; (l) selecting a block from the selected packet that has not been processed; (m) combining the checksum with the selected block and designating the result as the checksum; (n) encrypting the selected block as a function of the contents of the first register and the second register and designating the result as ciphertext of the selected block; (o) stepping the first register and the second register a user-definable number of times; (p) if a block in the selected packet has not been processed then returning to step (1), otherwise proceeding to the next step; (q) encrypting the checksum; (r) transmitting the unique number of the selected packet, IV, the ciphertext of each block in the selected packet, and the encrypted checksum; and (s) if a packet in the message has not been processed then stepping the first register a user-definable number of times and returning to step (g), otherwise stopping.