Which one is better among public key cryptography key exchange and Zero-knowledge password proof? Which one is more popular, powerful or useful? Which one is used more in daily life or products which are used quite often? Can you give me some good examples?