DEV Community

Discussion on: Improving security by drawing identicons for SSH keys

shaiay profile image

Very nice!
Can you perhaps elaborate on why this specific algorithm was chosen for the visualization of the keys?

krofdrakula profile image
Klemen Slavič Author • Edited on

I'm not the author of the technique, nor am I an expert on the subject matter, so I can't comment on why this was chosen, other than it seems to be effective while being very simple.

The quote about the Drunken Bishop is from a paper that dissects the algortihm and how often collisions between different fingerprints happen with this particular algorithm. It is relatively easy to find a collision, but I can't say if it makes it easier to generate a corresponding key pair based on a compatible fingerprint.

What I can say is that it seems to do the job well enough to be of acceptable quality, but you could come up with any other generational algorithm.

Try it yourself! Use the key as a sequence of numbers that represents the seed of a pseudorandom sequence, then make a picture out of that and see how that works. The idea is that the images produced should be distinguishable, so it cannot be just random noise. Generating cartoon faces, maybe, so long as there's enough degrees of freedom, it should work equally well.