I am trying to understand https, as I understand https uses the Diffie–Hellman method for keys exchange and then AES for encryption.
But Diffie–Hellman needs two prime numbers, where do these come from?
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It only takes a minute to sign up.
Sign up to join this communityI am trying to understand https, as I understand https uses the Diffie–Hellman method for keys exchange and then AES for encryption.
But Diffie–Hellman needs two prime numbers, where do these come from?
TLS generally uses the DH groups specified in RFC7919. The RFC selects the modulii it specifies so that $(p-1)/2$ is also prime (and so the value $g$ is selects generates a large prime subgroup) - those primes have a number of other nice practical properties.
In TLS 1.2, the client could specify its own group, however that is not greatly encouraged (both because the client might get it wrong, and because it makes it difficult for the server to do validity checking).
In TLS 1.3, they removed the option to specify your own group, and so the groups in RFC7919 (or an elliptic curve group or a private group) is your only option.