Sha256: 6ec9c07bd553f215634132c191eacf18312fe994614ec612ec88c85f20072730

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

#include "crypto_box_curve25519xsalsa20poly1305.h"
#include "utils.h"

int crypto_box_curve25519xsalsa20poly1305(
  unsigned char *c,
  const unsigned char *m,unsigned long long mlen,
  const unsigned char *n,
  const unsigned char *pk,
  const unsigned char *sk
)
{
  unsigned char k[crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES];
  int           ret;

  if (crypto_box_curve25519xsalsa20poly1305_beforenm(k,pk,sk) != 0) {
      return -1;
  }
  ret = crypto_box_curve25519xsalsa20poly1305_afternm(c,m,mlen,n,k);
  sodium_memzero(k, sizeof k);

  return ret;
}

int crypto_box_curve25519xsalsa20poly1305_open(
  unsigned char *m,
  const unsigned char *c,unsigned long long clen,
  const unsigned char *n,
  const unsigned char *pk,
  const unsigned char *sk
)
{
  unsigned char k[crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES];
  int           ret;

  if (crypto_box_curve25519xsalsa20poly1305_beforenm(k,pk,sk) != 0) {
      return -1;
  }
  ret = crypto_box_curve25519xsalsa20poly1305_open_afternm(m,c,clen,n,k);
  sodium_memzero(k, sizeof k);

  return ret;
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rbnacl-libsodium-1.0.11 vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
rbnacl-libsodium-1.0.10 vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
rbnacl-libsodium-1.0.9 vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
rbnacl-libsodium-1.0.8 vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
rbnacl-libsodium-1.0.7 vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c