Enabling different cryptographic models and their modes

I have gone through all the examples and codes that are in Jupyter notebook and found cryptographic algorithms like AES128C, TINYAES128C, HWAES, AESCCM, RSA and AES 256 CBC. My question is how I can implement other cryptographic algorithms for STM3F and XMEGA target boards. I am also interested in changing modes of cryptographic algorithms. Also, kindly tell me which algorithms are supported by ChipWhisperer (CW1200). Kindly guide me to write code or what changes I need to implement these algorithms in detail. Also guide me properly to implement my own encryption algorithm.

Thanks

Hi,

I’d recommend checking out this page: Custom Firmware on ChipWhisperer Targets — ChipWhisperer 5.7.0 documentation

Implementing and attacking different algorithms is mostly up to you. We do have some limited examples of attacks on other algorithms (RSA, ECC, etc.) in the demos folder, but there’s a lot of different attacks on different implementations, so we can’t give advice on every possible attack.

Alex

@Alex_Dewar I know you can not give advice on every possible attack, but at-least provide me link for guidance or help. Also, kindly provide me list of supported cryptographic algorithms (kindly provide me a link).

Thanks

@Alex_Dewar also I have followed this Custom Firmware on ChipWhisperer Targets — ChipWhisperer 5.7.0 documentation tutorial and getting following error:

It doesn’t look like you’re compiling simpleserial-xor.c. Have you added the SRC += simpleserial-xor.c line to the makefile?

I’d recommend looking for papers on your algorithm of choice using things like google/google scholar. We don’t have a list of supported algorithms either - ChipWhisperers can be used to perform attacks that don’t require better performance than it can provide. For example, the CW1200 can’t be used on an attack if you require 200k samples @ 50MS/s because non-streaming mode only supports ~100k samples and streaming mode caps out at 10MS/s.

1 Like

Yes, @Alex_Dewar I have added the mentioned line in the make file.

Thanks for the clarification, I would search those algorithms.