Tell your crush you like them with zero-knowledge

Overview

zk-Crush

zk-Crush is a way to tell your crush you like them with zero-knowledge.

Disclaimer

Note this project was mostly meant as a joke, it's not trustless (you have to trust the link came from someone you trust) and is vulnerable to rainbow attacks because hashes are unsalted since the app is entirely client-side. Be careful if you're using this seriously, use at your own risk!

overview

How it works

The idea is that we hash the name of your crush, then people can hash their name and check if their hash matches the hash of the crush you've provided. Therefore it's zero-knowledge because we don't store your name, we only know the hash, so finding a hash that matches corresponds to knowing the pre-image to the hash. Also note that this is entirely client-side, we store nothing on a server.

How to use it

Very simple, you enter your name and the name of a crush, then click generate.

It will generate a URL that you will be able to publicly share.

example

When people go to this URL, they can enter their name, to generate the hash of their name and see if it matches the hash of your crush. If it doesn't, no harm done, if it does, they now know!

notmatch

match

You might also like...

Privacy preserving governance mechanism using zero knowledge for proof of merkle inclusion.

Privacy preserving governance mechanism using zero knowledge for proof of merkle inclusion.

Zero Knowledge Private Voting V1 Motivation On-chain governance today is fully transparent at the cost of privacy. This means that every proposal and

Jun 7, 2022

Zero-Knowledge OTP verification on chain

zkOTP: Zero-Knowledge OTP verification on chain Motivation Inspired by SmartOTP and Modulo's 1wallet, a zkOTP solution can manage access to a smart co

Dec 22, 2022

The zkPass browser extension can proxy three parties TLS and generate zero-knowledge proofs

zkPass Extension zkPass a Chromium extension which can proxy three parties TLS and generate zero-knowledge proofs. Technology Dependence Multi-party c

Nov 1, 2022

An Opensource Peer-to-peer Social Network with Zero-Knowledge-Proof based authentication.

HexHoot This is an attempt to create an Opensource Peer-to-peer Social Network with Zero-Knowledge-Proof based authentication. The objective is to dem

Dec 28, 2022

2FA with Zero-Knowledge proofs

2FA with Zero-Knowledge proofs

zkAuth 🗝️ 🔗 Zero-Knowledge protected onchain two-factor Authentication This project provides 2FA for EVM blockchains, compatible with the broadly ad

Dec 26, 2022

The classical game of Liar's Dice enhanced with the usage of Zero-Knowledge Proof

Liar's Dice An online multiplayer game showcasing the potential of Aleo's Zero Knowledge Proof platform. Local deployment Prerequisites Setup dnsmasq

Dec 15, 2022

The classical game of Liar's Dice enhanced with the usage of Zero-Knowledge Proof

Liar's Dice An online multiplayer game showcasing the potential of Aleo's Zero Knowledge Proof platform. Local deployment Prerequisites Setup dnsmasq

Oct 20, 2022

Relaxer-Javascript - A relaxing breathing app with a visual director to tell you when to breathe in, hold and breathe out

Relaxer-Javascript A relaxing breathing app with a visual director to tell you w

Feb 8, 2022

This repo was made to bring to light all discord scams, and show how to tell if you are being scammed and how to remove malware from scams

This repo was made to bring to light all discord scams, and show how to tell if you are being scammed and how to remove malware from scams

DMV (Discord Malware Variants) is a repository made to bring light to harmful programs used by bad actors in order to steal sensitive information from

Dec 29, 2022
Comments
  • Fix response message for when there is NOT a match

    Fix response message for when there is NOT a match

    Description

    Minor text changes.

    How to replicate

    1. Create a zk-crush
    2. With the newly generated URL, type in an incorrect name
    3. The page will say "it's a not a match :(".

    I have changed it to be "it's not a match :("

    Testing

    I did not test this locally. But, I am confident it will work.

    Screenshot of what current page
    opened by dsomel21 1
  • Suggestion: Hash a combination of the two names

    Suggestion: Hash a combination of the two names

    First, thanks a lot for making this website and the code open-source! It's a very fun way to illustrate one of the applications of hash functions!

    I have a small suggestion to further reduce the amount of information that can be extracted from the hash. If I am correct, the hash is calculated from the crush's name only. So, if two people, say Archibald and Bob, have the same crush, say Charlene Randomfamilyname, both will get the same hash Hash("Charlene Randomfamilyname"). Someone who can see the two hashes thus knows that Archibald and Bob have the same crush. (Or, at least, that the names of their crushes have the same hash, which, if the probability of collision is small enough, means they have the same name with very high probability.)

    One possible solution would be to hash a combination of the user's name and that of the crush. In this example, the two hashes would be Hash("Archibald Charlene Randomfamilyname") and Hash("Bob Charlene Randomfamilyname"). Anyone who does not know the name of Archibald's nor Bob's crush would then be able to tell whether they have the same crush without a brute-force attack (assuming, of course, that the hash function and its implementation are secure).

    opened by FlorentCLMichel 1
Owner
Amir Bolous
Hacker, maker, and professional noob
Amir Bolous
Snippets4Dummies is an easy to use Visual Code Extension which is used for building beautiful layouts as fast as your crush rejects you!

Why Snippets4Dummies? Snippets4Dummies is an easy to use Visual Code Extension which is used for building beautiful layouts as fast as your crush reje

SCHWITZ 6 Oct 11, 2022
Rainbow Table attack to break zkcrush.xyz and reveal your crush.

ZK-Crush-Break Rainbow Table attack to break zkcrush.xyz and reveal your crush. Background Amir released a project called zkcrush.xyz that allowed a u

Verumlotus 4 Jul 1, 2022
The website which can help you to organize your daily or weekly activities and review them when you need them. you can add, remove and delete an activity

To Do list To do project is webpack project that list activities someone can do at a specific time In this TO-DO list, you can add or remove you activ

Joffrey NKESHIMANA 5 Jul 21, 2022
A website to tell your confession, and to see your IP, inspired by BattleOfWits

A website to tell your confession, and to see your IP, inspired by BattleOfWits

Waviest 22 Jan 5, 2023
A list of movies are shown and you can add a comment on them or like them.

Dynasty Entertainment. A list of movies are shown and you can add a comment on them or like them. Built With HTML, CSS & JavaScript. webpack, bootstra

 Hassan Momanyi 8 Nov 25, 2022
Multiplies a number by zero. Useful for when you need to multiply a number by zero

multiply-by-zero Multiplies a number by zero. Useful for when you need to multiply a number by zero Please consider checking out the links of this pro

Dheirya Tyagi 2 Jul 3, 2022
This is a Webpack based to-do-list project. With this app, users can add thier daily routine tasks to the list, mark them as complet, edit them or delete them.

To Do List This is a Webpack based to-do-list project. With this app, users can add thier daily routine tasks to the list, mark them as complet, edit

Ali Aqa Atayee 12 Oct 30, 2022
Been interested, studying, and developing blockchain security with a Zero Knowledge Proof (ZKP) and create a prototype on the current issue with Philippine's upcoming election. 📥

Implementation of Zero Knowledge Proofs in Cryptographic Voting ?? Reference: Cryptographic Voting – A Gentle Introduction Overview ????‍?? The main i

Karl Joseph Saycon 2 Apr 11, 2022
Dapp example for airdropping ERC-20 tokens using World ID, preserving privacy for the claimers with zero-knowledge proofs.

World ID Example - Mesha Airdrop This repository contains an example decentralized application (dapp) for World ID. With Mesha Airdrop test airdroppin

Worldcoin 14 Dec 16, 2022
Privacy preserving governance mechanism using zero knowledge for proof of merkle inclusion.

Zero Knowledge Private Voting V1 Motivation On-chain governance today is fully transparent at the cost of privacy. This means that every proposal and

Blockchain Capital 18 Dec 16, 2022