< Return to Video

36C3 - (Post-Quantum) Isogeny Cryptography

  • 0:00 - 0:25
    36C3 preroll music
    Applause
  • 0:25 - 0:30
    naehrwert: Yeah. Thank you for the
    audience and thanks that you came. Thanks
  • 0:30 - 0:35
    for the Congress for giving me the
    opportunity to be here tonight, to be able
  • 0:35 - 0:40
    to tell you a bit about post quantum
    cryptography, a bit about as isogenies. I
  • 0:40 - 0:44
    mean, just educate the people a bit about
    what that means, even, because I'm not too
  • 0:44 - 0:52
    sure how many of you heard about that
    before. Yeah, let's just jump right in. So
  • 0:52 - 0:57
    my day job is being a mathematics PhD
    student at an undisclosed university. You
  • 0:57 - 1:03
    can ask me in private if you're
    interested. So previously I did physics. I
  • 1:03 - 1:07
    was also or maybe I'm still a bit active
    in the console hacking scene. And if
  • 1:07 - 1:12
    you're interested about that shameless
    plug, you can find us at Nintenbros
  • 1:12 - 1:17
    Assembly later. You can ask us all about
    our somehow console hacking endeavors. But
  • 1:17 - 1:24
    enough about that. So I brought you some
    pictures, screenshots of websites. So I
  • 1:24 - 1:29
    don't know if you have seen the chatter on
    social media and the blogs here recently
  • 1:29 - 1:36
    about that Google paper on quantum
    supremacy. So there is a Nature article
  • 1:36 - 1:42
    about that beyond quantum supremacy. And
    there is a Verge article that Google
  • 1:42 - 1:48
    confirms quantum supremacy and
    breakthrough, whatever that means. There
  • 1:48 - 1:52
    is Google's own blog post about it. Notice
    there are always these shiny pictures of
  • 1:52 - 1:58
    these huge tubs filled with helium where
    they house these quantum computers. So
  • 1:58 - 2:04
    supremacy means the state or condition of
    being superior to all others in authority,
  • 2:04 - 2:11
    power, or status. So calling something
    quantum supremacy, I mean, that screams
  • 2:11 - 2:16
    something being pretty amazing. But what
    actually does this mean for us? What does
  • 2:16 - 2:23
    it mean for cryptography? And I think I
    can relieve you all about from from maybe
  • 2:23 - 2:29
    some fears that you had for us in
    practice. Maybe today it doesn't really
  • 2:29 - 2:36
    mean anything yet. So for cryptography
    none of our underlying assumptions,
  • 2:36 - 2:41
    whatever it means for now, are being
    actively broken yet as we know or that we
  • 2:41 - 2:47
    know of. But in theory, they are broken.
    Okay. And because they're only broken in
  • 2:47 - 2:50
    theory, that's pretty good. So we can
    still blame the designers and implementers
  • 2:50 - 2:57
    of whatever we cook up for when things go
    wrong. So that's nice, too. But as I
  • 2:57 - 3:02
    already wrote in the abstract a bit for
    this talk, we should be, somehow, better
  • 3:02 - 3:07
    be safe than sorry. So instead of somehow
    waiting until the point of where quantum
  • 3:07 - 3:11
    computers somehow become feasible to break
    our cryptography, we should probably
  • 3:11 - 3:16
    research it today. It's a bit with the
    climate change, right? Suppose it's right
  • 3:16 - 3:20
    to save our climate today instead of
    waiting until it's too late. So if we're
  • 3:20 - 3:25
    going to be reborn to do the same for
    cryptography. There are also three
  • 3:25 - 3:31
    upcoming talks I want to advertise here a
    bit. I think I don't remember the days,
  • 3:31 - 3:35
    but descriptions look pretty interesting.
    So I'm going to leave that up for a few
  • 3:35 - 3:39
    seconds. There is one called Provable
    Insecurity, one called Cryptography
  • 3:39 - 3:43
    Demystified and one about high assurance
    cryptography software. I'm sure this is
  • 3:43 - 3:49
    gonna be interesting. Okay, let's return
    back to what I want to talk about. So
  • 3:49 - 3:54
    there's something I chucklingly call the
    Post-Quantum Cryptography Zoo. There are a
  • 3:54 - 3:58
    few buzzwords up there. You don't really
    have to know what they mean. I'm just
  • 3:58 - 4:02
    going to say them out loud. Lattices,
    codes, multivariate polynomial systems.
  • 4:02 - 4:07
    That's also a bit of a mouthful. And hash
    based cryptography. And there is the one
  • 4:07 - 4:12
    that I want to briefly talk about tonight
    called supersingular elliptic curve
  • 4:12 - 4:16
    isogenies. OK, so this is the stuff that I
    really like. Isogenies, they are great.
  • 4:16 - 4:22
    And now I'm going to tell you why they're
    so great. All right. So I don't know how
  • 4:22 - 4:26
    many of you have a mathematics background.
    Maybe I can do a test. Can people raise
  • 4:26 - 4:33
    their hands where if they have some formal
    training in, say, algebra? Yeah. Okay. So
  • 4:33 - 4:38
    that's pretty good. So I'm just gonna tell
    you some something about it. There are
  • 4:38 - 4:43
    decimal numbers. This is Pi. Then there
    are rational numbers somehow the are, one
  • 4:43 - 4:46
    half, one third and so on and so forth.
    Then there are integers from minus
  • 4:46 - 4:53
    infinity to plus infinity and they follow
    nice whole steps. But for working with
  • 4:53 - 4:57
    those numbers and for cryptography, we
    want something that's nicer behaved. We
  • 4:57 - 5:01
    want somehow a finite set. OK. So this is
    just important for implementation. And the
  • 5:01 - 5:05
    ones that we want to work with, I'm just
    going to remind you, are the integers
  • 5:05 - 5:12
    modulo N, so we take some positive integer
    N, big N, and then we consider the set
  • 5:12 - 5:17
    from zero to N minus one. Okay. And these
    numbers do follow certain addition and
  • 5:17 - 5:20
    multiplication rules and it pretty much
    works like a clock face. OK. I chose N is
  • 5:20 - 5:25
    12 here and, just bear with me, imagine my
    clock face goes from zero to eleven
  • 5:25 - 5:29
    instead of from one to twelve. But it's
    really the same. For example, if I tried
  • 5:29 - 5:35
    to add ten to five. OK, I start from ten.
    I go two steps and then I arrive at zero.
  • 5:35 - 5:39
    This is where my clock ticks over. Right.
    Like on a real clock. And then you go
  • 5:39 - 5:44
    three more steps. And so ten plus five mod
    twelve is three. So it's numbers that kind
  • 5:44 - 5:50
    of behave this way. Think of addition on
    on a clock face. And for the computer
  • 5:50 - 5:55
    scientists out there or, I mean, everyone
    probably knows about that, for a computer
  • 5:55 - 5:59
    they're like the 8 bit integers where N is
    2 to the 8. And then these are the numbers
  • 5:59 - 6:04
    from 0 to 255, and so on and so forth. So
    these are the numbers that we want to work
  • 6:04 - 6:13
    with. Just to set the stage a bit. And
    these isogenies. We will live in a world
  • 6:13 - 6:18
    where we we work with somehow related
    numbers to these integers mod N. And now
  • 6:18 - 6:25
    for big N, we choose a prime P and then
    these integers mod P, they represent what
  • 6:25 - 6:31
    we call the finite field with P elements.
    Okay. And you can think of this as a set
  • 6:31 - 6:36
    that has exactly P elements and really
    kind of behaves like the real numbers.
  • 6:36 - 6:39
    Okay. You can add numbers, you can
    subtract numbers. You can divide by
  • 6:39 - 6:43
    everything but zero. Okay. And this finite
    field with P elements works really the
  • 6:43 - 6:47
    same. It's just a finite set, but
    everything is invertable except zero.
  • 6:47 - 6:50
    Okay. And these are the numbers that we
    want to work with and computers can do
  • 6:50 - 6:57
    that. So that's fine. And just for the
    sake of telling you, there are also fields
  • 6:57 - 7:03
    that have somehow P to the R elements, but
    they are not the same as what people are.
  • 7:03 - 7:06
    Okay. But there is a way to construct it.
    But that's all you need to know about. So
  • 7:06 - 7:10
    this is really the set of numbers that
    we're going to work over and that that's
  • 7:10 - 7:16
    all you need to know. Okay. So the
    cryptographic problem that I want to focus
  • 7:16 - 7:20
    on this talk is simple key exchange. I'm
    not gonna talk about signatures, I'm not
  • 7:20 - 7:24
    going to talk about encryption, nothing.
    Let's just focus on this one simple
  • 7:24 - 7:30
    problem of how do Alice and Bob exchange a
    key without anyone else somehow getting
  • 7:30 - 7:33
    access to that key? And I mean, there are
    somehow classical solutions to that. I
  • 7:33 - 7:37
    could put my key in a suitcase and I could
    bring it to Alice or I could somehow pay
  • 7:37 - 7:41
    someone to bring the suitcase to Alice. Or
    maybe people heard about the thing where I
  • 7:41 - 7:45
    put my lock on the box and I ship it to
    Alice and she puts her lock on the box and
  • 7:45 - 7:49
    she ships ships it back now I remove my
    lock and I ship it to Alice again. OK, so
  • 7:49 - 7:54
    there are countless ways, but we want to
    somehow do this in a nice, instantaneous
  • 7:54 - 8:00
    kind of way using mathematics. Okay. So
    this simple problem is what we're going to
  • 8:00 - 8:06
    focus on. And classically (whatever that
    means for now) this has been set off by
  • 8:06 - 8:10
    Diffie-Hellman. And this is this nice
    paper from 1979 the title is New
  • 8:10 - 8:14
    Directions in Cryptography. So this
    already tells you that something important
  • 8:14 - 8:20
    must be going on and what you somehow
    invented there was a way to exchange keys
  • 8:20 - 8:27
    between two parties using a nice, well-
    defined problem. Okay. And how does it
  • 8:27 - 8:32
    work? Okay. I'm just gonna tell you how it
    works. So there are two parties, Alice and
  • 8:32 - 8:39
    Bob. A and B. They agree on a safe prime
    modulus, N. Okay. So this is the integers
  • 8:39 - 8:45
    mod N, which I saw, and a generator G. So
    what does that mean? Basically in my set,
  • 8:45 - 8:50
    from zero to N, I want to single out one
    element such that every element can be
  • 8:50 - 8:55
    written as a power of that element. And
    somehow this means it generates it. Right.
  • 8:55 - 9:00
    So every Y can be written as G to the X
    mod N. Okay, this is my setup. And then
  • 9:00 - 9:06
    there is Alice and Bob and they agree on
    these two parameters. Okay. And now how do
  • 9:06 - 9:12
    we do the key exchange? So it's very
    symmetrical. So Alice chooses a random A
  • 9:12 - 9:17
    in the set from one to N minus one. And
    she sends big A is G to the small a mod N
  • 9:17 - 9:22
    to Bob. And as you might have guessed it,
    because I said it's symmetrical, Bob does
  • 9:22 - 9:27
    the same. Okay. So how does the picture
    go? So Alice on the left, she chooses a
  • 9:27 - 9:33
    random small A. And she sends that big A
    to Bob. Bob chooses a random small B. He
  • 9:33 - 9:38
    sends the big B to Alice. And then
    somehow, you know, you have to combine
  • 9:38 - 9:45
    them somehow. Right. How do you do this?
    So this is nice to compute the shared k,
  • 9:45 - 9:51
    the shared key. So Alice takes the B, she
    got from Bob and raises it to the power of
  • 9:51 - 9:56
    her own random secret value. And Bob does
    the same. And magically from mathematics,
  • 9:56 - 10:04
    they both get the same small k. And now
    I'm going to tell you why, somehow, this
  • 10:04 - 10:12
    is hard for anyone else to get the same
    small k. So now bear with me. I'm gonna
  • 10:12 - 10:16
    write it down mathematically, first of
    all, why not teach you a bit about that as
  • 10:16 - 10:21
    well? So this is this diagram, this
    commutative diagram that somehow
  • 10:21 - 10:25
    represents this key exchange that just
    happened. Okay. So Bob and Alice, they
  • 10:25 - 10:31
    both started in the left upper corner with
    the G and they both end up in the lower
  • 10:31 - 10:35
    right corner, the G the AB. So they both
    are able to somehow compute G to the AB
  • 10:35 - 10:39
    and no one else is. And how does that
    work? Well, Alice will only compute the
  • 10:39 - 10:44
    horizontal arrows, so she only raises to
    the power of small A because that's her
  • 10:44 - 10:49
    random secret that only she knows. And Bob
    only computes the vertical arrows, so he
  • 10:49 - 10:52
    only raises to the power of small B,
    because that's the secret to he knows and
  • 10:52 - 10:57
    no one else does. And I mean by the
    commutativity and the associativity of
  • 10:57 - 11:03
    exponentiation, they just agree on the
    same G to the AB which is which is cool.
  • 11:03 - 11:09
    And somewhere in there there hides a
    problem that we like to call the discrete
  • 11:09 - 11:14
    logarithm problem and it just happens for
    integers mod N if I choose my N
  • 11:14 - 11:17
    appropriately, I'm not gonna tell you how,
    but just believe me if I choose it
  • 11:17 - 11:26
    appropriately. If I give you Y and G, for
    you it's hard to find the small X. Somehow
  • 11:26 - 11:30
    like taking a logarithm, and we call it
    the discrete logarithm because it's a
  • 11:30 - 11:34
    discrete set of numbers instead of the
    continuous decimal numbers, what we
  • 11:34 - 11:38
    started with was this discrete finite set
    of numbers and this DLP is hard. Okay.
  • 11:38 - 11:45
    This is a hard problem for classical
    computers. And the best classical generic
  • 11:45 - 11:50
    algorithm - I'm not gonna talk about
    somehow algorithms that specifically
  • 11:50 - 11:55
    target integers mod N, I'm just going to
    talk about generic algorithms for for this
  • 11:55 - 12:00
    DLP problem. The best algorithm somehow
    has run time square root of big N the
  • 12:00 - 12:07
    number of elements and say I chose my N
    about the size of 2 to the small n, or n
  • 12:07 - 12:13
    bits. Then solving this takes exponential
    time in n, right, because the square root
  • 12:13 - 12:18
    of 2 to the n is still pretty big. Okay,
    this is about 2 to the n half, and if I
  • 12:18 - 12:25
    make n a thousand is still 512 bits. So
    this is a hard problem. But recently there
  • 12:25 - 12:34
    has been a record for factoring and DLPing
    over a seven hundred ninety five bit
  • 12:34 - 12:39
    modulus and they use a bit of a better
    algorithm, but still, I mean it still took
  • 12:39 - 12:46
    them a long time. Okay, so if I remember
    correctly, this feed took them 4000 core
  • 12:46 - 12:51
    years on a two point one gigahertz
    computer. I mean, that's still 4000 core
  • 12:51 - 12:55
    years. So this is a long time. Okay. But
    as you can see, it's possible to solve
  • 12:55 - 13:00
    this. I mean, just put enough, if I have a
    big enough hammer, I can solve this. Okay.
  • 13:00 - 13:05
    But again, you can make N pretty big,
    bigger than anything being able to solve
  • 13:05 - 13:11
    this anymore. But. Okay, so there is a
    quantum algorithm for this and this is
  • 13:11 - 13:16
    this other paper from 95. Peter Shor. So
    he thought of this algorithm that solves
  • 13:16 - 13:22
    the DLP in polynomial time. Okay, now
    remember our big N we took about two to
  • 13:22 - 13:27
    the small n. And this Shor's algorithm
    only takes small n to the cube? And I
  • 13:27 - 13:33
    mean, if N is a hundred hundred cube, it's
    not that big. And I can make a thousand by
  • 13:33 - 13:38
    a thousand cube is still not that big.
    Okay. So there is a good algorithm that
  • 13:38 - 13:42
    assumes the existence of a quantum
    computer. I mean as outlandish that might
  • 13:42 - 13:48
    sound, but still this algorithm in theory
    breaks the DLP. Okay. So I don't know,
  • 13:48 - 13:52
    maybe in 20 years or 30 years, 100 years.
    I don't know personally, but if there is a
  • 13:52 - 13:57
    quantum computer eventually that somehow
    runs this thing, okay, DLP's broken,
  • 13:57 - 14:05
    classically. So. Well, what to do? As I
    said, let's just try to come up with
  • 14:05 - 14:11
    cryptography for which we don't know a
    quantum algorithm. Okay. Or for which we
  • 14:11 - 14:15
    expect there won't be a quantum algorithm
    ever. There are a few candidates. Again,
  • 14:15 - 14:22
    there's this zoo. Lattices, codes, this
    long word, and isogenies. Okay. Now what I
  • 14:22 - 14:26
    want to tell you about is what is an
    isogeny, and how do I do key exchange with
  • 14:26 - 14:34
    an isogeny? Okay. Because I know, it's a
    fancy word, but what does it mean? Okay.
  • 14:34 - 14:37
    There was this other word that started
    with elliptic curve isogenies, so probably
  • 14:37 - 14:41
    I should tell you about what is an
    elliptic curve or give you a reminder if
  • 14:41 - 14:46
    you've seen this before. So I look at this
    equation in two variables and two
  • 14:46 - 14:52
    constants, the variables X and Y, my
    constants are A and B. And the equation is
  • 14:52 - 14:58
    Y squared is X cubed plus AX plus B. And
    now what I want to look at is all the
  • 14:58 - 15:03
    solutions to this equation, all the
    possible pairs Y and X or X and Y. And of
  • 15:03 - 15:07
    course, they're going to look different
    somehow for the different possible numbers
  • 15:07 - 15:11
    that I can plug in for X and Y. And again,
    you might have guessed it, first of all,
  • 15:11 - 15:15
    we're going to look at it over the decimal
    numbers and then later we want to consider
  • 15:15 - 15:21
    this again over our finite field, okay,
    because we like we like this discreteness.
  • 15:21 - 15:26
    And over R, a simple equation, I just
    chose some values for A and B, B I set to
  • 15:26 - 15:31
    zero, A I set to 1, uh, A I set to zero, B
    I set to one. The solution set looks like
  • 15:31 - 15:37
    this. And actually it extends infinitely
    far on the right side, up and down. Okay.
  • 15:37 - 15:41
    So this is just somehow a snapshot of what
    the solution set looks like. But over my
  • 15:41 - 15:46
    finite field, and I chose one with one
    hundred and one elements, it looks like
  • 15:46 - 15:51
    the set of points. Okay. So elliptical
    curves look differently over different
  • 15:51 - 15:58
    fields. But that's fine. That's fine.
    Okay. Now, quick reminder of why people
  • 15:58 - 16:02
    like elliptic curves. So there is
    something called the point addition law.
  • 16:02 - 16:05
    So I can take two points on this curve and
    I can somehow add them. Okay, but this is
  • 16:05 - 16:10
    not really addition in the sense of
    numbers. There is somehow a law that I have
  • 16:10 - 16:16
    to apply. And let me quickly show off how
    this is done. So how do I add two points
  • 16:16 - 16:21
    on this curve? Well, you take these two
    points, you put a line through it, and
  • 16:21 - 16:27
    then there is a law that says that if I
    put a line through two points, then it
  • 16:27 - 16:32
    has, the line has to cut the curve from
    the third point. Okay. So I put the line
  • 16:32 - 16:37
    through these two points. It cut the curve
    in the third point all the way up on the
  • 16:37 - 16:41
    right. You know, what I'm going to do is
    I'm going to reflect the point down on the
  • 16:41 - 16:46
    X axis. Okay. So I draw this other line, I
    reflect it down. And then what I define is
  • 16:46 - 16:56
    that other, that I cut, this I define to
    be the sum of these two points. Okay. So.
  • 16:56 - 17:01
    And that works. Okay. I can add points, I
    can subtract points. There will be the
  • 17:01 - 17:05
    inverse. So this kind of like X like
    integers mod N when you only consider
  • 17:05 - 17:10
    addition, kind of, kind of, it's not
    really the same, but you can also single
  • 17:10 - 17:17
    out the special point O like beautiful O
    we call the origin, whatever that is. And
  • 17:17 - 17:21
    this origin kind of acts like a zero. So
    if I add the origin to the point where I
  • 17:21 - 17:25
    get the point again, or if I add the point
    and its inverse I get that point, I get
  • 17:25 - 17:31
    zero. Okay. So there's something like a
    zero. And you can also multiply points,
  • 17:31 - 17:35
    right. I mean what is multiplication, it's
    just repeated addition. So in brackets n,
  • 17:35 - 17:39
    this is what I write for point
    multiplication, just add the point n times
  • 17:39 - 17:43
    to itself. Okay. So there's nothing fancy
    going on here. So you can somehow add
  • 17:43 - 17:50
    points. You can multiply points. That's
    pretty cool. And if you look closer, you
  • 17:50 - 17:56
    can look at the special set here that I
    denoted E brackets, big N. And these are
  • 17:56 - 18:01
    all the points on the curve such that if I
    multiplied this point for N it gives me
  • 18:01 - 18:08
    zero. Okay. And this set for the
    mathematically inclined people among us I
  • 18:08 - 18:12
    know say this is somehow the N-torsion of
    an elliptic curve, whatever that means.
  • 18:12 - 18:16
    But if you're interested, you can look it
    up. And this set kind of acts like
  • 18:16 - 18:24
    additive integers mod n - like two copies
    of it. Okay. And now this is where the
  • 18:24 - 18:27
    term super singular comes from. One of the
    definitions. This is not the only
  • 18:27 - 18:31
    definition, but this is one of them. If
    you look at the elliptic curve, not over
  • 18:31 - 18:36
    the reals, okay, or whichever numbers, but
    over this finite fields. And if you look
  • 18:36 - 18:42
    at the torsion, the P-torsion, then this
    behaves differently for different types of
  • 18:42 - 18:45
    curves. Okay. The P-torsion is either
    empty, then we call the curve super
  • 18:45 - 18:50
    singular; or it's just one copy of of
    integers mod P and then we call it
  • 18:50 - 18:55
    ordinary. Okay. It's not really important
    to know what that means. It just means
  • 18:55 - 19:00
    that there is a distinction for curves
    somehow that's somehow ingrained
  • 19:00 - 19:08
    mathematically deep down there. And
    because this E N torsion is somehow two
  • 19:08 - 19:14
    copies of of integers mod N, additive
    integers mod N, I can generate it by
  • 19:14 - 19:18
    taking linear combinations of two points,
    say P and Q, and these are like the
  • 19:18 - 19:22
    generators we saw earlier. Right. But
    these are not additive generators instead
  • 19:22 - 19:27
    of somehow exponential generators. But it,
    everything behaves kind of similar. And
  • 19:27 - 19:30
    now you can really use this to do
    cryptography already. If you wanted to
  • 19:30 - 19:36
    write it. You can. You can somehow look at
    the DLP in that group, but there is the
  • 19:36 - 19:41
    problem again that the DLP in there,
    there's Shor's algorithm again. Right. So
  • 19:41 - 19:47
    even if you do cryptography in this group,
    you run into the same problem. OK, so we
  • 19:47 - 19:51
    have to do a bit better. We have to search
    further. And this is where isogenies come
  • 19:51 - 20:04
    on. Come into the play. So one way you can
    think of an isogeny is, remember how we
  • 20:04 - 20:11
    found integers mod N by somehow dividing
    Z by all the N multiples. And you can do
  • 20:11 - 20:17
    something similar with an elliptic curve.
    if you can somehow take part of this
  • 20:17 - 20:24
    N-torsion and you can divide an elliptic
    curve by this. You can mod it out and it
  • 20:24 - 20:29
    turns out this is mathematically well-
    defined and it gives you another elliptic
  • 20:29 - 20:38
    curve. Okay. So I take a curve, E1, I take
    a part of my N-torsion. I divide elliptic
  • 20:38 - 20:43
    curve E1 by G and I get another elliptic
    curve E2. And there's something else that
  • 20:43 - 20:46
    comes along with this construction. And
    this is what we call the isogeny. This is
  • 20:46 - 20:53
    a map. OK. Along with this construction
    comes a map from E1 to E2. And this map is
  • 20:53 - 21:01
    what we call an isogeny. An isogeny is the
    map that takes us from one curve to
  • 21:01 - 21:07
    another curve. And this map is kind of
    special because it behaves in a nice way
  • 21:07 - 21:12
    and it plays nicely with the structure
    that's already ingrained in our curve.
  • 21:12 - 21:18
    Namely, I can either add two points on my
    starting curve and send it through that
  • 21:18 - 21:25
    map to the other curve. Or it can take two
    points on my starting curve. I can send it
  • 21:25 - 21:32
    through the map and edit over there and it
    gives me the same thing. So this map
  • 21:32 - 21:36
    behaves nicely with point addition. That's
    pretty nice, just as a side note. So this
  • 21:36 - 21:42
    map is special. So this is just the
    remainder of what I said: Adding points on
  • 21:42 - 21:47
    E1 and sending the result to E2 is the
    same as sending points to E2 and adding
  • 21:47 - 21:54
    them there. So this map somehow plays nicely
    with my laws on my elliptic curve. Now I
  • 21:54 - 22:02
    have to make a definition: In mathematics,
    the kernel of a map is the set of all the
  • 22:02 - 22:08
    inputs to the map that are sent to zero.
    And we saw this origin O here that acted
  • 22:08 - 22:12
    like zero. So the kernel of my isogeny,
    I'm just going to define as all the inputs
  • 22:12 - 22:18
    to the isogeny that are sent to the zero
    on the other curve. And in written
  • 22:18 - 22:25
    notation, it's the set of all P in E1 such
    that the map of P is 0. It turns out that
  • 22:25 - 22:35
    this kernel for my isogeny, that I started
    out with somehow recovers this part of the
  • 22:35 - 22:41
    end portion that I used to construct. So
    there's two ways now to think of an
  • 22:41 - 22:48
    isogeny. So this is what we start with. We
    reconsidered E1 mod G and it gave us this
  • 22:48 - 22:54
    map from E1 to E2. But if I start with
    this map from E1 to E2, we also find the G
  • 22:54 - 22:59
    again. So there are two ways to represent
    this map. We can think of a subgroup -
  • 22:59 - 23:07
    this G - or we can think of the map. And
    ultimately somehow there is a correspondence
  • 23:07 - 23:12
    between the various subgroups for
    different N and isogenies that are somehow
  • 23:12 - 23:16
    emanating from a curve. We can think of
    this link or the hairs on my head, they
  • 23:16 - 23:21
    are going out and then they're going to
    reach other electric curves maybe. And
  • 23:21 - 23:27
    these notions can be used interchangeably.
    So somehow there is a correspondence. And
  • 23:27 - 23:33
    again, I can choose different ends. So some-
    how from one curve, I can have many outgoing
  • 23:33 - 23:40
    isogenies that are different in a sense. And
    now the thing is in practice, we actually want to
  • 23:40 - 23:44
    compute these maps. So right now, this is
    just general abstract nonsense. I didn't
  • 23:44 - 23:47
    tell you anything of how to compute these
    things. I just told you there are some
  • 23:47 - 23:51
    more correspondences. But I mean, what
    does that even mean? Right. It's useless
  • 23:51 - 23:57
    if I can't use it in practice. And then
    there is another thing: You can compute
  • 23:57 - 24:00
    these things, there are formulas, people
    have worked on this. But somehow the cost
  • 24:00 - 24:08
    grows if I enlarge N. So really, in
    practice, for applications, I want to choose
  • 24:08 - 24:14
    a small N. Maybe two or three - that would
    be pretty good. And now the thing is, it's
  • 24:14 - 24:19
    the supersingular curves for which I can some-
    how control or choose the possible ends very
  • 24:19 - 24:27
    very easily. So this is the reason why we
    reconsider supersingular curves. Now I can
  • 24:27 - 24:34
    choose my prime to be of this form and
    then magically this is going to force 2
  • 24:34 - 24:40
    and 3 being possible. So this is the
    reason why we choose supersingular ones.
  • 24:40 - 24:45
    There's some theory which is not
    interesting for you, but it's important
  • 24:45 - 24:52
    for implementation. And there's a way basically
    for us to force the curve to have those
  • 24:52 - 24:57
    isogenies that we like. But there is
    another important reason and this is the
  • 24:57 - 25:01
    reason that actually makes it
    interesting for cryptography. So what I
  • 25:01 - 25:08
    can do is: I start with an arbitrary
    curve, and this just might not be a
  • 25:08 - 25:13
    supersingular one, just any curve and say I
    consider all the outgoing two isogenies if
  • 25:13 - 25:19
    these are possible, 4 and 2. So there's
    going to be 1, 2 and 3. And then again,
  • 25:19 - 25:25
    from E1, I can again consider all the
    outgoing isogenies, and so on and so
  • 25:25 - 25:29
    forth. So what's going to happen here is:
    This is going to generate a graph, where
  • 25:29 - 25:37
    the vertices of my graph are elliptic curves
    and the edges are isogenies. So somehow
  • 25:37 - 25:44
    behind the scenes there is this graph
    hidden. Now, it turns out that if you do
  • 25:44 - 25:49
    this for a supersingular elliptic curve -
    and I generated this yesterday for you,
  • 25:49 - 25:53
    so this is one possible graph - I can
    remember which prime I took. But here you
  • 25:53 - 25:57
    can see all the ellipses are ellipitic
    curves and all the edges between them are
  • 25:57 - 26:03
    2 isogenies. So this is an example of a
    supersingular 2-isogeny graph - okay, this
  • 26:03 - 26:11
    looks pretty wild. I can do the same for N
    = 3 if it's possible, or is 5 and so on
  • 26:11 - 26:17
    and so forth. There are many many graphs
    hidden. But why is the supersingular graph
  • 26:17 - 26:21
    specific and important? Well, it turns out
    that somehow the supersingular one is
  • 26:21 - 26:27
    connected, and it's what we call a
    Ramanujan graph. I'm going to explain
  • 26:27 - 26:34
    this in a second. And as a bonus, for
    implementation purposes, it turns out that
  • 26:34 - 26:40
    you can do all your implementation in
    arithmetics in the finite field with p^2
  • 26:40 - 26:45
    elements. This is nice. So I'm just gonna
    say that if you don't consider
  • 26:45 - 26:49
    supersingular curves and you go along
    these graphs, then what's going to happen
  • 26:49 - 26:54
    is that somehow this "field of
    definition", what we call it, could grow
  • 26:54 - 26:59
    for you to be able to go further, but that
    would suck for implementation. But
  • 26:59 - 27:04
    supersingular ones is nice so, F_p^2 is
    enough. So this is again, is good for
  • 27:04 - 27:10
    implementation. So somehow magically many
    many things happen here that are benefiting us.
  • 27:10 - 27:15
    And again, why is it nice that this is a
    Ramanujan graph? A Ramanujan graph has
  • 27:15 - 27:21
    certain optimal expansion properties. This
    means that if I start from a random point
  • 27:21 - 27:29
    in my fraph, and I take a random walk with some-
    how logarithmic steps of the total amount of
  • 27:29 - 27:38
    vertices, then this will put me in a very
    uniform place in that graph. And this is
  • 27:38 - 27:44
    is good for cryptography. Because you only
    need to take log many steps to somehow
  • 27:44 - 27:50
    randomize yourself in that graph. And this
    is what this could look like. I started at
  • 27:50 - 27:56
    that red ellipses over there. This was my
    starting point. And then I generated a few
  • 27:56 - 28:02
    random walks, and the blue points are
    where I got placed. This might not prove
  • 28:02 - 28:09
    anything, but it gives you an idea of how, some-
    how uniformly, it places me around that graph.
  • 28:09 - 28:17
    So, it's good for cryptography, but there
    are other reasons, so supersingular elliptic
  • 28:17 - 28:22
    curves somehow I can actually compute how
    many of these curves I will have in my
  • 28:22 - 28:27
    graph. This is another reason to be
    looking at these things. Because if I
  • 28:27 - 28:31
    don't even know how many curves are in my
    graph - well I can't really say anything
  • 28:31 - 28:35
    about the security - but at least for
    supersingular ones, I can see they're
  • 28:35 - 28:42
    roughly p/ 12 many. Okay, and then again,
    if I'd choose my p about n bits, well then
  • 28:42 - 28:48
    I really know that my graph has about 2^n
    elements. And at least there I can see
  • 28:48 - 28:52
    something about the cryptographic
    strength, right? I can make M big and then
  • 28:52 - 28:55
    you can say: Oh yeah, you have this random
    graph, you take some n-length walks and
  • 28:55 - 28:59
    n-length walks and then it places you
    randomly in there and the whole graph is
  • 28:59 - 29:04
    about 2^n elements. And then I can say
    something about the expected runtime of
  • 29:04 - 29:10
    algorithms. So this is another reason why
    we want to consider supersingular curves:
  • 29:10 - 29:16
    Because I can tell you how many elements
    are in this graph. So a quick summary of
  • 29:16 - 29:21
    what we saw, why this is nice. So what you
    get is a compact representation of an
  • 29:21 - 29:28
    (l+1)-regular graph. And we saw examples,
    e.g. l = 2, l = 3. Bigger values are
  • 29:28 - 29:31
    possible, but we don't even care about
    those because this is what gives us the
  • 29:31 - 29:39
    fastest arithmetic such that we can work
    with F_p^2. This is nice, this keeps our
  • 29:39 - 29:44
    implementation fast. I can tell you how
    many vertices are in the graph: about
  • 29:44 - 29:49
    p/12. And again, such that the graph for
    mixing properties that are useful for
  • 29:49 - 29:52
    cryptographic applications. So because I
    want to use this ultimately for
  • 29:52 - 30:00
    cryptography. And again, that's what we
    said: If I choose an n-bit prime p, then
  • 30:00 - 30:07
    the graph has about 2^n vertices - so
    exponentially many vertices. And it turns
  • 30:07 - 30:16
    out that there are some hard problems that
    I can ask you to solve in this graph that
  • 30:16 - 30:23
    don't have good quantum algorithms. So one
    hard problem is this: I take two super
  • 30:23 - 30:29
    singular elliptic curves, so I just give you
    two random curves in this graph and ask
  • 30:29 - 30:33
    you to find a nice arch in the path
    between those isognies, or three
  • 30:33 - 30:38
    isogenies. And it turns out that this just
    doesn't have a good quantum algorithm. So
  • 30:38 - 30:43
    classically, I mean the numbers are super
    important here, but classically the
  • 30:43 - 30:48
    complexity is p, over the fourth root of p,
    and the best quantum algorithm is a bit
  • 30:48 - 30:53
    better at it. I mean again, it's not super
    important what's there. What's important
  • 30:53 - 30:58
    is that there is no polynomial time
    algorithm compare to ideal p that we
  • 30:58 - 31:03
    started with. So if I make this p very large
    and your quantum computer, your
  • 31:03 - 31:08
    hypothetical quantum computer, will
    probably not solve this. Okay, so that's
  • 31:08 - 31:15
    cool. So how do we do key exchange? I
    start with a supersingular elliptic curve E,
  • 31:15 - 31:21
    where I chose my prime p such that two and
    three isogenies are possible. And then
  • 31:21 - 31:26
    Alice - earlier I remember she chose a
    random number a - but now Alice will
  • 31:26 - 31:36
    choose a random subgroup A, and she will
    send E mod A to Bob. This amounts to Alice
  • 31:36 - 31:41
    for computing the nice isogeny. And again,
    this is a very symmetrical key exchange,
  • 31:41 - 31:45
    except that now Bob won't use the same
    generator but Bob will use the 3
  • 31:45 - 31:51
    isogenies. So Bob will choose a random
    subgroup B, and then he will compute E mod
  • 31:51 - 31:58
    B and send this to Alice. And this is the
    picture: There's Alice, there's Bob. Alice
  • 31:58 - 32:05
    chose A, Bob chooses B. Alice sends E mod
    A to Bob, Bob sends E mod B to Alice. And
  • 32:05 - 32:12
    then how do they agree on a shared key?
    They will just mod out by their respective
  • 32:12 - 32:16
    subgroups again. And it turns out that the
    elliptic curve that they find is going to
  • 32:16 - 32:23
    be the same for both of them. Okay, so how
    does that work? Again, let's return to our
  • 32:23 - 32:33
    graph: Say Alice and Bob agree on a black
    curve - the black curve on the left side.
  • 32:33 - 32:37
    And then Alice will compute these red
    steps, which correspond to taking a
  • 32:37 - 32:42
    subgroup. So Alice will compute these red
    steps for her secret subgroup and she will
  • 32:42 - 32:49
    end up at the red curve in the upper right
    corner. And Bob will do the same. But now
  • 32:49 - 32:53
    Bob is not in the 2-graph, but in the
    3-graph - so this is the three graph. And
  • 32:53 - 32:58
    the black curve that he started from in
    the 3-graph is down there. He will also
  • 32:58 - 33:02
    select a random subgroup, compute the
    secret path and Bob will end up in the
  • 33:02 - 33:07
    blue curve. Now Alice will send her red
    curve to Bob. And Bob, will send his blue
  • 33:07 - 33:12
    curve to Alice. And then Alice will
    consider the blue curve in the 2-graph. So
  • 33:12 - 33:17
    Alice starts from the blue curve that she
    got from Bob - and this is the position in
  • 33:17 - 33:23
    the 2-graph. And again, she computes that
    same secret path and ends up in the green
  • 33:23 - 33:30
    curve, which is up there. Bob got the red
    curve from Alice. So Bob has the red curve
  • 33:30 - 33:34
    there. Again, he computes the path and
    then ends up at the green curve. And it
  • 33:34 - 33:38
    turns out that the green curves here and
    there are the same. And this is going to
  • 33:38 - 33:46
    be the shared key for them. This is SIDH.
    Okay. This is how you exchange a secret
  • 33:46 - 33:54
    key using the supersingular isogeny graph.
    That's the whole magic. And again, let's
  • 33:54 - 34:01
    compare these two things a bit: the DLP-
    based one and the SIDH one. So we had the
  • 34:01 - 34:08
    square, Alice and Bob started in the upper
    left corner and again ended up in the lower
  • 34:08 - 34:15
    right corner. And SIDH looks very similar:
    Alice and Bob start with this common curve
  • 34:15 - 34:23
    E in the upper left corner. Again, Alice
    computes only horizontal arrows because
  • 34:23 - 34:28
    she knows her secret group A, and Bob only
    computes the vertical arrows because only
  • 34:28 - 34:34
    he knows his secret group B. And again,
    they both end up in the lower right
  • 34:34 - 34:40
    corner, where they define the shared key.
    But now in this case, the shared key is
  • 34:40 - 34:45
    not an element to the a^(ab), but elliptic
    curve. But again, there's a mathematical
  • 34:45 - 34:52
    way to attach a unique number to it. So
    it's a solved problem to actually make
  • 34:52 - 35:00
    some bytes out of this. And yeah, that's
    SIDH. That's everything. This is a nice
  • 35:00 - 35:07
    example of a post-quantum cryptography
    scheme that we have today. And now
  • 35:07 - 35:13
    let me finish with a quick conclusion. I
    showed you this "zoo": There are several
  • 35:13 - 35:19
    candidates somehow for post-quantum
    cryptography. And among them are some
  • 35:19 - 35:26
    schemes based on supersingular elliptic
    curve isogenies, and we've seen that we
  • 35:26 - 35:30
    know some hard problems involving these
    isogenies that are hard for quantum
  • 35:30 - 35:41
    computers, which makes this one possible
    scheme for a quantum computer world. And
  • 35:41 - 35:45
    probably I should say that we don't
    envision a world here where we users like
  • 35:45 - 35:50
    me or you are in possession of quantum
    computers. Probably, what we think about
  • 35:50 - 35:55
    is that state actors are in positions of
    quantum computers. So this is even more
  • 35:55 - 36:02
    important for us to be looking into these
    things. And what we saw was to perform a
  • 36:02 - 36:05
    Diffie-Hellman-like key exchange using
    these isogenies. But - this is what I
  • 36:05 - 36:10
    didn't tell you about in his talk - there
    are also schemes for signature-based
  • 36:10 - 36:16
    isogenies, there is this scheme for key-
    encapsulation-based isogenies. So
  • 36:16 - 36:23
    there are other possible candidates for
    other cryptographic building blocks based
  • 36:23 - 36:29
    on isogenies and these hard problems. And
    if you're super interested about this, you
  • 36:29 - 36:37
    can either ask me or come to our assembly
    and if you like reading scientific papers,
  • 36:37 - 36:40
    papers about such isogenies and
    cryptography in general, you can find this
  • 36:40 - 36:45
    on the eprint archive. So this is a web
    page where people post pre-prints about
  • 36:45 - 36:50
    their papers and there's a huge collection
    about, among of them, isogeny papers. So
  • 36:50 - 36:58
    if you're interested in this, this is the
    place to research. And with that, I would
  • 36:58 - 37:01
    like to thank you all for your attention.
  • 37:01 - 37:15
    applause
  • 37:15 - 37:23
    Herald Angel: Is there any question? OK, I
    got the Signal Angel there, doing some
  • 37:23 - 37:28
    Morse code?
    Microphone 1: Yes. Can you recommend any
  • 37:28 - 37:33
    literature for the theoretical background?
    naehrwert: The theoretical background?
  • 37:33 - 37:42
    There are a few papers that are nice.
    Okay. The question again was literature
  • 37:42 - 37:46
    about theoretical background. And yes,
    there are a few papers that are giving
  • 37:46 - 37:53
    some nice, even theoretically involved
    summaries about the background. And your
  • 37:53 - 38:01
    best bet is to go to eprint and you enter
    'isogenies' in the mask of search terms,
  • 38:01 - 38:07
    or 'SIDH', and look at the papers that
    say, maybe, 'A Short Introduction to
  • 38:07 - 38:11
    Isogenies' or something like that. I mean,
    you will find them if you search for them.
  • 38:11 - 38:18
    I don't know them from the top of my head,
    but they're out there for sure. Yeah, and
  • 38:18 - 38:23
    thanks for him - So there is a very recent
    paper by Craig Costello, also somewhat
  • 38:23 - 38:27
    titled 'A Short Introduction', something
    like that. So this is also maybe a good
  • 38:27 - 38:31
    source for you to look at.
    Herald Angel: Um, yeah, 'Isogenies for
  • 38:31 - 38:33
    Beginners'.
    naehrwert: 'Isogenies for Beginners'.
  • 38:33 - 38:36
    Thank you.
    audience laughing
  • 38:36 - 38:44
    Microphone 2: Hello. Yeah. So you've used
    elleptic curve as an algebraic group,
  • 38:44 - 38:55
    right, to compute these isogeny graphs.
    Why do you use elliptic curves - what's
  • 38:55 - 39:03
    the properties of elliptical curves as a
    group? So, could you use any group to
  • 39:03 - 39:11
    compute these graphs and could you use
    these as the basis for your scheme or your
  • 39:11 - 39:15
    key exchange scheme?
    naehrwert: Okay, so the question was why
  • 39:15 - 39:21
    use elliptical curves and the group
    structure that the impose to look at
  • 39:21 - 39:26
    isogeny graphs involving elliptical curves
    and whether I could use other groups. And
  • 39:26 - 39:34
    actually, there's a two-fold answer maybe.
    So if I go back - or actually let me go to
  • 39:34 - 39:41
    my backup slide, which gives you SIDH in
    its full glory - you consider some extra
  • 39:41 - 39:46
    information being sent, namely these
    generators from my group and actually the
  • 39:46 - 39:52
    same commutative diagram for SIDH. You
    could, in theory, compute using another
  • 39:52 - 39:58
    group as well, that has the proper
    subgroup structure, but the graph that you
  • 39:58 - 40:04
    will find is probably not going to be
    interesting. I mean it's really somehow
  • 40:04 - 40:09
    that Righello property that makes the
    graph interesting for cryptography. But
  • 40:09 - 40:15
    yes, in theory, the SIDH commutative
    diagram you could also compute for other
  • 40:15 - 40:21
    groups, yes.
    Microphone 2: OK.
  • 40:21 - 40:29
    Microphone 3: Uh... How good are classical
    algorithms that tried to reverse that SIDH
  • 40:29 - 40:37
    problem, because that will be the bound
    for how large your keys have to be, to be
  • 40:37 - 40:40
    secure.
    naehrwert: Yes. So the question was: How
  • 40:40 - 40:47
    good are classical algorithms? And again,
    I said, I think the runtime for those is
  • 40:47 - 40:53
    squared of p. And this tells you how big
    you have to choose B.
  • 40:53 - 40:59
    Microphone 3: And how confident are you
    that this really is hard for quantum
  • 40:59 - 41:04
    computers as well?
    naehwert: Well, how confident am I that
  • 41:04 - 41:07
    this is really hard for quantum
    computers? So first of all, cryptography
  • 41:07 - 41:11
    is all about confidence, right? So someone
    proposes a problem, this problem gets
  • 41:11 - 41:15
    crypto-analyzed. And if it's not broken
    after 40 years, then people will say, I'm
  • 41:15 - 41:20
    pretty, pretty confident this is good. And
    maybe if the NSA doesn't tell you anything
  • 41:20 - 41:26
    about it, or maybe if they don't have, you
    know, anything on it, then you can also
  • 41:26 - 41:35
    see that you're confident in it. But I
    think this is really a question that only
  • 41:35 - 41:41
    time can answer, right?
    Microphone 4: Yeah. Is it possible to
  • 41:41 - 41:47
    prove that no polynomial-time algorithms
    for the isogenies problems can exist
  • 41:47 - 41:52
    for a quantum computer?
    naehrwert: Yeah, that's a good question.
  • 41:52 - 42:00
    How do you prove that no algorithm exists?
    This brings us into territories, like ...
  • 42:00 - 42:06
    Yeah. I don't know. Yeah.
    No. Let's not do that.
  • 42:06 - 42:16
    Microphone 1: Yeah. Good talk by the way.
    At the last slide you say that this is hard
  • 42:16 - 42:21
    for a quantum [computer]. But that can't
    be true because we don't even know if any
  • 42:21 - 42:26
    algorithm is hard for classic computers.
    Right? So, I'm guessing you're saying that
  • 42:26 - 42:31
    intuitively it feels hard, which, you
    know, is the same intuition I have about
  • 42:31 - 42:38
    e.g. factoring in. So, you mention there's
    multiple candidates for post-quantum
  • 42:38 - 42:44
    cryptography, and they all intuitively
    feel hard somehow. Do you know if this
  • 42:44 - 42:48
    specific candidate, would this be your
    horse in a race? Is there anything about
  • 42:48 - 42:54
    this specific way that you think would be
    the best fit for post-quantum
  • 42:54 - 42:59
    cryptography?
    naehrwert: Okay. Your opinion is very
  • 42:59 - 43:03
    valid. Of course, we don't know if it's
    hard, right? This connects back to the
  • 43:03 - 43:07
    other questions: How do you trust
    something like that? Again, people do
  • 43:07 - 43:12
    crypto analysis for 40 years or whatever.
    And then you say, oh, no one found
  • 43:12 - 43:16
    anything - it's probably hard, right? But
    it hasn't been an exact 40 years. You
  • 43:16 - 43:21
    cannot say that. Indeed these things are
    relatively new. And personally, I'm not
  • 43:21 - 43:28
    gonna, I don't know, believe in any of
    these things until some time passes. So my
  • 43:28 - 43:33
    reason for looking into these things
    really is more a mathematical curiosity,
  • 43:33 - 43:38
    because I think these things are
    beautiful. And the cryptography that
  • 43:38 - 43:43
    arises from it is more of a side-effect
    for me personally. So I'm not going to put
  • 43:43 - 43:51
    out any guesses on which of these things
    is actually going to win the PQ race or
  • 43:51 - 43:56
    whatever.
    Microphone 2: (Yeah. I am.) You showed or
  • 43:56 - 44:02
    said you think it's hard for the classical
    way and for the quantum cryptography way.
  • 44:02 - 44:09
    I think I just read a paper last year
    about a combined way in classical and
  • 44:09 - 44:14
    quantum cryptography combined, which
    outperforms either one of those ways. Do
  • 44:14 - 44:24
    you think this could also be relevant or
    gonna make this one way to put in
  • 44:24 - 44:28
    computable in polynomial time?
    naehrwert: Are you talking about an
  • 44:28 - 44:33
    algorithm that somehow combines a
    classical step and a quantum step to break
  • 44:33 - 44:34
    this?
    Microphone 2: Yes.
  • 44:34 - 44:39
    naehwert: Yeah well, most algorithms that
    we say use a quantum computer involve a
  • 44:39 - 44:43
    classical part anyways. If you think about
    Shor's algorithm, there's a classical part
  • 44:43 - 44:50
    and a quantum computer part. So I'm not
    sure which algorithm you read about, but
  • 44:50 - 44:54
    I'm sure that somehow all the quantum
    algorithms involve a classical part
  • 44:54 - 44:59
    implicitly anyways.
    Herald: Signal Angel?
  • 44:59 - 45:03
    Microphone 3: Yeah. Can you please name
    the mentioned contestants in the list
  • 45:03 - 45:10
    'Challenge-based Isogenies'?
    naehrwert: So there is SSIKE, I believe:
  • 45:10 - 45:16
    supersingular isogeny key encapsulation,
    but actually I don't really follow the
  • 45:16 - 45:22
    NIST thingy closely, so I actually
    couldn't even name all the names that are
  • 45:22 - 45:27
    involved in it, but you can look it up on the
    NIST website and I believe somewhere there
  • 45:27 - 45:33
    is also a classification of the contenders
    into this view. So they will tell you
  • 45:33 - 45:37
    which contenders are based on lattices and
    which contenders are based on codes and
  • 45:37 - 45:41
    which ones are somehow based on isogenies.
    But off the top of my head, actually, I
  • 45:41 - 45:50
    don't even know. Sorry.
    Microphone 1: So if I got everything
  • 45:50 - 45:57
    correctly, though, those isogenies are
    group homomorphisms between the elliptic
  • 45:57 - 46:04
    curves and the factor group of the
    elliptic curve by g. And which has kernel
  • 46:04 - 46:05
    g again.
    naehrwert: Yes.
  • 46:05 - 46:10
    Microphone 1: And you said that finding
    the isogeny path in the graph is rather
  • 46:10 - 46:16
    difficult. But wouldn't the real
    difficulty rather be finding the subgroups
  • 46:16 - 46:20
    G - because a group homomorphism between
    the elliptic curve and the factor group
  • 46:20 - 46:23
    with kernel g is simply the canonical
    protection.
  • 46:23 - 46:30
    naehrtwert: Exactly. So I see you are
    mathematically trained, which is very nice
  • 46:30 - 46:34
    and I appreciate that, this is great and I
    am very happy about that. And yeah, if you
  • 46:34 - 46:41
    look at the slide actually, the secrets
    are these alphas and betas, which somehow
  • 46:41 - 46:46
    determine the subgroup. And yes, finding
    those isogeny path is equivalent to
  • 46:46 - 46:50
    finding the alpha, somehow, that generates
    this group. And as you said correctly,
  • 46:50 - 46:57
    finding the isogeny path is somehow
    finding this group. But it's just
  • 46:57 - 47:01
    restating the problem. But it's still hard
    somehow to find this group. Yeah.
  • 47:01 - 47:05
    Microhone 1: All right. Thanks.
    naehrwert: Thank you. Very cool.
  • 47:05 - 47:09
    Microphone 2: Yeah, thank you for the
    great talk. So, can you play this game a
  • 47:09 - 47:15
    little bit further? I mean, can you choose
    higher-dimensional abelian varieties to
  • 47:15 - 47:19
    make it even more secure? Or is it just
    absolutely inaccessible? I mean, from the
  • 47:19 - 47:24
    computation perspective, the choice of
    field of definition is difficult, for
  • 47:24 - 47:26
    example, so...
    naehrwert: Okay, so the question was on
  • 47:26 - 47:31
    whether you can use higher-dimensional
    abelian varieties and maybe for the people
  • 47:31 - 47:36
    who don't know what that means: You can
    attach a dimension to these things in the
  • 47:36 - 47:41
    elliptic curves, somehow have a dimension
    1 attached to them. And the question was,
  • 47:41 - 47:46
    can you somehow look at dimension 2,
    dimension 3 or higher? And actually, back
  • 47:46 - 47:51
    in the days when people were thinking
    about the DLP problem on the points of
  • 47:51 - 47:56
    elliptic curves that I mentioned briefly,
    people had the idea of maybe using
  • 47:56 - 48:01
    dimension 2 or dimension 3. But it turns
    out, that the DLP problem actually, at
  • 48:01 - 48:06
    some point, gets easier in higher
    dimensions. So, classically if you look at
  • 48:06 - 48:10
    the DLP, you somehow want to stay at
    dimension 2, but now, what you can do is,
  • 48:10 - 48:15
    you can look at isogenies between
    dimension-2 and dimension-3 ones. And
  • 48:15 - 48:18
    actually the problem that arises there -
    and this makes elliptical curves very
  • 48:18 - 48:23
    special - is that we can compute isogenies
    rather efficiently for elliptical curves
  • 48:23 - 48:28
    because of Velu's formulas. Okay. So
    this gives us a very direct means of
  • 48:28 - 48:33
    computing D, but it actually gets hard as
    the dimension grows. For example, for
  • 48:33 - 48:40
    dimension 2 already, the only isogenies
    that I am able to efficiently compute are
  • 48:40 - 48:46
    2- and 3-isogenies. So there are some
    packages out there that can compute higher
  • 48:46 - 48:51
    ones, but only if my prime is very small
    and for dimension 3 and higher it gets
  • 48:51 - 48:56
    even harder. And then there is another
    thing that comes into play. So dimension-2
  • 48:56 - 49:00
    varieties, they all arise from what we
    call hyperelliptic curves. But if we look
  • 49:00 - 49:07
    at dimension-3s and higher, then sometimes
    you land at a point in your graph that
  • 49:07 - 49:12
    does not come from a hyperelliptic curve
    anymore. So there is another complication.
  • 49:12 - 49:18
    So I mean, I had a friend who was looking
    into genus-2 isogenies and it's possible
  • 49:18 - 49:24
    to go there. But I don't know. I think
    personally this is more of a toy than
  • 49:24 - 49:31
    something that's good in practice.
    Microphone 2: Can you use this scheme to
  • 49:31 - 49:36
    implement a fully homomorphic encryption
    scheme? Or is it already?
  • 49:36 - 49:41
    naehrwert: Uhhh... No. No.
    laughing
  • 49:41 - 49:45
    naehrwert: Yeah, no fully homomorphic
    encryption is somehow a pipe dream, but I
  • 49:45 - 49:51
    mean sometimes it's possible. So the idea
    is that you can add cipher texts and get
  • 49:51 - 49:56
    the sum of the ciphered texts and have a
    second operation, namely you should be
  • 49:56 - 50:00
    able to multiply ciphertexts and get the
    multiplication of two ciphertexts. But we
  • 50:00 - 50:07
    didn't even talk about encryption.
    Microphone 2: Yeah. Another question: Is
  • 50:07 - 50:12
    there any crypto primitive used in the
    isogeny approach that cannot be Stark-
  • 50:12 - 50:16
    reduced to finding a hidden
    subgroup in an abelian group?
  • 50:16 - 50:19
    naehrwert: Could you repeat the
    question, please?
  • 50:19 - 50:23
    Microphone 2: Is there any crypto
    primitive used in the isogeny approach
  • 50:23 - 50:29
    that cannot be Stark-reduced to finding a
    hidden subgroup in an abelian group?
  • 50:29 - 50:37
    naehrwert: Okay. I think this question
    tries to connect back to the hidden shift
  • 50:37 - 50:44
    problem or the hidden subgroup problem and
    Berg's algorithm. But I think I'm not able
  • 50:44 - 50:48
    to answer that question now without
    talking to the person that actually asked
  • 50:48 - 50:55
    it because it's a bit vague.
    So I'm sorry about that.
  • 50:55 - 50:59
    Microphone 3: How do you send an
    elliptical over the wire?
  • 50:59 - 51:03
    naehrwert: Yeah, maybe I should answer
    that actually. So we saw the
  • 51:03 - 51:09
    parameterization of the curve that had
    these coefficients A and B. But what
  • 51:09 - 51:15
    I didn't tell you is that to an elliptic
    curve you can actually attach what we call
  • 51:15 - 51:20
    an invariant in mathematics and for an
    elliptical curve, this is called a
  • 51:20 - 51:26
    j-invariant and it's a single integer
    which determines this elliptical curve
  • 51:26 - 51:30
    uniquely. So if I want to send an
    elliptical curve, I can simply send you
  • 51:30 - 51:35
    its j-invariant. And if you know the field
    of definition, you're going to be able to
  • 51:35 - 51:40
    somehow recompute it just from the single
    value. So it's actually quite a compact
  • 51:40 - 51:46
    representation which makes
    this also interesting. Yeah.
  • 51:46 - 51:49
    Herald: I guess this is all. Thank you.
  • 51:49 - 51:55
    applause
  • 51:55 - 51:59
    postroll music
  • 51:59 - 52:23
    subtitles created by c3subtitles.de
    in the year 2020. Join, and help us!
Title:
36C3 - (Post-Quantum) Isogeny Cryptography
Description:

more » « less
Video Language:
English
Duration:
52:23

English subtitles

Revisions