6 ms·
Morning, I created this as an extended-weekend project, after realizing that I'd need these hashes as a part of larger project I'm working on. Basically, Text
by e1ven 15y ago
Morning,
I created this as an extended-weekend project, after realizing that I'd need these hashes as a part of larger project I'm working on.
Basically, Text goes in, Picture of a Robot comes out.
Where I'm using this is sort of like an identicon, to help quickly identify a poster's 4096-bit public keys, and see if you're talking to the same man.
Is it perfect? No, but it's a quick visual guide to any text, in the form of faces, which are easy for people to remember.
- pavel_lishin 15y agoWhat are the odds of a collision? How many unique elements are there that can make up a robot?
- e1ven 15y agoIf you use all three sets, and enable backgrounds, the collision chance is much lower. Each Robot is made up of 6 sets of 10 choices each, plus backgrounds. It's not perfect, but it's enough to give you a basic view into "Is this the same guy or not"
- EricBurnett 15y agoas in 10^6 possibilities, ignoring backgrounds? For the curious, that means collisions are expected >50% of the time with ~1200 samples, and someone could easily generate collisions on purpose with little effort. So it works well for a simple signal (which is the goal), but shouldn't be relied on if people might try to abuse it.
- e1ven 15y agoIf you use all three sets (?set=any), plus backgrounds, that adds two additional choices, which brings us into the 100+ Million category. As a signal to review the Pubkey, that's probably enough. I could have made up more Random elements, but that'd take more time/money, which isn't worth it unless anyone outside of me actually wants it ;)
- pavel_lishin 15y agoSounds like it would be a pretty good "did I type my password correctly?" indicator.
- whatusername 15y agoLotus Notes has one of those with a set of keys. I recall that the first couple of times it was weird -- then it seemed to make sense. What is really weird though -- it puts in additional XX characters when you typed out your password. So type out "pass" and it might display "XXXXXXX" Which I guess is effective for preventing over-the-shoulder information leakage but weird all the same.
- mgkimsal 15y agowoudn't you need to be sending the password over to the robot icon people to get the imag?
- k33l0r 15y agoYou might be interested in Chroma Hash for that sort of purpose: http://mattt.github.com/Chroma-Hash/ http://mattt.github.com/Chroma-Hash/
- oconnore 15y agoIt seems like it would give you a false sense of security. You have to think about it in terms of "could an attacker who can spend $1000/hr brute force a duplicate pub/priv key combination that generates the same robot. I wonder if you could get better results using a markov chain to generate english prose from a large sample. If you take the top N next word options, and select one based on the next log_2(N) bits of your hash/key, you lose no key space and should get a nonsensical but perhaps easily remembered string.
- vladev 15y agoAny chance of open-sourcing this? :)
- e1ven 15y agovladev- Sure. It's on Github; Written in Python + Tornado. If you're interested, email me. I'd rather clean it up, but if you're a Python guy, you could help ;)
- vijaydev 15y agoURL please.
- e1ven 15y agoIt's really not that ready for public consumption yet, but, I've added you to the project, and made it public. https://github.com/e1ven/Robohash/ https://github.com/e1ven/Robohash/
- vijaydev 15y agoThanks :) Actually I asked just to have a look at how this is done. I'll surely help if I can.
- donpark 15y agoRobohash looks great. As the 'inventor' of Identicon, I've been meaning to revisit the subject with animal (identimal) or robot (identibot) themes in mind so it's nice to see your rendition of the later. Well done, sir.
- e1ven 15y agoIdenticons are a great idea, I really love them.. They're a good solution to a gut-check "Something is wrong here.." Sort of like a SSH-fingerprint. The problem I've had with them is that they're generate not all that memorable. Was that triangles pointing left, then up, or up then left? This is my attempt at addressing that problem for my own new project, but I'd love to see what you build! If you want to use these images, feel free. They're CC-BY, so they're open to the world now ;)
- donpark 15y agoRe 'not all that memorable', that's because identicons were originally designed for 'distinguishing' and 'matching' data, not 'memorizing'. Abstract geometric identicons like my original implementation as well as variations used at Wordpress and StackOverflow are, while nearly impossible to remember, distinguishable in a pile which comes in handy when distinguishing the 'voice' of individuals in a long thread of comments. To use identicons as permanent identity, one has to 'identify' with their identicon. We can identify faces of our friends because we shared memories with them, stories if you will. So robotic identicons like yours can be made more memorable if users had some ways to create a story they can associate with it like 'blue viking with left arm missing', etc.
- e1ven 15y agoThat makes a lot of sense. I wasn't trying to be disparing. It's a great idea, and very helpful, I just felt like it could go in a slightly different direction for this specific use-case (Public Keys)
- donpark 15y ago[didn't find a reply link to your more recent comment so I'll reply here] I think an interesting way to apply identicon to certs is to map each cert attributes to an 'attribute' of identicon, visualizing attributes.
- celoyd 15y agoThis is extremely well done. But incidentally: see if you're talking to the same man comes across a bit odd, seeing as lately a few women and children have been reported using IP addresses.
- e1ven 15y agoSorry, too late to edit the comment now, HN won't let me anymore. I was using man generically, not specifically. Mankind, if you will. s/man/person
- celoyd 15y agoDefinitely. Just wanted to point it out.
- ComputerGuru 15y agoI wouldn't worry about it. You didn't come off as sexist or anything; it was clearly just informal colloquial speak.
- celoyd 15y agoThe concern here is not that the poster comes off looking like a bad person, because clearly he* doesn’t, but that unintentionally sexist language persists. If I had corrected the poster’s lack of a final slash in his s/// syntax, I wouldn’t have been implicitly accusing him of being an incompetent programmer, because it’s a common and small mistake that I make too. But perhaps it’s worth pointing out every tenth time one sees it, as a mater of politeness, demonstrating the assumption that the poster cares. So my purpose was not to say “you monster” but “psst, you missed a spot”, and that’s how he seems to have taken it. To me, “man” meaning “human” isn’t colloquial at all (except in the slangy sense of don’t have a cow, man) – in fact, it’s stilted at best. * I checked his profile.
- lerpidwavermufn 15y agoOh go crawl back under your he-she-it rock, Randall Munroe.