I am currently in my second year of scientific study. As part of my studies, I need to carry out a research project following a scientific methodology on a chosen topic. I am interested in the following question: How can we obtain information about an encryption key using physical parameters such as time or energy consumption?
At the moment, I am trying to do a practical experiment where I measure the energy consumption curve of an RSA program (implemented with modular exponentiation) and analyze it to extract the Hamming weight. This is the Simple Power Analysis (SPA) method.
I’m having trouble designing the experiment, which is why I’m asking for your help. I found a lab project on GitHub that matches what I want to do, but I’m having difficulty understanding it:
https://github.com/lord-feistel/power_analysis?tab=readme-ov-file.
If anyone understands the layout of the components, I’d be very interested.
At my school I have access to oscilloscopes, Arduinos, breadboards; basically all the standard electronics equipment.
If you have any ideas on how I can record the energy consumption curve of an algorithm, I’d love to hear them. Otherwise, I’ve seen that there are probes online that can do this (e.g., https://www.makerguides.com/acs712-current-sensor-and-arduino-a-complete-guide/ or the Power Profiler Kit), but they are a bit expensive. Can I manage without these probes, or is it really difficult to do the experiment without them?
Thanks in advance for your help! I’m open to any suggestions!