Hacker News new | ask | show | jobs
by chrismorgan 1879 days ago
Most people won’t understand any of what you’re describing there, except for “the end” and that you’re describing a four-step process.
2 comments

Agreed, I really like the paint examples to explain diffie hellman.

https://www.comparitech.com/blog/information-security/diffie...

The paint example is what made it click for me too. via this video . https://www.youtube.com/watch?v=YEBfamv-_do
most programmers won't understand exponentiation and modular arithmetic? whew boy no wonder people complain about leetcode style interviews
This is elitist. The whole point of the OP is to describe it for the "layman", and you've curtly declared yours suitable "for anyone" - an even broader term - and yet now you're claiming it's supposed to be only for programmers, when reality is still further from your claim: That it is for programmers with a certain level of math knowledge (when in fact, ironically, anybody can understand diffie-hellman without needing to know the mathematical terms and notation).

Even allowing that you meant "programmers" originally, "programming" covers a massive field of knowledge sets. For example, I know what exponentiation and modular arithmetic are, but I can't derive the practical implications from your example without further research. I also have no idea what "g" is.

I guess eighth grade arithmetic is elitest now <shrug>
Was feeling briefly superior the purpose of your little half-baked discourse, or did you actually intend to demonstrate something useful as a learning tool? Hard to tell.
The above argument might feel slightly wrong to people because it relies on the property that (g^a mod p) ^ b mod p == (g^ab mod p). The fact that this holds isn't too hard to figure out, but requires knowledge that pq mod r == ((p mod r) * (q mod r)) mod r, which again isn't too hard to figure out. However, at this point you're asking people to derive two basic number theory properties in a row, and notably "using modulus to write fizz buzz" (which is the level most non-math-major programmers are at wrt to modulus) is not the same thing as knowing how to do basic number theory, and proficiency in the former doesn't imply proficiency in the latter.
>pq mod r == ((p mod r) * (q mod r)) mod r

that's just multiplication in Z_r...?

edit: alright i guess technically it uses homomorphism from Z to Z_r but you don't need to be able to write out the proof to intuit/believe it

"for anyone" and "for programmers" are two entirely different things.
you know lots of bakers that read hn?