Compare commits
3 Commits
b6ea77eb67
...
textbook-c
| Author | SHA1 | Date | |
|---|---|---|---|
| dcd26a7f09 | |||
| 510417ef30 | |||
| 6f15d54a5c |
30
preface.md
30
preface.md
@@ -3,33 +3,3 @@
|
|||||||
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.
|
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.
|
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.
|
||||||
|
|
||||||
**Resources**
|
|
||||||
|
|
||||||
**Getting Started**
|
|
||||||
- [OSSU Math](https://github.com/ossu/math) (free curriculum)
|
|
||||||
- [Math Major Guide: Nonstandard Advice](https://www.youtube.com/watch?v=EE7KpcReYw4)
|
|
||||||
- [Learn Mathematics from START to FINISH](https://www.youtube.com/watch?v=pTnEG_WGd2Q)
|
|
||||||
|
|
||||||
**Lectures & Courses**
|
|
||||||
- [Khan Academy](https://www.khanacademy.org/)
|
|
||||||
- [MIT OpenCourseWare: Linear Algebra](https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/)
|
|
||||||
- [Start Learning Mathematics (playlist)](https://www.youtube.com/playlist?list=PLBh2i93oe2qtbygdXz4u6Mkh7c_hMLBA8)
|
|
||||||
|
|
||||||
**Books & Textbooks**
|
|
||||||
- [Openstax](https://openstax.org/subjects/math) (free textbooks)
|
|
||||||
- [AIM Open Textbook](https://textbooks.aimath.org/) (free)
|
|
||||||
|
|
||||||
**Videos (Motivation & Insight)**
|
|
||||||
- [NancyPi](https://www.youtube.com/@NancyPi/featured)
|
|
||||||
- [Eddie Woo](https://www.youtube.com/@misterwootube/featured)
|
|
||||||
- [Mathologer](https://www.youtube.com/@Mathologer/featured)
|
|
||||||
- [The Math Sorcerer](https://www.youtube.com/@TheMathSorcerer/featured)
|
|
||||||
- [Numberphile](https://www.youtube.com/@numberphile/featured)
|
|
||||||
- [The Bright Side of Mathematics](https://www.youtube.com/@brightsideofmaths/videos)
|
|
||||||
- [Daniel Rubin](https://www.youtube.com/@DanielRubin1/featured)
|
|
||||||
- [Professor Leonard](https://www.youtube.com/@ProfessorLeonard/featured)
|
|
||||||
|
|
||||||
**Tools (Practice & Visualization)**
|
|
||||||
- [Wolfram Alpha](https://www.wolframalpha.com/)
|
|
||||||
- [GeoGebra Calculator Suite](https://www.geogebra.org/calculator)
|
|
||||||
|
|||||||
10
textbooks/elliptic-curves-prasma/ch01.md
Normal file
10
textbooks/elliptic-curves-prasma/ch01.md
Normal 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
|
||||||
0
textbooks/elliptic-curves-prasma/ch02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_01.md
Normal file
36
textbooks/elliptic-curves-prasma/ch02_01_set_theory.md
Normal file
36
textbooks/elliptic-curves-prasma/ch02_01_set_theory.md
Normal 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\},$$
|
||||||
0
textbooks/elliptic-curves-prasma/ch02_02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_02_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_02_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch02_03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_04.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_04.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_05.md
Normal file
0
textbooks/elliptic-curves-prasma/ch04_05.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_01.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_02.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_03.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_04.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_04.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_05.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_05.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_06.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_06.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_07.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_07.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_08.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_08.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_09.md
Normal file
0
textbooks/elliptic-curves-prasma/ch05_09.md
Normal file
5
textbooks/elliptic-curves-prasma/index.md
Normal file
5
textbooks/elliptic-curves-prasma/index.md
Normal 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
|
||||||
|
---
|
||||||
Reference in New Issue
Block a user