26 #ifndef CRYPTOPP_DONNA_H
27 #define CRYPTOPP_DONNA_H
34 NAMESPACE_BEGIN(Donna)
57 int curve25519_mult(
byte sharedKey[32], const
byte secretKey[32], const
byte othersKey[32]);
83 int ed25519_sign(const
byte* message,
size_t messageLength, const
byte secretKey[32], const
byte publicKey[32],
byte signature[64]);
100 int ed25519_sign(std::istream& stream, const
byte secretKey[32], const
byte publicKey[32],
byte signature[64]);
114 ed25519_sign_open(const
byte *message,
size_t messageLength, const
byte publicKey[32], const
byte signature[64]);
134 #ifndef CRYPTOPP_DOXYGEN_PROCESSING
143 #if defined(CRYPTOPP_WORD128_AVAILABLE) || \
144 (defined(CRYPTOPP_MSC_VERSION) && defined(_M_X64))
145 # define CRYPTOPP_CURVE25519_64BIT 1
147 # define CRYPTOPP_CURVE25519_32BIT 1
166 #if defined(CRYPTOPP_MSC_VERSION) && (CRYPTOPP_SSE2_INTRIN_AVAILABLE)
167 # define CRYPTOPP_CURVE25519_SSE2 1
170 #if (CRYPTOPP_CURVE25519_SSE2)
171 extern int curve25519_mult_SSE2(
byte sharedKey[32],
const byte secretKey[32],
const byte othersKey[32]);
Library configuration file.
Abstract base classes that provide a uniform interface to this library.
int ed25519_sign_open(const byte *message, size_t messageLength, const byte publicKey[32], const byte signature[64])
Verifies a signature on a message.
int ed25519_sign(const byte *message, size_t messageLength, const byte secretKey[32], const byte publicKey[32], byte signature[64])
Creates a signature on a message.
int ed25519_publickey(byte publicKey[32], const byte secretKey[32])
Creates a public key from a secret key.
int curve25519_mult(byte publicKey[32], const byte secretKey[32])
Generate a public key.
Crypto++ library namespace.