1. A method for verifying a computer program that comprises a plurality of units, the method comprising: prior to each execution of the computer program: verifying the authenticity of a hash array that comprises a plurality of hash values for authenticating the plurality of units of the computer program; and after verifying the authenticity of the hash array, iteratively, for each particular unit of a set of units of the computer program: loading the particular unit into a memory system; calculating a new hash value for the particular unit of the computer program; and authenticating the particular unit of the computer program by comparing a hash value stored in the hash array to the newly calculated hash value for the particular unit.