newaetech / chipwhisperer

ChipWhisperer - the complete open-source toolchain for side-channel power analysis and glitching attacks
http://chipwhisperer.com
Other
1.12k stars 285 forks source link

SW: PyCrypto dependency #12

Closed gregdeon closed 5 years ago

gregdeon commented 7 years ago

The random vs. fixed t-test attack (chipwhisperer/software/chipwhisperer/capture/acq_patterns/crittest.py) uses an AES encryption to generate a list of "random" plaintexts. It uses PyCrypto to perform these encryption operations. However, we have AES implemented elsewhere in ChipWhisperer, so we should get rid of this dependency.

f1xc0 commented 7 years ago

Hi @gregdeon , @colinoflynn :

Below are references of PyCrypto left in version 3.5.4 (HEAD committed around July).

doc/sphinx/tutorialaes256boot.rst: from Crypto.Cipher import AES doc/sphinx/tutorialaes256boot.rst: from Crypto.Cipher import AES software/chipwhisperer/capture/acq_patterns/tvlattest.py: from Crypto.Cipher import AES software/chipwhisperer/capture/targets/_base.py: from Crypto.Cipher import AES

I see CW implementation of AES under below dirs:

software/chipwhisperer/analyzer/attacks/models/aes software/chipwhisperer/common/utils/aes_*.py

I didn't have experiences with CW Capture, but if it is expected that computations of full rounds as well as intermediate states are expected to be used by both CW Capture and Analyzer.

alex-dewar commented 5 years ago

The main repo no longer requires PyCryptoDome: 98cda3ffcdd8f9cb66561d935f3c1fe66ab7337f