Diffie-Hellman Key Exchange
Art of the Problem9 HN recommenders · recommended in 8 months, 2016-2024
938K views · 14 years ago · explainer · evergreen
A short explainer on the history and mechanics of public key cryptography and the Diffie-Hellman key exchange. It uses a mixing-paint-colors analogy to show how two parties can agree on a shared secret in public.
It is the go-to beginner explanation of Diffie-Hellman, recommended because the paint analogy makes the idea click without prior cryptography knowledge.
5:24Diffie-Hellman Key Exchange
Art of the Problem
547K views • 14 years ago
17:50Blockchain 101 - A Visual Demo
Anders Brownworth
3.3M views • 10 years ago
1:44What is Bitcoin? (v1)
WeUseCoins
10.3M views • 15 years ago
1:06:36Computer Security 161 Cryptocurrency Lecture
Nicholas C Weaver
128K views • 4 years ago
22:36Computer Scientist Explains One Concept in 5 Levels of Difficulty | WIRED
WIRED
7.2M views • 4 years ago
25:16But how does bitcoin actually work?
3Blue1Brown
18.1M views • 9 years ago
1:30:50Lecture 7: Introduction to Galois Fields for the AES by Christof Paar
Introduction to Cryptography by Christof Paar
278K views • 12 years ago
22:59How Does SHA-256 Work?
learnmeabitcoin
374K views • 6 years ago
1:32:08Theory and Practice of Cryptography
Google TechTalks
73K views • 18 years ago
28:11Ben Kreuter RWC 2017
Real World Crypto
1K views • 9 years ago
3:59The Lava Lamps That Help Keep The Internet Secure
Tom Scott
4.3M views • 9 years ago
12:24Elliptic Curve Back Door - Computerphile
Computerphile
554K views • 8 years ago
14:27A simple trick to design your own solutions for Rubik's cubes
Mathologer
1.6M views • 10 years ago
48:02BlackHat USA 2011: SSL And The Future Of Authenticity
Christiaan008
95K views • 15 years ago
57:03HACKENBUSH: a window to a new world of math
Owen Maitzen
562K views • 5 years ago
10:58Flaw in the Enigma Code - Numberphile
Numberphile
5.4M views • 13 years ago
46:22DEF CON 19 - Moxie Marlinspike - SSL And The Future Of Authenticity
DEFCONConference
11K views • 13 years ago
24:28Ichthyology: Phishing as a Science
Black Hat
38K views • 9 years ago
40:21Bitcoin - Unmasking Satoshi Nakamoto
Barely Sociable
1.6M views • 6 years ago
10:44P vs. NP and the Computational Complexity Zoo
hackerdashery
3.7M views • 12 years ago
11 comments from Hacker News
Reminds me of a video[0] that describes Diffie-Hellman key exchange in terms of mixing color values (as globs of oil paint). I guess in this game you're guessing the mix of primary colors, so maybe it doesn't hold the same property of difficulty in deriving the constituents? [0] ▶ this video
This is the only video that ever explained it concisely and clearly, IF you don't care about trying to actually implement it: ▶ this video
When reading the title, this came to mind: ▶ this video (Diffie-Hellman key exchange explained using paint). There is also this one by Computerphile: link
Here is another video from "Art of the Problem" that uses the same analogy that really helped me understand this better: ▶ this video
Interesting, thanks for sharing (I too was curious). This is my favorite video on Diffie-Hellman key exchange which is a slightly different problem (sharing a secret, without the constraint of dividing the key): ▶ this video (oh, hey, same channel! Guess I'll need to check out more videos from here!)
Interesting explanation - thanks for sharing. I find it easier to visualise, through colours of paint, for a high-level metaphor of the DH key exchange process, which may be useful - ▶ this video
If you haven't seen it, there's a pretty neat video that outlines how public-key cryptography works using paint colors [1]. It's focused on Diffie-Hellman key exchange, but it's a great intro for beginners to be able to visualize the concepts, and I think helps provide some context before jumping right into the GPG command line. [1] ▶ this video
As others have already pointed out, this explanation focuses on the RSA key exchange, which has been deprecated. It's not recommended for use with the current line of protocols (TLS 1.2 and earlier) and it's been completely removed from TLS 1.3 (work in progress, but close to being finished). The key weakness of the RSA key exchange is that session encryption keys are transported over the network encrypted with the server's public key. When the server's private key is compromised in some way, the attacker can passively decrypt all traffic, they can also "go back in time" to decrypt all previous conversations they might have recorded and kept. For a more secure handshake approach, consider the Diffie-Hellman key exchange, which is a way for two parties to agree on a secret number (a very large number when used for encryption, of course) that third party can't discover from looking at the network traffic. It's a very simple and intuitive algorithm; there's a great video that explains it here: ▶ this video Today, we generally use the ephemeral elliptic curve DH variant (ECDHE), which has better security characteristics and works much faster. However, DH is not sufficient, you must also authenticate the other party. Otherwise you could be negotiating your key exchange with the attacker and not the real recipient. This is where public cryptography comes in. After the key exchange, both parties use their private keys to sign the transcripts of the entire conversation up until that point
I recommend beginning at the fundamentals. For example here's a video that walks through Diffie Hellman, so that anybody can follow, you can probably sprint through it, but by taking it slow they avoid accidentally forgetting anything important. ▶ this video Grasping the fundamentals means that when it comes to policy decisions (e.g. in the management of certificates) you can see what the consequences of a particular decision are, rather than just hoping that whoever proposed that policy knew what they were doing. For example, I think a lot of people today use Certificate Signing Request (CSR) files without understanding them at all. But once you have a grounding in the underlying elements you can see at once what the CSR does, and why it's necessary without needing to have that spelled out separately. Or another example, understanding what was and was not risky as a result of the known weakness of SHA-1. I saw a lot of scare-mongering by security people who saw the SHA-1 weakness as somehow meaning impossible things were now likely, but it only affected an important but quite narrow type of usage, people who understood that could make better, more careful decisions without putting anybody at risk.
For idiots like myself, I found this video, Public key cryptography - Diffie-Hellman Key Exchange (full version), to be completely enlightening using mixed colors to explain the most basic features of a cryptography algorithm.[0] [0] ▶ this video
This is a great pair of videos that intuitively explain Diffie-Helman key exchange and then the RSA algorithm in a way that requires no previous knowledge of cryptography: "Public key cryptography - Diffie-Hellman Key Exchange" ▶ this video "Public Key Cryptography: RSA Encryption Algorithm" link Good coverage of the fundamentals before attempting a deeper understanding of PGP specifically.