00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ED25519_H_
00022 #define ED25519_H_
00023 #include "libssh/priv.h"
00024
00032 #define ED25519_PK_LEN 32
00033 #define ED25519_SK_LEN 64
00034 #define ED25519_SIG_LEN 64
00035
00036 typedef uint8_t ed25519_pubkey[ED25519_PK_LEN];
00037 typedef uint8_t ed25519_privkey[ED25519_SK_LEN];
00038 typedef uint8_t ed25519_signature[ED25519_SIG_LEN];
00039
00046 int crypto_sign_ed25519_keypair(ed25519_pubkey pk, ed25519_privkey sk);
00047
00058 int crypto_sign_ed25519(
00059 unsigned char *sm,unsigned long long *smlen,
00060 const unsigned char *m,unsigned long long mlen,
00061 const ed25519_privkey sk);
00062
00073 int crypto_sign_ed25519_open(
00074 unsigned char *m,unsigned long long *mlen,
00075 const unsigned char *sm,unsigned long long smlen,
00076 const ed25519_pubkey pk);
00077
00079 #endif