The present invention increases the difficulty of reverse engineering
sensitive information protected by an encryption algorithm by increasing
the difficulty associated with tracing the code that generates the key or
the encryption algorithm. This is accomplished by generating the key,
used to encrypt and decrypt the sensitive information, as a function of
the program instruction values of the procedures used to generate the key
and perform the decryption of the sensitive information. Thus, if the key
generation code or the decryption code is modified (such as (but without
limitation) by placement of a breakpoint, a trace function, or a halt
instruction in the code) the resulting key will be different from the key
used to encrypt the sensitive information and the decryption attempt will
fail.