2

I'm looking for a website/tool/method that will allow my (in-person) group to submit their faction choices in advance without anyone knowing what it is. Then once everyone has submitted it can be made public. This process needs to work remotely, as we're trying to do it in advance of getting people together to play the game.

In particular, we're looking to use this for Twilight Imperium.

Edit: Background info was unnecessary

4
  • 4
    Why can't you just write them down on pieces of paper? Or type them into your phones, then everyone flips their phones at the same time. Jul 29 at 3:00
  • @Acccumulation, your solution is good and simple in real life, but I assume the OP plays online, maybe on Tabletop Simulator.
    – Cohensius
    Aug 1 at 6:06
  • 1
    @Cohensius If so, I think that's an important factor that should be included in the question. Aug 1 at 14:21
  • @Accumulation, we are not all physically together at any time before the game and we like to make these decisions in advance to make setup faster.
    – Imayhew
    Aug 3 at 20:24

2 Answers 2

3

Have everyone send their preferences to everyone else as an encrypted string using a randomly generated single-use encryption key. Here is an example of a website that will do it for you: https://md5hashing.net/crypto (I found this by Googling "encrypt a text string"). Then, once everyone has sent their encrypted preference, everyone sends out their encryption key to everyone else, thus allowing everyone to read everyone else's answer.

Alternatively, everyone could send a peppered hash (a salted hash where the only the hash and not the salt is shared) of their preferences in the first round of emails, and then reveal their preferences and the pepper that they used in the second round of emails.

For an example of the encryption method, my AES encrypted base64 encoded preferences are (email 1):

HJTX3gAAAAOEqHAapbitluZcstDWoq52q28VJU+G/AjvUo1jkvCQ5YWk33u7U2mjc9AUq40nhowFV+K63IZzyA9OUl5fQNQkz5l1/Pz5A/gVALgNnGEGWsIsNZtfhHmfHPCG5MglDTCedklAfPfD9S5lYVfTuljaZ+iVWskevhQ0pNWq4+HLOT7oIEnzWmdJwJA4iJgWcc9dybDxnqlogceDkclFgyDuKA6aYDrJ2TTn56WykPl9h1DXVES9i8b70urJsCHGT94lX5iLlECjSZfnMNGbwNmkCdnrkDoWxw4Dh8i3WkQC42s9

My secret key is (email 2):

12345

Everyone can then determine my preferences are:

  1. Xxcha
  2. Hacan
  3. L1z1x

The thing you then have to figure out is an algorithmic method for breaking ties if two people request the same faction, which is a whole other theoretical problem.

5
  • You don't need encrypt things - everyone can just submit a hash of their preferences, and then once you've got all the hashes reveal their choices. Jul 28 at 21:07
  • @PhilipKendall Brute forcing that is pretty easy. If you're at the point where you don't trust a player to be a fair arbiter, you need to have a little more defense than that. Salting and hashing would work, which I'll add as another option.
    – Zags
    Jul 28 at 21:45
  • Salting the hash doesn't help in this scenario as you can can still brute force individually. The term for what you are describing here is a pepper: en.wikipedia.org/wiki/Pepper_(cryptography), but at that point encryption is simpler. Jul 31 at 0:39
  • @user1937198 A pepper is what I had in mind (a salted hash where the salt isn't set). I wasn't aware it had a different name. Answer edited.
    – Zags
    Aug 1 at 1:19
  • Thanks. This works, though it's probably too involved to convince my group to adopt.
    – Imayhew
    Aug 3 at 20:22
0

Create and send to a shared email address

This idea works under the assumption that your group is relatively fixed or that there is a subset of players that are always present.

Next time you all get together, create a new email address - this email address is going to be used as a destination of record for faction choice. The password for this account will be a passphrase - one made up by the always-present players. To create the password for the account, the always-present players take turns adding one word to the password, a process that is repeated on subsequent game-days to retrieve the most recent batch of choices.

For example, while creating the account, Player 1 (who maybe owns the game) enters a single word into the password field. Without moving on to the next screen (leaving the password field selected), have Player 2 (perhaps the player who always hosts) then enters another word, followed by Player 3, etc.

In the end, the password for the account is unknown to all players, but accessible to the group as a whole, by repeating the process to log in.

Before gameday, everyone sends a single email to the group account containing their faction choice. On gameday, log into the email address (probably in incognito mode to prevent the password being saved, etc) the emails are read and handled in whatever way you wish, and then delete the emails so that there's a clean record for next time.

After gameday, or after deciding on factions, make sure the email is not left signed in, and that the password is not saved, so that it cannot be tampered with between games. Repeat for future game days.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .