Cache attacks have been shown to be threats to many systems, from mobile phones to computers to the cloud. Recent research was able to recover a full RSA key from Intel SGX, a secure enclave for protected execution of user programs.
In this thesis, we implement this attack, without being under the constraints imposed by SGX, to record traces of an RSA signature process using multiple keys. We then train multiple neural networks for binary and multiclass classification to determine whether
such a network can distinguish traces of different keys. We compare the accuracy of the networks to two standard machine learning techniques, namely Support Vector Machines and Random Forest.
In the second part of this thesis, we try to the recover the RSA key from a trace file using different neural network designs. For that, we divide each trace file into 4096 windows and determine for each window whether it is a “0” or a “1”. We again compare the accuracy of our neural networks to key recovery using SVM and Random Forest.