Patent ID: 7565551

Claim:
A method, implemented in a computing device, of installing software on the computing device, the method comprising: modifying one or more instructions of the software to embed a digital signature in the software; checking an entropy of each of a plurality of atomic execution units of the software; and storing the software on the computing device only if an entropy threshold is satisfied by each of the atomic execution units, wherein the storing comprising storing the software on the computing device so that the software can be executed on the computing device in a trusted mode if the signature is verified, and so that the software can be executed on the computing device without additional modification in a public mode where the signature is not verified; wherein the modifying comprises: selecting an atomic execution unit of the software, wherein the atomic execution unit comprises a plurality of instructions of the software; generating, based on a key of the computing device, the digital signature for the atomic execution unit; adding the digital signature to the atomic execution unit; and adding, as an instruction in the atomic execution unit immediately preceding the digital signature, a jump instruction so that when the atomic execution unit is executed the digital signature is not executed.