Notebooks showing how to use the CryptoUtilities.jl library, along with some other goodies.
For cryptographers and developers with some familiarity with Python but no
familiarity with Julia, we recommend starting with 01_basics.jl
and moving on
from there. The presentation has very few things, but we use these constantly
in the rest of the notebooks, so it's worth at least a quick peek through. For
those more familiar with benchmarking, and low level code stuff in Julia
(@code_native
and so on), this is mostly a short review and it's not
necessary to read.
Notebooks 2 and 3 are independent of each other, while notebook 4 depends on 2, and each of these depends on the few things introduced in notebook 1. Finally, notebook 5 brings pretty much all of it together to construct a (relatively fast) succinct proof using the example code from the bcc-research/CryptoUtilitiesExamples repository.
To simply view the notebooks, statically compiled HTML files are available in this repository.
We highly recommend running these locally, though, and instructions for that are below!
For the notebooks in this repository, we use Pluto.jl.
For a brief intro to Pluto.jl, take a peek at this 20 min video. (We promise it's very cool!)
To run the files:
- Download and install Julia
- Clone the repository
- Follow the instructions to install and run Pluto and simply open any of the notebook files from the cloned repo from Pluto.