I am trying to send AES keys from one computer to another, but I need to provide some form of attestation of the key's provenance. How should I go about doing this?


1 Answer 1


If you are implementing this for commercial purpose, respectively if security is crucial, then there are standards and somewhat "best practices" (like the TLS Protocol Specs).

In general when you want two parties to agree on a shared secret key, some kind of Key-Exchange like Diffie-Hellman or ECDH is applied. Often this goes hand-in-hand with some KDF (key derivation function).

Another approach would be the usage of KEMs (key encapsulation mechanism), but as far as I know these kind of techniques are not widely used (yet! their time will come).

So without further information on your exact problem and use case, I would suggest taking a look into:

  • DH (Diffie-Hellman)
  • ECDH (Elliptic Curve Diffie-Hellman)
  • KDFs (Key Derivation Functions)
  • KEMs (Key Encapsulation Mechanisms)

Note that there are reliable frameworks and libraries out there, which (probably) already implement the stuff that you need.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.