26 #ifndef CRYPTOPP_DONNA_H 27 #define CRYPTOPP_DONNA_H 33 NAMESPACE_BEGIN(Donna)
56 int curve25519_mult(byte sharedKey[32],
const byte secretKey[32],
const byte othersKey[32]);
82 int ed25519_sign(
const byte* message,
size_t messageLength,
const byte secretKey[32],
const byte publicKey[32], byte signature[64]);
99 int ed25519_sign(std::istream& stream,
const byte secretKey[32],
const byte publicKey[32], byte signature[64]);
113 ed25519_sign_open(
const byte *message,
size_t messageLength,
const byte publicKey[32],
const byte signature[64]);
129 ed25519_sign_open(std::istream& stream,
const byte publicKey[32],
const byte signature[64]);
133 #ifndef CRYPTOPP_DOXYGEN_PROCESSING 142 #if defined(CRYPTOPP_WORD128_AVAILABLE) || \ 143 (defined(_MSC_VER) && defined(_M_X64)) || \ 144 (defined(__GNUC__) && (defined(__amd64__) || defined(__x86_64__))) 145 # define CRYPTOPP_CURVE25519_64BIT 1 147 # define CRYPTOPP_CURVE25519_32BIT 1 166 #if (CRYPTOPP_SSE2_INTRIN_AVAILABLE) && defined(_MSC_VER) 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]);
174 #endif // CRYPTOPP_DOXYGEN_PROCESSING 179 #endif // CRYPTOPP_DONNA_H Abstract base classes that provide a uniform interface to this library.
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 curve25519_mult(byte publicKey[32], const byte secretKey[32])
Generate a public key.
int ed25519_sign_open(const byte *message, size_t messageLength, const byte publicKey[32], const byte signature[64])
Verifies a signature on a message.
Crypto++ library namespace.
int ed25519_publickey(byte publicKey[32], const byte secretKey[32])
Creates a public key from a secret key.