Hack Proof RSA Public Key Encryption System

Description:

In the field of cryptanalysis the tools utilized to recover the secret information are very different from the ones utilized to build the cipher. For the most part cryptanalysis is based on probabilistic Bayesian techniques. In this method some information leaked from the system is exploited in order to derive a slight probability advantage of one code over another. Accordingly, after a sufficient number of ciphertext messages are analyzed, the attacker is able to predict the plaintext with high likelihood.
This method is quite effective in practice (see www.cs.tau.ac.il/~tromer/handsoff/), and it doesn’t even rely on knowledge of the hardware implementation!

On the other hand when constructing the cryptographic circuit we can rely on knowledge of the underlying implementation to try to prevent the leakage of information, with the knowledge that any such leakage could be easily exploited by an attacker, as mentioned in the previous paragraph. Moreover in the circuit environment (i.e. Spice simulations), the signals are free of electronic noise and are represented as finite precision numbers, so that it is easier to recognize when there is leakage of information, such as for example by analyzing the power trace in Spice while the circuit is performing an encryption.

In this project we will build an RSA public key encryption system, while utilizing analog and mixed-signal simulation tools to analyze the power signature for the potential leakage of information. Once the source of information leakage is determined, we will attempt to mitigate it by making suitable changes at both the circuit and architecture levels.

The project stages include the design and implementation of an RSA Public Key Encryption System in Verilog. Next the power signature during operation of the system will be analyzed. Using the knowledge gained, the RSA circuit will be modified to prevent attacks of this nature. The final design will be synthesized and the layout will be implemented using automatic tools.

Prerequisite : Digital Systems and Computer Structure – 044252