A method comprising: receiving, at a processor core, encrypted data from a memory hierarchy; decrypting the encrypted data in the processor core; determining whether the decrypted data is of low entropy; and updating one or more processor register values based on a determination that the data is of low entropy, wherein the determination that the data is of low entropy indicates that the data is not corrupted or is likely not to be corrupted; wherein determining that the decrypted data is of low entropy comprises: determining a number of data entities in the decrypted data whose values are equal to one another and comparing the number of data entities to a first threshold, and generating a first Boolean value based on the comparison; determining a number of adjacent data entities in the decrypted data whose values are equal to one another and comparing the number of adjacent data entities to a second threshold, and generating a second Boolean value based on the comparison; determining a number of data entities in the decrypted data whose values are equal to at least one special value from a set of special values and comparing the number of data entities to a third threshold, and generating a third Boolean value based on the comparison; performing a logical OR operation on the generated first, second and third Boolean values; wherein updating the processor register values is based on an output of the logical OR operation, wherein updating one or more processor register values comprises storing in a Model-Specific Register, MSR, the following: the first Boolean value, the second Boolean value, the third Boolean value, the number of data entities in the decrypted data whose values are equal to one another, the number of adjacent data entities in the decrypted data whose values are equal to one another, the number of data entities in the decrypted data whose values are equal to at least one special value from a set of special values, and wherein the data entities comprise one of a byte, a 16-bit word, a 32-bit doubleword, and a nibble. receiving, at a processor core, encrypted data from a memory hierarchy; decrypting the encrypted data in the processor core; determining whether the decrypted data is of low entropy; and updating one or more processor register values based on a determination that the data is of low entropy, wherein the determination that the data is of low entropy indicates that the data is not corrupted or is likely not to be corrupted; wherein determining that the decrypted data is of low entropy comprises: determining a number of data entities in the decrypted data whose values are equal to one another and comparing the number of data entities to a first threshold, and generating a first Boolean value based on the comparison; determining a number of adjacent data entities in the decrypted data whose values are equal to one another and comparing the number of adjacent data entities to a second threshold, and generating a second Boolean value based on the comparison; determining a number of data entities in the decrypted data whose values are equal to at least one special value from a set of special values and comparing the number of data entities to a third threshold, and generating a third Boolean value based on the comparison; performing a logical OR operation on the generated first, second and third Boolean values; wherein updating the processor register values is based on an output of the logical OR operation, wherein updating one or more processor register values comprises storing in a Model-Specific Register, MSR, the following: the first Boolean value, the second Boolean value, the third Boolean value, the number of data entities in the decrypted data whose values are equal to one another, the number of adjacent data entities in the decrypted data whose values are equal to one another, the number of data entities in the decrypted data whose values are equal to at least one special value from a set of special values, and wherein the data entities comprise one of a byte, a 16-bit word, a 32-bit doubleword, and a nibble. determining a number of data entities in the decrypted data whose values are equal to one another and comparing the number of data entities to a first threshold, and generating a first Boolean value based on the comparison; determining a number of adjacent data entities in the decrypted data whose values are equal to one another and comparing the number of adjacent data entities to a second threshold, and generating a second Boolean value based on the comparison; determining a number of data entities in the decrypted data whose values are equal to at least one special value from a set of special values and comparing the number of data entities to a third threshold, and generating a third Boolean value based on the comparison; performing a logical OR operation on the generated first, second and third Boolean values; wherein updating the processor register values is based on an output of the logical OR operation, wherein updating one or more processor register values comprises storing in a Model-Specific Register, MSR, the following: the first Boolean value, the second Boolean value, the third Boolean value, the number of data entities in the decrypted data whose values are equal to one another, the number of adjacent data entities in the decrypted data whose values are equal to one another, the number of data entities in the decrypted data whose values are equal to at least one special value from a set of special values, and wherein the data entities comprise one of a byte, a 16-bit word, a 32-bit doubleword, and a nibble.