Protecting poorly chosen secrets from guessing attacks | Synapse