But the result is,I feel as if these operations don’t exist on the display,but if it’s sample code:
volatile long int A = 0x2BAA;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
A *= 2;
It works
My question is, does this have anything to do with the platform I’m experimenting with? What if I need to replace the STM32? or something else?
I am new to the side channel and would appreciate any help!
Use the target you want to use. Maybe you’re not capturing the part of the power trace you’re interested in.
For target operations like Kyber that are very long, it can be challenging to find things of interest in a power trace.
On the ChipWhisperer platform, the easiest way to deal with this situation is to move the trigger location in the code. It can also be useful pulse the trigger multiple times and use an external scope or logic analyzer to e.g. learn how long your i and jfor loops are. If you don’t have a scope or logic analyzer, you can use Husky’s scope.trigger.get_trigger_times() function. Our sca205 notebook teaches how to do this.
Our sca205 notebooks also teach how to find leakage in another long target operation: ECC P-256 point multiplication. Parts 1 and 3 require an STM32, but part 2 can be done on the SAM4S.