Sign inSign up

tfaoliveira/letsdoit-ches25

By tfaoliveira

•Updated over 1 year ago

Let's DOIT: Using Intel's Extended HW/SW Contract for Secure Compilation of Crypto Code

Image
Security
Languages & frameworks
0

2.0K

tfaoliveira/letsdoit-ches25 repository overview

This repository contains a Docker image corresponding to the artifact of the paper: Let's DOIT: Using Intel's Extended HW/SW Contract for Secure Compilation of Crypto Code:

First, get the image:

$ docker pull tfaoliveira/letsdoit-ches25

Then, you can read the README.md file to get an overview of the artifact's contents:

$ docker run -it tfaoliveira/letsdoit-ches25 bash
$ less -f README.md 

To compile the Spectre and DOIT-protected code, run:

$ make -C sslh_rsb_doit/src -j$(nproc) libjade.a

If you wish to locate the corresponding assembly files (produced using the Jasmin compiler, which compiles Jasmin code into amd64 assembly in this case), run:

$ find sslh_rsb_doit/src/ -name "*.s"

To verify that the cryptographic code under sslh_rsb_doit/ is constant-time with respect to common policies, DOIT, and speculative constant-time, run:

$ make -C sslh_rsb_doit/src -j$(nproc) CI=1 sct
$ make -C sslh_rsb_doit/src -j$(nproc) CI=1 reporter_sct

The README.md file, referenced earlier, also contains information on how to prepare and run benchmarks.

After completing your experiments, you can exit the container by typing exit.

Note that the earlier docker run command does not include the --rm option, which automatically removes the container once it exits.

By running docker ps -a, you can find the name of the container, which might look something like trusting_ritchie.

Since the container was not removed, you can copy files from it to your host machine using the docker cp command while it still exists. For example:

$ docker cp trusting_ritchie:/home/ches25/sslh_rsb_doit/src/libjade.a libjade.a 
$ docker cp trusting_ritchie:/home/ches25/sslh_rsb_doit/src/libjade.h libjade.h

These commands will copy the libjade.a library and the corresponding header file into your current working directory.

If you are interested in using a specific implementation from this artifact in your own projects, you can copy just that implementation.

For instance, you can copy one of the assembly files returned by the previously mentioned find command.

Once you are finished with your experiments, you can remove the container using the docker rm command. For example:

$ docker rm trusting_ritchie

To remove the image, run: docker image rm tfaoliveira/letsdoit-ches25.

Tag summary

Content type

Image

Digest

sha256:94846ff03…

Size

2.1 GB

Last updated

over 1 year ago

docker pull tfaoliveira/letsdoit-ches25