Elliptic Curve Cryptography

May 21, 2016

Elliptic Curve Cryptography

ECC is an approach to public key cryptography based on elliptic curves over finite fields. The security of ECC systems rests on the elliptic curve discrete logarithm problem, rather than the RSA’s integer factorization problem. ECC allows devices to maintain a high security bar. ECC uses smaller keys than RSA for the same cryptographic strength.

Symmetric Key Size (bits)

RSA Key Size (bits)

Elliptic Curve Key size (bits)
















National Institute of Standards and Technology (NIST)-recommended key sizes

As you can see from the NIST recommended key sizes table, to achieve 128-bit of security level, a 256-bit ECC key is equivalent in strength to a 3072-bit RSA key. Due to advances in cryptanalysis, recommended key lengths increase based on the period of time for which the information needs to be protected and the increased computational power that becomes available for a malicious user to attack the system. To achieve the next 256-bit level of security, a 512-bit elliptic curve key would be required. For an equivalent level of security, 15,360-bit RSA encryption keys are required.

EC Diffie-Hellman Ephemeral(ECDHE) cipher suites and Forward Secrecy(FS)

To provide forward secrecy for the traffic on <custom-endpoint>.iot.<region>.amazonaws.com, AWS IoT supports the EC Digital Signature Algorithm (ECDSA) and EC Diffie-Hellman Ephemeral (ECDHE) cipher suites for TLS. Forward secrecy is a property of secure communication protocols in which compromise of long-term keys does not compromise past session keys. That means a malicious user who learns the private key of your device should not be able to decrypt any previous communication protected under that key. Under EC Diffie-Hellman Ephemeral cipher suites, the client and server establish a shared session secret that is independent of the long-term certified private keys used to authenticate the key exchange. In RSA key exchange cipher suites, the client-selected random session secret is encrypted using the server’s public key and sent over the wire. That means if the server’s private key gets compromised or cracked in the future, it can be used to decrypt all previous session secrets and used to decrypt any past recorded session traffic.

Source: Elliptic Curve Cryptography and Forward Secrecy Support in AWS IoT

Add comment
facebook linkedin twitter email

Leave a Reply