Secret Key Exchange (Diffie-Hellman) - Computerphile

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ธ.ค. 2017
  • How do we exchange a secret key in the clear? Spoiler: We don't - Dr Mike Pound shows us exactly what happens.
    Mathematics bit: • Diffie Hellman -the Ma...
    Computing Limit: • Computing Limit - Comp...
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computer Science at the University of Nottingham: bit.ly/nottscomputer
    Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

ความคิดเห็น • 597

  • @OscarAlsing
    @OscarAlsing 6 ปีที่แล้ว +1405

    Poor Alice and Bob. Always exposed. Always out there. Never left alone. ❤️

    • @kduhtdkzrt
      @kduhtdkzrt 6 ปีที่แล้ว +5

      To answer the question about the aggressive tone in advance, I'm drunk, not austistic. No harm meant.

    • @ragnkja
      @ragnkja 6 ปีที่แล้ว +39

      Eve is always stalking them...

    • @kduhtdkzrt
      @kduhtdkzrt 6 ปีที่แล้ว +1

      Damnit. You're right.

    • @malporveresto
      @malporveresto 6 ปีที่แล้ว +8

      #Pray4AliceAndBob

    • @TruthNerds
      @TruthNerds 5 ปีที่แล้ว +3

      Meh. What if Alice and Bob are just attention whores?

  • @denisr5250
    @denisr5250 4 ปีที่แล้ว +202

    The analogy with colors in this video is pure genius! Thank you guys, this was an amazing introduction to Diffie-Hellman!

    • @aerodynamico6427
      @aerodynamico6427 18 วันที่ผ่านมา

      Diffie-Hellman's original paper will drive you up the wall.

  • @goshisanniichi
    @goshisanniichi 6 ปีที่แล้ว +354

    Random squirting of fluids... exactly what I wanted to see this early in the morning...

    • @therealquade
      @therealquade 6 ปีที่แล้ว +80

      the random squirting of fluids, by alice and bob, out in public.

    • @troyjones9344
      @troyjones9344 6 ปีที่แล้ว +7

      ohhhhhh myyyyyyyy

    • @TheWolfboy180
      @TheWolfboy180 6 ปีที่แล้ว +10

      Thomas Carrel It’s ok, no one minds if it’s done by Dr. Mike Pound

    • @xxwaldi
      @xxwaldi 4 ปีที่แล้ว +1

      @@therealquade yeah they should rather put it in the privates

    • @mrsmith1097
      @mrsmith1097 3 ปีที่แล้ว

      Is that Super Sonico?

  • @ScottPlude
    @ScottPlude ปีที่แล้ว +31

    5 years later and this is still done a million times a minute out there. Very well explained, thank you!

    • @nishantdalvi9470
      @nishantdalvi9470 8 หลายเดือนก่อน

      Hey can you please clear my doubt, Actually I am kind of bit confused about the ordering of the events which takes place while TLS handshake does the digital certificate part which server shoots to the client to tell the client it's integrity and provide client it's public key happens before Diffie Helman key exchange or after it or eventually during the key exchange

    • @ScottPlude
      @ScottPlude 8 หลายเดือนก่อน

      @@nishantdalvi9470 why are you responding to me after 5 months? FIVE MONTHS!?!?!?!

  • @phoenix2464
    @phoenix2464 6 ปีที่แล้ว +541

    yessss him again

    • @SuviTuuliAllan
      @SuviTuuliAllan 6 ปีที่แล้ว +9

      maxwell,cpp sexy, right?

    • @kduhtdkzrt
      @kduhtdkzrt 6 ปีที่แล้ว +1

      komma cpp ?!

    • @treyquattro
      @treyquattro 6 ปีที่แล้ว +17

      in for a penny, in for (Dr.) Mike Pound

    • @Ozziepeck11
      @Ozziepeck11 6 ปีที่แล้ว

      wtf?!!

    • @ABurntMuffin
      @ABurntMuffin 6 ปีที่แล้ว

      Mike is the best. Except for maybe Parker.

  • @RobertMilesAI
    @RobertMilesAI 6 ปีที่แล้ว +53

    Nice! This is a subject I should have covered immediately after the Public Key Cryptography video, since that one lays out the problem of exchanging keys that Diffie-Hellman solves. Great to see such a clear explanation, I doubt I'd have gone to the effort to get coloured liquids!

    • @proloycodes
      @proloycodes 2 ปีที่แล้ว

      robert miles with only 4 likes and no replies?
      also, first!

    • @AyushMo
      @AyushMo ปีที่แล้ว +1

      Your public key crypto video was amazing! So was this one !

    • @Democracy_Manifest
      @Democracy_Manifest ปีที่แล้ว +1

      Is it a 'clear' explanation though, or a coloured one?

  • @CGoody564
    @CGoody564 6 ปีที่แล้ว +35

    Watched the defcon presentation from years ago given by the creator of the diffie-helman key exchange... It was absolutely fascinating. Dude is an innovator and pure genius. Seems like a nice guy as well

  • @frenchify7506
    @frenchify7506 6 ปีที่แล้ว +60

    I really like this guy. Been watching and rewatching his lessons for like 3 hours.

  • @dmatuzo
    @dmatuzo 6 ปีที่แล้ว +71

    How curious, PBS Infinite Series have been talking about encription in the last few days. Now I've got double the encryption bonanza! This has been a good week.

    • @smob0
      @smob0 6 ปีที่แล้ว +5

      I think the next video in the series will be about this key exchange.

    • @remuladgryta
      @remuladgryta 6 ปีที่แล้ว +2

      Further, one of the Royal Institution's recent videos used the same color mixing analogy to demonstrate key exchange.

    • @curtmack
      @curtmack 6 ปีที่แล้ว +7

      The color mixing analogy has been used to describe Diffie Hellman key exchange for a couple of decades at least.

    • @heyraylux
      @heyraylux 6 ปีที่แล้ว

      curious indeed.....

  • @CristiNeagu
    @CristiNeagu 6 ปีที่แล้ว +340

    1:04 First rule of cryptography: Unless your job is to create cryptographic algorithms, *never* implement your own cryptographic algorithms. You *will* screw it up.

    • @paterfamiliasgeminusiv4623
      @paterfamiliasgeminusiv4623 6 ปีที่แล้ว +23

      Nice advice because it is such a tempting prospect.

    • @baatar
      @baatar 5 ปีที่แล้ว +3

      Why would you even want to implement your own in the first place?

    • @dapperking
      @dapperking 5 ปีที่แล้ว +55

      @@baatar for funnnnnn

    • @paulzapodeanu9407
      @paulzapodeanu9407 4 ปีที่แล้ว +41

      In high school I thought I was being clever and did this. Took my deskmate about 1/2 an hour to crack it. Despite many evidence to the contrary, I still think I'm clever.

    • @sir_slimestone3797
      @sir_slimestone3797 4 ปีที่แล้ว

      @@paulzapodeanu9407 Let me guess, simple substitution

  • @ironman85000
    @ironman85000 6 ปีที่แล้ว +50

    I'm a simple man. I see a computerphile video with Mike Pound, I click like

  • @Laurabeck329
    @Laurabeck329 6 ปีที่แล้ว +187

    This demonstration was a classic Parker square.

  • @davidoconnor9167
    @davidoconnor9167 3 ปีที่แล้ว +1

    Excellent, clear explanation, and the colours really showed the process visually, thanks guys!

  • @dasjucktmichnicht6727
    @dasjucktmichnicht6727 ปีที่แล้ว

    i love the style of the whole channel! proofs nobody really needs power point or laborious anmations.

  • @ennis_w
    @ennis_w 7 หลายเดือนก่อน

    Everytime I feel confused by e2ee or key exchange, I will come back and see these videos. Really helps.

  • @kingbran923
    @kingbran923 ปีที่แล้ว +6

    Sir, you have sincerely helped me with my homework far more than my textbook ever could. Thank you so much for making these videos! :D

  • @nO_d3N1AL
    @nO_d3N1AL 6 ปีที่แล้ว +2

    What I like most about this channel is the ability of the presenters to explain things simply without mathematics. That is real teaching, not reciting formal proofs and equations

    • @WofWca
      @WofWca 5 ปีที่แล้ว +1

      Reciting formal proofs is also teaching, just for more advanced.

  • @wakomike29
    @wakomike29 4 ปีที่แล้ว

    This helps soooo much with my university studies! Dr. Pound, your the best.

  • @giorgibakradze8734
    @giorgibakradze8734 2 ปีที่แล้ว

    Thank you. This video really made the concept of Diffie-Hellman key exchange clear for me.

  • @wiltonlawrence882
    @wiltonlawrence882 5 ปีที่แล้ว

    This is the best explanation of key exchange i came across, thanks for uploading this

  • @benjohnson6251
    @benjohnson6251 6 ปีที่แล้ว +4

    Such a good video! Really clever concept, and the colour analogy is great! Cheers! :D

  • @chrisgsauce
    @chrisgsauce 2 ปีที่แล้ว

    I've never seen a clearer explanation of DH. Thanks guy!

  • @rezaghochkhani
    @rezaghochkhani 3 ปีที่แล้ว

    This is the greatest video I have watched on encryption, ever!
    Thanks a lot.

  • @999999GALLADE
    @999999GALLADE 6 ปีที่แล้ว

    I was actually looking for a good Diffie Hellman video a couple of days ago - how convenient!

  • @florianfanderl6674
    @florianfanderl6674 2 ปีที่แล้ว

    Recently discovered this channel and I love it ❤

  • @druidelf3
    @druidelf3 5 ปีที่แล้ว

    Amazing video. I could not have found a better teacher. Thank you so much.

  • @daviaquino3625
    @daviaquino3625 4 หลายเดือนก่อน

    I am writing Javascript decryption libraries for Apple Pay, Google Pay and Shopify and came across this video trying to learn more about the theory. Fantastic!

  • @akshaykkapoor
    @akshaykkapoor 5 ปีที่แล้ว

    Best explanation of DH with such a simple example ..great work ..keep it up

  • @lukas.oppermann
    @lukas.oppermann 2 ปีที่แล้ว

    Great explanation. Makes this concept really easy and straight forward to understand. 👍Thank you

  • @1992Razvy
    @1992Razvy 6 ปีที่แล้ว

    Great video and execution. Always I need to know how something in practice works to know if I really need it in my project and then I need to know the math behind to reproduce myself. I just got here again after watching the math video, beause I have to go back to solidify the knowledge.

  • @evarakovska3302
    @evarakovska3302 3 ปีที่แล้ว

    Thanks for whole serie of videos! I found something useful for my students and it is great!

  • @lumanaughty1025
    @lumanaughty1025 4 ปีที่แล้ว +6

    This might be the quarantine talking, but I’m starting to get a crush on this dude

    • @ruijiebai7531
      @ruijiebai7531 4 ปีที่แล้ว

      lol,i feel you ,i wish my lecturer could have his face then i wont skip any lecture

  • @Dashrendar2507
    @Dashrendar2507 5 ปีที่แล้ว +4

    Hey, thanks! I was still having issues with this but your visual representation really helped :)

  • @almiskea
    @almiskea 3 หลายเดือนก่อน

    Great explanation, I have been searching and no one has explained it as well
    Thank you

  • @RiGGeN83
    @RiGGeN83 6 ปีที่แล้ว

    i always wanted to know how was the very first aproach! now i know! thank you! great video, keep up with your excelent work!

  • @DouroFusion
    @DouroFusion 8 หลายเดือนก่อน

    amazing video, thanks Dr Mike Pound!

  • @grrr1351
    @grrr1351 6 ปีที่แล้ว +1

    I just love this guy! Keep him comin'.

  • @edmundderek
    @edmundderek 3 ปีที่แล้ว

    so glad that your video made it in the bibliographie of my PFE

  • @BackWithTheBoom
    @BackWithTheBoom 4 ปีที่แล้ว +1

    Mathematical squirtings, LOVE THIS GUY XD, i follow this guy almost for a couple years, such a MVP

  • @kennyethwong5214
    @kennyethwong5214 2 ปีที่แล้ว

    your presentation is so clear and understandable, thanks a lot

  • @dubonbiton1706
    @dubonbiton1706 4 ปีที่แล้ว +1

    What an incredible video! Fantastic way to understand how VPN key exchange works!! Thumbs up

  • @kigtod
    @kigtod 6 ปีที่แล้ว +6

    A very clear explanation as usual, but it would have been nice for Mike to briefly mention that a trio at GCHQ - Ellis, Cocks and Williamson - came up with the idea first.

  • @syeduzairahmed
    @syeduzairahmed ปีที่แล้ว

    Very simplified approach of teaching. Great video

  • @MakerTim
    @MakerTim 6 ปีที่แล้ว

    Thanx!
    I got NOW my college about EXACT this
    and your explanation is way more clear

  • @laurelineparis5407
    @laurelineparis5407 9 หลายเดือนก่อน

    Nice, fun and accessible way to explain it :)
    Really enjoyed the analogical explanation
    Thanks for sharing 🙌

  • @Deiwulf
    @Deiwulf 5 หลายเดือนก่อน

    Finally explanation of the main part that's missing like literally everywhere else. Good lord.

  • @user-qf6yt3id3w
    @user-qf6yt3id3w 6 ปีที่แล้ว +2

    One thing I liked about Hellman was that not only did he invent a clever way to distribute private keys he also invented a decent tasting mayonnaise with an enormous shelf life.
    It has been forecast that a jar or mayonnaise will still be more or less OK even after being stored at refrigerator temperatures for five thousand years.
    If the Ancient Egyptians had known about Hellman's mayonnaise recipe and had stored a few sealed jars in the pyramids we'd still be able to open them and make a decent tuna mayo sandwich.
    Probably long after the nuclear apocalypse we'll be eating Hellman's Mayonnaise probably with roach meat. Or maybe the roaches will win and eat Human Mayo sandwiches.

  • @fridric2916
    @fridric2916 3 ปีที่แล้ว +1

    Dr. Mike Pound is just a great great teacher

  • @Crypto_Wiz
    @Crypto_Wiz 11 หลายเดือนก่อน

    Brilliant. My professor could not even come close to such a great explanation.

  • @khawajaazfarasif4865
    @khawajaazfarasif4865 ปีที่แล้ว +3

    Beautifully explained.

  • @StuffOffYouStuff
    @StuffOffYouStuff 3 ปีที่แล้ว +8

    Fantasticly simple and easy to understand explanation, thank you for this.
    I'm studying for the Sec+, so basics atm. But i've been getting very confused by some of the terms around encryption. I'm going to ask a completely naive question. I understand to encrypt there are two components, 1) the algorithm, 2) the key. I've seen Diffie-Hellman described as a) a public key encryption algorithm, b) a key exchange protocol, c) a public-key encryption protocol.
    RSA is also described as an asymmetric public key encryption algorithm.
    Diffie-Hellman only generates keys, it does not provide an algorithm for use with those keys to then encrypt data
    RSA also generates keys, but can also encrypt/decrypt data
    So, my questions/assertions:
    1) Is there general misuse of the term "encryption algorithm" or just "encrpytion" as to what that encompasses? What should it encompass?
    2) My current feeling is, Encryption = 1) the algorithm, 2) the key (but not the key generation). Encryption algorithm = 1) literally just the algorithm, not the key. EErr, i don't know what term to use that would also encompass the key generation bit. So yeah confused still.
    2) The process of Diffie-Hellman key generation/exchange is still considered an encryption algorithm because it outputs data (the shared public) that makes deciphering the input to create it practically impossible?
    3) Diffie-Hellman is considered asymmetric because it generates a private/public key pair first?
    4) Diffie-Hellman can also be used to generate asymmetric keys ONLY?
    5) So the private symmetric keys Diffie-Hellman creates would form the symmetric keys for one of the symmetric encryption algorithms like RC4/AES?
    4) Looking back at the above then, the term encryption looks like it should actually include the discrete phase of key generation/distribution?

    • @tudoralexandruienulescu2214
      @tudoralexandruienulescu2214 2 หลายเดือนก่อน

      I am also studying Sec+
      From what I (think I) know, here are my answers:
      1 - There is no misuse. Encryption describes the goal of the action, the algorithm is what any algorithm is. A chain of operations for a specific goal. "Encryption algorithm" is fine.
      2 - You are overthinking I guess. "Encryption" is a term used to describe the topic of the discussion (for example). The term "Encryption algorithm" is getting into details and explaining what is, why it's needed, how it works (each step of the process aka the algorithm), etc.
      3 - Diffie-Hellman is assymetric because the Bob and Alice don't have all the same keys in their own pockets. Alice does not have the "b" key and Bob does not have the "a" key.
      4 - From what I learned thus far, yes. DH is the general example for generating asymmetric keys.
      5 - YES
      6 (or maybe 4) - I don't think so. encrypting something using a cypher is one thing, using a handshake or other ways to communicate between parties is another (just like DH).
      The DH is the actual method used to sharing of a secret key between two people who have not contacted each other before. It does not refer to the cyphers at all.

  • @programmercouple
    @programmercouple 3 ปีที่แล้ว

    Finally understood the Diffy-Hellman concept. Thanks

  • @lenilsonsg
    @lenilsonsg 4 ปีที่แล้ว

    You just got a new subscriber. Excellent content mate.

  • @asherorourke6199
    @asherorourke6199 2 ปีที่แล้ว

    what a terrific explanation. Terrific, and thank you!

  • @DaMaZa1234
    @DaMaZa1234 4 ปีที่แล้ว +1

    I would like to Thank you Dr.Mike Pound for this information. it make me understand what is Diffie-Hellman is and i would like to take this video to be your reference in my work i have been put credit for u i really appreciate what u have done for us this video is just 8min it fun and i love this video Thank you

  • @matteoagius-darrigo7632
    @matteoagius-darrigo7632 9 หลายเดือนก่อน

    my favorite video on youtube!

  • @jamie_ar
    @jamie_ar 6 ปีที่แล้ว +132

    Great video, but surely the simpler method with the colours would have been to have ramekins with clear water and then add X drops of food colouring for the stages?! 😂

    • @AloisMahdal
      @AloisMahdal 6 ปีที่แล้ว +21

      Apparently Mt.Dew vending machine was closer than a food coloring vending machine.

    • @AlexRasengan1337
      @AlexRasengan1337 5 ปีที่แล้ว

      But that wouldn't work, the private keys are different.

    • @agentjeyjey9757
      @agentjeyjey9757 3 ปีที่แล้ว

      @@AlexRasengan1337 Not for the private keys, for the public key (g)

  • @SirCutRy
    @SirCutRy 6 ปีที่แล้ว

    This is so simple yet so effective. Very interesting.

  • @sachinpandeyatd
    @sachinpandeyatd 2 ปีที่แล้ว

    tomarrow I have new sec and cryptography exam, and this topic has high possibility of coming, this is the best explanation I found,

  • @pascalst5023
    @pascalst5023 4 ปีที่แล้ว

    this is so well explained. Thank you!

  • @trollflix
    @trollflix 3 ปีที่แล้ว

    This guy is a genius. The explanation method is high level. You must be a teacher. 😍😋

  • @afroeuropean5195
    @afroeuropean5195 6 ปีที่แล้ว

    FINALLY. Love your videos

  • @ekinseyjr
    @ekinseyjr 6 ปีที่แล้ว

    A very clear explanation - many thanks!

  • @hashansachintha546
    @hashansachintha546 5 ปีที่แล้ว

    Finally I have understand it with this simple example. Big thanks.

  • @LHyoutube
    @LHyoutube 2 ปีที่แล้ว +6

    I would have understood a lot more mathematics had it been presented so intuitively!

  • @ramprasath219
    @ramprasath219 5 ปีที่แล้ว +1

    Superb video!!!
    Great job 👍👏

  • @ChubBuddy69
    @ChubBuddy69 5 ปีที่แล้ว

    Excellent explanation. THANK YOU!

  • @jackboyle3688
    @jackboyle3688 2 ปีที่แล้ว

    This is an excellent explanation, thanks a bunch!!

  • @AnimatedHooman
    @AnimatedHooman 6 ปีที่แล้ว

    Excellent explanation. Loved it

  • @atulsharma4501
    @atulsharma4501 6 ปีที่แล้ว

    Just love this guy !!!!! Great explanation!!

  • @datag1199
    @datag1199 3 หลายเดือนก่อน

    Great visual analogy. Thank you!

  • @tapewormerbinkosti3141
    @tapewormerbinkosti3141 8 หลายเดือนก่อน

    One of these mathematical functions is: Alice sends g to the power of a (modulo prime number p). Bob sends g to the power of b (modulo p). The shared key is then: g to the power of a (modulo p) to the power of b (modulo p) which is the same as g to the power of b (modulo p) to the power of a (modulo p).

  • @aciddraconian13
    @aciddraconian13 2 ปีที่แล้ว +1

    I have been so clueless with cryptography and cannot find one braincell to focus on most reading material (darn you ADHD) but stumbled along here and it made complete sense, wow.

  • @GordonjSmith1
    @GordonjSmith1 2 ปีที่แล้ว

    What a wonderful demonstration!

  • @willk7184
    @willk7184 2 ปีที่แล้ว +1

    Neat, I finally understand the basics of something I was always curious about. But now I'm thirsty.

  • @tejasanvekar7367
    @tejasanvekar7367 3 ปีที่แล้ว

    Huge fan of u sir....started encryption watching ur videos.....love ur accent

  • @kanskejonasidag1
    @kanskejonasidag1 6 ปีที่แล้ว +35

    Mike Pound?? Instant like! :D

  • @videogamemusicandfunstuff4873
    @videogamemusicandfunstuff4873 6 ปีที่แล้ว

    Dr. Mike is the best!

  • @ryantan5974
    @ryantan5974 2 ปีที่แล้ว

    Very well explained and elaboration are very clear.

  • @sebastianb2092
    @sebastianb2092 4 ปีที่แล้ว

    This guy is absolutely awesome. Thanks a lot.

  • @ronaik
    @ronaik 3 ปีที่แล้ว

    Great explanation to understand DH key exchange. Also, as food for thought, wouldn't a highly skilled painter (hacker) know what colours add up to form that final colour? He does and that's where we add more complexities and algorithms to make DH what it is!

  • @Skaxarrat
    @Skaxarrat 9 หลายเดือนก่อน

    Stellar explanation.

  • @westa1979
    @westa1979 2 ปีที่แล้ว

    This video makes so much sense. And I get that it would be used to exchange, say, an AES key. But I thought symmetric keys were exchanged with asymmetric encryption, such as RSA. When would one chose DH instead? (Answer probably in another video)

  • @unvergebeneid
    @unvergebeneid 6 ปีที่แล้ว +19

    2:53 that sound though! =)

  • @josemiranda6123
    @josemiranda6123 3 ปีที่แล้ว +1

    Awesome explanation!!!

  • @fahansheikh
    @fahansheikh ปีที่แล้ว

    thanks for the wonderful explanation
    👍

  • @pun15h3r.
    @pun15h3r. ปีที่แล้ว +3

    very nice video, plain and simple explanation ;D

  • @hamzamunir8180
    @hamzamunir8180 4 ปีที่แล้ว

    this guys saved my semester.

  • @sargondinkha8492
    @sargondinkha8492 2 ปีที่แล้ว

    Fantastic content!

  • @inx1819
    @inx1819 5 ปีที่แล้ว

    This video teached me more than 9 years in primary school, thank you so much, I'm just getting started in the cyber security field and I honestly can't thank you enough.
    I'm 14 right now and I understood everything clearly, so you are a great guy!!

  • @42svb58
    @42svb58 3 ปีที่แล้ว +1

    Best breakdown ever

  • @salagisellenain
    @salagisellenain 3 ปีที่แล้ว

    I have never seen anyone using such a weird way to explain something. But it's so cool

  • @zeikjt
    @zeikjt 6 ปีที่แล้ว

    The water with food coloring mixing is a subtraction (so it'll converge on a dark muddy color), but the computer generated mixing is an addition (it'll converge on white). Aka, paint vs light.

  • @sunburststratocaster
    @sunburststratocaster 5 ปีที่แล้ว

    That's just straight up brilliant. How does someone even come up with this?

  • @mercerkace2023
    @mercerkace2023 ปีที่แล้ว

    Amazing explanation.

  • @tomasxfranco
    @tomasxfranco 6 ปีที่แล้ว +3

    I love Mike.

  • @Luxxo03
    @Luxxo03 6 ปีที่แล้ว

    Another Mike Pound video :D

  • @moazelsawaf2000
    @moazelsawaf2000 5 ปีที่แล้ว

    This is a pure intelligence ❤️
    Great explanation sir ❤️

  • @shivampokhriyal2782
    @shivampokhriyal2782 ปีที่แล้ว

    Awesome explanation. 👌👌

  • @lesconrads
    @lesconrads 6 ปีที่แล้ว

    A brilliant educator!