project:chipwhisperer:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
project:chipwhisperer:start [2019/01/13 21:25] – cracking AES key from power trace analysis abyssal | project:chipwhisperer:start [2019/01/14 20:59] – [Links] using power analysis to break stuff abyssal | ||
---|---|---|---|
Line 21: | Line 21: | ||
We will look at SW version 4.0.x, since 3.5 is old and 5.0 is alpha. | We will look at SW version 4.0.x, since 3.5 is old and 5.0 is alpha. | ||
+ | |||
+ | ===== Bugs ===== | ||
+ | |||
+ | Note that IDE and examples are buggy. A lot. Some of the things can be found out if you know python scripting, some are much more difficult. See notes below. | ||
+ | |||
+ | One example that is tied to Plasma5 in Ubuntu 18.04 is that it sometimes needs no double-click for the script to execute. This was very confusing at the beginning, since you can only connect once with the connect script. | ||
===== Links ===== | ===== Links ===== | ||
Line 26: | Line 32: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | ==== Related stuff ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== Chipwhisperer password cracking based on timing/ | ===== Chipwhisperer password cracking based on timing/ | ||
Line 36: | Line 48: | ||
Note: there are bugs in the tutorial!! | Note: there are bugs in the tutorial!! | ||
+ | |||
+ | - Do not put GO COMMAND (target.go_cmd) empty or without newline. It will cause endless loop of trigger because of timeouts, since the trigger in code wasn't reached. This will cause " | ||
+ | - Depending on compiler, the timings in the attack scripts will be very different, and not necessarily multiple of a value, even though the part you are attacking is a for loop. A mathematical workaround like cross-corelation or a low-pass filter would work for this well, but are not covered in the tutorial | ||
+ | - Even then, you have to adjust the Y axis reading, might not work for the first time. The point is to adjust the Y axis value enough to check for wrong password, but not enough for the correct password letter. Takes time to fine out the value. Also settings in gain can influence this. | ||
===== Chipwhisperer AES cracking ===== | ===== Chipwhisperer AES cracking ===== | ||
Line 49: | Line 65: | ||
Note: there are bugs in the tutorial!! | Note: there are bugs in the tutorial!! | ||
+ | |||
+ | - there seems to be some source code issue or compiler issue. The precompiled file code from chipwhisperer-4.0.4/ | ||
+ | - for the purpose of tutorial, use the precompiled file | ||
+ | - IMPORTANT: you need to save the project BEFORE capturing the samples and also AFTER capturing the samples, otherwise it will end up in some random default location. This is a known bug. | ||
+ | - TODO: some magic to find out what's wrong, since it affects all simpleserial protocol examples | ||
+ | |||
+ | |||
+ | ==== Viewing where the AES cracking results came from ==== | ||
+ | |||
+ | Looking at the place where results got from - click " | ||
+ | |||
+ | {{: | ||
project/chipwhisperer/start.txt · Last modified: 2019/12/15 22:12 by abyssal