Cryptographic Protocols With Strong Security: Non-Malleable Commitments, Concurrent Zero-Knowledge And Topology-Hiding Multi-Party Computation