1. A computing device comprising: a. a main memory storing at least a first computer program comprising data blocks and a second computer program, the data blocks of the first computer program having a first data comprising executable instructions, a second data identifying a cryptographic key and a third data comprising a cryptographic hash value derived from the first data and the second data; b. a multi-core processor comprising a secure core comprising a security component and a non secure core devoid of a security component, the security component comprising: i. a first memory storing cryptographic keys; and ii. a cryptographic module configured to read a first data block stored in a cache line of the first cache memory; read the first memory to obtain a first cryptographic key; execute a first cryptographic hash algorithm implemented in logic gates inside the security component, wherein the cryptographic hash algorithm uses the first cryptographic key; and validate the first data block before the secure core executes the executable instructions stored in the first data of the first data block; c. an operating system comprising a table indicating which process or threads have data blocks having cryptographic hash values and a program loader configured to: i. detect that the first computer program comprises first executable instructions stored in data blocks having cryptographic hash values; ii. select the secure core to execute the first executable instructions; iii. detect that the second computer program comprises second executable instructions not stored in data blocks having cryptographic hash values; and iv. select the non secure core to execute the second executable instructions.