Patent ID: 8194858

Claim:
A method for a data encryption device to perform network communications, the method comprising: obtaining an indexed array of encryption keys, wherein the indexed array of encryption keys is shared with a data decryption device; obtaining a message to be encrypted; using a first random or pseudorandom number to determine an index; obtaining a first key from the array of encryption keys, wherein the first key corresponds to the index; selecting a second key from the plurality of encryption keys; encrypting the message using the first key and a second random or pseudorandom number, wherein a first portion of the message is encrypted using the first key and wherein a second portion of the message is encrypted using a third key, the third key having a second index determined from the first index in a deterministic manner known to the data decryption device; encrypting the index using the second key and a third random or pseudorandom number; transmitting the encrypted message and the encrypted index to the data decryption device.