Patent ID: 7475254

Claim:
A method for loading a software program in a computer system, said method comprising: reading a software image from a first memory area, wherein the software image comprises a prefix value, a plurality of blocks of software code, and a suffix value; reading a key value from a second memory area, wherein the second memory area is located in an area inaccessible to a user; generating a seed value using the prefix value and the key value; seeding a hashing algorithm with the seed value; reading the first block of software code; hashing the first block of software code using the seed value, the hashing resulting in an updated seed value; processing each remaining block of software code, wherein the processing comprises: reading a next block of software code; hashing the next block of software code using the updated seed value, the hashing resulting in a hash value; and setting the updated seed value equal to the hash value; after all blocks of software code have been processed, performing the following: generating an expected hash value using the suffix value and the key value; authenticating the software program based upon the expected hash value and the hash value; in response to the expected hash value being equal to the hash value, loading the software program; and executing the loaded software program.