crypto_kx_keypair() function creates a new key pair. It puts the public key into pk and the secret key into sk.crypto_kx_seed_keypair() function computes a deterministic key pair from the seed seed (crypto_kx_SEEDBYTES bytes).crypto_kx_client_session_keys() function computes a pair of shared keys (rx and tx) using the client's public key client_pk, the client's secret key client_sk, and the server's public key server_pk.0 on success and -1 if the server's public key is not acceptable.crypto_kx_SESSIONKEYBYTES bytes, including crypto_secretbox_*() and crypto_aead_*().rx should be used by the client to receive data from the server, whereas tx should be used for data flowing in the opposite direction.rx and tx are both crypto_kx_SESSIONKEYBYTES bytes long. If only one session key is required, either rx or tx can be set to NULL.crypto_kx_server_session_keys() function computes a pair of shared keys (rx and tx) using the server's public key server_pk, the server's secret key server_sk, and the client's public key client_pk.0 on success and -1 if the client's public key is not acceptable.rx should be used by the server to receive data from the client, whereas tx should be used for data flowing in the opposite direction.rx and tx are both crypto_kx_SESSIONKEYBYTES bytes long. If only one session key is required, either rx or tx can be set to NULL.crypto_kx_PUBLICKEYBYTEScrypto_kx_SECRETKEYBYTEScrypto_kx_SEEDBYTEScrypto_kx_SESSIONKEYBYTEScrypto_kx_PRIMITIVErx || tx = BLAKE2B-512(p.n || client_pk || server_pk)crypto_scalarmult_*() API.