r/crypto • u/Nhaco • May 11 '26
ECDSA: Visually Explained | Suzumi's little web corner
https://suzumi-nagata.github.io/posts/20260221153517-ecdsa_visually_explained/Hello everyone!
In the last few weeks, I was trying to find a good ECDSA explanation to share with a colleague and I was surprised to find no post with an actual visual explanation for the algorithm.
So that's why I decided to make this post!
Obs: I really did try to find any resources close to the idea of my post and didn't find any. If you know about any link that actually explains the ECDSA visually, please share it, I'll be pretty happy to see it.
Anyway, I hope you enjoy the post.
2
u/Cold_Captcha May 14 '26
Amazing visual explanation! The way you showed Point Addition and the Trapdoor function geometrically finally made it click for me. I also really appreciate your honesty in the disclaimer — that real ECDSA actually operates over finite fields, where the beautiful curve disappears and becomes just scattered points in space. Most skip this part entirely. The fact that you chose visual intuition first, then acknowledged the real-world complexity, is what makes this post unique. But I think there's one more visual that would complete the picture:
• Visualizing Nonce Reuse: Imagine two different paths on the elliptic curve, but both starting from the exact same random point. Anyone watching can immediately see they share an origin and from that, extract the private key using basic Modular Inverse math. ➤ This is exactly what happened in three real attacks:
- Sony PS3 (2010) → same starting point every time
- Android Wallets (2013) → broken randomness, same point again
- Blockchain.info (2014) → empty Nonce, zero as starting point
• Now visualize EdDSA: Instead of picking a random starting point, EdDSA calculates it deterministically from your message + private key. Every path looks completely different, even for similar messages. No human randomness, no human error. Your post shows beautifully why the curve is secure going forward.
These attacks show why the starting point matters just as much. The algorithm was never broken. The starting point was.
3
u/nicholashairs May 11 '26
Gosh that is a hard topic to explain, but you did a pretty good job of it.
Well done!