summaryrefslogtreecommitdiff
path: root/nacl/crypto_box/curve25519xsalsa20poly1305/ref/before.c
blob: 279bb12ad72793292c2d584a6ba282b062aa0aec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "crypto_core_hsalsa20.h"
#include "crypto_scalarmult_curve25519.h"
#include "crypto_box.h"

static const unsigned char sigma[16] = "expand 32-byte k";
static const unsigned char n[16] = {0};

int crypto_box_beforenm(
  unsigned char *k,
  const unsigned char *pk,
  const unsigned char *sk
)
{
  unsigned char s[32];
  crypto_scalarmult_curve25519(s,sk,pk);
  return crypto_core_hsalsa20(k,n,s,sigma);
}