Hash Functions, Digital Signatures, Key Exchange, Zero-Knowledge Proofs