How (not) to get into isogenies

When you start digging into isogenies, a good resource to begin with is Mathematics of Isogeny Based Cryptography (opens new window) by Luca De Feo. However, you might quickly encounter terms you don’t understand, such as complex lattice, complex torus, and complex multiplication. At least, I had no idea what these concepts are.

As it turns out, when working with isogeny-based cryptography, you don’t actually deal with these terms directly. However, it’s good to have some background knowledge.

Elliptic Curves: Number Theory and Cryptography (opens new window) by Lawrence C. Washington is a wonderful resource for elliptic curves, and Chapter 9: Elliptic Curves over C\mathbb{C} introduces these terms.

But first, you need to know some basic results from complex analysis.

Cauchy’s integral theorem

My plan was to develop an intuitive understanding of some basic complex analysis without delving too deeply into it.

Cauchy’s integral theorem: For the holomorphic functions it holds: if you compute an integral along a path, the value of the integral does not depend on the path.

Or, a bit more formally:

If a function is holomorphic on a simply connected subspace of C,\mathbb{C}, then its contour integral on a path depends only on the beginning and ending points of the path.

For starters, I didn’t know what a holomorphic function was. So:

A holomorphic function is a complex-valued function that is complex differentiable in a neighbourhood of each point in a domain.

But what is a contour integral?

Line integral

I needed to first refresh my memory about what line integrals. Let’s have a function F(x,y):R2R.F(x, y): \mathbb{R^2} \rightarrow \mathbb R.

Let CC be a curve along which integration will take place. For example: y=x2.y = x^2.

ds=dx2+dy2ds = \sqrt{{dx}^2 + {dy}^2} presents a change along the curve C.C.

The line integral CF(x,y)dw\int\limits_{C}F(x, y) dw can be easily visualized. There’s a two-dimensional object bounded by CC and F(x,y)F(x, y) (think of it like a fence above CC). The integral CF(x,y)ds\int\limits_{C}F(x, y) ds represents the area of this object.

The integrals CF(x,y)dx\int\limits_{C}F(x, y) dx and CF(x,y)dy\int\limits_{C}F(x, y) dy represent the projections of this area onto xzxz and yzyz, respectively.

I will try to think of a contour integral as a generalization of the line integral visualization above. We move from F:R2RF: \mathbb{R^2} \rightarrow \mathbb R to F:R2R2.F: \mathbb{R^2} \rightarrow \mathbb{R^2}.

Back to Cauchy’s integral theorem

Let aa and bb be two points, and let γ1\gamma_1 and γ2\gamma_2 be two curves from aa to b.b.

The theorem says:

γ1f(z)dz=γ2f(z)dz\int\limits_{\gamma_1}f(z) dz = \int\limits_{\gamma_2}f(z) dz

In particular, if a=b:a = b:

γf(z)dz=0\int\limits_{\gamma}f(z) dz = 0

Just a bit of intuition: let’s say we can parametrize γ\gamma with t,t, so γ:γ(t)\gamma: \gamma(t) for t[0,1].t \in [0, 1].

Now:

γf(z)dz=0=01f(γ(t))γ(t)dt\int\limits_{\gamma}f(z) dz = 0 = \int_0^1 f(\gamma(t))\gamma'(t)dt

Let’s observe a function t:t: γ(t)γ(t).\gamma(t)\gamma'(t). Let’s say this functions has an antiderivative: F(t).F(t).

Then:

01f(γ(t))γ(t)dt=F(1)F(0)\int_0^1 f(\gamma(t))\gamma'(t)dt = F(1) - F(0)

So, the value depends only on F(1)F(1) and F(0)F(0); it doesn’t depend on the path.

Example

Let’s say we have a simple closed contour (closed curve) γ\gamma around 0. Let’s observe γzkdz.\int\limits_{\gamma}z^k dz.

The integral is independent of the curve, so we choose eit:e^{it}:

γzkdz=02πeitkieitdt\int\limits_{\gamma}z^k dz = \int_0^{2\pi} e^{itk} ie^{it}dt

=02πieit(k+1)dt= \int_0^{2\pi} ie^{it(k+1)}dt

=i(ei2π(k+1)i(k+1)ei0(k+1)i(k+1))= i(\frac{e^{i2\pi(k+1)}}{i(k+1)} - \frac{e^{i0(k+1)}}{i(k+1)})

For k1,k \neq -1, this value is 0.

For k=1,k = -1, let’s take a step back:

=02πieit(k+1)dt= \int_0^{2\pi} ie^{it(k+1)}dt

=02πieit(1+1)dt=2πi= \int_0^{2\pi} ie^{it(-1+1)}dt = 2\pi i

Why is this value not 0 for k1k \neq -1, as Cauchy’s integral theorem says? Because this function is not defined at 0 (is not holomorphic there).

Residue

Let’s observe γf(z)dz\int\limits_{\gamma}f(z) dz where γ\gamma is a closed contour around z0.z_0.

If we write the Laurent series of the function f,f, we get all summands in the form zkz^k as in the above example. This means we will get 0 for all k1.k \neq -1.

It follows:

γf(z)dz=2πia1\int\limits_{\gamma}f(z) dz = 2\pi i a_{-1}

where a1a_{-1} is the coefficient of (zz0)1(z-z_0)^{-1} in Laurent series.

The residue of a meromorhpic function (holomorphic except for a set of isolated points) ff at an isolated singularity z0z_0 is denoted Resz0(f).Res_{z_0}(f).

Resz0(f)=a1=12πiγf(z)dzRes_{z_0}(f) = a_{-1} = \frac{1}{2\pi i} \int\limits_{\gamma}f(z)dz

We can generalize this formula for the case of multiple singularities (it seems this is known as Cauchy’s theorem too):

z0FResz0(f)=12πiFf(z)dz\sum_{z_0 \in F} Res_{z_0}(f) = \frac{1}{2\pi i} \int\limits_{\partial F}f(z)dz

where F\partial F is the boundary of F.F.

The generalization can be done by taking individual paths around singularites, which then cancel out each other except for the boundary F\partial F (yeah, I know, terrible hand-waving).

Cauchy integral formula

The theorem states that a holomorphic function defined on a disk is completely determined by its values on the boundary of the disk:

Let’s have a holomorphic f:UCf: U \rightarrow \mathbb{C} and γ\gamma is a circle in U.U. Then for any z0z_0 inside γ:\gamma:

f(z0)=12πiγf(z)zz0dzf(z_0) = \frac{1}{2\pi i} \int\limits_{\gamma}\frac{f(z)}{z-z_0}dz

That’s utterly surprising to me—that a function can be determined at a point solely by its values along some curve surrounding that point.

So I tried to find the intuition behind. I’m not sure if this thinking is correct, but since the function ff is holomorphic, it doesn’t have poles, and its Laurent series is:

f(z)=a0+a1(zz0)+a2(zz0)2+...f(z) = a_0 + a_1 (z - z_0) + a_2 (z-z_0)^2 + ...

So:

f(z)zz0=a0(zz0)1+a1+a2(zz0)+...\frac{f(z)}{z-z_0} = a_0 (z-z_0)^{-1} + a_1 + a_2 (z-z_0) + ...

By using the knowledge from the example above and the Laurent series:

γf(z)zz0dz=Resz0(f(z)(zz0))=a0\int\limits_{\gamma}\frac{f(z)}{z-z_0}dz = Res_{z_0}(\frac{f(z)}{(z-z_0)}) = a_0

And if we observe the Laurent series for f:f:

f(z0)=a0f(z_0) = a_0

Cauchy differentiation formula

The following formula follows from the Cauchy integral formula and can be proved using induction.

f(n)(z0)=n!2πiγf(z)(zz0)n+1dzf^{(n)}(z_0) = \frac{n!}{2 \pi i}\int\limits_{\gamma}\frac{f(z)}{(z-z_0)^{n+1}}dz

Liouville’s theorem

If f:CCf:\mathbb{C} \rightarrow \mathbb{C} is holomorphic and there exists M>0M > 0 such that f(z)M|f(z)| \leq M for all zC,z \in \mathbb{C}, then ff is constant.

It’s again a surprising result for me. However, it can actually be quickly seen using the Cauchy differentiation formula.

Let CrC_r denote the circle of radius rr centered at z0.z_0. Then:

f(z0)=12πiCrf(z)(zz0)2dz|f'(z_0)| = |\frac{1}{2 \pi i}\int\limits_{C_r}\frac{f(z)}{(z-z_0)^2}dz|

=12πi02πf(eit)(reit)2ieitdt= |\frac{1}{2 \pi i}\int_0^{2 \pi}\frac{f(e^{it})}{(re^{it})^2}ie^{it}dt|

12π02πf(eit)(reit)2ieitdt\leq \frac{1}{2 \pi}\int_0^{2 \pi}\frac{|f(e^{it})|}{|(re^{it})^2|}|ie^{it}|dt

M2πr202πdt\leq \frac{M}{2 \pi r^2}\int_0^{2 \pi}dt

=M2πr22π=Mr2= \frac{M}{2 \pi r^2} 2 \pi = \frac{M}{r^2}

This holds for every rr because ff is holomorphic over all C.\mathbb{C}. So we can observe the expression as rr goes to infinity, and we can conclude f(z0)=0|f'(z_0)| = 0 for every z0Cz_0 \in \mathbb{C}. Thus, ff is constant.