Trigger not found in ADC data. No data reported!

Hi Alex,

Thank you very much for the information!

Best regards,
Tom

Hi Tom,

I’ve just added a section to the DPA attack tutorial about eliminating the ghost peaks. Let me know if it allows you to complete the tutorial.

Alex

Hi Alex,

Thanks! Will do.

Best regards,
Tom

Hi Alex,

I just tried it and it fails in the same way - it misses a couple of bytes. I know previously the code updated automatically for us. How can I make sure I am running the latest? The modified date says 5 hours.

Thanks and regards,
Tom

Hi Tom,

The latest version of the tutorial has a section entitled " The Ghost Peak Problem". As for getting the latest version, it usually involves running a git pull inside of chipwhisperer/.

If you have this section and are still unable to break the last few bytes, do you think you can recapture inside of a ChipWhisperer project (similar to something like CPA_1) and send it over to me?

Thanks,

Alex

Thanks Alex. There is no “The Ghost Peak Problem” section. I tried using git in CW, but I don’t know how to do that. Do you have any instructions on how to do this?

Thanks and regards,
Tom

Hi Tom,

What method did you use to install ChipWisperer and what OS are you using?

Alex

Hi Alex,
Could you send a link to git commit?

Thx

Hi Alex,

I used VirtualBox on Windows.

Thanks and regards,
Tom

Tom,
I found “the ghost peak problem” on github, here:

Hi Tom,

To update ChipWhisperer on VirutalBox, you’ll need to first login to the virtual machine (should be vagrant for both username and password). Once you’re logged in, input the following commands:

cd work/projects/chipwhisperer
git pull

If the git pull doesn’t work, you may need to run:

cd jupyter
git stash
cd ..
git pull

which will stash any changes you made to the notebook (including running through them).

Alex

Thanks 31415 and Alex. I successfully executed the git commands. I also ran the second set of commands and it said that it was up to date. However, now when I try to open any script, I get the following error, “Unreadable Notebook: /home/vagrant/work/projects/chipwhisperer/jupyter/PA_DPA_3-AES_DPA_Attack.ipynb NotJSONError(“Notebook does not appear to be JSON: ‘’…”,)”.

I would try and use the file 31415 linked to, but it seems that something is wrong with my setup now.

I don’t know how to resolve this. Any help is appreciated.

Thanks,
Tom

Hello,

Could we please get some help with this? We have a deadline where we need the DPA attack working on our part soon

Thanks and regards,
Tom

Hi Tom,

It’s a mystery to me why you can’t run the notebook, it works for me. My best guess is that you somehow have got an HTML-ized version of the notebook, as here: https://github.com/jupyter/help/issues/67

Can you try simply saving this file from your browser:
https://raw.githubusercontent.com/newaetech/chipwhisperer-jupyter/master/PA_DPA_3-AES_DPA_Attack.ipynb

Then move it into your VM.

Jean-Pierre

Hi Jean-Pierre,

Thanks for the reply. I was able to execute the script by using the method you described above. However, it still does not get the correct key, only 7 bytes are correct. This seems to not work as well as the previous script.

Are there any modifications we can make?

And, I do see ‘The Ghost Peak Problem’ section.

Thanks and regards,
Tom

I don’t have time to play with the attack now, but it looks like it requires you to adjust some parameters based on your results, i.e.:

If subkey 4 broke for you here, replace it with one that didn’t.

Have you done this?

Hi Tom,

Sorry about the delay in between replies. Just to confirm, are you running the code blocks in the ghost peak section? The script outside of that section is the same, but the additional blocks should eliminate the ghost peaks. If the script still isn’t working in this section, what do you get when you use a non-breaking subkey for the following plot in the notebook (should be the second code block):

%matplotlib notebook
import matplotlib.pylab as plt

subkey = 8

plt.plot(correct_guess_plots[subkey], 'r')
plt.plot(best_guess_plots[subkey], 'g')

In addition, did you make sure to change the offset in the final block to correspond to offset from the previous code block in that section? I can follow up with screenshots if what I said isn’t clear.

Alex

Thanks guys. Yes, I ran the ghost peak section, and it failed too.

Alex, sorry, but I’m not sure what you mean about using a non-breaking subkey. And, I did not change any offset, I wasn’t aware that I was supposed to. The only thing I changed was the platform.

Thanks again,
Tom

Hi Guys,

I set an offset based on the graph generated and it still did not work. The offset is 250, not one byte was correct and it stopped in the middle with an error.

Also, the graph generated did not have all of the peaks with the same difference. The first three did, so that’s what I used.

I will try and attach the screenshot of the graph.

Any help is appreciated.

Thanks,
Tom

Hi Tom,

The offset should be consistent throughout, but you might be seeing the ghost peaks here. Judging by how long the offset is, I’m guessing you’re using TINYAES128C. All the ghost peak stuff was written for the AVRCRYPTOLIB AES implementation, so I’d recommend starting with that rather. In the meantime, I’ll work on seeing how the attack changes with the TINYAES128C library.

Alex