Patent ID: 8181034

Claim:
A system, comprising: an external memory operative to store data therein, the data including a plurality of sections, the data including an executable computer program, at least part of the data being signed with a primary RSA asymmetric signature, the at least part of the data including at least some of the sections; an internal memory operationally connected to the external memory; a processor arrangement operationally connected to the internal memory, the processor arrangement includes a transfer module, an authentication module, and a signature module; and an integrated circuit having disposed thereon the internal memory and the processor arrangement, the integrated circuit being operationally connected to the external memory, the external memory not being on the integrated circuit, wherein during a preliminary procedure: the transfer module is operative to transfer the sections from the external memory to the internal memory; the signature module is operative to: create a symmetric signature for each of the sections based on a first secret; to encrypt the symmetric signature of the cached section using a second secret, yielding a result; to output the result of the encryption for each of the sections to the external memory; and to output the second secret to the external memory, only after the primary RSA asymmetric signature has been positively authenticated by the authentication module; and the transfer module is operative to transfer the at least some sections from the external memory to the internal memory only once during the preliminary procedure, so that while a cached one of the sections is in the internal memory: the authentication module is operative to calculate a hash based on the content of the cached section; the authentication module is operative to update a value for use in authenticating the primary RSA asymmetric signature based on the hash of the cached section; and the signature module is operative to create the symmetric signature for the cached section; and the authentication module is operative to authenticate the primary RSA asymmetric signature based on the value which has been updated based on the at least some sections and, wherein, prior to utilizing a selected one of the sections of the data: the transfer module is operative to transfer the selected section from the external memory to the internal memory; and the authentication module is operative to authenticate the symmetric signature of the selected section using the first secret and, wherein the processor arrangement includes: a validity status module to identify the selected section as valid if the symmetric signature of the selected section is authentic; and an execution module to utilize the selected section of the data only if the selected section is valid, the validity status module being operative to invalidate the selected section, if the content of the selected section is changed while stored in the internal memory.