Preparing AES Traces for a Neural Network

Hello,

I’m successfully able to capture AES traces with my ChipWhisperer-Lite and store them in a project file with the corresponding key and plaintexts, but now I’d like to perform a byte-sized deep learning attack on this data. In order to do that, I assume I need to figure out what part of each overall trace corresponds to each byte of the S-box substitution, so I can zoom in on that area and label it with it’s corresponding output byte. This is where I’m stuck. If anyone could give me some guidance on going about this I would greatly appreciate it!

Example trace:

Thank you,
Jack

Hi Jack,

Check out the output vs. time plot from SCA101 Lab 4-3. The correlation spikes you see will correspond to the point in time where the sbox substitution is happening.

Alex

Will do, thank you Alex!

Heyy, hello JSE I’ve some question for you. How did you get to save any key and plaintexts this form on jupyter?

Hi vini,

So I start by creating a project to store the traces:

Then collect and store the traces with their metadata:

After that I can open up the project and access the traces and their metadata:

As an example, I can access the key and plaintext associated with the first trace by:

You can find more information on projects here: Deprecated API — ChipWhisperer 5.7.0 documentation

Hope this helps!

1 Like

Hi Alex,
Could you please show me where is SCA101 Lab 4-3?

It’s in jupyter/courses/sca101/: https://github.com/newaetech/chipwhisperer-jupyter/blob/master/courses/sca101/Lab%204_3%20-%20ChipWhisperer%20Analyzer%20CPA%20Attack%20(MAIN).ipynb

Alex

Hi, Alex

Thank you very much!