Compare commits

..

3 Commits

Author SHA1 Message Date
dcd26a7f09 Add preface with motivation and resources 2026-03-18 18:04:14 +00:00
510417ef30 Add ch02_01 Set Theory (sample conversion from PDF) 2026-03-15 17:46:03 +00:00
6f15d54a5c feat: add elliptic curve ch01 2026-03-16 00:01:26 +07:00
26 changed files with 56 additions and 0 deletions

5
preface.md Normal file
View File

@@ -0,0 +1,5 @@
**Preface**
This exists because we believe learning math should be enjoyable for everyone. These notes are meant as a reference for anyone studying the same topics and wanting a cross-reference.
Since doing this alone, we couldn't cross-reference with anyone else. So this preface is an invitation: create and publish your own notes. If you can't create or publish solo, maybe we can start a math club — a more laid-back format to share things.

View File

@@ -0,0 +1,10 @@
# Chapter 1: Introduction
Since the construction of Miller's algorithm [Mil], the cryptography community has started to use elliptic curves and their pairing extensively; by now; many publicly available code libraries allow one to efficiently compute these mathematical objects.
Compared to Machine Learning, where the mathematical pre-requisites consist of Linear Algebra, Calculus, and basic Statistics, elliptic curves require substantially more background and are usually taught at a master level in pure Mathematics. This state of affairs poses a challenge to engineers and others who wish to understand the mathematical building blocks.
This notes aim to give a self-contained, rigorous and elementary account of most of the maths required for pairing-based cryptography. I sometimes formulated elementary arguments to replace non-elementary ones. I completely avoid relying on Galois theory or algebraic gemotery andeven ring theory is mostly skipped.
Footnotes:
- Mil (Miller's algorithm): Miller, V.S., 2004. The Weil pairing, and its efficient calculation. Journal of cryptology, 17(4), pp.235-261

View File

View File

@@ -0,0 +1,36 @@
# Chapter 2: Naive Set Theory
As our logic syntax we use the symbols $\forall$, $\exists$, $\vee$, $\wedge$, $!$, $\neg$, $\Rightarrow$ and $\Leftrightarrow$ to denote 'for all', 'exists', 'or', 'and', 'unique', 'not', 'implies' and 'if and only if' (or 'iff', meaning implies and implied) respectively.
We typically define a new notion by saying that something is called **'name'** if it satisfies a certain condition. In definitions, this 'if' is meant as an 'if and only if' in that we will call something 'name' if and only if it satisfies the condition of the definition.
## 2.1 Sets and functions
> **Slogan.** Sets are the machine code of modern Mathematics.
On a fundamental level, modern Math is built on Set Theory. From that point of view, a set $S$ is a collection of elements such that for every object $x$ in our 'universe' we can determine whether $x$ is an element of $S$, denoted $x \in S$ or that $x$ is not an element of $S$, denoted $x \notin S$.
When we want to specify the elements of a set $S$, we do so with bounding curly brackets and commas separating between elements e.g. $S = \{a, b, c\}$. Repeated elements in a set are ignored so $\{1, 1, 2, 3\} = \{1, 2, 3\}$. Also, the order of elements does not matter, so $\{2, 3, 1\} = \{1, 2, 3\}$.
If $S$ has finite number of elements (or just 'finite') we denote by $\#S$ (or $|S|$) the number of elements of $S$. Of course, $S$ need not be finite, and in this case, we need a rule in order to specify the elements of $S$, e.g. $S = \{n \mid n \text{ is a natural number and } n \geq 2\}$ or if the rule is clear after a few cases, we can write $S = \{2, 3, 4, \dots\}$. For sets $A, B$ we write $A \subseteq B$ if $\forall a \in A$ we have $a \in B$ and say that $A$ is included in $B$. Observe that for sets $A, B$, $A = B$ if and only if $A \subseteq B$ and $B \subseteq A$. The basic operations on sets include
**union**
$$A \cup B = \{x \mid x \in A \vee x \in B\},$$
**intersection**
$$A \cap B = \{x \mid x \in A \wedge x \in B\},$$
and **complement** (or subtraction)
$$A \setminus B = \{x \mid x \in A \wedge x \notin B\}.$$
> **Remark 2.1.** More generally, let $I$ be a set that we refer to as an 'index set'. Suppose that for every $i \in I$ we are given a set $U_i$. Then we can form the union
> $$\bigcup_{i \in I} U_i = \{x \mid \exists i \in I : x \in U_i\}$$
> and the intersection
> $$\bigcap_{i \in I} U_i = \{x \mid \forall i \in I : x \in U_i\}.$$
Our fundamental assumption is that there exist a special set, called the **empty set** and denoted $\emptyset$ that has no elements. More formally, we can write
$$\emptyset = \{x \mid x \neq x\}$$
and observe that for every set $A$ we have $\emptyset \subseteq A$. Using the empty set, we can in fact define all natural numbers as follows:
$$0 := \emptyset,$$
$$1 := \{\emptyset\},$$

View File

View File

View File

View File

@@ -0,0 +1,5 @@
---
title: Elliptic curves over finite fields and their pairings - an elementary and rigorous account
author: Matan Prasma
year: December, 2024
---