EVP_KEYEXCH-X25519(7ossl)

πŸ’œ EVP_KEYEXCH-X25519 β€” bestie's guide to X25519 & X448 key exchange

okay so real talk, this is a section 7 page from the 7ossl manual β€” the OpenSSL corner of the manpage universe β€” and it's literally the whole support doc for two whole key exchange algorithms. tiny page, iconic energy. let's go ✨


🌸 NAME 🌸

EVP_KEYEXCH-X25519, EVP_KEYEXCH-X448 β€” the X25519 and X448 Key Exchange algorithm support, fr fr. that's the whole name section, she's short and she knows it πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so what this page is actually saying: OpenSSL gives you key exchange support for the X25519 and X448 key types. that's the vibe. that's the whole plot. no cap 🫢

πŸŽ€ Key exchange parameters πŸŽ€

here's where the actual knobs live, bestie β€” two of them, and you're gonna know them by heart:

  • "pad" (OSSL_EXCHANGE_PARAM_PAD) <unsigned integer> β€” the pad parameter. unsigned integer type, exactly like it says. 🌈
  • "fips-indicator" (OSSL_EXCHANGE_PARAM_FIPS_APPROVED_INDICATOR) <integer> β€” the FIPS approval indicator. and here's the thing you gotta remember: X25519 and X448 are not FIPS approved in FIPS 140-3. so this getter will return 0. that's not a bug, that's the whole point 😭
also go read "Common Key Exchange parameters" in provider-keyexch(7) β€” that's where the shared lore lives πŸ‘‘

✨ EXAMPLES ✨

no full code dump on this page, she outsources the homework (respectfully):

  • keys for the host and the peer can be generated as shown in "Examples" in EVP_PKEY-X25519(7) πŸ—οΈ
  • the code to generate a shared secret is identical to "Examples" in EVP_KEYEXCH-DH(7) β€” same code, different algorithm, we love a reusable snippet 🫢

πŸ”₯ SEE ALSO πŸ”₯

go touch grass in these other pages, they're all connected, iykyk:


Copyright 2020-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>. πŸ“œ


and that's the page!! signed, sealed, delivered by version 3.5.9 on 2026-09-29 β€” the EVP_KEYEXCH-X25519(7ossl) girlies ate and left no crumbs πŸ’…πŸŽ€πŸ’–

πŸ“¦ where this page comes from