Diffie-Hellman key exchange is a popular cryptographic algorithm that allows Internet protocols to agree on a shared key and negotiate a secure connection. It is fundamental to many protocols including HTTPS, SSH, IPsec, SMTPS, and protocols that rely on TLS. We have uncovered several weaknesses in how Diffie-Hellman key exchange has been deployed: Logjam attack against the TLS protocol. The Logja