218
edits
As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com. |
Changes
no edit summary
The objective of this tool is to analyze the traces captured from a given scope.
Main features:
* CPA and Profiling types of attack;
* Built-in preprocessing modules (decimation, resync, digital filter, normalize and noise);
* Record preprocessed traces output;
* Execute custom analysis scripts;
* AES Key schedule calculator;
* Set of result widgets: Correlation vs Traces plot; Output vs Point plot; PGE vs Trace plot; PGE Table; Waveform Viewer.
[[File:Screen Shot 2016-07-12 at 4.02.17 PM.png|1100px]]
== Using the Analyzer ==
After loading the project, you will need to setup the analysis environment first.
In the analyzer, the settings tabs are used to automatically generate the analysis script (shown in the "Analysis Script" dock). This code can be edited by the user for a more "advanced" usage. It can also be saved and loaded through:
* the console ($python script.py);
* using the "Attack Script Generator" tab;
* copying it to the scripts folder (chipwhisperer/software/chipwhisperer/analyzer/scripts or ˜/chipwhisperer_projects/chipwhisperer/analyzer/scripts) so that it will appear in the Project->"Example Scripts" menu the next time you execute the tool.
In the "Analysis Script" dock, the constructor of the script object is called automatically every time that a new script is generated. It is done because widgets like the waveform viewer should update the trace output of the preprocessing modules when the user modify its settings. The run() method is executed only when the "Start Analysis" button in the toolbar is pressed. Custom methods can be executed by selecting it in the code and right clicking: a "Run Function" option will show up.
The "Attack Script Generator" is the main settings tab. It allows the user to set the Preprocessing modules that should be applied over the original traces and the Attack module. The Preprocessing and the Attack tabs will update accordingly.
The "Trace Explorer" tab enables a set of helper scripts needed by some of the analysis algorithms (like the POI detection in the Template attack).
== Preprocessing Modules ==
Are filters that modify the traces from a given trace source (that can be another Preprocessing Module or the Trace Manager) and works as a new trace source to the next module in the chain (called trace observer).
=== Sum Add Noise: Amplitude ===Add random noise to the traces. Used for testing, has no use in actual analysis. === Add Noise: Time Jitter ===Add random jitter. Used for testing, has no use in actual analysis. === Decimation: Clock Recovery ===Attempts to 'recover' the clock by band-pass filtering, and then uses that to decimate to only points of Difference interest. ****CURRENTLY NOT SUPPORTED**** === Decimation: Fixed ===Decimate (reduce the sample rate) by a fixed factor.
See [[File:Screen Shot 2016Sum of Absolute Difference (SAD) Pre-07-13 at 1.56.20 PM.png|1100pxProcessing]]for more information.