The Grey Labyrinth is a collection of puzzles, riddles, mind games, paradoxes and other intellectually challenging diversions. Related topics: puzzle games, logic puzzles, lateral thinking puzzles, philosophy, mind benders, brain teasers, word problems, conundrums, 3d puzzles, spatial reasoning, intelligence tests, mathematical diversions, paradoxes, physics problems, reasoning, math, science.

   
The Grey Labyrinth Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups    RegisterRegister  
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

UNplausible deniability

 
Reply to topic    The Grey Labyrinth Forum Index -> Visitor Submitted Puzzles
View previous topic :: View next topic  
Author Message
lostdummy
Daedalian Member



PostPosted: Sat Oct 20, 2012 2:16 pm    Post subject: 1 Reply with quote

I got idea for this because on one of threads here I had impression that problem author had different solution in mind when he initially stated problem, compared to what he posted at end.

Not related to that specific issue, nor even if my impression was correct, what I started wondering was:

Is there any convenient way for problem authors to state solution at same time when they state problem, in such way that they can not change it later on, but at same time to prevent possible solvers to see what is that solution?

Solution to this should be:
1) 'convenient': very easy for author to do it, and even easier for others to check when later author post solution.
2) 'irreversible': very hard for solvers to guess correct solution only based on what is initially posted
3) 'protected': prevent from someone maliciously changing posts/data needed to verify that author did it correctly


Although I'm sure it could be done better, my current best solution for this is:

Author post salted hash of solution, where 'salt' comes from some finite set with unknown number of members.

Example rule:
1) author select name of any book from Amazon as 'salt'
2) they use exact name as appears there, but are free to change upper/lower case on any letter
3) they append ':' and their solution to this salt
4) they calculate SHA512 hash on above, for example using sites like www.tools4noobs.com/online_tools/hash/
5) they post resulting hash together with problem

Reason for salt is that without it, it would be very easy for solvers to guess solution in problems that have small set of possible solutions (they would just have to calculate hashes for all possible solutions).

Reason for salt to be from "finite set with unknown number of members" it that if we would allow ANY salt, than author could later change solution and find appropriate new salt to result in same hash - it IS hard to do with good hashes, but it is doable. But if we limit author to salts like I suggested (book names), then it is practically impossible they will find other book to match same hash. On other side, "unknown number' was needed because if we limit salt options too much, solvers could use all possible salt values with all possible results to find which one fits. So salt should be selected in such way that 'all possible salt values' are not known, and yet that it is limited.

I believe selection of book names (limited, but generally unknown set), with combination of upper/lower cases ( increase number of salts millions of times, yet still keep it very limited for author to find new salt+result that make same hash).


Also, above principle can work for large solutions too, not only numbers. For example, if I didn't post this wall of text as suggested solution already, and if i use above principle, I could have posted following (for text in first spoiler):

in first post where i stated problem, i could post hash of solution:
50054074ac3d5de8bcc9f42a54c28127e104cf35214c3a41227035767fc0595457599a54fb0adf31a69f2bbd344c75b0f3cc4093907da72a55a0a9d817c672ae

and in last post where I reveal solution I would post what I posted in first spoiler, and would add that my 'salt' was RINGWORLD.


That would make it easy for people to check if I really had this same solution in mind from start. Of course, its even easier when solution is something like single number ;p

*EDIT* added 3rd 'requirement'


Last edited by lostdummy on Sun Oct 21, 2012 3:35 pm; edited 1 time in total
Back to top
View user's profile Send private message
Zag
Tired of his old title



PostPosted: Sat Oct 20, 2012 2:48 pm    Post subject: 2 Reply with quote

This sounds a little like a solution in search of a problem. I mean, have we had a big problem with puzzle writers claiming a different solution was correct than the one they originally intended?

We do have a rather nice mechanism for solvers to check if their answer is correct without the puzzle author being around to confirm. We use it here, for instance, and here.

(Can you guess where those links go without following them?)

On the other hand, I could see your solution being used for a "Whoever guesses my number first wins $1 million" sort of game.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
Trojan Horse
Daedalian Member



PostPosted: Sat Oct 20, 2012 3:45 pm    Post subject: 3 Reply with quote

If the author of the puzzle that inspired this puzzle comes by and attacks you for doubting his honesty, you won't be able to plausibly deny that you were referring to his puzzle. Extreme Delectation
Back to top
View user's profile Send private message Send e-mail
lostdummy
Daedalian Member



PostPosted: Sat Oct 20, 2012 4:02 pm    Post subject: 4 Reply with quote

Zag,

I did not post this as idea to be used on forum, but as interesting problem - reason why we post majority of puzzles here.

So, while its nice if solution to this problem could be used anywhere (even if thats $1milion game), its finding best solution that was my intent, not using it ;p

BTW, links that you posted do not solve this problem. Because it allows author to change his intended solution later on - he just need to change password too.
Back to top
View user's profile Send private message
Nsof
Daedalian Member



PostPosted: Sat Oct 20, 2012 4:25 pm    Post subject: 5 Reply with quote

Commitment scheme
_________________
Will sell this place for beer
Back to top
View user's profile Send private message
lostdummy
Daedalian Member



PostPosted: Sat Oct 20, 2012 4:41 pm    Post subject: 6 Reply with quote

Nsof wrote:
Commitment scheme


yes, that looks very much related to this problem ;p

Although, based on quick read of that wiki page, I'm not certain any of listed methods fit to 'convenient' part of requirement. Can you suggest one of those as better fit for this particular problem?
Back to top
View user's profile Send private message
Elethiomel
Daedalian Member



PostPosted: Sat Oct 20, 2012 7:33 pm    Post subject: 7 Reply with quote

I think the most convenient solution is to introduce a trusted party. Revenge most foul!
Back to top
View user's profile Send private message
Suspence
Daedalian Member



PostPosted: Sun Oct 21, 2012 4:01 am    Post subject: 8 Reply with quote

lostdummy wrote:

Is there any convenient way for problem authors to state solution at same time when they state problem, in such way that they can not change it later on, but at same time to prevent possible solvers to see what is that solution?

Solution to this should be:
1) 'convenient': very easy for author to do it, and even easier for others to check when later author post solution.
2) 'irreversible': very hard for solvers to guess correct solution only based on what is initially posted


Sure. The setter could PM the solution to a designated GL account for this purpose. The puzzle setter would have access to that account. When the puzzle is solved, the setter could reveal the password, and any who wanted to confirm could check the PM in that account.

Since that password is public knowledge, a new setter could create a puzzle, change the password to that account, PM the password to it, then reveal the password when their puzzle is solved.

Lather, rinse, repeat...unless there is a way to modify read PMs that I'm not thinking of.
_________________
I hate people who try to write interesting things in their signature.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address MSN Messenger
Jack_Ian
Big Endian



PostPosted: Sun Oct 21, 2012 3:19 pm    Post subject: 9 Reply with quote

I used MD5 here to allow users to verify their own answers.
It's not very safe for single words, but should be suitable for complete structured sentences. It would certainly be very difficult to construct a coherent sentence after the fact that had the same digest code.
Back to top
View user's profile Send private message
lostdummy
Daedalian Member



PostPosted: Sun Oct 21, 2012 3:28 pm    Post subject: 10 Reply with quote

Suspence wrote:

When the puzzle is solved, the setter could reveal the password, and any who wanted to confirm could check the PM in that account.


Yes, that is workable solution ;p

Although , it has few drawbacks:
- setter still have fairly large time window in which he can replace answer with new one. Namely, he can delete first PM (since he has access) and send new PM. Theoretically, people who want to check could compare PM date, but that is not deterministic- setter could have changed answer few hours after original post, and claim that he actually PMed answer slightly later. Or setter could have really PMed answer few hours after he posted problem. So ... hard to determine if PM was changed in first day.

- it requires open access for everyone to check, and that means someone with malicious intent is able to delete that PM, thus making this principle less secure for setter and his ability to prove he did it correctly. I guess this one should have been another 'requirement' in problem (protect setter)
Back to top
View user's profile Send private message
lostdummy
Daedalian Member



PostPosted: Sun Oct 21, 2012 3:32 pm    Post subject: 11 Reply with quote

Jack_Ian wrote:
I used MD5 here to allow users to verify their own answers.
It's not very safe for single words, but should be suitable for complete structured sentences. It would certainly be very difficult to construct a coherent sentence after the fact that had the same digest code.


Exactly - simple hash was first idea I had too, but it fails requirement to prevent solvers to find correct result even when only few possible results exist.

For example, if result is positive number under 100, its easy to generate all hashes and compare. Or even if result is single word, as you you mentioned ;p
Back to top
View user's profile Send private message
Jack_Ian
Big Endian



PostPosted: Sun Oct 21, 2012 7:05 pm    Post subject: 12 Reply with quote

If answer is 100, give MD5 hash X for "The answer to my wonderful puzzle is one hundred. Hope you enjoyed it." or some other long-winded phrase.
Back to top
View user's profile Send private message
lostdummy
Daedalian Member



PostPosted: Sun Oct 21, 2012 9:04 pm    Post subject: 13 Reply with quote

Jack_Ian wrote:
If answer is 100, give MD5 hash X for "The answer to my wonderful puzzle is one hundred. Hope you enjoyed it." or some other long-winded phrase.


That is good approach ;p

It actually beat my suggestion in 'convenient' part, at least for solvers and those who are checking, and solve at same time 'guessing simple solution' issue.

Only downside that I can see is that author would have to save somewhere exact phrase that he used for hash calculation - instead of just remembering 'ringworld', he would have to store/save exact sentence, so later he can repeat it exactly same.

But that is downside only for very short answers (ie number/word etc) that could have be remembered, since for any long answer author would need to save that answer anyway since it would be hard to remember it exactly.

So I would say that if this approach is "author should post hash of solution, and in case of simple solution use words/sentence to make exact sentence hard to guess", then it is better/simpler than what I suggested ;p
Back to top
View user's profile Send private message
Suspence
Daedalian Member



PostPosted: Mon Oct 22, 2012 7:16 pm    Post subject: 14 Reply with quote

lostdummy wrote:
Suspence wrote:

When the puzzle is solved, the setter could reveal the password, and any who wanted to confirm could check the PM in that account.


Yes, that is workable solution ;p

Although , it has few drawbacks:
- setter still have fairly large time window in which he can replace answer with new one. Namely, he can delete first PM (since he has access) and send new PM. Theoretically, people who want to check could compare PM date, but that is not deterministic- setter could have changed answer few hours after original post, and claim that he actually PMed answer slightly later. Or setter could have really PMed answer few hours after he posted problem. So ... hard to determine if PM was changed in first day.

- it requires open access for everyone to check, and that means someone with malicious intent is able to delete that PM, thus making this principle less secure for setter and his ability to prove he did it correctly. I guess this one should have been another 'requirement' in problem (protect setter)


The timestamp of the problem being posted and the solution being PMd could be compared. It doesn't seem like a big ask to require that the solution be PMd before the puzzle is posted.

If all else fails, just put the solution in a sealed envelope marked "Do not open until 2085". Razz
_________________
I hate people who try to write interesting things in their signature.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address MSN Messenger
Display posts from previous: by   
Reply to topic    The Grey Labyrinth Forum Index -> Visitor Submitted Puzzles All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Site Design by Wx3