On 4/25/23 20:45, Forest Sweeney via agora-discussion wrote:
Agoran Mafia brought up a problem that comes by Agora now and again: The
problem of someone needing a "special role" in order to participate in a
tournament that requires secrecy (EG Mafia). I wanted to share my solution,
as this isn't the first time I've heard this problem in Agora.
An alternative, non cryptographic (or maybe more accurately,
cryptography by hand) solution:
This involves the Herald and two Assigners. Assigners agree to an
ordered list of players (it doesn't particularly matter how they agree
to this). Something like 1) nix, 2) cat, 3) G, 4) 4st, 5) juan.
The first assigner randomizes the a list of numbers 1 to 5 (assuming 5
players) and send those out in order to the players. Then e sends eir
ordered list of numbers to the Herald. So if e generates [2,4,3,5,1] e
sends that list to Herald and sends 2 to nix, 4 to cat, and so on.
The second assigner does the same thing with a list of letters A to E.
Let's say [E,C,B,A,D].
At this point, each player has a letter and a number (nix has 2E, cat
has 4C, etc). Each assigner knows who has their half but not the other
half. The Herald has both lists, and knows what pairs exist, but doesn't
know who has each pair. The Herald uses eir knowledge of the existing
pairs to generate a table such as the following:
.A B C D E
1M M D D A
2M D D A M
3D D A M M
4D A M M D
5A M M D D
On this table we end up with the following roles:
nix (2E) mafia
cat (4C) mafia
G. (3B) defender
4st (5A) A special role
juan (1D) defender
The roles are distributed properly, and there are sufficient plausible
combos on the board to not be able to tell what any person's role is
based on any of the info that anyone has.
--
nix
Prime Minister, Herald