A security controller, comprising: a memory; and circuitry configured to: load a first copy of an executable code segment to the memory, compute a first security code based on a randomly manipulated first copy of the executable code segment, generate a verification code segment adapted to cause a protected device to compute a second security code based on a randomly manipulated second copy of the executable code segment upon the second copy of the executable code segment being loaded in a memory of the protected device, transmit the verification code segment to the protected device, receive the second security code from the protected device, compare the first security code and the second security code, and determine a compromise of the protected device in reaction to the second security code not matching the first security code; characterized in that the random manipulation comprises randomly selecting an address of a first plurality of bytes in the first copy of the executable code segment and altering, for the computation of the first security code, the first plurality of bytes residing at the randomly selected address in the first copy of the executable code segment; or wherein the random manipulation comprises randomly selecting an address of a first plurality of bytes in the first copy of the executable code segment and inserting, for the computation of the first security code, a plurality of predefined data bytes at the randomly selected address into the first copy of the executable code segment.; wherein the generated verification code segment is adapted such that the random manipulation applied by the verification code segment to the second plurality of bytes in the second copy is identical to the random manipulation applied to the first plurality of bytes in the first copy before computing the first security code. a memory; and circuitry configured to: load a first copy of an executable code segment to the memory, compute a first security code based on a randomly manipulated first copy of the executable code segment, generate a verification code segment adapted to cause a protected device to compute a second security code based on a randomly manipulated second copy of the executable code segment upon the second copy of the executable code segment being loaded in a memory of the protected device, transmit the verification code segment to the protected device, receive the second security code from the protected device, compare the first security code and the second security code, and determine a compromise of the protected device in reaction to the second security code not matching the first security code; load a first copy of an executable code segment to the memory, compute a first security code based on a randomly manipulated first copy of the executable code segment, generate a verification code segment adapted to cause a protected device to compute a second security code based on a randomly manipulated second copy of the executable code segment upon the second copy of the executable code segment being loaded in a memory of the protected device, transmit the verification code segment to the protected device, receive the second security code from the protected device, compare the first security code and the second security code, and determine a compromise of the protected device in reaction to the second security code not matching the first security code; characterized in that the random manipulation comprises randomly selecting an address of a first plurality of bytes in the first copy of the executable code segment and altering, for the computation of the first security code, the first plurality of bytes residing at the randomly selected address in the first copy of the executable code segment; or wherein the random manipulation comprises randomly selecting an address of a first plurality of bytes in the first copy of the executable code segment and inserting, for the computation of the first security code, a plurality of predefined data bytes at the randomly selected address into the first copy of the executable code segment.; wherein the generated verification code segment is adapted such that the random manipulation applied by the verification code segment to the second plurality of bytes in the second copy is identical to the random manipulation applied to the first plurality of bytes in the first copy before computing the first security code.