1. A method for loading a software program in a computer system, said method comprising: reading a prefix value and a suffix value from a first memory area; 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; hashing the software program using the seeded hashing algorithm, the hashing resulting in a hash value; generating an expected hash value using the suffix value and the key value; and authenticating the software program based upon the expected hash value and the hash value.