Miscellaneous Widgets
Incomplete catalog of small-scale projects I’ve developed or participated in.
Websites
- Ed25519 quirks (open-source), a website about quirks of the Ed25519 digital signature cryptosystem.
- Just Web Token (open-source), an education website about JSON Web Tokens (JWTs) that allows parsing and verifying tokens.
- Elasticpoll (open-source), a web application that allows organizing single-choice and multi-choice polls that combine privacy and universal verifiability with the help of some applied cryptography.
- Fractals (⚠ in Russian), a website for rendering Julia set fractals.
- Lectures on software engineering (⚠ in Russian)
Rust Crates
arithmetic-parser
,arithmetic-eval
,arithmetic-typing
. Customizable parser, interpreter and type system for arithmetic expressions.const-decoder
. Decoding byte buffers from hex and base64 encodings in compile time.julia-set
. Rendering Julia set fractals with the help of OpenCL, Vulkan or CPU compute.hex-buffer-serde
. A small crate allowing to customize serialization of byte slices depending on the serializer “compactness”.secret-tree
. Deriving secrets from a single secret seed using the Blake2b hash function, in a libsodium-compatible way.pwbox
. Passphrase-based encryption with customizable cryptographic backends.jwt-compact
. JSON Web Token implementation focused on supporting compact claim serialization with CBOR and support of alternative cryptosystems.ocl-convolution
. OpenCL implementation of quantized convolution layers for deep neural networks.elastic-elgamal
. ElGamal encryption and related cryptographic protocols (such as various zero-knowledge proofs) with a pluggable crypto backend.externref
. Low-cost reference type (akaexternref
andanyref
) shims for WASM modules.term-transcript
. Snapshot creation and testing for CLI / REPL applications.tracing-capture
andtracing-tunnel
. Tools for thetracing
framework allowing to capture tracing spans / events, and to propagate them across an opaque boundary (e.g., when running WASM modules usingwasmtime
or another WASM engine).
NPM Packages
chai-bytes
. Easy assertions on byte arrays based on Chai.julia-set
,julia-set-node
. Rendering Julia set fractals with the help of WebGL (and Puppeteer in the case of Node).bech32-buffer
. Bech32(m) encoding for Bitcoin adderesses and other applications. The demo website is also available.