Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Identicons are used to create unique images based on IP address or strings. Lots of programs are available to generate identicons based on an input string.

My question is how hard is to do the reverse. Identify the source string of an identicon. In other words what is the strength of the hash function used to generate an identicon.

Can the concept of identicon be extended to generate public-private key pairs? It would be lot attactive to have two images as public and private key rather than a boring text file

share|improve this question

migrated from May 1 '14 at 17:06

This question came from our site for professional and enthusiast programmers.

The identicons idea is not bound to some predefined hash, so you will have to look at the specification or at the source code of the specific implementations.

The reversal is obviously is as hard as the hash function used in the particular implementation, if at all possible in case when the identicon representation contains fewer bits than the original data.

share|improve this answer

In the case of Gravatar, you can find detailed description of how to reverse it and recover some users' email addresses, at the following questions:

The short summary is that Gravatar bases its icon on a MD5 hash of the user's email address, and exposes this MD5 hash publicly. It turns out that it is possible to do boring old offline dictionary search to reverse this MD5 hash, and experiments have shown that this can identify many people's email address if they are using Gravatar.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.