Skip to content
This repository has been archived by the owner on Apr 27, 2023. It is now read-only.
Dan Page edited this page Sep 16, 2021 · 27 revisions

Contact

Conditions

SCA3S is supported by a research project: it isn't a commercial service or product.

  • The static components of SCA3S, e.g., the content of various repositories, are typically made available under an open-source MIT License.

  • The dynamic components of SCA3S, i.e., the front- and back-ends accessible via the web-based interface and/or API, are provided gratis and so on an as is basis: we make no guarantees regarding availability, functionality, nor support, so users should assume some standard disclaimers (e.g., "use at your own risk", "we accept no liability") apply.

  • Funding associated with the research project lasts until 31/01/23, at which point both of the above will go end-of-life.

Concepts

SCA3S involves various components, which can be visualised as follows

with the numbered annotation referring to the recommended workflow for making use of it:

  • scarv/sca3s-harness is termed the harness repository, whereas ${USER}/sca3s-harness, which is a fork of scarv/sca3s-harness, is termed the user repository: ${USER} denotes the GitHub username of the owner.

  • Both the harness repository and user repository are hosted on GitHub; the latter is cloned by the user, in order to then develop their target implementation locally.

  • A target implementation is the combination of three components, namely

    1. a kernel, i.e., the functionality of interest,
    2. a board, i.e., infrastructure related to the platform said functionality is executed on, and
    3. a driver, which uses the board infrastructure to provide a UART-based CLI interface between kernel and user.

    Note that one only need develop the first component: the latter two components are provided as part of the harness repository.

  • The primary use-cases for SCA3S involve acquiring then analysing one or more trace data sets for a given target implementation; these use a platform-independent format based on HDF5.

  • The example/block/aes branch of scarv/sca3s-example captures an example target implementation which supports AES-128 using the block kernel in enc (i.e., encryption) mode.

Clone this wiki locally