Patent ID: 8751819

Claim:
A computer-implemented method for encoding sensitive information, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising: receiving, on the computing device, a request to encode the sensitive information using a cipher; identifying an encryption key to be used by the cipher to encode the sensitive information; generating, on the computing device, a unique non-random initialization vector for the sensitive information that is to be used by the cipher to encode the sensitive information by: obtaining a unique identifier associated with the computing device; obtaining a set of information that uniquely identifies the sensitive information; concatenating the unique identifier with the set of information that uniquely identifies the sensitive information to create the unique non-random initialization vector for the sensitive information; encoding the sensitive information with the cipher using the unique non-random initialization vector and the encryption key; discarding, after encoding the sensitive information: the unique non-random initialization vector; the set of information that uniquely identifies the sensitive information; after discarding the unique non-random initialization vector and the set of information that uniquely identifies the sensitive information: receiving, on the computing device, a request to decode the sensitive information on the computing device; regenerating, on the computing device, the unique non-random initialization vector using the same process used to generate the unique non-random initialization vector; decoding, on the computing device, the sensitive information using the regenerated unique non-random initialization vector and the encryption key.