Live data from Hacker News

Confess your love with zero-knowledge

zkcrush.xyz

21–30 of 205 posts

Re: Confess your love with zero-knowledge

#23
post #2

This is some strange notion of zero-knowledge. If Bob publishes his link, and I want to know who his crush is, I can simply try all our classmates' names and quickly find out that it's Alice. Those games only make at least a bit of sense when everybody enters their crush and only when matching both get notified. Also brute-forceable, but at least it's quadratic (if you suspect nothing about crushes, which is unrealis…

This could be a fun way to teach a class about the vulnerabilities around hashing. Strong hash != strong protection.

Maybe the second half of the class could be about designing a more secure system. Or use this dilemma to explain public-private key encryption.

Re: Confess your love with zero-knowledge

#25
post #2

This is some strange notion of zero-knowledge. If Bob publishes his link, and I want to know who his crush is, I can simply try all our classmates' names and quickly find out that it's Alice. Those games only make at least a bit of sense when everybody enters their crush and only when matching both get notified. Also brute-forceable, but at least it's quadratic (if you suspect nothing about crushes, which is unrealis…

You'd want to use asymmetric public key cryptography so that Bob could hash his message with Alice's public key, and it could only be decrypted with Alice's private key.

[deleted]

Re: Confess your love with zero-knowledge

#27
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?

Quite simple: you don't deal at all. That's zero assumptions about the name. Let them eat cake and enter whatever they want. The user should know their sweetie well enough to guess what they will enter as own name. This is an assumption about their level of mutual knowledge, true, but not one about the naming scheme.

Re: Confess your love with zero-knowledge

#28
post #14

I think this is the first time I've understood zero-knowledge communication.

This isn't zero knowledge, like, at all "The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information."

"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."

Re: Confess your love with zero-knowledge

#29
post #9

Earlier quoted context omitted.

Easy as an adult. But as a kid I feel like we jumped through soooo many hoops to de-risk telling someone we had a crush on them. I remember those reallllly early games like MASH or even early "compatibility" apps. Very coy.

Yes, I can see how -- as a kid -- sharing an URL of your hashed crush with the world is not going to be awkward at all .

Putting links in your tiktok/whatever profile doesn't seem like very unusual nowadays...

Re: Confess your love with zero-knowledge

#30
post #14

I think this is the first time I've understood zero-knowledge communication.

As far as I understand it (and I'm not a cryptographer!), it is not zero knowledge.

Zero knowledge means you can prove you know something without disclosing any additional information about it, at all - that's why it's called "zero". And here, a hash of crush name is exposed, so it's not.

Check this out for a much better explanation: https://crypto.stackexchange.com/questions/70877/is-a-hash-a...

Post reply on HN