I have a proposed process, which has the downside of allowing for cheating, but works if both sides want to keep the information transfer within the outlined parameters:
This works because:
We can modify this to enforce the secrecy better:
I've tried to anticipate some nitpicks at the process I present below. Nitpicks are in parentheses and set off from the main method. The core of the method can be found outside the parentheses.
Then, they should follow these steps for each potential song:
Why does this work?
Or, in a wordier form: