Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/sodium/crypto_scalarmult.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 #ifndef crypto_scalarmult_H
0002 #define crypto_scalarmult_H
0003 
0004 #include <stddef.h>
0005 
0006 #include "crypto_scalarmult_curve25519.h"
0007 #include "export.h"
0008 
0009 #ifdef __cplusplus
0010 extern "C" {
0011 #endif
0012 
0013 #define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES
0014 SODIUM_EXPORT
0015 size_t  crypto_scalarmult_bytes(void);
0016 
0017 #define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES
0018 SODIUM_EXPORT
0019 size_t  crypto_scalarmult_scalarbytes(void);
0020 
0021 #define crypto_scalarmult_PRIMITIVE "curve25519"
0022 SODIUM_EXPORT
0023 const char *crypto_scalarmult_primitive(void);
0024 
0025 SODIUM_EXPORT
0026 int crypto_scalarmult_base(unsigned char *q, const unsigned char *n)
0027             __attribute__ ((nonnull));
0028 
0029 /*
0030  * NOTE: Do not use the result of this function directly for key exchange.
0031  *
0032  * Hash the result with the public keys in order to compute a shared
0033  * secret key: H(q || client_pk || server_pk)
0034  *
0035  * Or unless this is not an option, use the crypto_kx() API instead.
0036  */
0037 SODIUM_EXPORT
0038 int crypto_scalarmult(unsigned char *q, const unsigned char *n,
0039                       const unsigned char *p)
0040             __attribute__ ((warn_unused_result)) __attribute__ ((nonnull));
0041 
0042 #ifdef __cplusplus
0043 }
0044 #endif
0045 
0046 #endif