Identicons as Graphical Digital Fingerprints

Fingerprint via public domain clipart How do you uniquely identify a person, without divulging the identity of that person? For example, given a set of personal artifacts, how would I arrange the set of artifacts grouped by the person to which they belonged?

The answer is quite easy, isn’t it (especially given the title of this blog post and the image to the right)? You can look at the fingerprints on the items.

Unless you happened to have a file that mapped the fingerprints to individuals, you won’t know who the comb and mirror belong to, for example, only that they do belong to the same person and not to the person who owns the scissors.

The analogous structure in the world of information theory and computer science is the digital fingerprint, often created via a hash function. MD5 and SHA1 are two of the most commonly used hash functions.

A hash function is a one way algorithm for converting data into a number which for the most part can be used to identify the data without revealing the data. This is why it is common to hash passwords before storing them in a database.

In order to authenticate a user, I don’t need to know the user’s password, I just need to know that the hash I’ve stored corresponds to the password you typed.

Don Park recently invented a system for representing IP Addresses without divulging the actual IP Address via a system of glyphs, which he calls Identicons. This serves as a nice means of identifying commenters on a blog, without divulging their actual IP address, which could be a privacy concern. The following image are some examples of identicons.

Some Identicon Glyphs

What’s interesting to me about identicons is that they have wider uses beyond representing IP addresses. As Don states,

I think identicons have many use cases. One use is embedding them in wiki pages to identify authors. Another is using them in CRM to identify customers. I can go on and on. It’s not just about IP addresses but information that tends to move in ’herds’.

One way to look at identicons is that they are a visual representation of a hash value. They sort of add even more weight to the fingerprint analogy by being visual like a real fingerprint.

For example, for security reasons, many free software providers provide an MD5 checksum of their software binaries. You can see an example of this from the PuTTY download page.

Putty Download Page. Shows links to MD5 Checksums 

The next screenshot shows some actual hash values of exes.

Hash Values

Looking at the first listing, we can see that for pageant.exe, the hash value is 01d89c3cbf5a9fd2606ba5fe3b59a982, kind of a mouthful, right? Another way that could be represented is via an Identicon, which would be more readily recognizable.

Of course, in this situation, the security minded person would use an automated MD5 checksum checker rather than manually confirming the binary. But do you trust your md5 checksum checker? A quick visual confirmation would be a nice additional vote of confidence in this scenario.

If you’re interested in playing with Identicons in .NET, I recommend taking a look at this .NET port of Don Park’s implementation written by Jeff Atwood and Jon Galloway.

I had the pleasure of reviewing the code with Jeff and he’s quite proud of his caching optimization. Rather than caching the Bitmap object, he cashes the PNG output as a MemoryStream instance. That ends up saving a ton of memory.

Technorati tags: , ,

What others have said

Requesting Gravatar... Keyvan Nayyeri Jan 22, 2007 7:34 AM
# Identicons - Graphical Digital Fingerprints
Jeff Atwood and Phil Haack wrote Identicons and an implementation of them in .NET that is done by Jeff
Requesting Gravatar... Don Park Jan 22, 2007 8:47 AM
# re: Identicons as Graphical Digital Fingerprints
Thanks for explaining the concept so well, Phil. You've nailed it.
Requesting Gravatar... Haacked Jan 22, 2007 8:50 AM
# re: Identicons as Graphical Digital Fingerprints
Thanks Don, appreciate it. I just made Identicons the default image for commenters. Thus if a commenter does not have a gravatar, the identicon will show instead.

Right now, gravatars are broken on my site, so everyone will show up as an identicon until I fix it.
Requesting Gravatar... Brandon Jan 22, 2007 11:37 AM
# re: Identicons as Graphical Digital Fingerprints
These are definately cool identifiers.
Requesting Gravatar... Luke Jan 22, 2007 9:25 PM
# re: Identicons as Graphical Digital Fingerprints
I absolutely love the identicon idea. I think this is one of the most compelling concepts in this area I have heard in a while.

I'm currently trying to figure out how to get them working on my site. It's a classinc LAMP setup with Wordpress.
Requesting Gravatar... DotNetKicks.com Jan 23, 2007 9:11 AM
# Identicons as Graphical Digital Fingerprints
You've been kicked (a good thing) - Trackback from DotNetKicks.com
Requesting Gravatar... Gavin Joyce Jan 23, 2007 9:17 AM
# re: Identicons as Graphical Digital Fingerprints
This is a truly great idea and I will be including this in a upcoming project. I'll port it to ruby too if no one else has.
Requesting Gravatar... john doe Jan 25, 2007 9:47 PM
# re: Identicons as Graphical Digital Fingerprints
sounds interesting!!
Requesting Gravatar... you've been HAACKED Mar 19, 2007 1:01 AM
# Identicon Handler For .NET On CodePlex
Identicon Handler For .NET On CodePlex
Requesting Gravatar... Community Blogs Mar 19, 2007 1:44 AM
# Identicon Handler For .NET On CodePlex
A while ago, Jeff Atwood blogged about Identicons for .NET. An Identicon is an anonymized visual glyph
Requesting Gravatar... emilio gorgonzola Mar 19, 2007 2:23 AM
# I just want to see my Identicon thingie
I hope it isn't a swastika like the one above.
Requesting Gravatar... StevenHarman.net Apr 06, 2007 2:22 PM
# Subtext v1.9.5 - Now Testing
Subtext v1.9.5 - Now Testing
Requesting Gravatar... Coding Horror Dec 07, 2007 3:02 AM
# Hashtables and the Pigeonhole Principle
One of the most beloved of all data structures in computer science is the hash table. A hash table is a data structure that associates keys with values. The primary operation it supports efficiently is a lookup: given a...
Requesting Gravatar... Programming Dec 18, 2007 7:27 AM
# Hashtables, Pigeonholes, and Birthdays
One of the most beloved of all data structures in computer science is the hash table . A hash table is
Requesting Gravatar... michigan Dec 29, 2007 2:31 PM
# re: Identicons as Graphical Digital Fingerprints
i wonder if mine will look like the identicon i saw last month on park's site, it was different when i went to the page again just now.
what i love about your site is the identicon is bigger.
do i have to the right to use the identicon in my designs? I would also love to have this availible for people who visit my sites. when will it be availiable for site owners?
Requesting Gravatar... just looking... May 06, 2008 4:18 PM
# re: Identicons as Graphical Digital Fingerprints
Just want to see what it looks like...
Requesting Gravatar... Gavin May 17, 2008 6:47 PM
# re: Identicons as Graphical Digital Fingerprints
I want to see my Identicon as well...
Requesting Gravatar... Lee Jun 18, 2008 3:50 PM
# re: Identicons as Graphical Digital Fingerprints
Well that was a great blog post. Way to "identify" the situation, heh. I've found that my mind has an affinity for remembering numbers, names, and passwords... but I'm sure I'll recognize pictures even easier. Can't wait to see the many ways this could be used.
Requesting Gravatar... will Jun 18, 2008 11:31 PM
# re: Identicons as Graphical Digital Fingerprints
so if I have a gravatar will it show that or an identicon?
Requesting Gravatar... Nik Radford Jun 19, 2008 8:48 AM
# re: Identicons as Graphical Digital Fingerprints
Also just want to see my identicon
Requesting Gravatar... Danijel Jul 08, 2008 2:57 AM
# re: Identicons as Graphical Digital Fingerprints
So 127.0.0.1 will always show up the same identicon? :)
Requesting Gravatar... random ransom Jul 10, 2008 11:10 AM
# re: Identicons as Graphical Digital Fingerprints
1-2-3-test-test-test
Requesting Gravatar... SirHeart Jul 30, 2008 3:59 PM
# re: Identicons as Graphical Digital Fingerprints
just checking it out
However how does one hash a graphic image such as a pic and how reliable or predictible or unique is it ?
Requesting Gravatar... WalterVonBerg Aug 07, 2008 1:25 PM
# re: Identicons as Graphical Digital Fingerprints
i'm so cute
Requesting Gravatar... Identitron Sep 17, 2008 8:31 PM
# re: Identicons as Graphical Digital Fingerprints
Cool idea.
Requesting Gravatar... nicolas Oct 05, 2008 2:32 AM
# re: Identicons as Graphical Digital Fingerprints
what's my identicon?

ahh :-D
Requesting Gravatar... yeliaB Oct 13, 2008 12:39 PM
# re: Identicons as Graphical Digital Fingerprints
Fascinating...
Requesting Gravatar... Ken Oct 18, 2008 2:58 AM
# re: Identicons as Graphical Digital Fingerprints
just want to see my identicon
Requesting Gravatar... mcas Oct 27, 2008 12:56 AM
# re: Identicons as Graphical Digital Fingerprints
...Of course, this is presupposing that someone doesn't access the same blog from two computers-- say a work and a home. But, yes, this at least theoretically could help maintain culpability should someone try to disavow a comment they posted which was in fact from their computer... but I could easily go to my roommates and post something else offensive/immoral from my roommates computer and then accuse someone else of posting it...
Requesting Gravatar... paul Oct 27, 2008 1:29 AM
# re: Identicons as Graphical Digital Fingerprints
Can I have one too?
Requesting Gravatar... lli Oct 27, 2008 3:36 AM
# re: Identicons as Graphical Digital Fingerprints
These would make nifty quilts.
Requesting Gravatar... Alain dien Oct 27, 2008 4:10 AM
# re: Identicons as Graphical Digital Fingerprints
A quilt of made of banned identicons!


Requesting Gravatar... MH Oct 27, 2008 5:56 AM
# re: Identicons as Graphical Digital Fingerprints
This is a fantastic idea.
Requesting Gravatar... Ben Oct 28, 2008 7:07 PM
# re: Identicons as Graphical Digital Fingerprints
Will a generated Identicon for an email address always be the same?
Requesting Gravatar... slucas Nov 05, 2008 9:23 AM
# re: Identicons as Graphical Digital Fingerprints
Nice article. This question is probably for Phil. Why are some of the identicons fuzzy. See above comments from Alain Dien and yeliaB.
Requesting Gravatar... Doug Nov 07, 2008 1:41 PM
# re: Identicons as Graphical Digital Fingerprints
I just want to see my identicon too.
Requesting Gravatar... Doug Nov 07, 2008 2:45 PM
# Gravatar's implementation shouldn't be used for real identity, right?
I mean, anyone can hash any email address and get the identicon.
Requesting Gravatar... Violet Nov 23, 2008 8:19 AM
# re: Identicons as Graphical Digital Fingerprints
:-o
Requesting Gravatar... DSollick Nov 28, 2008 8:14 PM
# re: Identicons as Graphical Digital Fingerprints
Nice! I really love this idea and look forward to seeing it elsewhere.
Requesting Gravatar... Dustin Howett Nov 28, 2008 8:16 PM
# re: Identicons as Graphical Digital Fingerprints
I love this idea. I really hope more places pick up on it :D
Requesting Gravatar... Daniel Piker Dec 08, 2008 4:11 AM
# re: Identicons as Graphical Digital Fingerprints
I want to check out my identicon too. If I dont like it maybe I'll have to change to a new IP address with a nicer pattern!
Requesting Gravatar... Martin-TM Dec 08, 2008 12:58 PM
# re: Identicons as Graphical Digital Fingerprints
Looks lovely, I couldn't resist and wanted to see mine :D
Requesting Gravatar... Cool Dec 10, 2008 2:15 AM
# re: Identicons as Graphical Digital Fingerprints
Cool stuff
Requesting Gravatar... Eric Dec 30, 2008 9:09 AM
# re: Identicons as Graphical Digital Fingerprints
I wondered about the geometric avatars I kept seeing in different sites, so I googled it and found out they were identicons...
Requesting Gravatar... Paul Jan 02, 2009 2:02 PM
# re: Identicons as Graphical Digital Fingerprints
Love the concept. But I guess monsters are very much a guy thing. I'm sure an organic FlowerID or GreenEarthID would be popular.
Requesting Gravatar... Curt Jan 09, 2009 7:19 AM
# re: Identicons as Graphical Digital Fingerprints
Interesting
Requesting Gravatar... skvmb Jan 12, 2009 8:48 PM
# re: Identicons as Graphical Digital Fingerprints
these should be more widely used
Requesting Gravatar... Eugene ibn Rahman Jan 27, 2009 2:20 AM
# re: Identicons as Graphical Digital Fingerprints
I love these so much! Can I have them?
Requesting Gravatar... test Feb 03, 2009 12:45 PM
# re: Identicons as Graphical Digital Fingerprints
just testing
Requesting Gravatar... Chris R. Feb 27, 2009 12:00 PM
# re: Identicons as Graphical Digital Fingerprints
There really needs to be a "see your identicon" page somewhere...
Requesting Gravatar... jf Apr 26, 2009 7:20 PM
# re: Identicons as Graphical Digital Fingerprints
Yeah, that's how I ended up here, too.
Requesting Gravatar... Lewis May 06, 2009 9:41 AM
# re: Identicons as Graphical Digital Fingerprints
Very interesting!
Requesting Gravatar... AL May 19, 2009 7:31 PM
# re: Identicons as Graphical Digital Fingerprints
Just curious...
Requesting Gravatar... Atomic Shrimp May 20, 2009 2:22 PM
# re: Identicons as Graphical Digital Fingerprints
Me too
Requesting Gravatar... pablo Jun 03, 2009 5:01 AM
# re: Identicons as Graphical Digital Fingerprints
WTF
Requesting Gravatar... montsuel Jun 03, 2009 5:05 AM
# re: Identicons as Graphical Digital Fingerprints
nice! congratulations
Requesting Gravatar... gerard Jun 09, 2009 12:54 PM
# re: Identicons as Graphical Digital Fingerprints
curious to see mine...
Requesting Gravatar... ohhai Jun 23, 2009 5:31 PM
# re: Identicons as Graphical Digital Fingerprints
Hey, this is pretty cool!

What do you have to say?

(will show your gravatar)
Please add 1 and 7 and type the answer here: