zkMarek is an educational project created by zkMarek, as an exercise to learn cryptography, with focus on understanding Plonk.
ZkMarek consists of two sub projects in two respective folders:
zkmarek/crypto- educational implementation of basic cryptographic primitives,zkmarek/video- source of videos created in Manim, used to create presentations and educational videos.
The code is tested and written in a reasonably readable manner, therefore it should serve well as an educational material. It should be easier to learn cryptographic algorithms than to form production libraries code.
Implementation here is focused on learning algorithms, rather than building actual production-ready solution. In particular, it is not optimized for security and performance. It is not audited, nor there is a plan to be audited in the future. Do not use it to build actual applications. Use it at your own responsibility.
Run all tests:
script/testRun a single test:
script/test zkmarek.test.algo.test_sqrt.TestSqrt.test_tonelli_shanks_sqrt_noneGenerate and open movie:
script/movieGenerate and open movie for specific deck:
DECK=TEASER script/movie
DECK=E1 script/movie
DECK=E2 script/movieDefault is E1 (Episode 1).
Generate and open movie from specific slides:
SLIDES=<slide_class_name> script/movie
SLIDES=<index_of_slide> script/movie
SLIDES=<list,of,indexes,and,class_names> script/movieGenerate and open movie from specific slides of specific deck:
DECK=TEASER SLIDES=1 script/movieGenerate presentation:
script/presentationNote: Movie related scripts are tested and work on OS X.
There is a useful calc script, which allows to perform miscellaneous calculations like finding all subgroups of an elliptic curve. Run with -h options to see the syntax.
script/calc -hRemove all artifacts:
script/cleanThannoid - Bodytonic
License: #2601
Date: 08/01/2023
app.sessions.blue