Live data from Hacker News

Representing SHA-256 Hashes as Avatars

francoisbest.com

41–50 of 75 posts

Re: Representing SHA-256 Hashes as Avatars

#41
I always thought ssh randomart representations were visually unique enough; maybe combine smaller, simpler shapes with color too?

The rings are neat, but I found many to be too similar based on color alone, and segments too are really hard pick up on a pattern or something memorable

Re: Representing SHA-256 Hashes as Avatars

#43
post #32

The problem with hash avatars in general is that people want to use them for identity verification -- and humans are wired to do so automatically -- but technologically, they cannot provide this. The space of possible avatars (2^256, in this case) is far, far larger than the number of distinct objects that humans can distinguish between. Which means that there will invariably be "collisions:" two avatars that are not…

On a related note, I've been experimenting with using a simple word list (like the eff diceware list) to generate strings of words encoding data. Trickiest part is figuring out how to encode padding, and the eventual size of the word list, and how complicated the final solution should be (eg using word lists that are not even binary numbers and leftover bits and all that). The diceware word list is nice since the wor…

BIP-39, uses 2048 words, and can all be distinguished from each other using the first four characters of each word. This is used to encode raw binary entropy, but adapting it to arbitrary amounts of data is straightforward. For padding I would suggest either pre-encoding length at the start or using classic block cipher padding (https://en.wikipedia.org/wiki/Padding_(cryptography) )

See for BIP-39, wordlists under a folder https://github.com/bitcoin/bips/blob/master/bip-0039.mediawi...

Re: Representing SHA-256 Hashes as Avatars

#44
post #34

Strange that neither the article nor the comments mention https://gravatar.com/ It hashes the user's email http://en.gravatar.com/site/implement/hash/ and creates an "identicon" from the hash http://scott.sherrillmix.com/blog/blogger/wp_identicon/ or loads a user-defined image.

I really like the former article method over the gravatar identicon because the circular shape is not going to end up with „accidental swastikas“

Re: Representing SHA-256 Hashes as Avatars

#47

The problem with hash avatars in general is that people want to use them for identity verification -- and humans are wired to do so automatically -- but technologically, they cannot provide this. The space of possible avatars (2^256, in this case) is far, far larger than the number of distinct objects that humans can distinguish between. Which means that there will invariably be "collisions:" two avatars that are not…

There's no need to distinguish between every object at every comparison. In most applications, you'll only be comparing a few dozen avatars with each other.

Re: Representing SHA-256 Hashes as Avatars

#48
post #32

Earlier quoted context omitted.

On a related note, I've been experimenting with using a simple word list (like the eff diceware list) to generate strings of words encoding data. Trickiest part is figuring out how to encode padding, and the eventual size of the word list, and how complicated the final solution should be (eg using word lists that are not even binary numbers and leftover bits and all that). The diceware word list is nice since the wor…

BIP-39, uses 2048 words, and can all be distinguished from each other using the first four characters of each word. This is used to encode raw binary entropy, but adapting it to arbitrary amounts of data is straightforward. For padding I would suggest either pre-encoding length at the start or using classic block cipher padding ( https://en.wikipedia.org/wiki/Padding_(cryptography) ) See for BIP-39, wordlists under a…

Thanks for the reference. This is pretty much what I'd be going for!

Re: Representing SHA-256 Hashes as Avatars

#50
post #23

Earlier quoted context omitted.

> The space of possible avatars (2^256, in this case) is far, far larger than the number of distinct objects that humans can distinguish between. That sounds intriguing to me. Are you aware of any research into this?

To be honest, I have no idea how many distinct objects humans can distinguish between, but I am 99% confident that it is fewer than 2^128, much less 2^256. I suppose it's a somewhat nuanced question, though. For example, if I were shown every avatar in sequence, I'm quite sure I would always notice the "diff" between two consecutive avatars. But the bar that I have in mind is much, much higher: given a sequence of av…

FOLLOW-UP: It occurs to me that, actually, plenty of humans could definitely clear my "higher bar." All you need to do is memorize a 64-character hex string, which is difficult but completely doable using a memory palace or similar technique.

Practically speaking, though, this isn't something that the average person is capable of doing. Even memorizing one hex string, let alone multiple (for each of your friends), requires a lot of effort for little benefit.

Furthermore -- if you can memorize the hex directly, you don't need the avatars in the first place! :P

Post reply on HN