Sha256: b01a74f38773c8011980a09be824a43a9d9d4f9817781f56e94f8eb154992e73

Contents?: true

Size: 790 Bytes

Versions: 3

Compression:

Stored size: 790 Bytes

Contents

/*
version 20080913
D. J. Bernstein
Public domain.
*/

#include "crypto_core_hsalsa20.h"
#include "crypto_stream_salsa20.h"
#include "crypto_stream_xsalsa20.h"
#include "utils.h"

int crypto_stream_xsalsa20_xor_ic(
        unsigned char *c,
  const unsigned char *m,unsigned long long mlen,
  const unsigned char *n,uint64_t ic,
  const unsigned char *k
)
{
  unsigned char subkey[32];
  int ret;
  crypto_core_hsalsa20(subkey,n,k,NULL);
  ret = crypto_stream_salsa20_xor_ic(c,m,mlen,n + 16,ic,subkey);
  sodium_memzero(subkey, sizeof subkey);
  return ret;
}

int crypto_stream_xsalsa20_xor(
        unsigned char *c,
  const unsigned char *m,unsigned long long mlen,
  const unsigned char *n,
  const unsigned char *k
)
{
  return crypto_stream_xsalsa20_xor_ic(c, m, mlen, n, 0ULL, k);
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rbnacl-libsodium-1.0.11 vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c
rbnacl-libsodium-1.0.10 vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c
rbnacl-libsodium-1.0.9 vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c