A gallery of novel academic research and long-form educational texts exploring high-speed cryptography.
All Papers
.jpg)
Provable Watermark Extraction
Last Updated:
June 4, 2025
Abstract
Introducing zkDL++, a novel framework designed for provable AI. Leveraging zkDL++, we address a key challenge in generative AI watermarking—maintaining privacy while ensuring provability. By enhancing the watermarking system developed by Meta, zkDL++ solves the problem of needing to keep watermark extractors private to avoid attacks, offering a more secure solution. Beyond watermarking...
.jpg)
Pairing for ICICLE
Last Updated:
April 15, 2025
Abstract
Integrating implementation of pairing functions into the Icicle fancy cryptography library. This paper explains the implementation in detail, together with a review of the theory of pairing functions.
.jpg)
Sumcheck 201
Last Updated:
January 21, 2025
Abstract
In this chapter, we explore sum-check protocols from the point of view of parallelizable computation in devices such as GPUs. We explore algorithmic modifications to the sum-check protocol, for products of Multi-Linear Extensions (MLE) to improve parallel compute and address memory bottlenecks.
.jpg)
Really Complex Codes with Application to STARKs
Last Updated:
October 11, 2024
Abstract
Reed-Solomon (RS) codes [RS60], representing evaluations of univariate polynomials over distinct domains, are foundational in error correction and cryptographic protocols. Traditional RS codes leverage the Fourier domain for efficient encoding and decoding via Fast Fourier Transforms (FFT). However, in fields such as the Reals and some finite prime fields, limited root-of-unity orders restrict these methods. Recent research, particularly in the context of modern STARKs...
.jpg)
Mersenne 31 Polynomial Arithmetic
Last Updated:
September 3, 2024
Abstract
This note aims to provide a comprehensive yet concise introduction and tutorial on the efficient implementation of field and polynomial arithmetic within the M31 field, specifically in the context of Circle STARKs [UH24]. By addressing both the advantages and challenges associated with this field choice, the note seeks to equip practitioners with the knowledge necessary to optimize their cryptographic systems effectively.
.jpg)
NTT 201 - Foundations of NTT Hardware Design
Last Updated:
August 8, 2024
Abstract
This document provides a comprehensive exploration of Number Theoretic Transform (NTT) hardware design, emphasizing both theoretical foundations and practical implementation. It begins with an in-depth discussion of Fourier transforms, their discrete variants, and the transition into NTT over finite fields, including applications such as Groth16 in zero-knowledge proofs.
.jpg)
A Mathematical Theory of Danksharding
Last Updated:
July 2, 2024
Abstract
Danksharding is the new sharding design proposed for the Ethereum 2.0 blockchain, which introduces significant simplifications compared to previous designs. This report provides...
.jpg)
Application of Graph Methods for Efficient Quotient Polynomial Evaluation in Halo2
Last Updated:
January 16, 2024
Abstract
In this work we present our research on applications of graph methods to parallelize the quotient polynomial in the Halo2 Zero Knowledge Proof (ZKP) system. The evaluation of the quotient polynomial has a complex data-interdependency which makes it a serious compute and memory bottleneck in halo2 applications. We achieve partitioning of quotient polynomial evaluation for large circuits, into groups...
.jpg)
Marlin & Me
Last Updated:
October 6, 2023
Abstract
A theoretical deep dive into the Marlin protocol. This note takes the reader in a walkthrough of the R1CS construction, Algebraic Holographic proof, and univariate sumcheck used in the protocol.
.jpg)
RISC Zero Prover Protocol & Analysis
Last Updated:
April 21, 2023
Abstract
Presenting a detailed analysis of the RISC0 prover and its compatibility for hardware acceleration using either GPU or FPGA.
.jpg)
A Brief History of Lookup Arguments
Last Updated:
February 22, 2023
Abstract
Lookup arguments are a strong tool in the field of Zero-Knowledge Proofs, that allows to extend ZKP capabilities to non-arithmetic constraints. We present here an overview of uses for Lookup arguments, as well as a comparative history of Lookup protocols, from Plookup (2017) to cq (2022)
.jpg)
Multi-Precision Fast Modular Multiplication
Last Updated:
January 12, 2023
Abstract
The Barrett-Domb modular multiplication is a low-complexity, hardware-friendly modular multiplication algorithm based on the novel Barrett modular reduction scheme. In this work, we introduce a multi-precision, GPU/CPU friendly, version of the Barrett- Domb algorithm. We show that our scheme is competitive with the widely used Mont- gomery modular multiplication, potentially retiring the need for the cumbersome Mont- gomery conversions.
.jpg)
Goldilocks NTT Trick
Last Updated:
December 14, 2022
Abstract
Polynomial arithmetic is at the heart of modern Zero Knowledge Proving (ZKP) systems. The Number Theoretic Transform (NTT) is a crucial tool in facilitating efficient computational complexity over large polynomials encountered in ZKPs. NTTs are dominated by the number of field multiplications. In this short note we focus on the specific case of NTT in the 64 bit Goldilocks field. Following the observation that 2^48...
.jpg)
NTT Mini: Exploring Winograd’s Heuristic for Faster NTT
Last Updated:
November 13, 2022
Abstract
We report on the Winograd-based implementation for the Number Theoretical Transform. It uses less multiplications than the better-known Cooley-Tuckey alternative. This optimization is important for very high order finite-fields. Unfortunately, the Winograd scheme is difficult to gen- eralize for arbitrary sizes and is only known for small-size transforms. We open-source our hardware implementation for size 32 based on [1].
.jpg)
SoK: Hash functions in Zero Knowledge Proofs
Last Updated:
September 29, 2022
Abstract
In this article we present a systematization of knowledge (SoK) on the usage of hash functions in Zero Knowledge Proofs (ZKP’s). Since ZKP’s operate on finite fields, traditional time-tested hash functions like SHA256 are unsuitable due to overhead in proving and verification of large number of bitwise operations. ZK-friendly hash functions are optimized for modular arithmetic in a finite field which reduces the circuit complexity...
.jpg)
Fast Modular Multiplication
Last Updated:
July 25, 2022
Abstract
Modular multiplication is arguably the most computationally-dominant arithmetic primitive in any cryptographic system. This note presents an efficient, hardware- friendly algorithm that, to the best of the author’s knowledge, outperforms existing algorithms to date.