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

Zero Knowledge

Browse all Zero Knowledge articles.

20 min read

Roots of Unity in Finite Fields, Explained with Examples

In a finite field, the k-th roots of unity are the elements of the subgroup of order k. Learn how to find them and what makes a root of unity primitive.

Last updated onNov 8, 2026
Read Article

22 min read

Multiplication of Polynomials in Point Form

Polynomial multiplication is widely used in zero-knowledge proofs and mathematical cryptography.

Last updated onOct 16, 2025
Read Article

7 min read

Basic Bank Tutorial with SPL Tokens and Anchor

In this tutorial, we’ll build a simple bank program on Solana with the basic features you'd expect from a regular bank.

Last updated onFeb 13, 2026
Read Article

14 min read

The Fundamental Theorem of Finite Cyclic Groups

The Fundamental Theorem of Cyclic Groups provides guarantees about the existence of cyclic subgroups within a cyclic group.

Last updated onNov 1, 2025
Read Article

10 min read

The constant product formula in Uniswap v3

This chapter is optional. It introduces no fundamentally new concepts compared to the previous ones, but offers a different perspective on deriving real…

Last updated onSep 15, 2025
Read Article

33 min read

Circle FFT — Part 1: Building the Circle Domain

Circle STARKs is a new zk-STARK scheme that has been implemented in Stwo and Plonky3, and it has been adopted by several zkVM projects.

Last updated onAug 20, 2025
Read Article

22 min read

Multiplicative Subgroups and Primitive Elements

This chapter continues our study of group theory by exploring subgroups and generators. The concept of a primitive element will be introduced at the end.

Last updated onMar 24, 2026
Read Article

4 min read

ZK Proof of Selection Sort

Most computations of interest are generally “stateful” — that is, they need to go through a series of steps to produce the final result.

Last updated onAug 20, 2025
Read Article

9 min read

How a ZKVM Works

A Zero-Knowledge Virtual Machine (ZKVM) is a virtual machine that can create a ZK-proof that verifies it executed a set of machine instructions correctly.

Last updated onAug 20, 2025
Read Article

3 min read

Swapping Two Items in an Array in Circom

This chapter shows how to swap two signals in a list of signals. This is an important subroutine for a sorting algorithm.

Last updated onApr 15, 2025
Read Article

3 min read

Quin Selector

The Quin Selector is a design pattern that allows us to use a signal as an index for an array of signals.

Last updated onMar 10, 2026
Read Article

4 min read

Introduction to Stateful Computations in ZK

When carrying out iterative computations such as powers, factorials, or computing the Fibonacci sequence, we need to “stop the computation” after a…

Last updated onApr 15, 2025
Read Article