Prelude to the current state of mathematics and AI.

In order to address Isogeny Based Cryptography, we will need to have a crash course on mathematical structures. This will also hopefully bleed into other aspects of your cryptographic research.

There are generally three motivations for pools studying mathematics are:

  1. Those who primarily care about results, which are the theorems.
  2. Those who care about the proofs of such results.
  3. And those who do math for the love of the game.

I am of the second type. I personally care about the proofs of such results, and being able to understand these notions and concepts we use freely should be inherently studied from the ground up. People who are of this second family generally only label theorems as a bookmark that summarizes the proof itself, but provides less value than the proof that found its existence. This is to say I find that the reasoning behind a theorem is more illuminating than its statement alone.

Mathematicians against the current state of mathematics because of AI but are fine with utilizing AI to advance mathematics, in a parallel manner, are generally of this second family as well. This is generally what the endorsers of A Severe Misalignment of AI in Mathematics are for. Of course, there are those completely against the use of AI in any regard.

Introduction

In this reading group, we will emphasize the reasoning behind definitions and theorems. Our goal is to understand not only which results hold, but why they hold and how they help us study isogenies.

Also please check out Note 33 for Zichen's comment on cosets and subgroups.

We begin our study of Isogeny Based Cryptosystems by providing an idea of what an Isogeny is informally, and then formally building up it's toolbelt.

Question 1What is an isogeny?#

An isogeny is a nonconstant morphism between elliptic curves that preserves their group structure and identities.

Our goal is to eventually understand each of these terms, and also be able to state how it all relates back to our cryptosystem.

Groups

Definition 2Binary Operation#

Given a set GG, we define a binary operation as:

μ:G×G⟶G,(a,b)⟼ab\mu : G\times G\longrightarrow G,\qquad (a,b)\longmapsto ab

This operation is closed, meaning every operation maintains being within the set same GG.

Definition 3Semigroup#

A set (G,μ)(G,\mu) with a binary operation μ\mu and is associative.

Definition 4Monoid#

A semigroup (G,μ)(G,\mu) that contains an identity.

Definition 5Group#

A group is a monoid (G,μ)(G,\mu) that also has inverses for every element. Both identity and element inverses are unique. If bb is the inverse of aa, then we write a−1=ba^{-1} = b.

Example 6Additive Integers are a group#

The group (Z,+)(\mathbb{Z},+) has identity zero, inverse of nn is −n-n. But notice that (Z,⋅)(\mathbb{Z},\cdot) is only a monoid since most integers do not have inverses closed within the integers.

For the sake of simplicity, we will always denote GG as a group unless explicitly said.

Definition 7Abelian (commutative)#

If ab=baab = ba for every a,b∈Ga,b\in G, then the group is abelian.

This is not a requirement to be abelian. However, from now on, the groups in the lecture are abelian and written additively.

Definition 8Subgroup#

A subgroup of GG is a subset H⊆GH\subseteq G that contains 0G0_G and is closed under addition and additive inverses. We write H≤GH\leq G.

The associativity of the operation on HH is inherited from GG.

Definition 9Integer multiples#

For a positive integer rr, define

[r]P=P+⋯+P⏟r terms.[r]P=\underbrace{P+\cdots+P}_{r\text{ terms}}.

Also define [0]P=0G[0]P=0_G and [−r]P=−([r]P)[-r]P=-([r]P).

Associativity lets us write repeated sums without specifying parentheses. The familiar rules

[r+t]P=[r]P+[t]P,[r]([t]P)=[rt]P[r+t]P=[r]P+[t]P,\qquad [r]([t]P)=[rt]P

follow by grouping repeated sums, with inverses handling negative integers.

Definition 10Cyclic subgroup and order#

The cyclic subgroup generated by PP is

⟨P⟩={[r]P:r∈Z}.\langle P\rangle=\{[r]P:r\in\mathbb Z\}.

The order of PP is the least positive integer rr for which [r]P=0G[r]P=0_G, if such an integer exists. Otherwise, PP has infinite order.

A group GG is cyclic if G=⟨P⟩G=\langle P\rangle for some P∈GP\in G.

Example 11Element order and group size#

In G=Z/12ZG=\mathbb Z/12\mathbb Z, take P=8P=8. Then

[0]P=0,[1]P=8,[2]P=4,[3]P=0.[0]P=0,\qquad [1]P=8,\qquad [2]P=4,\qquad [3]P=0.

Thus

⟨8⟩={0,4,8},\langle 8\rangle=\{0,4,8\},

and 88 has order 33. The group GG has 1212 elements. The order of this element and the size of its ambient group are different quantities.

Group Homomorphism

Definition 12Group homomorphism#

Let GG and HH be additive groups. A function f:G→Hf:G\to H is a homomorphism if

f(P+Q)=f(P)+f(Q)f(P+Q)=f(P)+f(Q)

for every P,Q∈GP,Q\in G.

Definition 13Surjective homomorphism#

A surjective homomorphism is one that maps all elements from the domain to the codomain. Denoted in a mapping as G↠HG \twoheadrightarrow H.

Every h∈Hh\in H equals f(g)f(g) for atleast one g∈Gg\in G.

Definition 14Injective homomorphism#

An injective homomorphism is one that maps any valid element from the domain only once to the codomain. Denoted in a mapping as G↪HG \hookrightarrow H.

f(P)=f(Q)f(P) = f(Q) implies P=QP = Q.

Definition 15Isomorphism#

A bijective homomorphism is an isomorphism. If an isomorphism exists, we write G≅HG\cong H. Denoted in a mapping as G⟶∼HG \overset{\sim}{\longrightarrow} H.

Definition 16Automorphism#

An isomorphism:

f:G⟶∼Gf : G \overset{\sim}{\longrightarrow} G

is known as an automorphism.

Example 17Reduction of residue classes#

Consider

f:Z/12Z⟶Z/4Z,f([a]12)=[a]4.f:\mathbb Z/12\mathbb Z\longrightarrow\mathbb Z/4\mathbb Z, \qquad f([a]_{12})=[a]_4.

This is well-defined meaning if a−b=12ka-b=12k, then a−b=4(3k)a-b=4(3k), so equal classes modulo 1212 give equal classes modulo 44.

It is a homomorphism because

f([a]12+[b]12)=f([a+b]12)=[a+b]4=[a]4+[b]4=f([a]12)+f([b]12).\begin{aligned} f([a]_{12}+[b]_{12}) &=f([a+b]_{12})\\ &=[a+b]_4\\ &=[a]_4+[b]_4\\ &=f([a]_{12})+f([b]_{12}). \end{aligned}
Definition 18Kernel and image#

For a homomorphism f:G→Hf:G\to H, define

ker⁡f={P∈G:f(P)=0H}\ker f=\{P\in G:f(P)=0_H\}

and

im⁡f={f(P):P∈G}.\operatorname{im}f=\{f(P):P\in G\}.
Proposition 19The kernel is a subgroup#

For a group homomorphism f:G→Hf:G\to H, we have ker⁡f≤G\ker f\leq G.

Proof#

We have f(0G)=0Hf(0_G)=0_H, so 0G∈ker⁡f0_G\in\ker f.

If P,Q∈ker⁡fP,Q\in\ker f, then

f(P+Q)=f(P)+f(Q)=0H+0H=0H.f(P+Q)=f(P)+f(Q)=0_H+0_H=0_H.

Thus P+Q∈ker⁡fP+Q\in\ker f. Also,

f(−P)=−f(P)=−0H=0H,f(-P)=-f(P)=-0_H=0_H,

so −P∈ker⁡f-P\in\ker f.

□
Exercise 1#

Prove that a homomorphism f:G→Hf:G\to H is injective if and only if ker⁡f={0G}\ker f=\{0_G\}.

Proof#

Recall that injectivity means that f(P)=f(Q)f(P)=f(Q) implies P=QP=Q. We prove the two implications separately.

Suppose first that ff is injective. If P∈ker⁡fP\in\ker f, then f(P)=0Hf(P)=0_H. We also know that f(0G)=0Hf(0_G)=0_H. Therefore

f(P)=f(0G).f(P)=f(0_G).

Injectivity gives P=0GP=0_G. Thus every kernel element equals 0G0_G. Conversely, 0G0_G always belongs to the kernel, so

ker⁡f={0G}.\ker f=\{0_G\}.

Now suppose ker⁡f={0G}\ker f=\{0_G\}. To prove injectivity, take any P,Q∈GP,Q\in G with f(P)=f(Q)f(P)=f(Q).

f(P−Q)=f(P)−f(Q)=0H.\begin{aligned} f(P-Q) &= f(P) - f(Q)\\ &= 0_H. \end{aligned}

Therefore:

P−Q∈ker⁡f.P-Q\in\ker f.

The only element in the kernel is 0G0_G, so P−Q=0GP-Q=0_G. Add QQ to both sides:

(P−Q)+Q=0G+Q.(P-Q)+Q=0_G+Q.

Associativity and the inverse property simplify this to P=QP=Q. Hence ff is injective.

□

Cosets and Quotients

Throughout this section, GG is an abelian group written additively, and K≤GK\leq G is a subgroup. The abelian assumption will let us form a quotient by any subgroup without introducing normal subgroups. This should reduce confusion from the lecture.

Cosets

Definition 20Coset#

For P∈GP\in G, the coset of KK containing PP is

P+K={P+T:T∈K}.P+K=\{P+T:T\in K\}.
Example 21Cosets in a cyclic group#

Let G=Z/12ZG=\mathbb Z/12\mathbb Z and K={0,4,8}K=\{0,4,8\}. The distinct cosets are

K={0,4,8},1+K={1,5,9},2+K={2,6,10},3+K={3,7,11}.\begin{aligned} K&=\{0,4,8\},\\ 1+K&=\{1,5,9\},\\ 2+K&=\{2,6,10\},\\ 3+K&=\{3,7,11\}. \end{aligned}

For example, 5+K=1+K5+K=1+K. Different representatives can describe the same coset, just as different integers can describe the same residue class.

Proposition 22Cosets have the same size as the subgroup#

The map

K⟶P+K,T⟼P+TK\longrightarrow P+K,\qquad T\longmapsto P+T

is a bijection.

Proof#

It is surjective by the definition of P+KP+K. It is injective because P+T=P+UP+T=P+U implies T=UT=U by cancellation.

□

We didn't discuss this in the lecture, but this is an important theorem brought up by Zichen.

Theorem 23Lagrange's theorem for finite abelian groups#

If GG is finite and K≤GK\leq G, then

∣G∣=[G:K]∣K∣,|G|=[G:K]|K|,

where [G:K][G:K] denotes the number of distinct cosets of KK. In particular, ∣K∣|K| divides ∣G∣|G|.

Proof#

The distinct cosets partition GG, and every coset contains exactly ∣K∣|K| elements. Counting the elements in this partition gives the formula.

□

Quotient Groups

Definition 24Quotient group#

The quotient G/KG/K is the set of cosets

G/K={P+K:P∈G},G/K=\{P+K:P\in G\},

with addition defined by

(P+K)+(Q+K)=(P+Q)+K.(P+K)+(Q+K)=(P+Q)+K.
Construction 25The quotient map#

Define

π:G⟶G/K,π(P)=P+K.\pi:G\longrightarrow G/K,\qquad \pi(P)=P+K.

Then

π(P+Q)=(P+Q)+K=(P+K)+(Q+K)=π(P)+π(Q),\pi(P+Q)=(P+Q)+K=(P+K)+(Q+K)=\pi(P)+\pi(Q),

so π\pi is a homomorphism. It is surjective because every coset has a representative.

The identity in G/KG/K is KK, so

P∈ker⁡π⟺P+K=K⟺P∈K.P\in\ker\pi\quad\Longleftrightarrow\quad P+K=K \quad\Longleftrightarrow\quad P\in K.

Therefore ker⁡π=K\ker\pi=K.