< Return to Video

The Diffie-Hellman protocol (19 min)

  • 0:00 - 0:04
    In this segment, we're gonna look at the
    Diffie-Hellman protocol, which is our
  • 0:04 - 0:08
    first practical key exchange mechanism. So
    let me remind you of the settings. Our
  • 0:08 - 0:12
    friends here, Alice and Bob, have never
    met and yet they wanna exchange a shared
  • 0:12 - 0:16
    secret key that they can then use to
    communicate securely with one another.
  • 0:16 - 0:20
    In this segment and the next, we're only
    gonna be looking at eavesdropping
  • 0:20 - 0:24
    security. In other words, we only care
    about eavesdroppers. The attackers are
  • 0:24 - 0:28
    actually not allowed to tamper with data
    in the network. They're not allowed to
  • 0:28 - 0:32
    inject packets. They're not allowed to
    change packets in any way. All they do is
  • 0:32 - 0:36
    to just eavesdrop on the traffic. And at
    the end of the protocol, the key exchange
  • 0:36 - 0:41
    protocol our friends Alice and Bob should
    have a shared secret key but the attacker
  • 0:41 - 0:45
    namely the eavesdropper has no idea what
    that key's gonna be. In the previous
  • 0:45 - 0:49
    segment we looked at a key segment called
    Merkle puzzles. That's just using block
  • 0:49 - 0:54
    ciphers or hash functions. And I showed
    you that there that basically the attacker
  • 0:54 - 0:57
    has a quadratic gap compared to the
    participants. In other words if the
  • 0:57 - 1:02
    participants spent time proportional to N
    the attacker can break the protocol in
  • 1:02 - 1:06
    time proportional to N squared. And as a
    result that protocol is to insecure to be
  • 1:06 - 1:10
    considered practical. In this segment we
    are going to ask whether we can do the
  • 1:10 - 1:15
    same thing but now we'd like to achieve an
    exponential gap between the attacker's
  • 1:15 - 1:19
    work Ended up in the participant's work.
    In other words, Alice and Bob might do
  • 1:19 - 1:24
    work proportional to N, but to break the
    protocol the attacker is gonna have to do
  • 1:24 - 1:28
    work proportional to some exponential in
    N. So now there's an exponential gap
  • 1:28 - 1:33
    between the participants work and the
    attacker's work. So as I said in the
  • 1:33 - 1:38
    previous segment we can't achieve this
    exponential gap from blog ciphers like AES
  • 1:38 - 1:43
    or SHA-256. We have to use hard problems
    that have more structure than just those
  • 1:43 - 1:49
    symmetric primitives. And so instead what
    we're gonna do is use a little bit of algebra.
  • 1:49 - 1:52
    In this segment I'm gonna
    describe the Diffie-Hellman protocol very
  • 1:52 - 1:56
    concretely and somewhat informally. When
    we're gonna come back to Diffie-Hellman next week
  • 1:56 - 2:00
    and we're gonna describe the protocol more
    abstractly and we're gonna do a much more
  • 2:00 - 2:04
    rigorous security analysis of this
    protocol. Okay, so how does Diffie-Hellman
  • 2:04 - 2:08
    work? What we're gonna do is, first of
    all, we're gonna fix some large prime
  • 2:08 - 2:13
    which I'm gonna call p. Actually p I'll
    usually use to denote primes. And you
  • 2:13 - 2:17
    should be thinking of really gigantic
    primes. Like, primes that are made up of
  • 2:17 - 2:21
    600 digits are so. And just for those of
    you who like to think in binary, a 600
  • 2:21 - 2:25
    digit prime roughly corresponds to about
    2000 bits. So just writing down the prime
  • 2:25 - 2:30
    takes about two kilo bits of data. And
    then we're also gonna fix an integer g
  • 2:30 - 2:35
    that happens to live in the range one to
    p. So these values p and g are parameters
  • 2:35 - 2:40
    of the Diffie-Hellman protocol. They are
    chosen once and they're fixed forever. Now
  • 2:40 - 2:45
    the protocol works as follow. So here's
    our friends Alice and Bob. So what Alice's
  • 2:45 - 2:50
    going to do is she's gonna starts off by
    choosing some random number a in the range 1 to p-1
  • 2:50 - 2:55
    And then she is gonna compute
    the number g to the power of a modulo p.
  • 2:55 - 3:00
    Okay, so she computes this exponention,
    and reduces the result modular the prime p.
  • 3:00 - 3:04
    And we're actually going to see how to
    compute this efficiently the next module,
  • 3:04 - 3:08
    so for now just believe me that this
    computation can be done efficiently.
  • 3:08 - 3:13
    Now, let's call capital A the result of this
    value. So, what Alice will do is she will
  • 3:13 - 3:18
    send capital A over to Bob. Now Bob is
    going to do the same thing. He's going to
  • 3:18 - 3:22
    choose a random number b in the range 1
    to p-1. He's going to compute g to
  • 3:22 - 3:26
    the b module of p and let's call this
    number B and he's going to send this
  • 3:26 - 3:31
    number B over to Alice. So Alice sends A
    to Bob. Bob sends B. To Alice. And now
  • 3:31 - 3:37
    they claim that they can generate a shared
    secret key. So what's a shared secret key?
  • 3:37 - 3:42
    Well, it's defined as. Let's call it
    K_AB. And it's basically defined as the
  • 3:42 - 3:47
    value g to the power of a times b. Now the
    amazing observation of Diffie-Hellman had
  • 3:47 - 3:53
    back in 1976 is that in fact both parties
    can compute this value g to the ab.
  • 3:53 - 3:59
    So let's see, Alice can compute this value
    because she can take her value B that she
  • 3:59 - 4:04
    received from Bob. She can take this value
    B, raise it to the power of a and, let's
  • 4:04 - 4:09
    see, what she'll get is g to the b to the
    power of b. And by the rules of
  • 4:09 - 4:15
    exponentiation, g to the power of b to the
    power of a is equal to g to the ab. Bob
  • 4:15 - 4:20
    turns out, can do something similar, so
    his goal is to compute g to the a to the b,
  • 4:20 - 4:25
    which again, is g to the ab, so both
    Alice and Bob will have computed K_AB, and
  • 4:25 - 4:33
    let me ask you, how does Bob actually
    compute this quantity g to the ab?
  • 4:33 - 4:38
    Well so all he does is he takes the value A that
    he received from Alice and he raises it to
  • 4:38 - 4:43
    his own secret b and that gives him the
    shared secret g to the ab. So you can see
  • 4:43 - 4:48
    now that both parties even though they
    seemingly computed different values. In
  • 4:48 - 4:53
    fact they both end up with the same value
    namely g ab module p. I should mention by
  • 4:53 - 4:58
    the way that Martie Hellman and Wig
    Diffiie came up with this protocol back in
  • 4:58 - 5:02
    1976. Martie Hellman was a professor here
    at Stanford and Wig Diffie was his
  • 5:02 - 5:06
    graduate student. They came up with this
    protocol and this protocol really changed
  • 5:06 - 5:11
    the world. In that it introduced this new
    age in cryptography. Where now it's not just
  • 5:11 - 5:15
    about developing block ciphers but it's
    actually about designing algebraic
  • 5:15 - 5:19
    protocols that have properties like the
    one we see here. So you notice that what
  • 5:19 - 5:24
    makes this protocol works is basically
    properties of exponentiation. Namely that,
  • 5:25 - 5:29
    g to the b to the power of a is the same
    as g to the a to the power of b, okay?
  • 5:29 - 5:34
    These are just properties of
    exponentiations. Now when I describe a
  • 5:34 - 5:38
    protocol like the one I just showed you.
    The real question that should be in your
  • 5:38 - 5:42
    mind is not why the protocol works. In
    other words, it's very easy to verify
  • 5:42 - 5:46
    that, in fact, both Alice and Bob end up
    with the same secret key. The bigger
  • 5:46 - 5:50
    question is why is this protocol secure?
    In other words, why is it that an
  • 5:50 - 5:54
    eavesdropper cannot figure out the same
    shared key due to the AB that both Alice
  • 5:54 - 5:58
    and Bob computed by themselves? So let's
    analyze this a little bit, then, like I
  • 5:58 - 6:02
    said, we're gonna do a much more in-depth
    analysis next week. But, let's, for now,
  • 6:02 - 6:06
    just see intuitively why this protocol is
    gonna be secure. Well, what does the
  • 6:07 - 6:11
    eavesdropper see? Well, he sees the prime
    and the generator. These are just fixed
  • 6:11 - 6:16
    forever and everybody knows who they are.
    He also sees the value that Alice sent to
  • 6:16 - 6:21
    Bob, namely this capital A. And he sees
    the value that Bob sent to Alice, namely
  • 6:21 - 6:25
    this capital B. And the question is, can
    the, can the eavesdropper compute g to the
  • 6:25 - 6:30
    ab just given these four values? So more
    generally, what we can do is we can define
  • 6:30 - 6:34
    this Diffie-Hellman function. So we'll say
    that the Diffie-Hellman function is defined
  • 6:34 - 6:39
    based on some value g. And the question is
    given g to the a, and g to the b. Can you
  • 6:39 - 6:45
    compute g to the ab? And what we're
    asking is how hard is it to compute this
  • 6:45 - 6:50
    function module over very large prime p.
    Remember p was something like 600 digits.
  • 6:50 - 6:54
    So the real question we need to answer is
    how hard is this, is this Diffie-Hellman
  • 6:54 - 6:59
    function? So let me show you what's known
    about this. So suppose the prime happens
  • 6:59 - 7:04
    to be n bits long. Okay, so in our case
    say n is 2,000 bits. It turns out the best
  • 7:04 - 7:09
    known algorithm for computing the
    Diffie–Hellman function. Is actually a
  • 7:09 - 7:13
    more general algorithm that computes the
    discrete log function, which we're gonna
  • 7:13 - 7:17
    talk about next week. But for now, let's
    just say that this algorithm computes a
  • 7:17 - 7:21
    Diffie-Hellman function. The algorithm is
    called a general number field sieve. I'm
  • 7:21 - 7:25
    not gonna describe how it works, although
    if you'd want to hear how it works, let me
  • 7:25 - 7:29
    know, and that could be one of the special
    topics that we cover at the end of the
  • 7:29 - 7:33
    course. But the interesting thing is that
    it's running time is exponential in
  • 7:33 - 7:37
    roughly the cube root of n. In other
    words, the running time is roughly e to
  • 7:37 - 7:41
    the power of o of cube root of n. So in
    fact the exact expression for the running
  • 7:41 - 7:45
    time, of this algorithm is much more
    complicated than this. I'm deliberately
  • 7:45 - 7:49
    simplifying it here just to kind of get
    the point across. The point that I want to
  • 7:49 - 7:53
    emphasize is that in fact, this is not
    quite an exponential time algorithm.
  • 7:53 - 7:57
    Exponential would be e to the power of n.
    This is sometimes called a sub-exponential
  • 7:57 - 8:01
    algorithm because the exponent is really
    just proportional to the cube root of n,
  • 8:01 - 8:06
    as opposed to linear n. What this says is
    that even though this problem is quite
  • 8:06 - 8:10
    difficult, it's not really an exponential
    time problem. The running time in the
  • 8:10 - 8:15
    exponent is gonna be just proportional to
    the cube root of n. So let's look at some
  • 8:15 - 8:20
    examples. Suppose I happen to be looking
    at a modulus that happens to be about a
  • 8:20 - 8:24
    thousand bits long. What this algorithm
    says is that we can solve the
  • 8:24 - 8:28
    Diffie-Hellman problem in time that's
    approximately e to the qube root of 1,024.
  • 8:28 - 8:33
    Now this is not really correct, in fact
    there are more constants in the exponent.
  • 8:33 - 8:38
    But again, just to get, the point across,
    we can say that the running time would be
  • 8:38 - 8:43
    roughly e to the qube root of 1,024; which
    is actually very small, roughly e to the 10.
  • 8:43 - 8:47
    So the simple example shows you that
    if you have a sub-exponential algorithm,
  • 8:47 - 8:52
    you see that even if the problem is quite
    large, like 1,000 bits. Because of the
  • 8:52 - 8:56
    cube root effect the exponent actually is not
    that big overall. Now to be honest I'm
  • 8:56 - 9:01
    actually lying here. General number field
    sieve actually have many other
  • 9:01 - 9:05
    constants in the exponents so in fact this
    is not going to be ten at all. It's
  • 9:05 - 9:10
    actually going to be something like 80.
    Because of various constants in the
  • 9:10 - 9:15
    exponents. But nevertheless but you see
    the problem is much harder than say 2 to
  • 9:15 - 9:19
    the 1000. Even though describing it takes
    1,000 bits, solving it does not take time
  • 9:19 - 9:24
    to the 1,000. So here I roll down the
    table that kind of shows you the rough
  • 9:24 - 9:27
    difficulty of breaking down the
    Diffie-Hellman protocol compared to the
  • 9:27 - 9:32
    difficulty of breaking down a cipher with
    a appropriate number of bits. For example,
  • 9:32 - 9:36
    if your cipher has 80 bit keys. That would
    be roughly comparable to using 1,000 bit
  • 9:36 - 9:41
    modules. In other words breaking a cipher
    with 80 bit keys takes time roughly 2 to the 80
  • 9:41 - 9:45
    which means that
    breaking if you have Diffie-Hellman function with a 1,000
  • 9:45 - 9:48
    bit module will take time 2 to the 80.
  • 9:48 - 9:54
    If your cipher uses 128 bit keys like AES, you should be
    really using a 3,000 bit modulus,
  • 9:54 - 9:59
    even though nobody really does this. In reality
    people would use 2,000 bit modulus. And
  • 9:59 - 10:03
    then if your key is very large, like if
    we're using a 256 bit AES key, then in
  • 10:03 - 10:08
    fact your modulus needs to be very, very
    large. Again, you, you can really see the
  • 10:08 - 10:12
    cube root effect here. We doubled the size
    of our key and because of the cube root
  • 10:12 - 10:17
    effect, what that means is we have to
    increase the size of, of our modulus by a
  • 10:17 - 10:21
    factor of two cubed, namely a factor of
    eight, which is where this 15,000 comes from.
  • 10:21 - 10:26
    from. And again I should mention there's
    not exactly a factor of eight because of
  • 10:26 - 10:30
    the extra constants in the exponent. So
    this is a nice table that shows you that
  • 10:30 - 10:34
    if you're gonna be using Diffie-Hellman to
    exchange, a session key. And that session
  • 10:34 - 10:39
    key is gonna be used for a block cipher
    with a certain key size, this table shows
  • 10:39 - 10:43
    you what modular size you need to use so
    that the security of the key exchange
  • 10:43 - 10:47
    protocol is comparable to the security of
    the block cipher you're gonna be using after.
  • 10:47 - 10:51
    Now this last row should
    really be disturbing to you. I should tell
  • 10:51 - 10:55
    you that working with such a large modulus
    is very problematic. This is actually
  • 10:55 - 10:59
    gonna be quite slow, and so the question
    is whether there is anything better that
  • 10:59 - 11:04
    we can do? And it turns out there is. In
    fact the way I describe the Diffie-Hellman
  • 11:04 - 11:09
    function is I describe it at the way
    Diffie and Hellman described it in 1976
  • 11:09 - 11:14
    using arithmetic module of primes. The
    problem with arithmetic modular primes is
  • 11:14 - 11:18
    that the Diffie-Hellman function is hard
    to compute, but it's not as hard as you'd
  • 11:18 - 11:22
    like. There's this cube root effect that
    makes it a little easier than what you'd
  • 11:22 - 11:26
    really like. And so the question is can we
    run the Diffie-Hellman protocol in other
  • 11:26 - 11:30
    settings. And it turns out the answer is
    yes. In fact we can literally translate
  • 11:30 - 11:34
    the Diffie-Hellman protocol from an
    arithmetic model of primes to a different
  • 11:34 - 11:39
    type of algebraic object and solving the
    Diffie-Hellman problem on that other
  • 11:39 - 11:43
    algebraic object is much, much harder.
    This other algebraic object is what's
  • 11:43 - 11:48
    called an elliptic curve. And as I said,
    computing the Diffie-Hellman function on
  • 11:48 - 11:53
    these elliptic curves is much harder than
    computing the Diffie-Hellman modulo primes.
  • 11:53 - 11:57
    Because the problem is so much harder, now
    we can use much smaller objects in
  • 11:57 - 12:02
    particular, you know we'd be using primes
    that are only a 160 bits or 80 bit keys or
  • 12:02 - 12:07
    only 512 bits for 256 bit keys. So because
    these module don't grow as
  • 12:07 - 12:11
    fast on elliptic curves, there's generally
    a slow transition away from using module
  • 12:11 - 12:15
    arithmetic, to using elliptic curves. I'm
    not going to describe elliptic curves
  • 12:15 - 12:19
    right now for you, but if this is
    something you'd like to learn about I can
  • 12:19 - 12:22
    do that at the very last week of the
    course, when we discuss more advanced
  • 12:22 - 12:27
    topics. But in fact when we come back to
    Diffie-Hellman next week I'm gonna describe it
  • 12:27 - 12:32
    more abstractly so that it really doesn't
    matter which algebraic structure you use
  • 12:32 - 12:37
    whether you use arithmetic model of primes
    or whether you use a elliptic curve we
  • 12:37 - 12:42
    can kinda abstract that whole issue away
    and then use the Diffie-Hellman concept a for
  • 12:42 - 12:46
    key exchange and for other things as well.
    And as I said we'll see that more
  • 12:46 - 12:50
    abstractly next week. So as usual I wanna
    show that this beautiful protocol that I
  • 12:50 - 12:54
    just showed you, the Diffie-Hellman protocol,
    is as is, is actually completely insecure
  • 12:54 - 12:58
    against an active attack. Namely, it's
    completely insecure against what's called
  • 12:58 - 13:02
    the man in the middle attack. We need to
    do something more than this protocol to
  • 13:02 - 13:06
    make is secure against man in the middle.
    And again we're gonna come back to Diffie
  • 13:06 - 13:10
    Hellman and make it secure against man in
    the middle next week. Okay. So let's see
  • 13:10 - 13:15
    why the protocol that I just showed you is
    insecure against active attacks. Well
  • 13:15 - 13:19
    suppose we have this man in the middle
    that's trying to eavesdrop on the
  • 13:19 - 13:23
    conversation between Alice and Bob. Well
    so, the protocol starts with Alice sending
  • 13:24 - 13:28
    g to the a over to Bob. Well, so the man
    in the middle is gonna intercept that and
  • 13:28 - 13:33
    he's gonna take the message that Alice
    sent and he's gonna replace it with his
  • 13:33 - 13:37
    own message. So it's called A', And
    let's write that is g to the a'.
  • 13:37 - 13:42
    Okay? So the man in the middle chooses his
    own a' and what he sends to Bob is
  • 13:42 - 13:47
    actually g to the a'. Now poor Bob
    doesn't know that the man in the middle
  • 13:47 - 13:51
    actually did anything to this traffic, all
    he sees is he got the value A'. As
  • 13:51 - 13:56
    far as he knows, that value came from
    Alice. So what is he gonna do in response?
  • 13:56 - 14:01
    Well, he's gonna send back his value B out
    which is g to the b back to Alice. Well
  • 14:01 - 14:05
    again the man in the middle is gonna
    intercept this B. He's gonna generate his
  • 14:05 - 14:10
    own b' and what he actually sends
    back to Alice is B' which is g to the b'.
  • 14:10 - 14:17
    Okay, now what happens? Well
    Alice is gonna compute her part of the
  • 14:17 - 14:23
    secret key and she's gonna get g to the ab'. Bob is gonna compute his part of
  • 14:23 - 14:28
    the secret key and he's gonna get g to the
    b times a'. Okay, these now you
  • 14:28 - 14:34
    notice these are not the same keys. In the
    man in the middle because he knows both A'
  • 14:34 - 14:39
    and B' he can compute both g to
    the ab' and g to ba'. Yeah it's
  • 14:39 - 14:44
    not difficult to see the man in the middle
    knows both values. And as a result, now he
  • 14:44 - 14:50
    can basically play this man in the middle
    and when Alice sends an encrypted message
  • 14:50 - 14:55
    to Bob the man in the middle can simply
    decrypt this message because he knows the
  • 14:55 - 15:00
    secret key that Alice encrypted message
    with, re-encrypt it using Bob's key. And
  • 15:00 - 15:04
    then send the message on over to Bob. And
    this way Alice sent the message, Bob
  • 15:04 - 15:08
    received the message. Bob thinks the
    message is secure. But in fact that
  • 15:08 - 15:13
    message went through the man in the
    middle. The man in the middle decrypted
  • 15:13 - 15:17
    it, re-encrypted it for Bob. At the same
    time he was able to completely read it,
  • 15:17 - 15:22
    modify it if he wants to, and so on. So,
    the protocol becomes completely insecure
  • 15:22 - 15:27
    give n a man in the middle. And so as I
    said we're gonna have to enhance the
  • 15:27 - 15:31
    protocol somehow to defend against men in
    the middle but it turns out that it's
  • 15:31 - 15:35
    actually not that difficult to enhance and
    prevent man in the middle attacks.
  • 15:35 - 15:39
    And we're gonna come back to that and see that
    in a week or two. The last think I want to
  • 15:39 - 15:44
    do is show you an interesting property of
    the Diffie-Hellman protocol. In fact, I
  • 15:44 - 15:48
    want to show you that this protocol can be
    viewed as a non-interactive protocol. So,
  • 15:48 - 15:52
    what do I mean by that? So Imagine we have
    a whole bunch of users, you know, millions
  • 15:52 - 15:56
    of users. Let's call them Alice, Bob,
    Charlie, David and so on and so forth.
  • 15:56 - 16:01
    Each one of them is going to choose a
    random, secret value, and then on their
  • 16:01 - 16:04
    Facebook profiles, they're gonna write
    down, their contribution to the
  • 16:04 - 16:08
    Diffie-Hellman protocol. Alright so
    everybody just writes down you know g to
  • 16:08 - 16:14
    the a, g to the b, g to the c and so on.
    Now the interesting thing about this is,
  • 16:14 - 16:19
    if say Alice and Charlie wanna set up a
    shared key they don't need to communicate
  • 16:19 - 16:24
    at all. Basically Alice would go and read
    Charlie's public profile. Charlie would go
  • 16:24 - 16:30
    and read Alice's public profile. And now,
    boom, they immediately have a secret key.
  • 16:30 - 16:35
    Namely, now, Alice knows, g to the c and
    a. Charlie knows g to the a and с. And as
  • 16:35 - 16:40
    a result, both of them can compute п to
    the ac. So, in some sense, once they've
  • 16:40 - 16:45
    posted their contributions to the
    Diffie-Hellman protocol to their public
  • 16:45 - 16:50
    profiles, they don't need to communicate
    with each other at all to set up a shared key.
  • 16:50 - 16:54
    They immediately have a shared key
    and now they can start communicating
  • 16:54 - 16:58
    securely through Facebook or not with one
    another. And notice that this is true for
  • 16:58 - 17:02
    any Facebook user. So as soon as I read
    somebody's public profile, I immediately
  • 17:02 - 17:06
    have a shared key with them without ever
    communicating with them. This property is
  • 17:06 - 17:10
    sometimes called a non-interactive
    property of the Diffie-Hellman. So now, let
  • 17:10 - 17:15
    me show you an open problem. And this is
    an open problem that's been open for ages
  • 17:15 - 17:19
    and ages and ages. So it'd be really cool
    if one of you can actually solve it. The
  • 17:19 - 17:24
    question is, can we do this for more than
    two parties? In other words, say we have
  • 17:24 - 17:29
    four parties. All of them post their
    values to their Facebook profiles. And now
  • 17:29 - 17:33
    we'd like to make it that just by reading
    Facebook profiles, all of them can set up
  • 17:33 - 17:38
    a shared secret key. In other words, Alice
    is, what she'll, she'll do is she'll only
  • 17:38 - 17:42
    read the public profiles of, the three
    friends, Bob, Charlie and David. And
  • 17:42 - 17:48
    already she can compute a shared key with
    them. And similarly David is just gonna
  • 17:48 - 17:54
    read the public profile of Charlie. Bob
    and Alice. And already he has a shared key
  • 17:54 - 17:59
    with all four of them. Okay, so the
    question is whether we can kind of setup
  • 17:59 - 18:04
    non-interactively these, these shared keys
    for groups that are larger than just two
  • 18:04 - 18:08
    people. So as I said, for n equals two,
    this is just a Diffie-Hellman protocol. In
  • 18:08 - 18:13
    other words, if just two parties want to
    set up a shared key without communicating
  • 18:13 - 18:17
    with one another, that's just
    Diffie-Hellman. It turns out, for N equals
  • 18:17 - 18:21
    three, we also know how to do it, there's
    a known protocol, it's called protocol due
  • 18:21 - 18:26
    to Joux. It already uses very, very fancy
    mathematics, much more complicated
  • 18:26 - 18:30
    mathematics than what I just showed you.
    And for N equals four, or five, or
  • 18:30 - 18:34
    anything above this, above four, this
    problem is completely open. Nearly the
  • 18:34 - 18:39
    case where four people post something to
    the public profiles and then everybody
  • 18:39 - 18:43
    else reads the public profile and then
    they have a joint shared key, this is
  • 18:43 - 18:47
    something we don't know how to do even for
    four people. And this is a problem that's
  • 18:47 - 18:52
    been open for ages and ages, it's kind of
    a fun problem to think about and so see if
  • 18:52 - 18:56
    you can solve it, if you will, it's
    instant fame in the crypto world. Okay, so
  • 18:56 - 19:01
    I'll stop here, and we'll continue with
    another key exchange mechanism in the next segment.
Title:
The Diffie-Hellman protocol (19 min)
Video Language:
English

English subtitles

Revisions