Skip to content
This repository has been archived by the owner on Apr 27, 2023. It is now read-only.

scarv/sca3s-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCA3S: target implementation harness

Documentation

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.

Organisation

├── 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)

  1. Either

    1. 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

    2. provide a Docker build context by installing the Docker container platform.

  2. Follow the recommended workflow, which, roughly speaking, involves the following steps:

    1. enroll (via the SCA3S web-based interface),
    2. create user repository,
    3. clone user repository,
    4. develop target implementation,
    5. build target implementation,
    6. commit target implementation,
    7. use target implementation.

Questions?

Acknowledgements

This work has been supported in part