With a trusted 3rd party, running Secret Santa is easy: The 3rd party labels each person 1,…,n, and then randomly chooses a derangement from among all possible derangements of n numbers. Person i will then give a gift to the number in position i of the derangement. The trusted 3rd party is responsible for keeping the derangement secure, and for telling each person whom to give a gift to. The question is: Is there an algorithm that would allow Secret Santa to be played without a trusted 3rd party?