the smaller magnitude represents when the encryption is going on. Should it look like this? I don’t see the distinct spikes for 14 rounds of AES256 encryption. Should not that be visible here? I know there will be some noises but the 14 rounds should be visible/distinguishable i think.
It’s really hard to say without knowing the resolution of your X axis and your sampling rate. Can you also show the target trigger line, for reference?
I have taken data from oscilloscope and as you have suggested I plotted trigger as well. Below the first image a bit zoomed out. Green line is trigger and red line is probed trace
I see several spikes for trigger, 1, 2, 3. I wonder why trigger is behaving like this, spike 2 is confusing me if it really is a proper trigger or not. The next picture is zoomed in
@jpthibault I have used the reference core with the settings mentioned in the thread. I was able to get a perfect probing once but can not reproduce it again. As I am not sure what is causing this, I thought I may have done something wrong so checked the AES128 probing using the default setup. The image is attached below:
For this image, sampling rate = 50k Sa/s, target’s clock = 10MHz, I have connected the trigger with TP1 as shown in CW305 whitepaper. This is the default AES128 provided by Chipwhisperer. Do you think this is correct trace? Its producing correct encryption.
You are sampling 50K times per second, but the target clock is toggling 10M times per second. You can’t expect to see anything useful with such a low sampling rate.
Since you are sampling asynchronously, you should be sampling several times faster than the target clock. 10x should be a good starting point (i.e. 100M Sa/s).
@km22, @jpthibault Hello, I am trying to perform a power analysis attack on the CW305 Target, using an Oscilloscope for capturing the traces, I read the provided example , as I will use Oscilloscope so I will not use the scope as the example, I am facing lot of issues could you please help me solve them :
as I am using Oscilloscope, am I still need the capture_traces function to perform the encryption ?, because after specifying the bitstream file for configuring the cw305 to do the encryption, I think I need to make a loop to generate a lot of plaintexts and do the encryption and print the ciphertext right? if so can anyone share the used encrypt_function because in the capture_trace function, they are using scoope.arm() and scoope.get_last_traces .
I didn’t figure out how to plug in the passive probes of my Oscilloscope into the shunt resistor of the boards to capture traces, is there any image I can follow or an example to capture traces with my Oscilloscope?
Thank you in advance!