How to Use Nondeterminism in Cryptography | Synapse