.. _mbx_x25519:

mbx_x25519
==========


Computes a shared secret.


Syntax
------


mbx_status mbx_x25519_mb8(int8u\* const pa_shared_key[8], const int8u\*
const pa_private_key[8], const int8u\* const pa_public_key[8]);


Include Files
-------------


``crypto_mb/x25519.h``


Parameters
----------


.. list-table:: 
   :header-rows: 0

   * -     pa_shared_key   
     -  Array of pointers to the vectors of computed shared secret values.
   * -      pa_private_key   
     -  Array of pointers to the vectors of own private keys.
   * -      pa_public_key   
     -  Array of pointers to the vectors of party's public key x-coordinates.




Description
-----------


This function computes a shared secret using own private keys specified
by pa_private_key and party's public keys specified by pa_public_key
parameters. Each vector must be at least 32-byte length to store the
computed shared secret value.


Return Values
-------------


The mbx\_ x25519 function returns the status that indicates whether the
operation completed successfully or not. The status value of 0 indicates
that all operations completed successfully. The error condition can be
analyzed by the MBX_GET_STS() call.

