Elliptic Curve Cryptography Overview

Поделиться
HTML-код
  • Опубликовано: 13 окт 2015
  • John Wagnon discusses the basics and benefits of Elliptic Curve Cryptography (ECC) in this episode of Lightboard Lessons.
    Check out this article on DevCentral that explains ECC encryption in more detail: community.f5.com/articles/rea...
    Corrections:
    02:24 As we all know, a prime number only has itself and 1 as factors. So, if you multiply two numbers together, the resultant number will at least have the two numbers you multiplied as factors…thus not making it prime. Technically speaking, the product of the two prime numbers in RSA is called a “semiprime” number because its only factors are 1, itself, and two prime numbers.
  • НаукаНаука

Комментарии • 494

  • @MamoonSyed
    @MamoonSyed 8 лет назад +621

    how is this guy so good at writing backwards...

    • @negmone
      @negmone 7 лет назад +23

      That's is an awesome observation !

    • @intelX1000
      @intelX1000 7 лет назад +238

      Vid is flipped, kek.

    • @jayantmishra6966
      @jayantmishra6966 7 лет назад +56

      Shirt button on left side

    • @miro-hristov
      @miro-hristov 7 лет назад +28

      Ring, watch and shirt pocket on right side, lol

    • @ustreadstone
      @ustreadstone 7 лет назад +18

      ...cause he's left handed.

  • @BirSozben
    @BirSozben Год назад +1

    found this while prepping for the interview. thank you for such simple and yet practical explanation!

  • @jony7779
    @jony7779 8 лет назад +313

    I never knew Matthew McConaughey was so good at math

    • @lrakvon18
      @lrakvon18 6 лет назад +8

      alright alright alright

    • @schalkdormehl3057
      @schalkdormehl3057 5 лет назад +6

      56 bits? Those are rooky bits, you need to get that bit count way up! 256 bits at least!

    • @blasttrash
      @blasttrash 5 лет назад

      well he was an engineer or something in interstellar

    • @devashishbahri3353
      @devashishbahri3353 4 года назад

      Looks more like Chris Martin

    • @dankilar8364
      @dankilar8364 4 года назад

      LMAO!!!

  • @bryanmccaffrey1
    @bryanmccaffrey1 7 лет назад +9

    Love how you have to plug the BIG-IP thing at the end (someone has to pay for the Light Board. Well done, sir. You are a great presenter. One of the best I've come across.

    • @devcentral
      @devcentral  7 лет назад

      glad you enjoyed the video!

  • @bladi496
    @bladi496 Год назад +15

    this is by far the best video i have come across. Simple, explained in layman's terms to beginners and under 15 minutes. rate this 10 out of 10

  • @rettich187
    @rettich187 8 лет назад +277

    2:20 wrong; the product of two prime numbers is always non-prime - because it has the two prime numbers as factors.

    • @devcentral
      @devcentral  8 лет назад +157

      great observation! I put some clarification info on this in another comment section from another user below. Here's the info:
      During my quick explanation of RSA, I said that two prime numbers are multiplied together to produce a really big prime number (at 2:20 - 2:25 in the video). As we all know, a prime number only has itself and 1 as factors. So, if you multiply two numbers together, the resultant number will at least have the two numbers you multiplied as factors…thus not making it prime. Technically speaking, the product of the two prime numbers in RSA is called a “semiprime” number because its only factors are 1, itself, and two prime numbers. Here’s a more detailed explanation of semiprimes: en.wikipedia.org/wiki/Semiprime
      For each RSA number "n", there exist prime numbers “p” and “q” such that n = p × q
      The problem is to find these two primes, given only n. The salient point for RSA is that “n” will always be semiprime.
      All that said, I should have said “a really big semiprime number” in the video, but I didn’t want to take up too much time discussing RSA since this video is targeted for ECC.
      Thanks again for the great catch on this!

    • @jobsquotes
      @jobsquotes 6 лет назад +63

      EI Radon : Nice observation however please be humble and polite while pointing out the mistake.

    • @scottbuszard
      @scottbuszard 6 лет назад +42

      I think he was direct and to the point. Nothing too bad about that. Rather than saying "wrong", maybe saying 'Great work on the video, however I've noticed a minor mistake."

    • @slavavassiliev3531
      @slavavassiliev3531 6 лет назад +1

      If you are in a prime space the product of to prime numbers is still a prime number

    • @tatoman2
      @tatoman2 6 лет назад

      Thanks

  • @kaushikdr
    @kaushikdr 3 года назад +16

    Protip: doing G + G is the equivalent of finding the point tangent to the curve at G! And since we already have added "two" points (the curve doesn't care if the points are different), the curve will only intersect at one other point!

  • @roshanbaliga997
    @roshanbaliga997 2 года назад +37

    Good introduction to ECC. In you intro to RSA you mention taking random prime numbers and multiplying them to get a really big prime number. The result is a really big composite number(not prime) that is hard to factorize.

    • @AG-ig8uf
      @AG-ig8uf Год назад +5

      I think he meant to say semi-prime number, ie a number which only factors are two prime numbers. It is easily provable that by multiplying two prime numbers you get semi-prime number.

  • @gauthamj.m4758
    @gauthamj.m4758 6 месяцев назад

    The best explanation that I got on Elliptic Curve Cryptography , great work John

  • @leonjones7120
    @leonjones7120 4 года назад +7

    I have read about this before, but this is clearly explained! Well done.

  • @johngarnham861
    @johngarnham861 3 года назад +4

    This is a great easy-to-understand intro to ECC!

  • @SteveHillier
    @SteveHillier 8 лет назад +3

    Fantastic work John!

  • @antelope6826
    @antelope6826 Год назад +1

    This was a fantastic intro to ECC, thanks for the clear explanation!

    • @devcentral
      @devcentral  Год назад

      Glad you liked it! We appreciate the comment!

  • @download333
    @download333 Год назад

    It took me a while to realize and appreciate that this dude is writing backwards so we can read it forwards. Also, love your eyeballs. They are grade A, top-shelf eyeballs.

  • @grishnank1
    @grishnank1 3 года назад +3

    I could not get this concept at all until I watched you're video. Thank you very much.

  • @farnazkhoshnam3748
    @farnazkhoshnam3748 3 года назад

    is there any relation between discrete logarithm and integer factorization?

  • @ketas
    @ketas 4 года назад

    i have problems understanding from the point where he draws the curve... i wonder if there are better resources on ecc?

  • @CurtisV
    @CurtisV 4 года назад +9

    This video broke it down so well!! Thank you!!

  • @nancode
    @nancode 4 года назад +5

    This video is, by far, the best video on eliptic curve criptography availiable... wish you could do more videos about this subject, congratulations for the amazing work!!!

  • @mopitz199
    @mopitz199 6 лет назад +8

    Great video. I have a question, if you have the power potencial to multiply your private key and the "generator point" to get your public key, can you get the private key if you have the public key and the "generator point"? I mean iterating over and over and saving every result until match with your public key (that can be the same process that you used to get it at the first time).
    Thanks

    • @devcentral
      @devcentral  6 лет назад +6

      great question! this is at the heart of the underlying foundation that it is easy to compute these values going one way, but extremely difficult to compute them going the other. that is, if you have the value of the private key and the generator point, you can easily determine the value of the public key. but, if you only have the public key and the generator point, then it's very difficult to figure out the private key. the fundamental mathematics behind all of this is based on the "Elliptic Curve Discrete Logarithm Problem". at first glance, it sounds fairly trivial to start with a generator point and then keep calculating until you get to the public key value...then you would have your private key value. but it's actually very difficult in real practice to do that.
      here's an article I wrote that explains all of this in more detail: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832
      I hope this helps!

    • @javabeanz8549
      @javabeanz8549 2 года назад

      link goes to a page not found, and link in description seems to go to a black page. Are there new links?

  • @t_4ms
    @t_4ms 8 лет назад

    Hello sir
    How can I encoded the message to a point in ECC over the prime field?

    • @devcentral
      @devcentral  8 лет назад

      Here's an article I wrote that goes into more detail about encrypting messages using ECC: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

  • @isabellaswan4590
    @isabellaswan4590 7 лет назад +7

    I almost got an idea wats was it all about...thank you John Wagnon

  • @Openwrt2023
    @Openwrt2023 2 года назад +7

    Excellent presentation. The Elliptic Curve in the video is drawn based on y^2=x^3-3x+5. The actual elliptic curve used in the algorithm will have much bigger prime numbers and will look much different. The same logic applies to either case, so it doesn't quite matter. Just for your information.

    • @saloudofarid9620
      @saloudofarid9620 2 года назад

      thank you

    • @Mattador666
      @Mattador666 2 года назад

      Thanks for this! I was contemplating asking if the initial elliptic curve was a static one that remained the same.

  • @danielgospodinow
    @danielgospodinow 4 года назад +3

    A very clear and interesting explanation! Thanks!

  • @CHahn-zt3md
    @CHahn-zt3md 8 лет назад

    Thanks for your wonderful presentation.

  • @curtstockman
    @curtstockman 4 года назад +1

    That was one very clear explanation of ECC. How can there be any thumbs down AT ALL?

  • @MrRyzale
    @MrRyzale Год назад

    I don't understand when it stops iteration?

  • @infamousstreaming2899
    @infamousstreaming2899 3 месяца назад +1

    It baffles me how people have the knowledge enough to 1) Come up with such ideas and most importantly 2) To code such applications that can do such complex things. The cryptographic world is so unique in so many ways, as us people many times take it for granted to ease of use in such applications since we can freely use them, but lord knows the backend behind all that computation

  • @brianmorgan3266
    @brianmorgan3266 8 лет назад +14

    I have always operated under the knowledge that multiplying two prime numbers will result in a number that is certainly not prime, as it will have factors 1, itself, and the two numbers used to generate it?

    • @devcentral
      @devcentral  8 лет назад +16

      +Brian Morgan Great point and great catch! During my quick explanation of RSA, I said that two prime numbers are multiplied together to produce a really big prime number (at 2:20 - 2:25 in the video). As we all know, a prime number only has itself and 1 as factors. So, if you multiply two numbers together, the resultant number will at least have the two numbers you multiplied as factors…thus not making it prime. Technically speaking, the product of the two prime numbers in RSA is called a “semiprime” number because its only factors are 1, itself, and two prime numbers. Here’s a more detailed explanation of semiprimes: en.wikipedia.org/wiki/Semiprime
      For each RSA number "n", there exist prime numbers “p” and “q” such that n = p × q
      The problem is to find these two primes, given only n. The salient point for RSA is that “n” will always be semiprime.
      All that said, I should have said “a really big semiprime number” in the video, but I didn’t want to take up too much time discussing RSA since this video is targeted for ECC.
      Thanks again for the great catch on this!

    • @brianmorgan3266
      @brianmorgan3266 8 лет назад +5

      +F5 DevCentral Thanks for the response, sir. That helps clear it up. I just wasn't certain if I had missed something in my formative years, or had been lied to all that time :) You broke down a complex topic very well and made it digestible for those interesting in such processes. Thanks!

  • @cody3509
    @cody3509 4 года назад +5

    Thanks, brother, you're a huge help in my Crypto class!

  • @daniel_tenner
    @daniel_tenner 2 года назад +3

    Fantastic, clear and well made video. Got here while reading “Mastering Ethereum” and wanting a more thorough understanding of ECC maths. Got what I wanted!

  • @nehamadavi7589
    @nehamadavi7589 7 лет назад

    great explanantion sir,for such complicated topic ..i hv exam tomorow and this gonna help me loooottttttt thnxaaaa tunssss.god bless u

  • @NistenTahiraj
    @NistenTahiraj 8 лет назад +11

    Amazingly efficient explanation. How does this channel have so few viewers?

    • @devcentral
      @devcentral  8 лет назад +3

      thanks! feel free to help spread the word about our channel and videos!

  • @xoreign
    @xoreign 2 года назад +3

    Fun fact, but my integral Calculus teacher in university was one of the creators of this :) Neil Koblitz. Very smart dude.

    • @devcentral
      @devcentral  2 года назад

      Wow, very cool! Thanks for the comment!

  • @kaushikdr
    @kaushikdr 3 года назад +17

    Fantastic work on the video! A lot of smart people forget that it is hard to learn things when they make it super complicated; I hope that I can be as good as you one day :D. I thought I would summarize the video for myself (and others if they might also benefit from it?) and ask a few questions.
    From what I understand, elliptic curve cryptography uses fewer bits to create as complex of a trapdoor function as RSA (which is basically trying to factor a really large semi-prime number).
    In elliptic curve cryptography, you start with two points on this elliptic curve (looks like an octopus and is symmetric about y-axis) and you find the third point you find when you draw a line between those to find another point on the graph and then find the point symmetric to that about the x-axis.
    E.g. If the initial two points were A and B, the third point would be notated as A + B = C. Then you do A + C to find D. And then you do A * D = E … and so on until you find some point Z on this elliptic curve.
    The number of these additions you have to do to acquire Z is the “private key”, which is why this computation is often written as K = k * G, where k is the private key, K is the point we are trying to reach, and G is the generator point (the point we start at and is constant for a certain graph).
    Some questions I have are:

    1) From what I understand, exponentiation by squaring makes this logarithmically easier and allows one to verify this quickly - but how does one square these “dot products”? These are not just vectors going through some kind of constant transformation when you do A * B (at least from what I understood).
    I have now found that addition is commutative in elliptic curves! So doing 4 * G can be simplified as (G + G) + (G + G); or basically that you can break down a multiplication in about log_2(k) steps.
    2. How do you encode a point on a graph as one number? Would you just encode the y values? I am not sure that it would be super helpful towards finding the squares of two numbers though.
    I found out that that the first half of the bits are the x coordinates and the second half are the y coordinates.
    3. What is the reason behind the reduction in bits of elliptic curve cryptography?
    Still not sure about this!
    4. What exactly happens when a point goes over the maximum? You find how much it is above the maximum, and make it that much more than the x minimum (how do you decide if the new value is positive or negative)? What happens if the new x value is also more than the maximum? Do you just keep on moving the value back until the value is below the maximum?

    • @ammyvl1
      @ammyvl1 2 года назад +1

      First off: All of this is just math. Without a proper degree in math it'll be quite difficult to understand. They don't "make it hard", they use existing theorems that may not be simple to a layman to solve problems.
      Second: It's not about having a "complicated" trapdoor function, it's about having a secure one. RSA is very simple to implement and understand with some basic number theory, however it's also very secure. Something else that you could devise might be extremely complicated, but not too secure when it comes down to it. Security and complexity are different.
      Third: the octopus looking elliptic curves are only a certain family of elliptic curves. there are some where it is broken into two parts.
      To answer question three for you: It's a reduction in size, because ECC has more uncertainty than RSA with the same sized keys - that is to say, it's harder to brute force ECC than RSA.
      Edit: My answer was slightly unclear, so let me rephrase it: There are "efficient" methods to brute force RSA (even disregarding Shor's metaphorical elephant in the room). There are methods to brute force RSA that are faster than just guessing and checking everything, which actually scale better than encrypting does. ECC on the other hand has no algorithm as a shortcut - the only method to brute force it is the naive method which scales at the exact same rate that the key size does.

  • @giovanarossipasquareli63
    @giovanarossipasquareli63 2 месяца назад

    I couldn't find the article. What is the name? HELP

  • @FalconFetus8
    @FalconFetus8 4 года назад

    But how do you actually encrypt something with that private key?

  • @wowik91
    @wowik91 2 года назад +1

    i'm very impressed about your skills writing backward

    • @devcentral
      @devcentral  2 года назад +1

      Thanks for the comment and here's how we produce these: ruclips.net/video/U7E_L4wCPTc/видео.html

  • @ReedoAce
    @ReedoAce 3 года назад +3

    And I thought ECC stood for ERP Central Component :). Thanks for the great presentation!

  • @FernandoLichtschein
    @FernandoLichtschein Год назад

    How do you measure the equivalence in length of keys of both algorithms?

    • @somedud1140
      @somedud1140 4 месяца назад

      You don't! It's based on difficulty of solving the problem with known algorithms. The question is, how long the key should be, if you want same level of security as n-bit symmetric cipher(for example AES).

  • @ethereumlife1458
    @ethereumlife1458 6 лет назад +3

    Thank you for this wonderful video !

  • @gitfted_by_AI
    @gitfted_by_AI 6 лет назад +2

    I'm sorry i don't understand how can u deal with values which are higher than the max value ?
    Thanks

    • @devcentral
      @devcentral  6 лет назад +1

      Hi Bot 505...great question! The way this works is that, if a number goes beyond the max value, then it essentially "wraps around" to the beginning and continues from there. So, in a very simple example, if you were counting to 12 and the "max value" is 10, then you would count to 10 and then wrap around to the beginning and finish the counting...leaving you at the value of 2. That's the idea behind how you can use values that extend beyond the max value. Hope this helps!

    • @gitfted_by_AI
      @gitfted_by_AI 6 лет назад +1

      Thanks you , i understand the idea.

  • @jimmylander2089
    @jimmylander2089 5 лет назад +6

    I’m an IT undergraduate and I’m currently figuring out quadratic curves and surfaces. I heard about elliptic curve cryptography from some espionage series and I’ve been really thrilled to learn about them ever since. Just putting it out there.

  • @modolief
    @modolief 5 лет назад +1

    Thanks for providing this really useful intuition on the algorithm.

  • @tenminutetokyo2643
    @tenminutetokyo2643 5 лет назад +2

    Above all, thanks for keeping the vid titles short

  • @rewtnode
    @rewtnode 5 лет назад +1

    And what exactly is then the “dot” operation algorithmically? A . B means find another point on the intersection of the line connecting A and B with the elliptic curve?

    • @devcentral
      @devcentral  5 лет назад +1

      Hi rewtnode...thanks for the question. For a further discussion on all the functions related to this, I wrote an article that goes into more detail. Here's the article...I think you'll find what you are looking for there: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

  • @adityaband6919
    @adityaband6919 3 года назад

    how this dot function works ?

  • @tianhepeng9162
    @tianhepeng9162 5 лет назад +1

    Very good introduction. I do get the basic idea of it now.

    • @devcentral
      @devcentral  5 лет назад

      i'm glad it was helpful for you!

  • @stianmaurstad
    @stianmaurstad 5 лет назад +1

    Thank you! Beautifully explained.

  • @user-pi6mx
    @user-pi6mx 6 лет назад +2

    I'm impressed by writing the mirror images of text on the screen but this doesn't actually explain how anything is calculated. The dots are an operator which represents the number of intersections? How does the straight line re-intersect with the curve after it wraps around?

    • @devcentral
      @devcentral  6 лет назад +1

      great question...thanks for asking! I wrote up an article that goes into much more detail on how the "dot" or point operations work. Here's the article: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832
      Hope this helps!

  • @lherfel
    @lherfel Год назад +1

    this recursion is glossed over often, thanks

  • @riccardoandreetta9520
    @riccardoandreetta9520 7 лет назад

    very complex topic ... how do you encryp or decrypt messages then ? even though you only SIGN messages, most of the times ?

    • @devcentral
      @devcentral  7 лет назад

      Hi Riccardo! I wrote an article that explains this in a little more detail: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832.
      This should help explain the encryption/decryption process for ECC.

  • @brandonferrick3916
    @brandonferrick3916 8 месяцев назад

    Are you writing all of the stuff on the screen backwards??

  • @metalbag8874
    @metalbag8874 4 года назад +1

    You have saved my math project. Thank you

  • @bilamasouda2522
    @bilamasouda2522 5 лет назад +3

    You can merge RSA and ECC to become RSA more effective?

    • @devcentral
      @devcentral  5 лет назад +2

      Great question! Many web servers do utilize both RSA and ECC. The RSA part is used for server authentication (make sure you know that the server you are accessing is actually the correct server) and then utilize ECC for key exchange (much faster than RSA). Both of these functions must take place (authentication and key exchange), so it's nice to use each one in the way that makes the most sense. Hope this helps!

  • @MaximumBan
    @MaximumBan 7 месяцев назад

    Thank you! You have satisficed my curiosity

  • @illicitsolitude7727
    @illicitsolitude7727 7 лет назад +4

    Great Video! Going to write a paper about ECC, this helped a lot.

  • @halvedbagel5827
    @halvedbagel5827 8 лет назад

    very clear explanation. thanks you sir.

  • @fesalenliky5207
    @fesalenliky5207 7 лет назад

    what does the dot mean

  • @egsweety
    @egsweety 4 года назад +1

    how did the sender created the encrypted message without knowing "n"?how many times did he run a through the function? the sender and the receiver must meet to share the value of n so this isn't PGP encryption

    • @devcentral
      @devcentral  4 года назад

      Here's an article I wrote that goes into more detail...I think you'll find more here: devcentral.f5.com/s/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

  • @JM-jg6xi
    @JM-jg6xi 4 года назад +1

    Thanks for your wonderful presentation

  • @ikbo
    @ikbo 2 года назад +1

    Fantastic overview! Thank you!

  • @ThelmaBalbuena
    @ThelmaBalbuena 2 месяца назад

    this is extremely well explained, thanks

  • @liamw4623
    @liamw4623 6 лет назад

    This video is really interesting! Keep up the good work.

    • @devcentral
      @devcentral  6 лет назад

      cool...glad you liked it!!

  • @bacon7149
    @bacon7149 5 месяцев назад

    Well and simply explained, good job!

  • @Oscar-zp6io
    @Oscar-zp6io 5 лет назад

    Do you write backwards?

  • @ne12bot94
    @ne12bot94 5 лет назад

    What kind math do need to learn cryptographic?just wondering

    • @rookswoodsrok3614
      @rookswoodsrok3614 3 года назад

      I took Calculus 1+2 couple years ago and I’m not having much trouble in my cryptography class in terms of math. Real challenge is getting the logic behind it.

  • @reenajain9066
    @reenajain9066 5 лет назад

    Can you please provide c#code to encrypt / decrypt string using ECC

    • @devcentral
      @devcentral  5 лет назад

      Found this on codeproject: www.codeproject.com/Tips/1071190/Encryption-and-Decryption-of-Data-using-Elliptic-C, hope that helps.

  • @kenbobcorn
    @kenbobcorn 2 года назад +3

    Did he really just say if you multiple two big primes together you get a really big prime number? By definition that doesn't even make sense, the number n is the product of two prime numbers, p and q, but isn't prime itself.

    • @devcentral
      @devcentral  2 года назад +2

      Great point and great catch! During my quick explanation of RSA, I said that two prime numbers are multiplied together to produce a really big prime number (at 2:20 - 2:25 in the video). As we all know, a prime number only has itself and 1 as factors. So, if you multiply two numbers together, the resultant number will at least have the two numbers you multiplied as factors…thus not making it prime. Technically speaking, the product of the two prime numbers in RSA is called a “semiprime” number because its only factors are 1, itself, and two prime numbers. Here’s a more detailed explanation of semiprimes: en.wikipedia.org/wiki/Semiprime
      For each RSA number "n", there exist prime numbers “p” and “q” such that n = p × q
      The problem is to find these two primes, given only n. The salient point for RSA is that “n” will always be semiprime.
      All that said, I should have said “a really big semiprime number” in the video, but I didn’t want to take up too much time discussing RSA since this video is targeted for ECC.
      Thanks again for the great catch on this!

  • @_broski
    @_broski 2 года назад +2

    Great video! You explained this better than my uni prof XD

  • @davidhcefx
    @davidhcefx 4 года назад +1

    Thanks for the nice intuition!

  • @iSlamAndSciences
    @iSlamAndSciences 4 месяца назад

    very outstanding explanation sir

  • @ltrinhmuseum
    @ltrinhmuseum 6 лет назад +1

    Do you use RSA to lock down that n?

    • @devcentral
      @devcentral  6 лет назад

      hi Hung...great question! the value for "n" is secure based on the fundamental way that the Elliptic Curve Discrete Logarithm function operates. It seems trivial that you could track the value for "n" but it turns out to be very difficult. Here's an article that I wrote that goes into more detail on all of this: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832
      hope this helps...thanks!

  • @entropyfu
    @entropyfu 3 года назад +1

    Excellent overview.

  • @kye.7cf
    @kye.7cf 2 года назад +1

    Great explanation of how EC works, but how does someone actually use this to encrypt something, say like a message or a string? Would the receiving party need the same private key to decrypt?

    • @devcentral
      @devcentral  2 года назад +1

      Hi Karen...great question! Typically, Elliptic Curve is used as a means to share keys between client and server but then the client and server use a different type of encryption to then encrypt all the messages between the two of them. AES is a very common encryption type for communicating between client and server. But, in order to use AES, the client and server must share keys, and Elliptic Curve can do that. Here's an article I wrote that explains in more detail: devcentral.f5.com/s/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

  • @hhthoj
    @hhthoj 6 лет назад +1

    But if we keep gradually increasing the number of time of "dot" function and try every output as it goes, doesn't it mean we could eventually reach the right Z? My impression is the only thing Z depends on is just the number of "dot" function, while I'm aware that factoring a number into primes in RSA is hard since it's a combinatorial problem. Am I missing something?

    • @devcentral
      @devcentral  6 лет назад +1

      great question! it would seem like an easy task to start at the starting point and then keep track of how many times you conducted the operation and then when you hit the end point, you have the answer of how many times it took. while it appears trivial, it actually is hard to do that because of the modulo portion of these operations. if you recall the "max" portion of these operations, it sets a limit on the available space to operate, so if a value falls beyond the max number, then you wrap it around and continue from the beginning to find the answer to that specific operation. so if you were trying to find "N" and you kept track of the number of times you conducted the operation and then you found yourself landing on the number "Z" you would think that you now know the value for "N". but, it's entirely possible that the value for "Z" is hit once or twice (or more) during the "N" operations. So, let's say you hit "Z" after 3 operations, you would assume "N" is 3. but, it may be true that "Z" is also hit on operations 10, 20, and 30 (and maybe even more than that). So, it becomes hard to know which number for "N" you are dealing with. I know these examples seem trivial as well, but when you start dealing with large numbers, it gets very complex and difficult to solve. Here's an article I wrote that goes into more detail: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832
      Also, on the RSA thing, it's true that factoring large numbers is the foundation for the security of RSA. The reason most people like ECC is that you don't have to have as large a key size to achieve the same level of security. Here's a video I did on RSA that goes into a little more detail on how it works: ruclips.net/video/rVQpK6NcYIE/видео.html
      Hope all this helps...thanks!

    • @hhthoj
      @hhthoj 6 лет назад +1

      F5 DevCentral Thanks in advance for your answer. I just have 1 more question according to your reply, doesn't it mean the smaller the "max" value, the more time Z "cycle", hence the harder to break the encryption?

    • @devcentral
      @devcentral  6 лет назад

      great question! on one hand, it makes sense that the more times "Z" can cycle through, the harder it would be to find "n", but it turns out that the more space you have to work with (the larger the max size), the harder it is to compute everything and so the harder it is to break the encryption. obviously, this is a very complex subject and it's hard to break it down into simple terms, but you are asking great questions! i guess the easiest way to put it is...the larger the "max" size (meaning, the larger the key size), the harder it is to break; therefore, the stronger the encryption. i hope this helps!

  • @pappy4dolly
    @pappy4dolly 4 месяца назад

    Great video-At 2.24, you mentioned multiply 2 big prime numbers together and you get a
    larger prime number? I think you meant you get a large composite number.

  • @javierespinoza3782
    @javierespinoza3782 2 года назад +2

    Man these videos are so good, even my dumbass is able to understand these topics, thanks John!

    • @devcentral
      @devcentral  2 года назад

      He does make technology easy to understand. We appreciate the comment!!

  • @dracenmarx
    @dracenmarx 6 лет назад

    And what is the public key in ecc?

    • @devcentral
      @devcentral  6 лет назад

      Great question! Keep in mind that ECC can be used in conjunction with more than one type of public key cryptosystem, but it is generally used for key exchange purposes in conjunction with the Diffie Hellman key exchange protocol. In Diffie Hellman, the public key is the calculated point on the curve that is derived from their private key and a point "G" which is the generator point on the curve (their private key is a random number chosen by each of the client and server...not the same random number, but each one chooses their own random number). That public key (point on the curve) is calculated by each side and then sent to the other. Then, the other can use their own private key to calculate a shared key value that can be used for bulk encryption.

  • @MaxGillespie
    @MaxGillespie 5 лет назад +1

    This video was super helpful thanks so much

  • @zamba3612
    @zamba3612 8 лет назад +3

    that was a really, really good intro to this topic

  • @waynebrehaut7183
    @waynebrehaut7183 8 лет назад +1

    There are a few confusing remarks such as "dotting A with itself" and "dotting the curve with itself", neither of which appears to have any clear meaning. The latter was probably just a slip of the tongue in trying to finish up in a hurry, but the other is repeated a few times. If we start with the curve and point A how can we possibly know where dotting A with itself will place B? Don't we need two points to get started? Or is the dot operation given by some formula that wasn't specified? That wouldn't seem to make much sense either because then the whole path A -> Z is completely determined by just the curve and A.

    • @devcentral
      @devcentral  8 лет назад +1

      I wrote this article that goes into much more detail about how the math functions of ECC works: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832
      Hope you enjoy!

    • @waynebrehaut7183
      @waynebrehaut7183 8 лет назад

      Thanks, that cleared it up!

  • @EirinTunheim
    @EirinTunheim 4 года назад +1

    How does it mean to dot?

    • @devcentral
      @devcentral  4 года назад

      Hey Eirin...great question! Here's an article I wrote that goes into more detail...including the "dot" operation.
      devcentral.f5.com/s/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

  • @Value_Geek9447
    @Value_Geek9447 5 лет назад +1

    Man i love your videos,Thank you so much

  • @ivannovotny7511
    @ivannovotny7511 5 лет назад +2

    You're best one-way-function-teacher I have ever met. Finally I find out what the point and sense is.
    (I saw this super-interactive presentation technique but never discovered what do you use for the transparency and written-in-air effect. I know that somewhere in the RUclips is it descripted but I can'find it... Can you divulge it to me? :)

    • @devcentral
      @devcentral  5 лет назад +4

      here you go! devcentral.f5.com/articles/lightboard-lessons-behind-the-scenes

    • @ivannovotny7511
      @ivannovotny7511 5 лет назад +2

      Thanks! Nice gadget!

  • @4q-3q
    @4q-3q 2 года назад +1

    thank you so much, you explained it so well

    • @devcentral
      @devcentral  2 года назад +1

      Glad you liked it and we appreciate the comment!

  • @fuzzywzhe
    @fuzzywzhe Месяц назад

    What would be SUPER useful in my opinion is show that if G is the generator point demonstrate that 1G + 2G + 8G = 11G - becuase it's the commutative property that MUST be used to do multiplication, right? If it is, I think people will see why point multiplication is so easy, but point division is basically so difficult. In the example I gave, 11 would be the secret key, wouldn't it? You know the final point, but you don't know what the original number was for scalar multiplication. This was my difficulty in understanding this.

  • @sameera2797
    @sameera2797 3 года назад +1

    Great informative video!

  • @aavanti4187
    @aavanti4187 3 года назад +1

    Awesome video!

  • @anna.lewandowska.
    @anna.lewandowska. 7 лет назад +37

    just a technicality: eliptic curve can't be defined as a function, it's more of a formula. That's why it's called a curve, not a math function.

    • @devcentral
      @devcentral  7 лет назад +21

      Anna, thanks for the comment. Technically, you are correct because a math function is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output. So, in the case of the elliptic curve I drew in the video, it's true that, for a given value on the x-axis, there are multiple resulting y-axis values. So, from a technical definition of a function, this elliptic curve is not a function. That said, the concept of function can also be extended to an object that takes a combination of two (or more) argument values to a single result. When I used the term "function" in the video, I didn't take into account the very technical definition of the word. Rather, I used it in a more generic sense whereby it can be graphed on the x/y-axis. Thanks again for the clarification!

    • @83vbond
      @83vbond 3 года назад

      Yes, technically the curve he drew represents a mathematical "relation", not a proper "function" [as in a function one f(x) can result in only one value of y, not two or more]

  • @kalyanhr
    @kalyanhr 6 лет назад

    Very informative. Thank you.

  • @swapanjain892
    @swapanjain892 8 лет назад

    Nice Explanation!!

  • @Leech.Lattice
    @Leech.Lattice 6 лет назад +2

    am i the only one impressed by the way this guy is writing backward with such ease

    • @devcentral
      @devcentral  6 лет назад

      see how we do it here: ruclips.net/video/U7E_L4wCPTc/видео.html

  • @martinzen
    @martinzen 6 лет назад

    Excellent video, thanks a lot

  • @psnarayanan1334
    @psnarayanan1334 7 лет назад +2

    I never knew John Wagnon was so good at writing mirror image of letters

  • @osamaisathawadi
    @osamaisathawadi 6 лет назад

    thanks professor ... well done

  • @youuuuu10
    @youuuuu10 4 года назад +1

    You said something incorrect around 2.26. Multiplying two prime numbers, you don't get a prime number back, you said we do.

    • @devcentral
      @devcentral  4 года назад

      great observation! I put some clarification info on this in another comment section from another user below. Here's the info:
      During my quick explanation of RSA, I said that two prime numbers are multiplied together to produce a really big prime number (at 2:20 - 2:25 in the video). As we all know, a prime number only has itself and 1 as factors. So, if you multiply two numbers together, the resultant number will at least have the two numbers you multiplied as factors…thus not making it prime. Technically speaking, the product of the two prime numbers in RSA is called a “semiprime” number because its only factors are 1, itself, and two prime numbers. Here’s a more detailed explanation of semiprimes: en.wikipedia.org/wiki/Semiprime
      For each RSA number "n", there exist prime numbers “p” and “q” such that n = p × q
      The problem is to find these two primes, given only n. The salient point for RSA is that “n” will always be semiprime.
      All that said, I should have said “a really big semiprime number” in the video, but I didn’t want to take up too much time discussing RSA since this video is targeted for ECC.
      Thanks again for the great catch on this!

  • @karimmalhas9566
    @karimmalhas9566 8 лет назад

    What would the public key be in this case?

    • @devcentral
      @devcentral  8 лет назад

      +K Milhouse The short answer is that the public key is a randomly-chosen point on the curve, and the (x,y) coordinate values of that random point are used to derive the public key. It's interesting because all this encryption ultimately relies on the ability to properly choose a truly random point on the curve. I'm writing a paper that goes into more detail, and I'll post the link here when I'm done.

    • @TackleTheWorld
      @TackleTheWorld 8 лет назад

      +F5 DevCentral but in this example would A be the public key?

    • @devcentral
      @devcentral  8 лет назад

      Here's a link to the article I wrote that explains this in more detail: devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

  • @snakepat332
    @snakepat332 2 года назад +1

    Perfect. Thanks and great job.

  • @JacobRuizDesign
    @JacobRuizDesign 2 года назад +1

    This was really well explained