A pet bugbear of mine is that if you go to the Wikipedia page for the Diffie-Hellman key-exchange algorithm, you will see this image that ostensibly explains how it works:

To be fair: it’s clean, elegant, symmetrical, and colourful, and I kinda like it, but the thing that frustrates me most is that it’s not useful for explaining how the algorithm gets you from a state of ignorance, to one with a shared key.
Many years ago (2013?) I opened up some stupid paint tool – since I have nearly zero graphic design skills – and I made a couple of stabs at restructuring the diagram to make more “protocol” sense to me, even though the results are deeply, deeply ugly:
…and I think this (especially the “partially flipped” version) is more descriptive and useful than the above original; it’s the same paint-mixing metaphor but with a chronological flow and a clear passing of messages from Left, to Right, and back to Left.
But: my artwork is as ugly as sin, and I have no skills to make it “nice”, and I have even less faith that if I spent ages learning those skills, that other people would consider it an “improvement” or indeed permit the article to be updated. But I am delighted to share the concepts.
But I don’t want the proposal to die, so I will post it here and then link it into the Wikipedia discussion. Maybe that will help.


Leave a Reply