# What’s the difference between Diffie-Hellman and RSA?

Diffie-Hellman (DH) is an encryption algorithm used for secure key exchange, whereas RSA is an encryption algorithm used for both encryption and digital signatures. DH is mainly used for authentication, whereas RSA is mainly used for secure data transmission. DH is a public key exchange protocol, while RSA is a public key cryptography algorithm. DH is based on the discrete logarithm problem, while RSA is based on the factorization problem. Lastly, DH is vulnerable to man-in-the-middle attacks, while RSA is not.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.songer.pro/interviewing/security-domains-and-technical-aptitude/cryptographic-protections/cryptography/whats-the-difference-between-diffie-hellman-and-rsa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
