Protocols for identification and login Identification and signatures from sigma protocols Proving properties in zero-knowledge Authenticated key exchange Key establishment with online trusted third parties Two-party and multi-party secure computation