>> Kristin Lauter: Okay. So today we're very pleased to have Professor Peter Stevenhagen here visiting from the University of Leiden where he's chair of the math department. And we're especially pleased to have had two of Peter's students also here, Reinier Broker and Marco Streng, who was an intern last fall. Peter is an expert on many aspects of algebraic number theory. He has written about Hubert's 12th problem and has produced a collection of surveys in number theory which will be of great value to the community, I'm sure. So today he's going to talk about constructing abelian surfaces with a given number of points. Thanks, Peter. >> Peter Stevenhagen: Thank you, Kristin. I'm happy to be with Microsoft. First time so thanks for the invitation. And this talk is actually part of a set of two talks since later this afternoon Everett Howe will be separately announced, I suppose. He'll also give a talk on a similar topic. So I'm supposed to set the stage for the things he'll be saying at the same time as telling about the result which is sort of the main thing in this talk. So we are looking -- we'll be looking at some kind of inverse problem to the point counting. So point counting means we will be working with varieties defined over finite fields. So all the time I will be working with finite fields F and I'll specify in their order will be a finite field. Most of the time later on we will just be prime field FP and given a variety of refinite fields so V over F is a variety and usually when I say variety I mean something like smooth projected variety, so described by algebraic equations. Smooth projected variety. Then certain thing will have a number of points living in projected space, so what you can do for all these Vs, you can count the number of points so that's the point counting map, point counting and then you get a non-negative integer so V will be sent to its set of points defined over the finite field F. That's the set of points and it has a cardinality which I will briefly refer to just as the order of the variety over that finite field. So if I simply say order of the variety, I mean its number of points over that finite field F. So this is point counting. And the problems I will be looking at and Everett will look at as well this afternoon is some kind of inverse to this, namely first of all, you can ask given a variety how do you efficiently count its number of points so efficiency will of course be of points since all these problems will be finite. I mean, given the finite field there's a -- if your space is find the dimensions only finding many points and you can simply count how many points there are there. So actually finding an algorithm is never a problem, but doing it efficiently as we will see is much harder. So the inverse problem which we will be looking at so can we go back? That's sort of the central topic this afternoon. Can we produce varieties having a specific number of points? And usually you want to go back so that's -- so that's sort of explicit construction map. The other question is given integer N, no negative integer, positive usually, the question is can you find a variety having that many points? And usually you want more conditions on the variety, so for the inverse map usually we won't be working with all varieties, but we will specify -- well, say type X, additional condition so you should think of X as referring to for instance X additional conditions [inaudible] you might specify. The dimension of your variety say I want curves or surfaces or whatever. Fix dimension. Otherwise usually problem becomes too easy since any number of course if you have complete freedom is easy to realize as a point set of some kind of curve. If you want [inaudible] curve is sort of easy fixed dimension or if I go for curves then specific genus. And in fact, we won't do the full generality actually today. We'll mostly be speaking on genus 2, curves of genus 2 and their associated Jack observe bans which are abelian surfaces occurring in the title of my talk. And as I said, the whole problem is doing things efficiently, so we want efficient algorithms. And efficient has two meanings. It has a practical meaning, sort of the if I can -- if I give you a number N that you can sort of in a short time actually use a computer and find the solution to the problem, so there's a -- it means practical. It also has a theoretical meaning of polynomial time. And I won't take a very strict polynomial time computer science meaning in the sense that if it's heuristic, heuristic polynomial time we're usually just as happy. So we won't often insist on proving that the thing is polynomial time for reason that I will explain, but if I can sort of explain why it should be polynomial time and it behaves fine in practice, then for our purposes it will be good enough today. Okay. So this is the general setting. And as I said already, usually in going back you want to specify which category or variety you're looking at. And dimension is the first obvious thing. So if you start from the beginning, you would say look at curves. Can you produce curves over finite fields, having so and so many points. And first of all it will of course depend on the cardinality of finite field. So usually if Q is the dimension, is the cardinality of your finite field and the dimension of your variety is the D, then the point sets will be of order roughly something like Q to the D. And in practice if you want to solve this problem for all N as we will, that means that we will almost always be restricting to prime fields. There's very many primes among your -- the set of all positive integers. But if you look at prime power, that's a very thin subset and usually you won't realize too many Ns using Fs of true prime power cardinality. So most of the time those people don't like arbitrary finite fields most of the time. F will in fact be a prime field, FP. Okay. So let's look at our problem. The case of curves, curves -- well, you can specify the complexity of a smooth projected curve by saying what the genus is going to be and the genus is a non negative integer for genus 0 you're looking at conics and for conics there isn't much going on. They tend to have P plus 1 points that just look like P1s if they have points at all. So the first interesting case, and that's a very important case first interesting case for us which will also be the motivating example to use in all genus 2 constructions interesting case where you look at curves of genus 1. So that basically means we're looking at elliptic curves. So that's the elliptic curve construction problem, elliptic curves. Efficient. If I say polynomial time, then you see that you have to bound the runtime of the algorithm you're going to give in terms of the length of the input or the input in the case of the reverse arrow here you're just giving an integer, so the size of the input is just log N and how much bits does it take to specify the output? Well, usually if you have a specific type X kind of variety you're just writing down a number of equations so for elliptic curves the typical equation if you choose your model in the standard [inaudible] way for instance than elliptic curve for most cardinalities looks like this where A and B are in your finite fields. So you see that what it takes to specify an elliptic curve is just two coefficients, two elements A and B from your finite field F. So the output size is, well, two -- it's two elements from F and to specific an element from F you need log cardinality of F bits. So in for the prime field your output size something like log P. So let me just input size log N, output size something like log P, and since curves over FP have about P points, we'll be more precise later on, just roughly the same thing as log N. So small input, small output and theoretically there's no restriction in the sense that it should be possible to find an algorithm, polynomial time in log N that gives you an elliptic curve having N points. Okay. There's one important thing in going back for this arrow that is the role of the finite field in the question. Since you can fix your finite fields so there's two versions of the question, two different versions I should say, namely you can sort of fix your field from the beginning, and then you have a fixed finite field, and you can ask given an integer N, can you produce in this case an elliptic curve having N points of older N over that finite field of F. So for fixed F, that means given N you have to produce the appropriate elliptic curve over F, or you can say, well, the input is only N, and I allow you freedom of choice in the finite field F. So allow choice of F as part of the output. So that means that you have much more freedom. You can select your favorite field FP over which you're going to construct your elliptic curve. So clearly this is the easier problem of the two. And the results that we'll be describing occur in the thesis of any broker and it's basically that if you fixed your field F, so this is 1 and this is 2, in this elliptic case, I will explain why in one it's -- it's really hard. As far as we know, it's exponentially hard. Being at the best algorithms that we can think of are just exponential time. And in the second case, if you allow freedom of the choice of your finite field F, then it's not quite polynomial time but if N is provided in factor form, so that means that you get a factorization of N, factored form, because as you know, factoring N is something we don't know how to do in time polynomial, in N it's a hard problem, but if the input is given in factored form, then 2 is polynomial time, well, basically for all N, let me just say for almost all N, almost all N and it's almost all has a meaning that will make precise little bit later on, just the kind of result that you should think of. And of course this afternoon the main topic is if you replace elliptic curves by curves of genus 2 the factor will be two problems as my abelian surface problem and there is the two genus 2 curve problem that Everett will speak on and we will discuss results for both of these problems separately. As we will see, these problems are in fact rather different. Okay. So just in the elliptic case -- so in the elliptic curve, just before I actually provide the solution let me say what's going to happen in genus 2. The elliptic curve constructing a thing is just writing down this Y square equation, so corresponding to Y square equals XQ plus AX plus B, there is this standard picture, and the reason that elliptic curves are in fact very popular is that in that case if you compute an elliptic curve and you have take a set of points EF is in fact a group. As soon as you have a group, you have all time -- all kinds of cryptographic primitives like discreet logarithmic problems that makes elliptic curves in this particular case very popular, so in that case you also have sort of a strong reason to be -- to be willing to able -- be willing to construct groups in that case for which the order is of some nice kind, for instance prime order is something you would like for discreet logs. So also has rather than just being a pure mathematical question it also has a cryptographic reason for being interesting. And this being a group, that is something that becomes a little bit different if you go for a higher genus is being a group is caused by the fact that for elliptic curves, E can in fact be identified with its Jacobian. And the Jacobian is a thing that you can produce for any curve that's always going to be a group. In this case it's the same thing, the Jacobian is a group that you can make out of a curve, the group of points, the set of points on a curve is not naturally a group. You can look at the group it generates just to free abelian group generated by the points. That's called a divisor group. So that's div of E. And that's a huge group, which is much bigger than the group of points that you have here. If you mold out by principle divisors, so privilege divisors are gotten by looking at functions in your curve, principle divisors on E and you mold out by that subgroup and you look at the zero -- the degree zero part, you get this definition, this is a group by definition where you created and in general the group of the set of points maps into this group. For an elliptic curve it's in fact a bijection since two point you can associate the divisor class of thing that you denote by P minus zero, the point zero is the projective point that always doesn't occur on the EF picture that's the point finite of the elliptic curve. That's what you take as the unit point, the zero point for the addition and with that definition you see that there's a bijection between the points -- the set of points of an elliptic curve and the points of a Jacobian. And in fact it's an isomorphism of group scheme so it's true if you leave out the biggest fields altogether. So genus 2 -- so this is the genus 1 case -- you get two problems. And these two problems are exactly the topics of this talk and the next talk. So if your C is a curve of genus 2, you also have a map -- well, first of all, there's a similar model. Here we have a YSS model, these two curves are also hyper elliptic, they can be written in the form Y square equals some polynomial. So they like Y square equals F of X and now you take the degree of F, degree of F, which can be 3 or 4 in these elliptic models it becomes 4 or 5 or 6. In the genus 2 case we have to take separate polynomials. That's a detail. But usually they look like this. So the picture is a bit more complicated, have more eggs up. That's a genus 2 curve. And its set of points doesn't form a group, but you still have exactly the same thing. You can map C using the point of infinity which is again looking in the picture there's O of C, the unique point of infinity is the five example and unique point you can map C into J, the Jacobian of the curve C in exactly the same way. You can map a point on your curve to its divisor class, P minus O. But in that case it's not going to be an isomorphics group scheme. C is not a group scheme at all. It will just imbed the set of points in this group in this way. And this is the group, so from a cryptographic point of view, people tend to be interested in the Jacobian rather than in the curve itself. So this is the N -- the dimension is actually the genus of the curve, so in this case, it's a two-dimensional abelian variety, it's an abelian surface. And just like the points on the elliptic curve look like P minus O with P ranging over the points of the elliptic curve, you can specify points on the Jacobian by taking sums of two points, P1 plus P2 minus twice the point at infinity, that's degree zero divisor and these elements represent things on the Jacobian. As you see it takes now two points, a two-dimensional thing unlike the case of an elliptic curve where it's something one-dimensional it's just a curve itself. So my general problem in genus 2 sort of splits in two different problems, namely you can specify integer N and ask for a genus 2 curve having exactly N points. That's the direct analogue of the elliptic question where you ask for an elliptic curve having exactly N points over some finite field or you could say, well, I want to do cryptography, I want to have a group, let's look at the Jacobian and then the question becomes given N, can you produce genus 2 curve which the Jacobian has exactly N points over a finite field which will usually then be FP again. So now we have -- let me erase this, two different questions. So question one, given N find -- in fact, as I said, there's two questions. This is hard so one is already too hard for elliptic curves, so we don't expect to be able to do it for genus 2 either which is only more complicated, so one we will sort of leave out from now on if I say realize N as an order, I do allow you the choice of the finite field in such a way that you can adapt it to your needs. So the second version of the problem is the thing we'll be looking at in the rest of this talk and it will also be the approach Everett will be taking. So given N, rather than saying find C, I should say find the finite field, find F and C over F of such that I should be more efficient, I should say that's the problem, both problems start like this, like this, where there's version 1 you can ask that the number of points of C define over F becomes equal to N, so it's curves of order N or second one, if the Jacobian is denoted by J, you can ask for a curve that has the property if you take a Jacobian and you count points that you get a group of order N. And I will look at this problem in my talk, so this is for now, and this problem is the problem that Everett will talk about. And in fact Everett will have a positive result, and I will have a negative result. But it's part of the same problem -- in fact, that's something I should have said right in the beginning is all arise, this is all joint work with Kristin, Everett and myself as our San Diego project that is still unfinished but it's getting close to some kind of answer. And the answer that we will give today is that for curves you can do it in many cases and do it means that you find an efficient algorithm, again under the same conditions in the elliptic case. In fact, the solution will be related to the elliptic case. And I will also show that for Jacobian, sort of cryptographic case if you want, the answer is that we cannot do it efficiently at least not using the methods that we have been using in the elliptic case, the CM methods that I will explain in a moment. So how do we attack a problem in the elliptic case and in which way can we extend that attack to the genus 2 case? So in the elliptic case first of all, I should of course observe that the problem being finite there should be an algorithm, so if you don't -- if you don't have to be efficient how would you just do it if say P is small or N is very small? Yeah? So there's always a naive algorithm, which you just proceed by trial and error. Yeah? If you have an elliptic curve over a finite field which will be FP for practical purposes since there are just many primes and not many prime powers, if you count the number of points of the elliptic curve over a finite field, then you will find an element in the Hassa [phonetic] interval around P, it will be in the interval P plus 1 minus pi square root P, P plus 1 plus 2I square root P, and conversely any elements in this Hassa interval arises at the order of some elliptic curve over FP. So the naive algorithm is just try a random curves so that means given N, you pick a prime such that N lies in this interval. So if I call this Hassa interval around PHP, so you -- yeah, you could say pick P such that N is in the Hassa interval around P, you can [inaudible] symmetrically if you define HP for any integer P like this, N being an HP is exactly the same thing as saying that P is in the Hassa interval around M. Yeah? >>: [inaudible]. >> Peter Stevenhagen: That's a problem. So you see it you want to prove that around any integer there will be a prime which is no further than twice the square root from the integer M, you have to prove theorems and prime gaps. And as it happens, these theorems are currently too weak to prove that such a prime really exists. >>: Don't you have gap cadence where the two ages aren't exactly -- [inaudible] makes the two conditions differently, B and Hassa N there is a plus 1 there and of course the square root can be a little bit bigger than one than the other. So ->> Peter Stevenhagen: This is exactly the same thing. >>: It's exactly the same thing? >> Peter Stevenhagen: Yeah. Yeah. This is the this is square root P minus 1 square, and this is square root P plus 1 square. And if you write down the inequalities and you -- well, you get exactly the same condition. We will see in a moment why it is symmetric in P and M. So this is the practical problem that you may not be able to find a prime which is sufficiently close to M. In theory. But as I said, I erase it already, I think, we will be practical. And for practical point of view, you know that's the prime number of theorem that around N about one in log N integers is going to be a prime number. So that means in this interval there will be loads of prime numbers. And in practice if you pick random integers you will find a prime -- well, half the time log N so to speak. So this being my practical approach, I'm happy if I have a big interval if it can pick random integers they will be prime. But probability 1 over log N. So that's an expected runtime which a proven runtime. And as I say proving it is just way too harsh. You have to prove the -- you have to bound the gaps between prime numbers which people cannot do. But that's something analytic [inaudible] we won't be bothered by too much. So if you do this, you pick your P such that it's in the [inaudible] around N and then what you do, look at random elliptic curves E over FP, count the number of points on the elliptic curve, that is something count that can be done efficiently, so use Schoof's algorithm, so in that case at least point counting is something we can do efficiently, you just count until you hit N. And if you look at the distribution of orders over these intervals and you make sure that your prime is not too far from N, it's pretty much equal distributed. It's not exactly the case, it's more like a circular thing, but it means that the expected runtime you just have an interval of length, multiple of square root P, and you have some N, integer N you want to hit and that happens probability 1 over square P. So the runtime, runtime in that case is O -- well, square root P and square root N of course the same thing, yeah, in the sense that P and N have the same order of magnitude as you see here, so P is roughly equal to N. That's what happens with curves. You see that the runtime becomes O and to the one-half plus a little bit to do your Schoof counting. So that's the square root in algorithm, meaning that it's certainly exponential and for large values of N, it will work. At least it is a solution. It's a probabilistic algorithm. And let me compare it to a deterministic algorithm that will be used, and that requires a little bit of background in elliptic curves, namely if you want to count points that are defined over FP, then you have the map from elliptic curve to itself, if E is defined over FP you have the map on points which maps well for F fine point just raises everything to the power of P. That's the Frobenius. It's a map from E to itself. It's an endomorphism with respect to group [inaudible] E being defined over FP. And we are looking for points that have coordinates in FP, meaning that in fact it's being fixed by this Frobenius. So the set of points E over FP is fix points of Frobenius been just and you can also phrase it a little bit more algebraically, namely Frobenius is an endomorphism so you look at the ring of endomorphisms of this elliptic curve, inside just multiplication by integers, any point you can just double it or triple it, so you get Z as a [inaudible] and you also have this Frobenius thing inside the endomorphism ring. And this -- the FP rational points, they just form the kernel of what people call 1 minus Frobenius, things that are mapped to 0 by 1 minus Frobenius you're saying that the Frobenius of the point is just the point itself. And the way people approach all point counting for elliptic curves is by actually studying this, and the more endomorphism ring that's also the case for Schoof's algorithm. And what you need to know then is that the Frobenius it satisfies a quadratic equation. It's the characteristic polynomial of its action on the [inaudible] model if you want, but it just -- the only thing you need to know is that the polynomial looks like this, it's a quadratic polynomial and it just means that this subring, so if pi is a zero of this imaginary quadratic polynomial, this -- yeah, so the discriminate will be negative, so delta, which is T square minus 4P, would be a negative integer and this ring generated by Z and Frobenius is just -- well, how you want to write it? It's a [inaudible] quadratic ring. It looks like Z delta plus square root delta over 2. It's the quadratic order of discriminate delta. And knowing what is Frobenius, what it generates is exactly what you need to know since if you want to look at the kernel of 1 minus Frobenius, then you look at -- so usually the Frobenius which is in here will correspond to an element in this quadratic order that people call pi that's associated by number, it's the zero of this polynomial, so that's T plus square root delta over 2. And what we're looking at is just the kernel of multiplication by 1 minus pi and the theory tells you that the number of elements in this kernel, that's the order of the elliptic curve over FP, is what you get as the norm of this 1 minus Frobenius, the element 1 minus pi and that's just saying it's 1 minus pi times its complex conjugate. And pi, pi bar is P, as you see, it is the product of the two roots of the quadratic polynomial, so you'll find P plus 1 minus pi plus pi bar and pi plus pi bar that's the integer T called the trace of Frobenius, the trace of the quadratic integer pi and as you see T square is no more than 4P, so this deviation from P plus 1 is at most twice the square root of P and that's exactly what you find in the house of bounds for elliptic curve. Okay. So point counting just amounts to analyzing what Frobenius does and it's the same thing, so to speak, as computing the elements pi in the endomorphism ring as an imaginary quadratic element. And the reason that everything is symmetric in P and N to come back to your question is the way P and N arise is that P is pi pi bar and if N is the order, so if N is the order of the elliptic curve, then you see the N is one minus pi times one minus pi bar, so it means that N can be written as new times new bar where pi plus nu equals one. So that's completely symmetric in P and N. Here I'm just writing that nu is in fact one minus pi and that's the identity. Okay. So, so much for point counting. So that just means that what you want to do is analyze the Frobenius element and constructing an elliptic curve with a given number of points just amounts to writing down an elliptic curve for which the Frobenius is some prestriped element pi given rise to the right equations. So to construct an elliptic curve with a given number of points what do you need to do? You have to construct an elliptic curve which you can say something on the associated [inaudible] number pi. In fact, these are the equations that you try and solve in the quadratic order of delta where everything is taking place. Let me see how much this I want to give on this. Basically the method that is used to produce elliptic curve deterministically that's called complex multiplication CM, and what it does is that rather than writing down the elliptic curve in characteristic P right away over FP, it creates the elliptic curve with the right endomorphism ring over the complex numbers, finds it to be algebraic and reduces it [inaudible]. So it's a big detour. So find E with the endomorphism ring of E equal to the right thing O delta, since giving your input so if you have an N and a P, and you want to realize an elliptic curve having N points over FP, you see from this equation that N equals P plus 1 minus T, so that gives you the desired trace of Frobenius, and then you see the delta which is T squared minus 4P is the order in which everything is going to happen. So then this ring O delta that you need to find your pi and nu. I'm not going to specify in much detail how that happens, but given this ring, you can write down a finite list of elliptic curves for which the endomorphism ring is actually equal to O delta. It correspondence by the complex analytic theory to the ideal classes of this order. That's because in of the complex numbers you can make elliptic curves as C modular letters and these letters are exactly the ideal classes for the order O delta. So what you do is you write down the J invariants of the associated elliptic curves. That's just an expression in terms of the As and Bs that gives you the isomorphism class of elliptic curves. So you find them over C, that is they are J invariants. These are complex numbers, but in fact they are algebraic since it turns out if you take the polynomial, which has all these J invariants of elliptic curves as its roots, all J invariants of elliptic curves E up to isomorphism, complex analytic endomorphism from which the endomorphism ring is isomorphic to O delta, then you get only five as many isomorphism classes correspond to the class group here. It's called a class polynomial, a Hubert class polynomial of the order O delta that would be called H delta, it will be a political in ZX. That's the algebraic property of the whole thing. These complex numbers are in fact algebraic numbers, they're algebraic integers and once you're here, you can reduce everything mult P, pick a root that's going to be your J invariant over FP and you simply write down the elliptic curves. So reduce mult P, and take E over FP, maybe E bar if you want, such that it's J invariant is the root of this polynomial H delta mult P. It will always be in the prime field in FP, and you've got your elliptic curve. It's a very nice deterministic algorithm, and the only problem is that you have to compute this polynomial, and it's a huge polynomial, its degrees about square root delta, its coefficients are of size square root delta. This takes time just to compute the thing, takes time big 0 of delta, in fact absolute value of delta being negative. And the problem is if you not look at what your delta was, T is something, can be anything, small but at most 2 square root P, T square minus 4P is something of order P, which means of order N. And that means that this very nice algorithm has runtime order something like big O of N. And the conclusion is that this mathematically better algorithm behaves awful in practice since just a naive thing was only square root N. And this better algorithm is just N itself. So it's not going to work unless you something tricky, and that's what occurs in Reinier's thesis, namely you reverse your point of view a little bit rather than picking your P close to N and just take any T that happens to come out. The reason it doesn't work is that delta will be too large. You just reverse your whole thing, you say let delta be small. So you take your order as small as possible in such a way that you can find a prime such as these equations hold. What does it mean? You just take the smallest delta for which you can factor N into two elements in O delta, so that's Reinier's approach, Broker's theorem if you want approach, whatever, approach, find the minimal O delta such that you can factor your N as nu times nu bar in O delta. That means you have to factor integer in this quadratic order, not just in ideals, but principle ideals, and the norm of 1 minus nu, 1 minus nu is a thing that I call pi here. That's the thing that has to give rise to P. That should be the prime number. It's a prime number P. If you approach it this way, you analyze it, you find that actually just delta is going to be of no more than the square of the logarithm. So minimal delta is expected to be big O of the square of log N so it's going to be polynomial time. Since the delta determines the runtime, it's going to be big O of delta if delta is something which is the power of log N, you're fine. And if I say expect it, I mean that there's a heuristic analysis of exactly of the kind one out of every log N numbers of N is prime. That kind of argument gives rise to this theorem. Okay. So here's the approach that works in genus 1, and the question is can you generalize this somehow to genus 2 for these two examples? So that means that you have to generalize the elliptic theory to a genus 2 case. And what I wrote down here is also true for genus 2 curves, only the Frobenius lives in a ring which is a little bit bigger. It's exactly the same kind of argument you look at Frobenius, it's and endomorphism, the Jacobian, and its characteristic polynomial so genus 2. You also have point counting on the curve and its Jacobian is the same thing basically as determining the very number pi that is the root of the characteristic polynomial of Frobenius. So determining the characteristic polynomial of Frobenius. >>: Excuse me. >> Peter Stevenhagen: Yeah? >>: [inaudible]. >> Peter Stevenhagen: You mean prime proving? >>: [inaudible]. >>: [inaudible] approach just the complex analytic [inaudible]. Just the fact that you use -- once you determine the delta, then you use the what is called the [inaudible] approach to detect [inaudible]. >> Peter Stevenhagen: Oh, yeah. That's a very classical algorithm. So this computing age delta from delta that is the classical complex multiplication algorithm that was also used by [inaudible] that is basically 19th Century. Yes? >>: [inaudible] numbers of [inaudible]. >> Peter Stevenhagen: Yeah. But it's only efficient if delta is really small. See it's the runtime is O delta. So that means you can only do it if your delta is going to be -- yeah. So the reason that -- so the method is not new in the sense that it's just complex multiplication, but the way you approach it is not by selecting, picking your prime and doing it for N over delt P, that's the hard problem given order for a fixed field FP. You sort of select your P as it comes out of this analysis of the small O delta. So you have to factor N, that's the reason factors N being the principle ideals, that's something you have to check efficiently again and then just this sort of a random number and as soon as it is going to be prime you have found your P. That's the way the algorithm works. And the hope is of course you can do the same thing in genus 2. So that means that this theory now tells you that rather than looking at a quadratic polynomial that gives rise to everything, there's a degree 4 polynomial, so the polynomial now looks like X2 to 4 minus AXQ, something like this. It is somewhat symmetric like this, P square. And once you have this correct polynomial Frobenius, you know everything there is to know about C and J, namely then the order of C over FP becomes P plus 1 minus A, which the trace of Frobenius just as before. And the order of the Jacobian, surface over FP, its order is in fact what you get if you plug in -- if this polynomial is F we will compute F over 1 which is the norm of where all the [inaudible] careful basically of 1 minus pi in the generic situation where pi is the root of this polynomial, so generically, this will be reducible, then Q of pi is the field of degree 4. It's a CM field, meaning it has a unique real quadratic subfield, K plus, and there's Q, these are quadratic extensions, use Q, pi plus pi bar. Now from the norm of 1 minus P, which is element -- well, something close to P scared these As and Bs are again something very bounded just like here the P, the trace of Frobenius polynomial is at most 2I square root P similarly here you have the A is no more than four times curve P and B is something close to 2P, no more than I think 4P away from it. So the order you plug in X equals 1, it's roughly P square. And here is the deviation. This is the order P square. Order of magnitude. That's because this is a curve and this is a surface. So that means both Everett and for my problem we need to find suitable line numbers giving rise to things that have the right number of points. Either on the curve or on the Jacobian. So either you want this to be equal to N or you want this to be equal to N. And want to focus on the case where you want to fix the number of points on your Jacobian so you want one minus pi to have norm equal to N. And then I am show that if you do that by complex multiplication, which is the only algorithm we can hope to sort of generalize this Broker approach that will be intrinsically exponential. So -- and I will explain why. So CM approach to realizing N as the order of the Jacobian over some prime field FP. Well, what do you need to know all the things that's generalized if you want [inaudible] CM construction, now you have to do it for genus 2 and the theory. Well, if you attended the talk by Marco Streng, I think you heard more about it, but it takes a talk by itself, so let me just say that rather than computing this Hubert class polynomial in genus 2 there are in fact three polynomials, modular spaces 3 dimensional and these polynomials were called Igusa class polynomials. So I'm not going to explain it in any detail. So rather than finding elliptic curve with a given and a endomorphism ring, then theory that finds you elliptic curve and now a curve of genus 2C of genus 2 such at the endomorphism ring of the Jacobian is whatever it should be, some order O, and O is now an order in the quadratic field, so if you want the ring of integers or an order in this K can be done in a similar way, and the runtime will also be exponential to this [inaudible]. In the case of the classical [inaudible], it's really big O of D, it's sort of sharp, the size of the output is what it takes to compute the whole stuff. Here it's not as sharp. Your discriminates -- well, I guess Everett will tell you more about discriminates so as you can see it's a quadratic subfield so in fact two discriminates, there's a discriminate of K plus and you can write delta K as the delta of this K plus times something else that you can call delta minus. And the runtime it will be exponential in delta. Marco Streng proved that it can be bounded by some power of delta K. I think he proves seven halves. That's a highly known trivial theorem. That's Marco Streng's result. It's big O. This is an upper bound. And it is at least since now in the case of the Broker result you prove that something is efficient, you just need an upper bound on how difficult something is. If you want to show that something is really difficult, you need a lower bound on the runtime and a lower bound of the runtime, if you look at the similar way and similar means that rather than going down the Hubert class polynomial, you need to think the Igusa class polynomial, so there's something, there's in fact three of them, but each of them is associated ring of integers of the number of field K, OK, and these Igusa class polynomials their agree equals delta minus. And that's the delta minus that you find here as a factor of the discriminate, but since delta minus is in fact a multiple, maybe not N, so a multiple N, times the delta of K plus, you see that delta minus is so to speak the bigger factor of delta K, so it's at least the square root. So it's at least a degree of the Igusa polynomial, Igusa class polynomial, which is roughly speaking delta minus two to one half, and that's at least delta K to the one-fourth. So the runtime is bounded by delta K to the seven halves and there's also a lower bound which is at least a fourth root of delta K. >>: Do you not on the left [inaudible] minus class number and that's about the square root of delta minus? >> Peter Stevenhagen: Yes. And this was a short cut just to say that it's roughly equal to this delta minus: >>: [inaudible]. >> Peter Stevenhagen: The far left. Oh, this -- it is the class number and the class number is roughly equal to delta minus. The square root of delta minus. Yeah. Sorry. >>: So [inaudible]. >> Peter Stevenhagen: Sorry? >>: [inaudible]. >> Peter Stevenhagen: Yeah. So in the [inaudible] case you have to list the ideal classes of your quadratic order, right? >>: [inaudible] a similar way of [inaudible]. >> Peter Stevenhagen: Yes. Similar way means that you have points in the [inaudible] space, it's now a two-dimensional thing where you evaluate certain transcendental functions like J function, and these give you the roots of the Igusa class polynomial. So it's a complex approximation. And the polynomial in the end is going to be algebraic, it is rational coefficients. So you approximated as complex numbers. You use so well that you recognize the fractions. It's pretty non trivial since these are huge polynomials but it can be done. And well, the more triviality sort of is visible from the seven and a halves. It takes a lot of time to do this, also in practice. And it's also much more recent in the sense that people now start doing this, there's databases. David Cole has a huge website which list these Igusa class polynomials. Where the classical ones where you find them in waiver more than 100 years ago. Okay. So there's a lower bound for the CM algorithm and the question I want to ask -- well, answer in the last few minutes is why, unlike the elliptic case, won't it be possible to do it with a discriminate which is bounded by some power of log N? That what you would like to get a polynomial time for at least heuristically polynomial time algorithm. And the reason that it didn't happen is basically because it's not sufficiently many of these case, and another way to say it is that for the curve case P and N are of the same size. For the Jacobian, you see the P square is close to N, so P can be no more than square root N. And that's going to kill you in the following way. So question is which K can be used on the small Ks to give rise to a given N? So to realize ON up to some bound by CN methods, the CN method, meaning that you find a number pi in such a way that the norm of 1 minus pi is N, how many Ks will we need? Well, any K, that's from step 1, any K has no more -- well, how many numbers pi can you find such that the norm of 1 minus pi is going to be N and N is below B? Well, then you need primes of norm no more than square root B. And by the prime number of theorem for the number field there will be no more than up to a log then square root B. So there's no more than B to the one half, well there's log B if you want, very numbers pi with norm of one minus pi below B. So that means that one field K only gives rise to this many line numbers at most, and that's an upper bound. So to do all the Ns up to B, you will need very many. So to realize all this be up to N, you see that we'll need at least square root B times log B different number fields. Different CM fields K. And the question is if you have that many different CM fields K, how large will their discriminates be? So it means just like quadratic fields you want to know how many there are for which the discriminate is bounded. Well, in the quadratic case, it's fairly easy, that sort of a linear thing since you just take number fields, the deltas are essentially the square free numbers and the square free numbers up to some bound is grown linearly in B. Something similar holds for CM fields, but it's much harder to prove. Let me do that here. There's a theorem of Cohen [phonetic] and to other people from Bordeaux, Dias and Olivier [phonetic] from 2000 something, 2, somewhere around there. If you count the number of CM fields K, so K, K cortex CM, of discriminate no more than some bound B, we should call it X, it's not the same B as there, if you count those then asymptotically this behaves like a constant, a very inexplicit constant as you can compute like X. So just like in the quadratic case, there is linear growth. If you bound discriminate by X you get a multiple of X, that many number fields. So it's the same kind of result for quadratic fields. It's easy, they just count basically square free numbers into something involving pis and zeta 2 times X. The same theorem holds here. And that means that if you take at least so many fields, then the discriminate has to grow also like square root B. So you will need -- we'll need K with discriminate at least square root B. Let's just forget about log. Not so interesting. And if you now look at the runtime, if you do CM for such a K which you will need if you want to do all the ends up to B, you see that the runtime for such K, the runtime will be at least -- well, we have [inaudible] here, the runtime, oh, I erased it. Well, the runtime, let me repeat it, the runtime was at least discriminate delta K to the one-fourth. So it means that in this case you get at least B to do one-eighth. So that means that it will be exponential in terms of the bound. So if you want to do all ends up to the bound, then you get at least some positive power of N. This is somewhat weak result, as you see that there's various steps where I've been a little bit sloppy. In fact, since the runtime, the lower bound is just given in terms of delta minus it would be better to prove a theorem that replaces delta K by delta minus. And if you do that, then at least Cohen says that you get something if you do this then you get times log X. So bounding delta minus gives something which a little bit more than linear but only logarithmic factor. And if you do that here, then you conclude that the beta, the B to the one eight is in fact at least B to the one over four. So it's even more exponential than the first version, and even that is sort of bad in the sense that the lower bound is real a lower bound as it only uses the degree of the Igusa class polynomial and in practice [inaudible] computation with the Igusa class polynomials. They're huge. So the size in fact should be much bigger than the square root of delta minus. But it's hard to prove upper bounds for these coefficients, just like in the case of the upper class polynomials. For all we know they might be sparse. And many [inaudible] could be zero. That never happens. But proving it is very difficult for all I know. Okay. So this is an example where a problem is just too hard to do it by CM methods. So negative result and it will be second talk and a positive result. Thank you. [applause]. >> Peter Stevenhagen: No questions? Well -- yes? >>: [inaudible] occurred in 19 '60s. >> Peter Stevenhagen: You mean for elliptic curves or genus 2 curves or [inaudible]. >>: Are there [inaudible]. >> Peter Stevenhagen: Well, in elliptic case -- well, you see for elliptic curves the offered of the curve is in fact the norm of the element, so you would expect that if your number is highly composite, there are potentially more elements that would have that norm. If you want prime order, then there has to be prime in your quadratic order. So I would guess that prime order is relatively -- there are not as many, so in 1915 is not a prime order so it's hard to compare to 1916 from that point of view. Maybe 1917 is prime. >>: [inaudible]. >> Peter Stevenhagen: Neither is prime. Exactly. But I would guess that it depends on the smoothness of the number. >>: I would expect heuristically that if you're looking at elliptic curves you would get roughly N elliptic curves over some field that have [inaudible] points. >> Peter Stevenhagen: Depending on what you fix, right? If you -- yeah. You can ask the oldest question, you can ask in various ways you want to fix a field and then ask how many curves are there over that field with so many points or where you fix your -- huh? >>: [inaudible]. >> Peter Stevenhagen: And for genus 2 it's a difference because the number of points on the curve is not the norm, all right, so it's [inaudible] structure, and I think it shouldn't make a big difference. I mean trace reserve properties. >>: [inaudible] but is a number of points on the curve rather than the Jacobian [inaudible] used in [inaudible]. >> Peter Stevenhagen: No, it's not a group. So it's not yet used in crypto I should say. >>: [inaudible]. >> Peter Stevenhagen: It's very safe against the discreet lower than the [inaudible] there is no group. There is no discreet logarithm. >>: [inaudible]. >> Peter Stevenhagen: But it also is -- yeah, yeah. Yeah, so cryptographically speaking the number of points on the curve is maybe -- well, that's your topic. You should sort of [inaudible] I shouldn't say it's useless. It's a beautiful question if you want it's a more natural one, right, elliptic curve genus 2 curves. It's only because of crypto that you want to look at Jacobians. What can I say? >>: Yeah. >> Peter Stevenhagen: Okay. >> Kristin Lauter: More questions? Well, we're going to go and have some coffee in the cafe area with Peter before Everett's talk. So let's thank you Peter again. [applause]