Live data from Hacker News

Confess your love with zero-knowledge

zkcrush.xyz

121–130 of 205 posts

Re: Confess your love with zero-knowledge

#121
post #86

Last year my wife and I suspected we might have gotten each other the same Christmas gift, but didn’t want to spoil the surprise in case we didn’t. So we compared SHA256 hashes... and sure enough they both came out cb17007d (theragun)

What did you hash? The name of the product? Or the UPC or something? I am curious.

We both hashed "theragun" in all lowercase. We actually bought each other two different models of Theragun but it was pretty natural to refer to them with that string.

Re: Confess your love with zero-knowledge

#123
post #81

"First and Last name capitalised" Seems like someone hasn't read the famous "Falsehoods Programmers Believe about Names"[0] [0] https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...

I mean, it’s basically a helpful hint there to maximize the chance that both parties include the same names with the same capitalizations

And it's a unhelpful suggestion to butcher names that aren't correctly formatted that way.

Re: Confess your love with zero-knowledge

#124
post #119

I might be an old timer but there used to be a site where you would put in your email and your crushes email and if they did the same you’d both be notified. I don’t remember the name of the site now though.

allyourcreditarebelongtous.com?

i assume at this point in life that any site doing something as silly as this has ulterior motives for the site's existence.

Re: Confess your love with zero-knowledge

#125
> People can enter their names into this unique link to generate the hash of their name. If the generated hash matches, they'll be notified *you* are *their* crush

Don't mean to be pedantic, but shouldn't it be "they'll be notified *they* are *your* crush"?

Re: Confess your love with zero-knowledge

#127
I used a similar technique to obfuscate the answers in a silly TV quiz[0] I wrote a couple of years ago.

I have a terrible habit of looking at the source of web-based puzzles to discover the solutions and wanted to make something where that was impossible.

My solution was to use the given answers as the key to decode a small blob of data. Multiple correct answers (different spellings) were handled by simply encoding the blob multiple times and trying them all.

Everything happens client side but at no time does the client store any information about the answers unless the user proves they know them by typing them in.

[0] https://sheep.horse/2020/4/tv_opening_sequences_quiz.html

Re: Confess your love with zero-knowledge

#128

> People can enter their names into this unique link to generate the hash of their name. If the generated hash matches, they'll be notified *you* are *their* crush Don't mean to be pedantic, but shouldn't it be "they'll be notified *they* are *your* crush"?

Yes it seems to be worded incorrectly.

Re: Confess your love with zero-knowledge

#129
post #16

"First and Last name capitalised" Seems like someone hasn't read the famous "Falsehoods Programmers Believe about Names"[0] [0] https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...

Maybe they did, got confused and gave up. How would you deal with 4, 11, 12+13, 14 and 18 here?

> 4. People have, at this point in time, one full name which they go by.

The relationship between person and name is one-to-many

> 11. People’s names are all mapped in Unicode code points.

You can implement custom characters, i.e. https://en.wikipedia.org/wiki/Private_Use_Areas or have a process for exceptions

> 12. People’s names are case sensitive. 13. People’s names are case insensitive.

You can store this as an attribute

> 14. People’s names sometimes have prefixes or suffixes, but you can safely ignore those.

This can be other fields if you're trying to structure the data, or you can simply store the entire name as a contiguous field.

> 18. People’s names have an order to them. Picking any ordering scheme will automatically result in consistent ordering among all systems, as long as both use the same ordering scheme for the same name.

Don't string compare names as a test for equality.

The obvious response to this is: that's too hard (/impossible to do). But that's just the reality of the situation. These issues are not necessarily possible to solve. #21 in particular makes this application very broken even with very plain vanilla western names.

Re: Confess your love with zero-knowledge

#130
post #28

Earlier quoted context omitted.

"In cloud computing, the term zero-knowledge (or occasionally no-knowledge or zero access) refers to software services that store, transfer or manipulate data such that it is only accessible to its owner, not to the service provider."

> In cloud computing Your quote heavily misspells "bullshit marketing" ;) For marketing reasons, people try give things fancy names, even if those names are misused and are completely wrong. This is exactly what happened with all those "zero-knowledge encrypted cloud storages" and so on.

This seems to imply terms can only have and only one “right” definition, which is not how languages work, at all.

Clearly there are two big clusters of meaning for “zero-knowledge” and they seem distinct enough to not overlap. Seems fine to me.

Post reply on HN