Which algorithm gets its security from the difficulty of calculating discrete logarithms in a finite field and is used to distribute keys, but cannot be used to encrypt or decrypt messages?
A. Kerberos
B. Digital Signature Algorithm (DSA)
C. Diffie-Hellman
D. Rivest-Shamir-Adleman (RSA)