Last active
September 5, 2022 11:59
-
-
Save dsprenkels/21209d4e70bb0403b30dabe38a8995b7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# install.sh | |
# | |
# Installation instruction for getting Ethan's Dilithium code up and running. | |
# | |
# Author: Amber Sprenkels <[email protected]> | |
# Date: 17 May 2022 | |
# shellcheck disable=SC2164,SC2155 | |
echo "error: This file contains documentation. It is not meant to be run." | |
exit 1 | |
# Install and start Docker | |
yay -S docker | |
sudo systemctl start docker.service | |
sudo docker pull nixos/nix | |
sudo docker create \ | |
--tty \ | |
--interactive \ | |
--name nixos \ | |
--user "$(id --user):$(id --group)" \ | |
--volume "$(pwd)":/workspace \ | |
nixos/nix bash | |
sudo docker start nixos --attach --interactive # Start and open a regular shell | |
sudo docker exec --user root --tty --interactive nixos bash # Open a root shell | |
# Inside the container | |
cd /workspace | |
git clone --recursive https://github.com/jasmin-lang/jasmin.git | |
git checkout v2022.04.0 | |
# Install jasmin using nix | |
cd /workspace/jasmin | |
nix-channel --update | |
nix-env --install ncurses | |
nix-shell | |
# Build jasmin compiler | |
cd /workspace/jasmin/compiler | |
make CIL | |
make all | |
# Get Ethan's code | |
git clone --recursive http://github.com/ethanlee515/jasmin-dilithium | |
cd jasmin-dilithium | |
# Build a reference impl of Dilithium first | |
make -C dilithium/ref shared randombytes.o | |
PATH=/workspace/jasmin/compiler:$PATH | |
export LD_LIBRARY_PATH="$(pwd)/dilithium/ref:$LD_LIBRARY_PATH" | |
# Make and run some tests | |
cd tests | |
make test_keygen test_sign && ./test_keygen && ./test_sign |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment