1. A method for providing a secure execution environment for multiple instances of separate program code or data, comprising: offloading multiple instances of separate code or data from a host processor to a secure asset management unit (SAMU) in an encrypted format for authenticating and for maintaining confidentiality of the multiple instances of separate code or data where the multiple instances are related to multiple applications and the SAMU simultaneously manages the multiple applications, wherein the host processor initially retrieves the code or data in encrypted format from a content source via an interface with an external device; and returning data from the SAMU to the host processor in re-encrypted format when protection is required and in decrypted format when protection is not required.