Theft of services, private information, and intellectual property have become significant dangers to the general public and industry. Cryptographic algorithms are used for protection against these dangers. All cryptographic algorithms rely on secret keys that should be generated by an unpredictable process and securely stored. The keys are usually stored in a memory, e.g. Flash or fuses. Therefore, the strength of cryptographic protection relies upon the ability of an attacker to extract the keys from the hardware. Modern hardware implementation methods are very advanced, weakening cryptographic algorithms against physical attacks. Finally, memories that provide extra security are expensive to be used in Integrated Circuits (ICs). As a solu...