Skip to main content
Try out the RareSkills ZK AI Tutor!

Zero Knowledge

Browse all Zero Knowledge articles.

22 min read

Elementary Set Theory for Programmers

Why another set theory tutorial? The target audience for this piece is the sort of folks who don’t care about abstract math unless they see a direct…

Last updated onNov 8, 2026
Read Article

25 min read

Arithmetic Circuits for ZK

In the context of zero-knowledge proofs, an arithmetic circuit is a system of equations that models a problem in NP.

Last updated onSep 28, 2024
Read Article

12 min read

Abstract Algebra

Abstract Algebra is the study of sets that have one or more operators on that set.

Last updated onSep 10, 2024
Read Article

15 min read

Bilinear Pairings in Python, Solidity, and the EVM

Sometimes also called bilinear mappings, bilinear pairings allow us to take three numbers, a, b, and c, where ab = c, encrypt them to become E(a), E(b)…

Last updated onOct 19, 2024
Read Article

30 min read

Finite Fields and Modular Arithmetic for ZK Proofs

This article is the third in a series. We present finite fields in the context of circuits for zero-knowledge proofs.

Last updated onMar 10, 2026
Read Article

12 min read

Elementary Group Theory for Programmers

This article provides several examples of algebraic groups so that you can build an intuition for them. We also discussed abelian groups.

Last updated onFeb 25, 2026
Read Article

30 min read

P vs NP Explained Simply, and Why It Matters for ZK Proofs

P vs NP asks if every problem that is quick to verify is also quick to solve. A plain explanation with Boolean formulas, and what it means for ZK proofs.

Last updated onNov 7, 2026
Read Article

18 min read

Groth16 Explained

The Groth16 algorithm enables a quadratic arithmetic program to be computed by a prover over elliptic curve points derived in a trusted setup, and…

Last updated onMar 16, 2026
Read Article

29 min read

Converting Algebraic Circuits to R1CS (Rank One Constraint System)

This article is explains how to turn a set of arithmetic constraints into Rank One Constraint System (R1CS).

Last updated onJan 22, 2026
Read Article

17 min read

Quadratic Arithmetic Programs

A quadratic arithmetic program is an arithmetic circuit, specifically a Rank 1 Constraint System (R1CS) represented as a set of polynomials.

Last updated onMar 22, 2026
Read Article

4 min read

R1CS to Quadratic Arithmetic Program over a Finite Field in Python

To make the transformation from R1CS to QAP less abstract, let’s use a real example.

Last updated onAug 5, 2024
Read Article

9 min read

Building a Zero Knowledge Proof from an R1CS

Given an arithmetic circuit encoded as a Rank 1 Constraint System, it is possible to create a ZK-proof of having a witness, albeit not a succinct one.

Last updated onOct 31, 2024
Read Article