Compare commits
9 Commits
textbook-c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ae3d027dab | |||
| 09978cc914 | |||
| 2b2446d0c3 | |||
| d5e7f72c6a | |||
| f3ce64f44d | |||
| 4b0076a507 | |||
| b6ea77eb67 | |||
| 2848ca27d1 | |||
| 43bf9371a9 |
@@ -14,8 +14,13 @@ Study system combining:
|
||||
- **graph-theory/** — Graphs, trees, algorithms
|
||||
- **algorithms/** — Complexity, sorting, searching
|
||||
- **cryptography-prep/** — Building blocks for crypto (once foundation is solid)
|
||||
- **lectures/** — Course-specific lecture notes (see below)
|
||||
- **lecture-notes/** — Raw notes from lectures before organizing
|
||||
|
||||
## Lectures
|
||||
|
||||
- [Ethereum Cryptography 2026](./lectures/ethereum-crypto-2026/) — EPF course
|
||||
|
||||
## Study Flow
|
||||
|
||||
1. Watch lecture → save raw notes to `lecture-notes/`
|
||||
|
||||
11
lectures/ethereum-crypto-2026/00-preface.md
Normal file
11
lectures/ethereum-crypto-2026/00-preface.md
Normal file
@@ -0,0 +1,11 @@
|
||||
**Ethereum Cryptography — 2026**
|
||||
|
||||
Lecture notes and references for the cryptography course.
|
||||
|
||||
Main resource: https://drive.google.com/file/d/14ZOhQr4t-6Idd_ljeMCUexFQvCmd72cp/view
|
||||
|
||||
Course page: https://study.epf.wiki/course/view.php?id=3
|
||||
|
||||
---
|
||||
|
||||
(TODO: dump intro notes, preliminary content, and any supplementary materials here)
|
||||
7
lectures/ethereum-crypto-2026/01-finite-groups-fields.md
Normal file
7
lectures/ethereum-crypto-2026/01-finite-groups-fields.md
Normal file
@@ -0,0 +1,7 @@
|
||||
**Lecture 1 — Finite Groups & Fields**
|
||||
|
||||
Main resource: https://drive.google.com/file/d/14ZOhQr4t-6Idd_ljeMCUexFQvCmd72cp/view
|
||||
|
||||
---
|
||||
|
||||
(TODO: notes)
|
||||
@@ -0,0 +1,7 @@
|
||||
**Lecture 2 — Discrete Fourier Transform**
|
||||
|
||||
Main resource: https://drive.google.com/file/d/14ZOhQr4t-6Idd_ljeMCUexFQvCmd72cp/view
|
||||
|
||||
---
|
||||
|
||||
(TODO: notes)
|
||||
@@ -0,0 +1,7 @@
|
||||
**Lecture 3 — Elliptic Curves & Pairings**
|
||||
|
||||
Main resource: https://drive.google.com/file/d/14ZOhQr4t-6Idd_ljeMCUexFQvCmd72cp/view
|
||||
|
||||
---
|
||||
|
||||
(TODO: notes)
|
||||
7
lectures/ethereum-crypto-2026/04-bls-signatures.md
Normal file
7
lectures/ethereum-crypto-2026/04-bls-signatures.md
Normal file
@@ -0,0 +1,7 @@
|
||||
**Lecture 4 — BLS Signatures**
|
||||
|
||||
Main resource: https://drive.google.com/file/d/14ZOhQr4t-6Idd_ljeMCUexFQvCmd72cp/view
|
||||
|
||||
---
|
||||
|
||||
(TODO: notes)
|
||||
7
lectures/ethereum-crypto-2026/05-proof-systems.md
Normal file
7
lectures/ethereum-crypto-2026/05-proof-systems.md
Normal file
@@ -0,0 +1,7 @@
|
||||
**Lecture 5 — Proof Systems**
|
||||
|
||||
Main resource: https://drive.google.com/file/d/14ZOhQr4t-6Idd_ljeMCUexFQvCmd72cp/view
|
||||
|
||||
---
|
||||
|
||||
(TODO: notes)
|
||||
31
preface.md
31
preface.md
@@ -3,3 +3,34 @@
|
||||
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.
|
||||
|
||||
**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/)
|
||||
- [Introduction to Higher Mathematics](https://www.whitman.edu/mathematics/higher_math_online/) (free online course)
|
||||
- [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)
|
||||
|
||||
51
study-log.md
Normal file
51
study-log.md
Normal file
@@ -0,0 +1,51 @@
|
||||
**Study Log**
|
||||
|
||||
Format: Date (title + optional link) → Notes → Questions
|
||||
Sorted newest first.
|
||||
|
||||
---
|
||||
|
||||
**Example**
|
||||
|
||||
**2026-03-18**
|
||||
- Math Major Guide: Nonstandard Advice — https://www.youtube.com/watch?v=EE7KpcReYw4
|
||||
|
||||
Notes:
|
||||
- Math isn't about speed or memorization — it's about understanding structure
|
||||
- The "right" way to study math is different from other subjects
|
||||
|
||||
Questions:
|
||||
- How do I know when I've truly understood a concept vs just memorized it?
|
||||
|
||||
---
|
||||
|
||||
**Log** (newest first)
|
||||
|
||||
**2026-03-20**
|
||||
- Lecture 1 — Intro to Cryptography (skimmed notes, pages 2–15)
|
||||
|
||||
Notes:
|
||||
- Base and recursive construction of natural numbers — the "stepper function" (forgot exact term)
|
||||
|
||||
Questions:
|
||||
- Most of the content is still unclear. Rather than forcing comprehension, treating this as a "gap survey" — noting what foundational topics I need before this clicks: groups, fields, modular arithmetic, cyclic structures.
|
||||
|
||||
Comment:
|
||||
- Smart approach. Skim + attend lecture + log gaps = right strategy at this level. Don't fight it — just map the territory.
|
||||
|
||||
---
|
||||
|
||||
**2026-03-19**
|
||||
- Khan Academy: Sets & Their Representations (110 minutes) — https://www.khanacademy.org/math/ka-math-class-11/x0419e5b3b578592a:sets-ncert-new/x0419e5b3b578592a:sets-and-their-representations/v/what-are-sets
|
||||
|
||||
Notes:
|
||||
- Roster form: lists all elements explicitly, e.g. {1, 2, 3, ...}
|
||||
- Set-builder form: describes elements by a rule, e.g. {x: x is an odd number less than 10}
|
||||
- Sets can be empty, finite, or infinite
|
||||
|
||||
Questions:
|
||||
- Still unclear on terminology: positive integer, real number, integral number, etc. — these are number classification names, not strictly a set concept. Looking for a reference to solidify these.
|
||||
- Reference: https://mathmonks.com/sets/number-sets
|
||||
|
||||
Comment:
|
||||
- Notes are solid. The number classification question is actually about "number systems" — you'll encounter these more in the lecture notes when they talk about fields and groups. For now, just know that N = natural numbers, Z = integers, R = real numbers. Check out the reference above for a simple breakdown of number sets.
|
||||
@@ -1,10 +0,0 @@
|
||||
# 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
|
||||
@@ -1,36 +0,0 @@
|
||||
# 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\},$$
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
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