SCA3S: target implementation harness
Acting as a component part of the wider SCARV project, SCA3S is a collection of resources that support the development and analysis of cryptographic implementations wrt. side-channel attack: SCA3A is, more specifically, pitched as offering "side-channel analysis as a service": it allows users to acquire and analyse side-channel data-sets which stem from execution of their implementation, without (necessarily) owning or operating the associated infrastructure. Mirroring the goals of SCARV, it places particular emphasis on analogue side-channels (e.g., power and EM) stemming from RISC-V-based platforms. The main repository acts as a general container for associated resources; this specific submodule houses a harness within which target implementations are developed.
├── bin - scripts (e.g., environment configuration)
├── build - working directory for build
├── extern - external resources (e.g., submodules)
│ └── wiki - submodule: scarv/sca3s-harness.wiki
└── src
├── docker - source code for containers
└── sca3s - source code for SCA3S
└── harness - source code for SCA3S target implementation harness
├── board - board implementations
├── driver - driver implementations
├── kernel - kernel implementations
└── share - shared functionality
Quickstart (with more detail in the wiki)
-
Either
-
provide a native build context by installing associated pre-requisites, e.g.,
- a suitable compiler and programming tool-chain, e.g., board-specific versions of GCC and OpenOCD,
- the Doxygen documentation generation system,
and/or
-
provide a Docker build context by installing the Docker container platform.
-
-
Follow the recommended workflow, which, roughly speaking, involves the following steps:
- enroll (via the SCA3S web-based interface),
- create user repository,
- clone user repository,
- develop target implementation,
- build target implementation,
- commit target implementation,
- use target implementation.
- read the wiki,
- raise an issue,
- raise a pull request,
- drop us an email.
This work has been supported in part
- by EPSRC via grant EP/R012288/1 (under the RISE programme), and
- by the AWS Cloud Credits for Research programme.