tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

ed25519_donna_tor.h (1514B)


      1 /* Added for Tor. */
      2 #ifndef SRC_EXT_ED25519_DONNA_H_INCLUDED_
      3 #define SRC_EXT_ED25519_DONNA_H_INCLUDED_
      4 #include "lib/cc/torint.h"
      5 
      6 typedef unsigned char curved25519_key[32];
      7 
      8 int ed25519_sign_open_batch_donna(const unsigned char **m, size_t *mlen, const unsigned char **pk, const unsigned char **RS, size_t num, int *valid);
      9 void curved25519_scalarmult_basepoint_donna(curved25519_key pk, const curved25519_key e);
     10 
     11 /* Tor specific interface to match the `ref10` glue code. */
     12 int ed25519_donna_selftest(void);
     13 int ed25519_donna_seckey(unsigned char *sk);
     14 int ed25519_donna_seckey_expand(unsigned char *sk, const unsigned char *sk_seed);
     15 int ed25519_donna_pubkey(unsigned char *pk, const unsigned char *sk);
     16 int ed25519_donna_keygen(unsigned char *pk, unsigned char *sk);
     17 
     18 int ed25519_donna_open(const unsigned char *signature, const unsigned char *m,
     19  size_t mlen, const unsigned char *pk);
     20 
     21 int ed25519_donna_sign(unsigned char *sig, const unsigned char *m, size_t mlen,
     22  const unsigned char *sk, const unsigned char *pk);
     23 
     24 int ed25519_donna_blind_secret_key(unsigned char *out, const unsigned char *inp,
     25  const unsigned char *param);
     26 
     27 int ed25519_donna_blind_public_key(unsigned char *out, const unsigned char *inp,
     28  const unsigned char *param);
     29 
     30 int ed25519_donna_pubkey_from_curve25519_pubkey(unsigned char *out,
     31  const unsigned char *inp, int signbit);
     32 
     33 
     34 int
     35 ed25519_donna_scalarmult_with_group_order(unsigned char *out,
     36                                          const unsigned char *pubkey);
     37 
     38 #endif