Code Monkey home page Code Monkey logo

sca3s-example's Introduction

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

sca3s-example's People

Contributors

danpage avatar

Watchers

 avatar  avatar

Forkers

jwsi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.