Tags: side-channel machine-learning 

Rating:

The goal is to find the value of n used in the exp_by_squaring function. Each operation has its own unique response time fingerprint. If we can acquire the sequence of operations from target.csv, then we can use this set to reverse the bits of n, one-by-one. A sequence of "m p d" operations indicate a 0 bit and "p d" tells us that the bit was 1.

This setting is a classical data science scenario: We have a training dataset with feature vectors and classification and a test dataset with the same amount of features per entry but without classification. Our goal is to use the training set to train a classifier model and apply it on the test set to assign classes to it. With the obtained sequence, we are able to reconstruct the value n.

Original writeup (https://github.com/jlp1701/utctf-2021/blob/master/misc/vmm/README.md).