OpenTitan simplified bitstream for SCA on AES
- Dominant language
- Jupyter Notebook
- Stars
- 43
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I’m trying to reproduce a simple AES test on the OpenTitan SoC, running on the CW340 FPGA board, with the goal of collecting power traces and evaluating the design against SCA.
In the OpenTitan repository, I found the file sw/device/sca/aes_serial.c, which I think is intended for use with the lowrisc/ot-sca project. This C file seems to be compiled into a binary and loaded onto a customized OpenTitan bitstream that is modified/simplified to enable SCA experiments. However:
- The lowrisc/ot-sca repo only contains bitstreams for CW310, not CW340.
- The bitstreams appear to be pre-built; there is no published source or script to regenerate them.
- There is no CW340-specific support in the ot-sca repo for building bitstreams or collecting traces.
On the other hand, in the cw340-luna-board repository, I found fpga/hdl/cw341_top.v, which may be related to a minimal AES or SCA setup, but I’m unsure how it is meant to be used.
I would appreciate any help with the following:
- Building a minimal OpenTitan bitstream for CW340 that includes AES and minimal peripherals for SCA.
- load a simple AES binary to it.
- Collecting power traces from CW340 for SCA.
Any guidance or working example would be greatly appreciated!
Contributor guide
Research direction
Start by reading sw/device/sca/aes_serial.c and comparing the existing CW310 bitstreams in lowrisc/ot-sca. Then inspect fpga/hdl/cw341_top.v in cw340-luna-board and determine how it relates to a minimal CW340 setup. Done means the repository provides a reproducible CW340 bitstream, a way to load the AES binary, and documented trace collection guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cryptography, embedded-iot, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100