Forest Sweeney via agora-discussion [2023-04-25 18:45]: > 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. > > In this specific scenario, for Mafia, what if the herald wanted to play? > Who would distribute the secret roles? What power would be conferred by > requiring to distribute the roles? The solution to this is non-obvious. > Even with 2 players working together to distribute secret roles, there is > still some power conferred to at least one of them. However, with 3 > players, there is a solution! > > Let's call these 3 players 4st, nix, and cat, and we also have a list of > roles we want to distribute perfectly randomly, in a way that no one of the > three gets some potential personal advantage by their role in the process. > > FIRST, 4st can encrypt the roles (all using the same key), and cut each > encrypted string down the center (optionally numbering them by which role > it was from). 4st then gives the first halves to nix, and the second halves > to cat. > > THEN, Nix and cat then agree on a distribution of each half to one of the > players who are playing (including nix, cat, and 4st), so that each half > gets matched with its original. All players now have 1 full encrypted > string (except 4st, who has all of them, and one that cat and nix sent em.) > > FINALLY, 4st tells everyone the secret key to decrypt the encrypted > strings. > > 4st does NOT know who has which half(ves), and so, cannot determine who has > any role other than eir own. > Nix only has front halves, except for the second half cat sent em, and > similarly for cat. > Thus, no player has undue knowledge about any other players' role by this > distribution method, and the distribution of roles is completely random > (unless a cabal of nix and cat occurs, of course, since they'd know who had > which half, and they'd have all the halves to decode it.) > > > (I feel like I should submit THIS as a thesis instead)
Or we just have everyone draw a random number that tells them what is their role. (Btw, I also appreciate the beauty in a cryptographic scheme that doesn't require trust (on other's intentions or competence), but also recognize that Agora has a tradition of using trust-based schemes, which are much easier to implement, and certainly so via email) -- juan