2
$\begingroup$

I'm coding a bot on Telegram to sustain a quiz game. A group of people (authors) can upload photos of streets or particular landscapes that they have found on internet, without any description, and have autonomously work out the exact location they were taken. So along with one photo the author has to enter the cordinates with a tolerance. The bot stores this info and anyone (other authors included) can try to solve that photo. Haversine formula is used to calculate distance between an attempt and the solution. A distance less than the tolerance yields a correct answer.

Anybody but me can access the .txt file with all the solutions. Of course I'll be honest, but how can I ultimately prevent myself from look into this file and use the solutions?

Hash encryption won't work because, obviously, answers are not expected to match the stored coordinates. Any pair of coordinates close enough has to be accepted.

$\endgroup$
2
$\begingroup$

There is the idea of a fuzzy vault, a coding theory based idea first proposed by Juels, developed for biometric applications, it warrants a look.

Start at Wikipedia. These notes below are excellent:

https://wiki.cse.buffalo.edu/cse545/content/fuzzy-vault

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks, it seems a nice starting point! If I understand correctly my encrypted message can be any dummy one that would confirm a correct answer. Instead, I'll use the given solution to generate the encription set? $\endgroup$ – Domenico Modica Dec 31 '19 at 17:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.