]> git.codecow.com Git - Monocypher.git/commit
Deprecate crypto_key_exchange
authorFabio Scotoni <34964387+fscoto@users.noreply.github.com>
Sun, 13 Feb 2022 05:44:40 +0000 (06:44 +0100)
committerLoup Vaillant <github-is-valid@loup-vaillant.fr>
Sun, 13 Feb 2022 18:22:26 +0000 (19:22 +0100)
commitb891add031d39707af54fae346fcad4bd6a014a4
tree8b454640ae16409ae799b9f80b43e46f9783de50
parent54a7ef551078dda001f94f1045e142af0fc1008a
Deprecate crypto_key_exchange

See #230.
In summary:
The way crypto_key_exchange() works was not optimal.
Several combinations of (private, public) key pairs produce the same
shared secret (see 54a7ef551078dda001f94f1045e142af0fc1008a);
crypto_key_exchange() did nothing to mitigate that.

Since this is a high-level function that cannot be saved even with
documentation because it is so fundamentally misguided,
it is now deprecated (see #232).
Users are encouraged to either adopt the function into their own code
if and only if they require it for backwards compatibility,
starting with the release that removes it,
or preferably migrate to implementing an existing protocol,
such as instantiating a Noise protocol pattern or a protocol like X3DH.
16 files changed:
doc/man/man3/advanced/crypto_curve_to_hidden.3monocypher
doc/man/man3/advanced/crypto_from_eddsa_private.3monocypher
doc/man/man3/advanced/crypto_hchacha20.3monocypher
doc/man/man3/advanced/crypto_sign_init_first_pass.3monocypher
doc/man/man3/advanced/crypto_x25519_dirty_fast.3monocypher
doc/man/man3/advanced/crypto_x25519_inverse.3monocypher
doc/man/man3/crypto_blake2b.3monocypher
doc/man/man3/crypto_lock.3monocypher
doc/man/man3/crypto_sign.3monocypher
doc/man/man3/crypto_x25519.3monocypher [moved from doc/man/man3/advanced/crypto_x25519.3monocypher with 94% similarity]
doc/man/man3/crypto_x25519_public_key.3monocypher [moved from doc/man/man3/advanced/crypto_x25519_public_key.3monocypher with 100% similarity]
doc/man/man3/deprecated/crypto_key_exchange.3monocypher [moved from doc/man/man3/crypto_key_exchange.3monocypher with 97% similarity]
doc/man/man3/deprecated/crypto_key_exchange_public_key.3monocypher [moved from doc/man/man3/crypto_key_exchange_public_key.3monocypher with 100% similarity]
doc/man/man3/intro.3monocypher
doc/man/man3/optional/crypto_ed25519_sign.3monocypher
doc/man/man3/optional/crypto_ed25519_sign_init_first_pass.3monocypher