What is the difference between symmetric and asymmetric encryption, and when would you use each in a distributed system?