Skip to content

Elliptic Curve Point compression/decompression for mbedtls

License

Notifications You must be signed in to change notification settings

fabian18/mbedtls_ecp_compression

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elliptic Curve Point compression/decompression for mbedTLS

This is all about two helper methods called mbedtls_ecp_decompress() and mbedtls_ecp_compress(). They perform X25519 / Curve25519 point compression and decompression. This halves the length of the public key. mbedTLS will likely never support point decompression, as it is not mandated in the TLS specification.

EC crypto keys for TLS consist of concatenated x and y coordinates (hence a point), which makes them rather long to print out. But since the function is known, only x really needs to be transmitted. This can help to keep QR-Codes smaller, as less data needs to be transmitted.

For support of mbedTLS version < 3.0.0, check out an older commit.

Supported Curves

Only curves 3 mod 4 are supported:

  • secp521r1
  • brainpoolP512r1
  • secp384r1
  • brainpoolP384r1
  • secp256r1
  • secp256k1
  • brainpoolP256r1
  • secp192r1
  • secp192k1

See this post.

Resources:

About

Elliptic Curve Point compression/decompression for mbedtls

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.2%
  • Makefile 1.8%