Constant-Time WebAssembly
Branch: master
Clone or download
Pull request Compare This branch is 66 commits ahead, 223 commits behind WebAssembly:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
document
interpreter
papers
test
.gitattributes
.gitignore
.travis.yml
Contributing.md
LICENSE
README.md
deploy_key.enc
logo.png
logo.svg

README.md

CT-Wasm Spec

This repository, forked from the WebAssembly Spec, contains the CT-Wasm reference interpreter, which also implements a rewrite tool that strips secrecy labels and a simple label inference tool.

Building

The instructions for building and using the reference interpreter may be found in the interpreter directory. We produce two binaries ct_wasm_spec and ct2wasm.

Interpreter

To use the interpreter:

./ct_wasm_spec

Remove CT-Wasm Annotations

The label removing tool can be invoked by passing in the -strip flag:

./ct2wasm -strip -i file_to_strip.{wat, wasm} -o file_to_output.{wat, wasm}

Infer CT-Wasm Annotations

The label inference tool is part of the interpreter and can be invoked by passing in the -r flag:

./ct_wasm_spec -r file_to_infer.{wat, wasm} -o file_to_output.{wat, wasm}