0

I'm trying to understand the key exchange happening with CurveMQ described here.

http://curvezmq.org/page:read-the-docs

My understanding of public key cryptography is you use a public key to encrypt data that can then be decrypted by the corresponding private key. In the CurveMQ specification it describes encrypting data from a key to a key. See the excerpts below they reference 2 keys. What does this mean in layman's terms?

The signature box (80 octets). This SHALL contain 64 zero octets, encrypted from the client's transient key C' to the server's permanent key S.

and

A welcome box (144 octets) that encrypts the server public transient key S' (32 octets) and the server cookie (96 octets), from the server permanent key S to the client's transient key C'.

Dustin Butler
  • 818
  • 7
  • 22
  • https://crypto.stackexchange.com/ – President James K. Polk Nov 17 '22 at 02:23
  • 1
    Or see the section "General Design" near the bottom of the linked page. This is a Diffie-Hellman type key agreement using Bernstein et al's original 'curve25519' which was later renamed for clarity X25519 (because it uses Montgomery-form X-only formulas). DH derives a shared symmetric key from a sender keypair and a receiver keypair which these authors label 'from' and 'to'. – dave_thompson_085 Nov 17 '22 at 02:58
  • Looking at DH helped, thanks for the comment. – Dustin Butler Nov 18 '22 at 08:45

0 Answers0