This project holds data for profiling and benchmarks, as well as visualizations for implementations of key exchange algorithms recommended for use today, as well as implementations of key encapsulation mechanisms submitted to NIST's standardization process.
To build all samples, simply run the following command.
make allTo render graphs run the following command.
make renderTo build graphs etc. for a specific target, run a command like the following.
make -C ntru renderYou may also generate visualizations of data gathered from a benchmark. Assuming that data.sqlite contains the data from one or more benchmarks, the following command will build all graphs in parallel.
make -j4 visualizationsTo build, the following prerequisites are required:
makegraphviz(for rendering graphs)
To build all samples, simply run the following command.
make allTo render graphs run the following command.
make renderTo build graphs etc. for a specific target, run a command like the following.
make -C ntru renderTo use the visualizations tool, first ensure that you have Python 3, matplotlib and numpy installed.
You may then use the command like so:
# List available visualizations
./visualization.sh ls
# View the help for graphing
./visualization.sh graph -h
# View the help for a specific graph
./visualization.sh graph example-graph -h
# Vie the help for a specific table
./visualization.sh table example-table -h
# Create a graph and show it
./visualization.sh graph --database ./my-database.sqlite example-graph --numbers 100
# Create a graph and store it
./visualization.sh graph --database ./my-database.sqlite --output my-graph.png example-graph --numbers 100
# Create a table and print it
./visualization.sh table --database ./my-database.sqlite example-table --numbers 10
# Create a table and store it
./visualization.sh table --database ./my-database.sqlite --output my-table.tex example-table --numbers 10