blackjok3rtt
6 years ago
committed by
GitHub
110 changed files with 8810 additions and 164 deletions
@ -1,3 +1,4 @@ |
|||
.git |
|||
.vscode |
|||
cmake-build-debug |
|||
cmake-build-debug |
|||
target |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,70 @@ |
|||
|
|||
#ifndef sodium_H |
|||
#define sodium_H |
|||
|
|||
#include "sodium/version.h" |
|||
|
|||
#include "sodium/core.h" |
|||
#include "sodium/crypto_aead_aes256gcm.h" |
|||
#include "sodium/crypto_aead_chacha20poly1305.h" |
|||
#include "sodium/crypto_aead_xchacha20poly1305.h" |
|||
#include "sodium/crypto_auth.h" |
|||
#include "sodium/crypto_auth_hmacsha256.h" |
|||
#include "sodium/crypto_auth_hmacsha512.h" |
|||
#include "sodium/crypto_auth_hmacsha512256.h" |
|||
#include "sodium/crypto_box.h" |
|||
#include "sodium/crypto_box_curve25519xsalsa20poly1305.h" |
|||
#include "sodium/crypto_core_hsalsa20.h" |
|||
#include "sodium/crypto_core_hchacha20.h" |
|||
#include "sodium/crypto_core_salsa20.h" |
|||
#include "sodium/crypto_core_salsa2012.h" |
|||
#include "sodium/crypto_core_salsa208.h" |
|||
#include "sodium/crypto_generichash.h" |
|||
#include "sodium/crypto_generichash_blake2b.h" |
|||
#include "sodium/crypto_hash.h" |
|||
#include "sodium/crypto_hash_sha256.h" |
|||
#include "sodium/crypto_hash_sha512.h" |
|||
#include "sodium/crypto_kdf.h" |
|||
#include "sodium/crypto_kdf_blake2b.h" |
|||
#include "sodium/crypto_kx.h" |
|||
#include "sodium/crypto_onetimeauth.h" |
|||
#include "sodium/crypto_onetimeauth_poly1305.h" |
|||
#include "sodium/crypto_pwhash.h" |
|||
#include "sodium/crypto_pwhash_argon2i.h" |
|||
#include "sodium/crypto_scalarmult.h" |
|||
#include "sodium/crypto_scalarmult_curve25519.h" |
|||
#include "sodium/crypto_secretbox.h" |
|||
#include "sodium/crypto_secretbox_xsalsa20poly1305.h" |
|||
#include "sodium/crypto_secretstream_xchacha20poly1305.h" |
|||
#include "sodium/crypto_shorthash.h" |
|||
#include "sodium/crypto_shorthash_siphash24.h" |
|||
#include "sodium/crypto_sign.h" |
|||
#include "sodium/crypto_sign_ed25519.h" |
|||
#include "sodium/crypto_stream.h" |
|||
#include "sodium/crypto_stream_chacha20.h" |
|||
#include "sodium/crypto_stream_salsa20.h" |
|||
#include "sodium/crypto_stream_xsalsa20.h" |
|||
#include "sodium/crypto_verify_16.h" |
|||
#include "sodium/crypto_verify_32.h" |
|||
#include "sodium/crypto_verify_64.h" |
|||
#include "sodium/randombytes.h" |
|||
#ifdef __native_client__ |
|||
# include "sodium/randombytes_nativeclient.h" |
|||
#endif |
|||
#include "sodium/randombytes_salsa20_random.h" |
|||
#include "sodium/randombytes_sysrandom.h" |
|||
#include "sodium/runtime.h" |
|||
#include "sodium/utils.h" |
|||
|
|||
#ifndef SODIUM_LIBRARY_MINIMAL |
|||
# include "sodium/crypto_box_curve25519xchacha20poly1305.h" |
|||
# include "sodium/crypto_core_ed25519.h" |
|||
# include "sodium/crypto_scalarmult_ed25519.h" |
|||
# include "sodium/crypto_secretbox_xchacha20poly1305.h" |
|||
# include "sodium/crypto_pwhash_scryptsalsa208sha256.h" |
|||
# include "sodium/crypto_stream_salsa2012.h" |
|||
# include "sodium/crypto_stream_salsa208.h" |
|||
# include "sodium/crypto_stream_xchacha20.h" |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,28 @@ |
|||
|
|||
#ifndef sodium_core_H |
|||
#define sodium_core_H |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_init(void) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* ---- */ |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_set_misuse_handler(void (*handler)(void)); |
|||
|
|||
SODIUM_EXPORT |
|||
void sodium_misuse(void) |
|||
__attribute__ ((noreturn)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,171 @@ |
|||
#ifndef crypto_aead_aes256gcm_H |
|||
#define crypto_aead_aes256gcm_H |
|||
|
|||
/*
|
|||
* WARNING: Despite being the most popular AEAD construction due to its |
|||
* use in TLS, safely using AES-GCM in a different context is tricky. |
|||
* |
|||
* No more than ~ 350 GB of input data should be encrypted with a given key. |
|||
* This is for ~ 16 KB messages -- Actual figures vary according to |
|||
* message sizes. |
|||
* |
|||
* In addition, nonces are short and repeated nonces would totally destroy |
|||
* the security of this scheme. |
|||
* |
|||
* Nonces should thus come from atomic counters, which can be difficult to |
|||
* set up in a distributed environment. |
|||
* |
|||
* Unless you absolutely need AES-GCM, use crypto_aead_xchacha20poly1305_ietf_*() |
|||
* instead. It doesn't have any of these limitations. |
|||
* Or, if you don't need to authenticate additional data, just stick to |
|||
* crypto_secretbox(). |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_is_available(void); |
|||
|
|||
#define crypto_aead_aes256gcm_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_aes256gcm_keybytes(void); |
|||
|
|||
#define crypto_aead_aes256gcm_NSECBYTES 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_aes256gcm_nsecbytes(void); |
|||
|
|||
#define crypto_aead_aes256gcm_NPUBBYTES 12U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_aes256gcm_npubbytes(void); |
|||
|
|||
#define crypto_aead_aes256gcm_ABYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_aes256gcm_abytes(void); |
|||
|
|||
#define crypto_aead_aes256gcm_MESSAGEBYTES_MAX \ |
|||
SODIUM_MIN(SODIUM_SIZE_MAX - crypto_aead_aes256gcm_ABYTES, \ |
|||
(16ULL * ((1ULL << 32) - 2ULL)) - crypto_aead_aes256gcm_ABYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_aes256gcm_messagebytes_max(void); |
|||
|
|||
typedef CRYPTO_ALIGN(16) unsigned char crypto_aead_aes256gcm_state[512]; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_aes256gcm_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_encrypt(unsigned char *c, |
|||
unsigned long long *clen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_decrypt(unsigned char *m, |
|||
unsigned long long *mlen_p, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, |
|||
unsigned char *mac, |
|||
unsigned long long *maclen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *mac, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- Precomputation interface -- */ |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, |
|||
unsigned long long *clen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const crypto_aead_aes256gcm_state *ctx_); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, |
|||
unsigned long long *mlen_p, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const crypto_aead_aes256gcm_state *ctx_) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, |
|||
unsigned char *mac, |
|||
unsigned long long *maclen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const crypto_aead_aes256gcm_state *ctx_); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *mac, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const crypto_aead_aes256gcm_state *ctx_) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,174 @@ |
|||
#ifndef crypto_aead_chacha20poly1305_H |
|||
#define crypto_aead_chacha20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
/* -- IETF ChaCha20-Poly1305 construction with a 96-bit nonce and a 32-bit internal counter -- */ |
|||
|
|||
#define crypto_aead_chacha20poly1305_ietf_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_ietf_keybytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_ietf_NSECBYTES 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_ietf_nsecbytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_ietf_NPUBBYTES 12U |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_ietf_npubbytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_ietf_ABYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_ietf_abytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX \ |
|||
SODIUM_MIN(SODIUM_SIZE_MAX - crypto_aead_chacha20poly1305_ietf_ABYTES, \ |
|||
(64ULL * (1ULL << 32) - 64ULL) - crypto_aead_chacha20poly1305_ietf_ABYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_ietf_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_ietf_encrypt(unsigned char *c, |
|||
unsigned long long *clen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_ietf_decrypt(unsigned char *m, |
|||
unsigned long long *mlen_p, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c, |
|||
unsigned char *mac, |
|||
unsigned long long *maclen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_ietf_decrypt_detached(unsigned char *m, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *mac, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_aead_chacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_chacha20poly1305_ietf_KEYBYTES]); |
|||
|
|||
/* -- Original ChaCha20-Poly1305 construction with a 64-bit nonce and a 64-bit internal counter -- */ |
|||
|
|||
#define crypto_aead_chacha20poly1305_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_keybytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_NSECBYTES 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_nsecbytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_NPUBBYTES 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_npubbytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_ABYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_abytes(void); |
|||
|
|||
#define crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX \ |
|||
(SODIUM_SIZE_MAX - crypto_aead_chacha20poly1305_ABYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_chacha20poly1305_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_encrypt(unsigned char *c, |
|||
unsigned long long *clen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_decrypt(unsigned char *m, |
|||
unsigned long long *mlen_p, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_encrypt_detached(unsigned char *c, |
|||
unsigned char *mac, |
|||
unsigned long long *maclen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_chacha20poly1305_decrypt_detached(unsigned char *m, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *mac, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_aead_chacha20poly1305_keygen(unsigned char k[crypto_aead_chacha20poly1305_KEYBYTES]); |
|||
|
|||
/* Aliases */ |
|||
|
|||
#define crypto_aead_chacha20poly1305_IETF_KEYBYTES crypto_aead_chacha20poly1305_ietf_KEYBYTES |
|||
#define crypto_aead_chacha20poly1305_IETF_NSECBYTES crypto_aead_chacha20poly1305_ietf_NSECBYTES |
|||
#define crypto_aead_chacha20poly1305_IETF_NPUBBYTES crypto_aead_chacha20poly1305_ietf_NPUBBYTES |
|||
#define crypto_aead_chacha20poly1305_IETF_ABYTES crypto_aead_chacha20poly1305_ietf_ABYTES |
|||
#define crypto_aead_chacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,97 @@ |
|||
#ifndef crypto_aead_xchacha20poly1305_H |
|||
#define crypto_aead_xchacha20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void); |
|||
|
|||
#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void); |
|||
|
|||
#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void); |
|||
|
|||
#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_xchacha20poly1305_ietf_abytes(void); |
|||
|
|||
#define crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX \ |
|||
(SODIUM_SIZE_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c, |
|||
unsigned long long *clen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m, |
|||
unsigned long long *mlen_p, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c, |
|||
unsigned char *mac, |
|||
unsigned long long *maclen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *nsec, |
|||
const unsigned char *npub, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m, |
|||
unsigned char *nsec, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *mac, |
|||
const unsigned char *ad, |
|||
unsigned long long adlen, |
|||
const unsigned char *npub, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]); |
|||
|
|||
/* Aliases */ |
|||
|
|||
#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES crypto_aead_xchacha20poly1305_ietf_KEYBYTES |
|||
#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES crypto_aead_xchacha20poly1305_ietf_NSECBYTES |
|||
#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES crypto_aead_xchacha20poly1305_ietf_NPUBBYTES |
|||
#define crypto_aead_xchacha20poly1305_IETF_ABYTES crypto_aead_xchacha20poly1305_ietf_ABYTES |
|||
#define crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,44 @@ |
|||
#ifndef crypto_auth_H |
|||
#define crypto_auth_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_auth_hmacsha512256.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_bytes(void); |
|||
|
|||
#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_keybytes(void); |
|||
|
|||
#define crypto_auth_PRIMITIVE "hmacsha512256" |
|||
SODIUM_EXPORT |
|||
const char *crypto_auth_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_verify(const unsigned char *h, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_auth_keygen(unsigned char k[crypto_auth_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,68 @@ |
|||
#ifndef crypto_auth_hmacsha256_H |
|||
#define crypto_auth_hmacsha256_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_hash_sha256.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_auth_hmacsha256_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha256_bytes(void); |
|||
|
|||
#define crypto_auth_hmacsha256_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha256_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha256(unsigned char *out, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha256_verify(const unsigned char *h, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* ------------------------------------------------------------------------- */ |
|||
|
|||
typedef struct crypto_auth_hmacsha256_state { |
|||
crypto_hash_sha256_state ictx; |
|||
crypto_hash_sha256_state octx; |
|||
} crypto_auth_hmacsha256_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha256_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, |
|||
const unsigned char *key, |
|||
size_t keylen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, |
|||
unsigned char *out); |
|||
|
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_auth_hmacsha256_keygen(unsigned char k[crypto_auth_hmacsha256_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,67 @@ |
|||
#ifndef crypto_auth_hmacsha512_H |
|||
#define crypto_auth_hmacsha512_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_hash_sha512.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_auth_hmacsha512_BYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha512_bytes(void); |
|||
|
|||
#define crypto_auth_hmacsha512_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha512_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512(unsigned char *out, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512_verify(const unsigned char *h, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* ------------------------------------------------------------------------- */ |
|||
|
|||
typedef struct crypto_auth_hmacsha512_state { |
|||
crypto_hash_sha512_state ictx; |
|||
crypto_hash_sha512_state octx; |
|||
} crypto_auth_hmacsha512_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha512_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, |
|||
const unsigned char *key, |
|||
size_t keylen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, |
|||
unsigned char *out); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_auth_hmacsha512_keygen(unsigned char k[crypto_auth_hmacsha512_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,62 @@ |
|||
#ifndef crypto_auth_hmacsha512256_H |
|||
#define crypto_auth_hmacsha512256_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_auth_hmacsha512.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_auth_hmacsha512256_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha512256_bytes(void); |
|||
|
|||
#define crypto_auth_hmacsha512256_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha512256_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen,const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512256_verify(const unsigned char *h, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* ------------------------------------------------------------------------- */ |
|||
|
|||
typedef crypto_auth_hmacsha512_state crypto_auth_hmacsha512256_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_auth_hmacsha512256_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, |
|||
const unsigned char *key, |
|||
size_t keylen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, |
|||
unsigned char *out); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_auth_hmacsha512256_keygen(unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,173 @@ |
|||
#ifndef crypto_box_H |
|||
#define crypto_box_H |
|||
|
|||
/*
|
|||
* THREAD SAFETY: crypto_box_keypair() is thread-safe, |
|||
* provided that sodium_init() was called before. |
|||
* |
|||
* Other functions are always thread-safe. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_box_curve25519xsalsa20poly1305.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_box_SEEDBYTES crypto_box_curve25519xsalsa20poly1305_SEEDBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_seedbytes(void); |
|||
|
|||
#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_publickeybytes(void); |
|||
|
|||
#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_secretkeybytes(void); |
|||
|
|||
#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_noncebytes(void); |
|||
|
|||
#define crypto_box_MACBYTES crypto_box_curve25519xsalsa20poly1305_MACBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_macbytes(void); |
|||
|
|||
#define crypto_box_MESSAGEBYTES_MAX crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_messagebytes_max(void); |
|||
|
|||
#define crypto_box_PRIMITIVE "curve25519xsalsa20poly1305" |
|||
SODIUM_EXPORT |
|||
const char *crypto_box_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk, |
|||
const unsigned char *seed); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_keypair(unsigned char *pk, unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_easy(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *pk, const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_open_easy(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *pk, const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_detached(unsigned char *c, unsigned char *mac, |
|||
const unsigned char *m, unsigned long long mlen, |
|||
const unsigned char *n, const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_open_detached(unsigned char *m, const unsigned char *c, |
|||
const unsigned char *mac, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- Precomputation interface -- */ |
|||
|
|||
#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_beforenmbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_beforenm(unsigned char *k, const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_easy_afternm(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_open_easy_afternm(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_detached_afternm(unsigned char *c, unsigned char *mac, |
|||
const unsigned char *m, unsigned long long mlen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_open_detached_afternm(unsigned char *m, const unsigned char *c, |
|||
const unsigned char *mac, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- Ephemeral SK interface -- */ |
|||
|
|||
#define crypto_box_SEALBYTES (crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_sealbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_seal(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *pk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_seal_open(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *pk, const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- NaCl compatibility interface ; Requires padding -- */ |
|||
|
|||
#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_zerobytes(void); |
|||
|
|||
#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_boxzerobytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *pk, const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_open(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *pk, const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_afternm(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_open_afternm(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,159 @@ |
|||
|
|||
#ifndef crypto_box_curve25519xchacha20poly1305_H |
|||
#define crypto_box_curve25519xchacha20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_stream_xchacha20.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_SEEDBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_seedbytes(void); |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_publickeybytes(void); |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_secretkeybytes(void); |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_beforenmbytes(void); |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_NONCEBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_noncebytes(void); |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_MACBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_macbytes(void); |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX \ |
|||
(crypto_stream_xchacha20_MESSAGEBYTES_MAX - crypto_box_curve25519xchacha20poly1305_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_seed_keypair(unsigned char *pk, |
|||
unsigned char *sk, |
|||
const unsigned char *seed); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_keypair(unsigned char *pk, |
|||
unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_easy(unsigned char *c, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_open_easy(unsigned char *m, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_detached(unsigned char *c, |
|||
unsigned char *mac, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_open_detached(unsigned char *m, |
|||
const unsigned char *c, |
|||
const unsigned char *mac, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- Precomputation interface -- */ |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_beforenm(unsigned char *k, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_easy_afternm(unsigned char *c, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_open_easy_afternm(unsigned char *m, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_detached_afternm(unsigned char *c, |
|||
unsigned char *mac, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_open_detached_afternm(unsigned char *m, |
|||
const unsigned char *c, |
|||
const unsigned char *mac, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- Ephemeral SK interface -- */ |
|||
|
|||
#define crypto_box_curve25519xchacha20poly1305_SEALBYTES \ |
|||
(crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES + \ |
|||
crypto_box_curve25519xchacha20poly1305_MACBYTES) |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xchacha20poly1305_sealbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_seal(unsigned char *c, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *pk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xchacha20poly1305_seal_open(unsigned char *m, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,109 @@ |
|||
#ifndef crypto_box_curve25519xsalsa20poly1305_H |
|||
#define crypto_box_curve25519xsalsa20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_stream_xsalsa20.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_SEEDBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_seedbytes(void); |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void); |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void); |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void); |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_noncebytes(void); |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_MACBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_macbytes(void); |
|||
|
|||
/* Only for the libsodium API - The NaCl compatibility API would require BOXZEROBYTES extra bytes */ |
|||
#define crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX \ |
|||
(crypto_stream_xsalsa20_MESSAGEBYTES_MAX - crypto_box_curve25519xsalsa20poly1305_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk, |
|||
unsigned char *sk, |
|||
const unsigned char *seed); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk, |
|||
unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k, |
|||
const unsigned char *pk, |
|||
const unsigned char *sk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/* -- NaCl compatibility interface ; Requires padding -- */ |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void); |
|||
|
|||
#define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES \ |
|||
(crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES + \ |
|||
crypto_box_curve25519xsalsa20poly1305_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_box_curve25519xsalsa20poly1305_zerobytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
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) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
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) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *c, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *m, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,37 @@ |
|||
#ifndef crypto_core_ed25519_H |
|||
#define crypto_core_ed25519_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_core_ed25519_BYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_ed25519_bytes(void); |
|||
|
|||
#define crypto_core_ed25519_UNIFORMBYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_ed25519_uniformbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_ed25519_is_valid_point(const unsigned char *p); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_ed25519_add(unsigned char *r, |
|||
const unsigned char *p, const unsigned char *q); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_ed25519_sub(unsigned char *r, |
|||
const unsigned char *p, const unsigned char *q); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_ed25519_from_uniform(unsigned char *p, const unsigned char *r); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,35 @@ |
|||
#ifndef crypto_core_hchacha20_H |
|||
#define crypto_core_hchacha20_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_core_hchacha20_OUTPUTBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hchacha20_outputbytes(void); |
|||
|
|||
#define crypto_core_hchacha20_INPUTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hchacha20_inputbytes(void); |
|||
|
|||
#define crypto_core_hchacha20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hchacha20_keybytes(void); |
|||
|
|||
#define crypto_core_hchacha20_CONSTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hchacha20_constbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_hchacha20(unsigned char *out, const unsigned char *in, |
|||
const unsigned char *k, const unsigned char *c); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,35 @@ |
|||
#ifndef crypto_core_hsalsa20_H |
|||
#define crypto_core_hsalsa20_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_core_hsalsa20_OUTPUTBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hsalsa20_outputbytes(void); |
|||
|
|||
#define crypto_core_hsalsa20_INPUTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hsalsa20_inputbytes(void); |
|||
|
|||
#define crypto_core_hsalsa20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hsalsa20_keybytes(void); |
|||
|
|||
#define crypto_core_hsalsa20_CONSTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_hsalsa20_constbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_hsalsa20(unsigned char *out, const unsigned char *in, |
|||
const unsigned char *k, const unsigned char *c); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,35 @@ |
|||
#ifndef crypto_core_salsa20_H |
|||
#define crypto_core_salsa20_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_core_salsa20_OUTPUTBYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa20_outputbytes(void); |
|||
|
|||
#define crypto_core_salsa20_INPUTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa20_inputbytes(void); |
|||
|
|||
#define crypto_core_salsa20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa20_keybytes(void); |
|||
|
|||
#define crypto_core_salsa20_CONSTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa20_constbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_salsa20(unsigned char *out, const unsigned char *in, |
|||
const unsigned char *k, const unsigned char *c); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,35 @@ |
|||
#ifndef crypto_core_salsa2012_H |
|||
#define crypto_core_salsa2012_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_core_salsa2012_OUTPUTBYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa2012_outputbytes(void); |
|||
|
|||
#define crypto_core_salsa2012_INPUTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa2012_inputbytes(void); |
|||
|
|||
#define crypto_core_salsa2012_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa2012_keybytes(void); |
|||
|
|||
#define crypto_core_salsa2012_CONSTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa2012_constbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_salsa2012(unsigned char *out, const unsigned char *in, |
|||
const unsigned char *k, const unsigned char *c); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,39 @@ |
|||
#ifndef crypto_core_salsa208_H |
|||
#define crypto_core_salsa208_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_core_salsa208_OUTPUTBYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa208_outputbytes(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#define crypto_core_salsa208_INPUTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa208_inputbytes(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#define crypto_core_salsa208_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa208_keybytes(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#define crypto_core_salsa208_CONSTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_core_salsa208_constbytes(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_core_salsa208(unsigned char *out, const unsigned char *in, |
|||
const unsigned char *k, const unsigned char *c); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,75 @@ |
|||
#ifndef crypto_generichash_H |
|||
#define crypto_generichash_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_generichash_blake2b.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_generichash_BYTES_MIN crypto_generichash_blake2b_BYTES_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_bytes_min(void); |
|||
|
|||
#define crypto_generichash_BYTES_MAX crypto_generichash_blake2b_BYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_bytes_max(void); |
|||
|
|||
#define crypto_generichash_BYTES crypto_generichash_blake2b_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_bytes(void); |
|||
|
|||
#define crypto_generichash_KEYBYTES_MIN crypto_generichash_blake2b_KEYBYTES_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_keybytes_min(void); |
|||
|
|||
#define crypto_generichash_KEYBYTES_MAX crypto_generichash_blake2b_KEYBYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_keybytes_max(void); |
|||
|
|||
#define crypto_generichash_KEYBYTES crypto_generichash_blake2b_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_keybytes(void); |
|||
|
|||
#define crypto_generichash_PRIMITIVE "blake2b" |
|||
SODIUM_EXPORT |
|||
const char *crypto_generichash_primitive(void); |
|||
|
|||
typedef crypto_generichash_blake2b_state crypto_generichash_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash(unsigned char *out, size_t outlen, |
|||
const unsigned char *in, unsigned long long inlen, |
|||
const unsigned char *key, size_t keylen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_init(crypto_generichash_state *state, |
|||
const unsigned char *key, |
|||
const size_t keylen, const size_t outlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_update(crypto_generichash_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_final(crypto_generichash_state *state, |
|||
unsigned char *out, const size_t outlen); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_generichash_keygen(unsigned char k[crypto_generichash_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,117 @@ |
|||
#ifndef crypto_generichash_blake2b_H |
|||
#define crypto_generichash_blake2b_H |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include <stdlib.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) |
|||
# pragma pack(1) |
|||
#else |
|||
# pragma pack(push, 1) |
|||
#endif |
|||
|
|||
typedef struct CRYPTO_ALIGN(64) crypto_generichash_blake2b_state { |
|||
uint64_t h[8]; |
|||
uint64_t t[2]; |
|||
uint64_t f[2]; |
|||
uint8_t buf[2 * 128]; |
|||
size_t buflen; |
|||
uint8_t last_node; |
|||
} crypto_generichash_blake2b_state; |
|||
|
|||
#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) |
|||
# pragma pack() |
|||
#else |
|||
# pragma pack(pop) |
|||
#endif |
|||
|
|||
#define crypto_generichash_blake2b_BYTES_MIN 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_bytes_min(void); |
|||
|
|||
#define crypto_generichash_blake2b_BYTES_MAX 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_bytes_max(void); |
|||
|
|||
#define crypto_generichash_blake2b_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_bytes(void); |
|||
|
|||
#define crypto_generichash_blake2b_KEYBYTES_MIN 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_keybytes_min(void); |
|||
|
|||
#define crypto_generichash_blake2b_KEYBYTES_MAX 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_keybytes_max(void); |
|||
|
|||
#define crypto_generichash_blake2b_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_keybytes(void); |
|||
|
|||
#define crypto_generichash_blake2b_SALTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_saltbytes(void); |
|||
|
|||
#define crypto_generichash_blake2b_PERSONALBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_personalbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_generichash_blake2b_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_blake2b(unsigned char *out, size_t outlen, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *key, size_t keylen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_blake2b_salt_personal(unsigned char *out, size_t outlen, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *key, |
|||
size_t keylen, |
|||
const unsigned char *salt, |
|||
const unsigned char *personal); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state, |
|||
const unsigned char *key, |
|||
const size_t keylen, const size_t outlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_blake2b_init_salt_personal(crypto_generichash_blake2b_state *state, |
|||
const unsigned char *key, |
|||
const size_t keylen, const size_t outlen, |
|||
const unsigned char *salt, |
|||
const unsigned char *personal); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state, |
|||
unsigned char *out, |
|||
const size_t outlen); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_generichash_blake2b_keygen(unsigned char k[crypto_generichash_blake2b_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,40 @@ |
|||
#ifndef crypto_hash_H |
|||
#define crypto_hash_H |
|||
|
|||
/*
|
|||
* WARNING: Unless you absolutely need to use SHA512 for interoperatibility, |
|||
* purposes, you might want to consider crypto_generichash() instead. |
|||
* Unlike SHA512, crypto_generichash() is not vulnerable to length |
|||
* extension attacks. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_hash_sha512.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_hash_BYTES crypto_hash_sha512_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_hash_bytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
#define crypto_hash_PRIMITIVE "sha512" |
|||
SODIUM_EXPORT |
|||
const char *crypto_hash_primitive(void) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,57 @@ |
|||
#ifndef crypto_hash_sha256_H |
|||
#define crypto_hash_sha256_H |
|||
|
|||
/*
|
|||
* WARNING: Unless you absolutely need to use SHA256 for interoperatibility, |
|||
* purposes, you might want to consider crypto_generichash() instead. |
|||
* Unlike SHA256, crypto_generichash() is not vulnerable to length |
|||
* extension attacks. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include <stdlib.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
typedef struct crypto_hash_sha256_state { |
|||
uint32_t state[8]; |
|||
uint64_t count; |
|||
uint8_t buf[64]; |
|||
} crypto_hash_sha256_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_hash_sha256_statebytes(void); |
|||
|
|||
#define crypto_hash_sha256_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_hash_sha256_bytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha256(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha256_init(crypto_hash_sha256_state *state); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha256_update(crypto_hash_sha256_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha256_final(crypto_hash_sha256_state *state, |
|||
unsigned char *out); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,57 @@ |
|||
#ifndef crypto_hash_sha512_H |
|||
#define crypto_hash_sha512_H |
|||
|
|||
/*
|
|||
* WARNING: Unless you absolutely need to use SHA512 for interoperatibility, |
|||
* purposes, you might want to consider crypto_generichash() instead. |
|||
* Unlike SHA512, crypto_generichash() is not vulnerable to length |
|||
* extension attacks. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include <stdlib.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
typedef struct crypto_hash_sha512_state { |
|||
uint64_t state[8]; |
|||
uint64_t count[2]; |
|||
uint8_t buf[128]; |
|||
} crypto_hash_sha512_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_hash_sha512_statebytes(void); |
|||
|
|||
#define crypto_hash_sha512_BYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_hash_sha512_bytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha512(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha512_init(crypto_hash_sha512_state *state); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha512_update(crypto_hash_sha512_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_hash_sha512_final(crypto_hash_sha512_state *state, |
|||
unsigned char *out); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,51 @@ |
|||
#ifndef crypto_kdf_H |
|||
#define crypto_kdf_H |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
|
|||
#include "crypto_kdf_blake2b.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_kdf_BYTES_MIN crypto_kdf_blake2b_BYTES_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_bytes_min(void); |
|||
|
|||
#define crypto_kdf_BYTES_MAX crypto_kdf_blake2b_BYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_bytes_max(void); |
|||
|
|||
#define crypto_kdf_CONTEXTBYTES crypto_kdf_blake2b_CONTEXTBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_contextbytes(void); |
|||
|
|||
#define crypto_kdf_KEYBYTES crypto_kdf_blake2b_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_keybytes(void); |
|||
|
|||
#define crypto_kdf_PRIMITIVE "blake2b" |
|||
SODIUM_EXPORT |
|||
const char *crypto_kdf_primitive(void) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_kdf_derive_from_key(unsigned char *subkey, size_t subkey_len, |
|||
uint64_t subkey_id, |
|||
const char ctx[crypto_kdf_CONTEXTBYTES], |
|||
const unsigned char key[crypto_kdf_KEYBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_kdf_keygen(unsigned char k[crypto_kdf_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,42 @@ |
|||
#ifndef crypto_kdf_blake2b_H |
|||
#define crypto_kdf_blake2b_H |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
|
|||
#include "crypto_kdf_blake2b.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_kdf_blake2b_BYTES_MIN 16 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_blake2b_bytes_min(void); |
|||
|
|||
#define crypto_kdf_blake2b_BYTES_MAX 64 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_blake2b_bytes_max(void); |
|||
|
|||
#define crypto_kdf_blake2b_CONTEXTBYTES 8 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_blake2b_contextbytes(void); |
|||
|
|||
#define crypto_kdf_blake2b_KEYBYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kdf_blake2b_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_kdf_blake2b_derive_from_key(unsigned char *subkey, size_t subkey_len, |
|||
uint64_t subkey_id, |
|||
const char ctx[crypto_kdf_blake2b_CONTEXTBYTES], |
|||
const unsigned char key[crypto_kdf_blake2b_KEYBYTES]); |
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,64 @@ |
|||
#ifndef crypto_kx_H |
|||
#define crypto_kx_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_kx_PUBLICKEYBYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kx_publickeybytes(void); |
|||
|
|||
#define crypto_kx_SECRETKEYBYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kx_secretkeybytes(void); |
|||
|
|||
#define crypto_kx_SEEDBYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kx_seedbytes(void); |
|||
|
|||
#define crypto_kx_SESSIONKEYBYTES 32 |
|||
SODIUM_EXPORT |
|||
size_t crypto_kx_sessionkeybytes(void); |
|||
|
|||
#define crypto_kx_PRIMITIVE "x25519blake2b" |
|||
SODIUM_EXPORT |
|||
const char *crypto_kx_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], |
|||
unsigned char sk[crypto_kx_SECRETKEYBYTES], |
|||
const unsigned char seed[crypto_kx_SEEDBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], |
|||
unsigned char sk[crypto_kx_SECRETKEYBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], |
|||
unsigned char tx[crypto_kx_SESSIONKEYBYTES], |
|||
const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES], |
|||
const unsigned char client_sk[crypto_kx_SECRETKEYBYTES], |
|||
const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES]) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], |
|||
unsigned char tx[crypto_kx_SESSIONKEYBYTES], |
|||
const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES], |
|||
const unsigned char server_sk[crypto_kx_SECRETKEYBYTES], |
|||
const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES]) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,62 @@ |
|||
#ifndef crypto_onetimeauth_H |
|||
#define crypto_onetimeauth_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_onetimeauth_poly1305.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
typedef crypto_onetimeauth_poly1305_state crypto_onetimeauth_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_onetimeauth_statebytes(void); |
|||
|
|||
#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_onetimeauth_bytes(void); |
|||
|
|||
#define crypto_onetimeauth_KEYBYTES crypto_onetimeauth_poly1305_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_onetimeauth_keybytes(void); |
|||
|
|||
#define crypto_onetimeauth_PRIMITIVE "poly1305" |
|||
SODIUM_EXPORT |
|||
const char *crypto_onetimeauth_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_init(crypto_onetimeauth_state *state, |
|||
const unsigned char *key); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_update(crypto_onetimeauth_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_final(crypto_onetimeauth_state *state, |
|||
unsigned char *out); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_onetimeauth_keygen(unsigned char k[crypto_onetimeauth_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,67 @@ |
|||
#ifndef crypto_onetimeauth_poly1305_H |
|||
#define crypto_onetimeauth_poly1305_H |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#include <stdint.h> |
|||
#include <stdio.h> |
|||
#include <stdlib.h> |
|||
|
|||
#include <sys/types.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
typedef struct CRYPTO_ALIGN(16) crypto_onetimeauth_poly1305_state { |
|||
unsigned char opaque[256]; |
|||
} crypto_onetimeauth_poly1305_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_onetimeauth_poly1305_statebytes(void); |
|||
|
|||
#define crypto_onetimeauth_poly1305_BYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_onetimeauth_poly1305_bytes(void); |
|||
|
|||
#define crypto_onetimeauth_poly1305_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_onetimeauth_poly1305_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_poly1305(unsigned char *out, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_poly1305_verify(const unsigned char *h, |
|||
const unsigned char *in, |
|||
unsigned long long inlen, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state, |
|||
const unsigned char *key); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state, |
|||
const unsigned char *in, |
|||
unsigned long long inlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state, |
|||
unsigned char *out); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_onetimeauth_poly1305_keygen(unsigned char k[crypto_onetimeauth_poly1305_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,147 @@ |
|||
#ifndef crypto_pwhash_H |
|||
#define crypto_pwhash_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_pwhash_argon2i.h" |
|||
#include "crypto_pwhash_argon2id.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_pwhash_ALG_ARGON2I13 crypto_pwhash_argon2i_ALG_ARGON2I13 |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_alg_argon2i13(void); |
|||
|
|||
#define crypto_pwhash_ALG_ARGON2ID13 crypto_pwhash_argon2id_ALG_ARGON2ID13 |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_alg_argon2id13(void); |
|||
|
|||
#define crypto_pwhash_ALG_DEFAULT crypto_pwhash_ALG_ARGON2ID13 |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_alg_default(void); |
|||
|
|||
#define crypto_pwhash_BYTES_MIN crypto_pwhash_argon2id_BYTES_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_bytes_min(void); |
|||
|
|||
#define crypto_pwhash_BYTES_MAX crypto_pwhash_argon2id_BYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_bytes_max(void); |
|||
|
|||
#define crypto_pwhash_PASSWD_MIN crypto_pwhash_argon2id_PASSWD_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_passwd_min(void); |
|||
|
|||
#define crypto_pwhash_PASSWD_MAX crypto_pwhash_argon2id_PASSWD_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_passwd_max(void); |
|||
|
|||
#define crypto_pwhash_SALTBYTES crypto_pwhash_argon2id_SALTBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_saltbytes(void); |
|||
|
|||
#define crypto_pwhash_STRBYTES crypto_pwhash_argon2id_STRBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_strbytes(void); |
|||
|
|||
#define crypto_pwhash_STRPREFIX crypto_pwhash_argon2id_STRPREFIX |
|||
SODIUM_EXPORT |
|||
const char *crypto_pwhash_strprefix(void); |
|||
|
|||
#define crypto_pwhash_OPSLIMIT_MIN crypto_pwhash_argon2id_OPSLIMIT_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_opslimit_min(void); |
|||
|
|||
#define crypto_pwhash_OPSLIMIT_MAX crypto_pwhash_argon2id_OPSLIMIT_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_opslimit_max(void); |
|||
|
|||
#define crypto_pwhash_MEMLIMIT_MIN crypto_pwhash_argon2id_MEMLIMIT_MIN |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_memlimit_min(void); |
|||
|
|||
#define crypto_pwhash_MEMLIMIT_MAX crypto_pwhash_argon2id_MEMLIMIT_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_memlimit_max(void); |
|||
|
|||
#define crypto_pwhash_OPSLIMIT_INTERACTIVE crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_opslimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_MEMLIMIT_INTERACTIVE crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_memlimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_OPSLIMIT_MODERATE crypto_pwhash_argon2id_OPSLIMIT_MODERATE |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_opslimit_moderate(void); |
|||
|
|||
#define crypto_pwhash_MEMLIMIT_MODERATE crypto_pwhash_argon2id_MEMLIMIT_MODERATE |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_memlimit_moderate(void); |
|||
|
|||
#define crypto_pwhash_OPSLIMIT_SENSITIVE crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_opslimit_sensitive(void); |
|||
|
|||
#define crypto_pwhash_MEMLIMIT_SENSITIVE crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_memlimit_sensitive(void); |
|||
|
|||
/*
|
|||
* With this function, do not forget to store all parameters, including the |
|||
* algorithm identifier in order to produce deterministic output. |
|||
* The crypto_pwhash_* definitions, including crypto_pwhash_ALG_DEFAULT, |
|||
* may change. |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash(unsigned char * const out, unsigned long long outlen, |
|||
const char * const passwd, unsigned long long passwdlen, |
|||
const unsigned char * const salt, |
|||
unsigned long long opslimit, size_t memlimit, int alg) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/*
|
|||
* The output string already includes all the required parameters, including |
|||
* the algorithm identifier. The string is all that has to be stored in |
|||
* order to verify a password. |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_str(char out[crypto_pwhash_STRBYTES], |
|||
const char * const passwd, unsigned long long passwdlen, |
|||
unsigned long long opslimit, size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_str_alg(char out[crypto_pwhash_STRBYTES], |
|||
const char * const passwd, unsigned long long passwdlen, |
|||
unsigned long long opslimit, size_t memlimit, int alg) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_str_verify(const char str[crypto_pwhash_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_str_needs_rehash(const char str[crypto_pwhash_STRBYTES], |
|||
unsigned long long opslimit, size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#define crypto_pwhash_PRIMITIVE "argon2i" |
|||
SODIUM_EXPORT |
|||
const char *crypto_pwhash_primitive(void) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,122 @@ |
|||
#ifndef crypto_pwhash_argon2i_H |
|||
#define crypto_pwhash_argon2i_H |
|||
|
|||
#include <limits.h> |
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_pwhash_argon2i_ALG_ARGON2I13 1 |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2i_alg_argon2i13(void); |
|||
|
|||
#define crypto_pwhash_argon2i_BYTES_MIN 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_bytes_min(void); |
|||
|
|||
#define crypto_pwhash_argon2i_BYTES_MAX SODIUM_MIN(SODIUM_SIZE_MAX, 4294967295U) |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_bytes_max(void); |
|||
|
|||
#define crypto_pwhash_argon2i_PASSWD_MIN 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_passwd_min(void); |
|||
|
|||
#define crypto_pwhash_argon2i_PASSWD_MAX 4294967295U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_passwd_max(void); |
|||
|
|||
#define crypto_pwhash_argon2i_SALTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_saltbytes(void); |
|||
|
|||
#define crypto_pwhash_argon2i_STRBYTES 128U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_strbytes(void); |
|||
|
|||
#define crypto_pwhash_argon2i_STRPREFIX "$argon2i$" |
|||
SODIUM_EXPORT |
|||
const char *crypto_pwhash_argon2i_strprefix(void); |
|||
|
|||
#define crypto_pwhash_argon2i_OPSLIMIT_MIN 3U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_opslimit_min(void); |
|||
|
|||
#define crypto_pwhash_argon2i_OPSLIMIT_MAX 4294967295U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_opslimit_max(void); |
|||
|
|||
#define crypto_pwhash_argon2i_MEMLIMIT_MIN 8192U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_memlimit_min(void); |
|||
|
|||
#define crypto_pwhash_argon2i_MEMLIMIT_MAX \ |
|||
((SIZE_MAX >= 4398046510080U) ? 4398046510080U : (SIZE_MAX >= 2147483648U) ? 2147483648U : 32768U) |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_memlimit_max(void); |
|||
|
|||
#define crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE 4U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_opslimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE 33554432U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_memlimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_argon2i_OPSLIMIT_MODERATE 6U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_opslimit_moderate(void); |
|||
|
|||
#define crypto_pwhash_argon2i_MEMLIMIT_MODERATE 134217728U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_memlimit_moderate(void); |
|||
|
|||
#define crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_opslimit_sensitive(void); |
|||
|
|||
#define crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE 536870912U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2i_memlimit_sensitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2i(unsigned char * const out, |
|||
unsigned long long outlen, |
|||
const char * const passwd, |
|||
unsigned long long passwdlen, |
|||
const unsigned char * const salt, |
|||
unsigned long long opslimit, size_t memlimit, |
|||
int alg) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2i_str(char out[crypto_pwhash_argon2i_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen, |
|||
unsigned long long opslimit, size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2i_str_verify(const char str[crypto_pwhash_argon2i_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2i_str_needs_rehash(const char str[crypto_pwhash_argon2i_STRBYTES], |
|||
unsigned long long opslimit, size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,122 @@ |
|||
#ifndef crypto_pwhash_argon2id_H |
|||
#define crypto_pwhash_argon2id_H |
|||
|
|||
#include <limits.h> |
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_pwhash_argon2id_ALG_ARGON2ID13 2 |
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2id_alg_argon2id13(void); |
|||
|
|||
#define crypto_pwhash_argon2id_BYTES_MIN 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_bytes_min(void); |
|||
|
|||
#define crypto_pwhash_argon2id_BYTES_MAX SODIUM_MIN(SODIUM_SIZE_MAX, 4294967295U) |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_bytes_max(void); |
|||
|
|||
#define crypto_pwhash_argon2id_PASSWD_MIN 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_passwd_min(void); |
|||
|
|||
#define crypto_pwhash_argon2id_PASSWD_MAX 4294967295U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_passwd_max(void); |
|||
|
|||
#define crypto_pwhash_argon2id_SALTBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_saltbytes(void); |
|||
|
|||
#define crypto_pwhash_argon2id_STRBYTES 128U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_strbytes(void); |
|||
|
|||
#define crypto_pwhash_argon2id_STRPREFIX "$argon2id$" |
|||
SODIUM_EXPORT |
|||
const char *crypto_pwhash_argon2id_strprefix(void); |
|||
|
|||
#define crypto_pwhash_argon2id_OPSLIMIT_MIN 1U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_opslimit_min(void); |
|||
|
|||
#define crypto_pwhash_argon2id_OPSLIMIT_MAX 4294967295U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_opslimit_max(void); |
|||
|
|||
#define crypto_pwhash_argon2id_MEMLIMIT_MIN 8192U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_memlimit_min(void); |
|||
|
|||
#define crypto_pwhash_argon2id_MEMLIMIT_MAX \ |
|||
((SIZE_MAX >= 4398046510080U) ? 4398046510080U : (SIZE_MAX >= 2147483648U) ? 2147483648U : 32768U) |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_memlimit_max(void); |
|||
|
|||
#define crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE 2U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_opslimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE 67108864U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_memlimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_argon2id_OPSLIMIT_MODERATE 3U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_opslimit_moderate(void); |
|||
|
|||
#define crypto_pwhash_argon2id_MEMLIMIT_MODERATE 268435456U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_memlimit_moderate(void); |
|||
|
|||
#define crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE 4U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_opslimit_sensitive(void); |
|||
|
|||
#define crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE 1073741824U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_argon2id_memlimit_sensitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2id(unsigned char * const out, |
|||
unsigned long long outlen, |
|||
const char * const passwd, |
|||
unsigned long long passwdlen, |
|||
const unsigned char * const salt, |
|||
unsigned long long opslimit, size_t memlimit, |
|||
int alg) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2id_str(char out[crypto_pwhash_argon2id_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen, |
|||
unsigned long long opslimit, size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2id_str_verify(const char str[crypto_pwhash_argon2id_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_argon2id_str_needs_rehash(const char str[crypto_pwhash_argon2id_STRBYTES], |
|||
unsigned long long opslimit, size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,120 @@ |
|||
#ifndef crypto_pwhash_scryptsalsa208sha256_H |
|||
#define crypto_pwhash_scryptsalsa208sha256_H |
|||
|
|||
#include <limits.h> |
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_BYTES_MIN 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_bytes_min(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_BYTES_MAX \ |
|||
SODIUM_MIN(SODIUM_SIZE_MAX, 0x1fffffffe0ULL) |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_bytes_max(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN 0U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_passwd_min(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_passwd_max(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_SALTBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_saltbytes(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_STRBYTES 102U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_strbytes(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_STRPREFIX "$7$" |
|||
SODIUM_EXPORT |
|||
const char *crypto_pwhash_scryptsalsa208sha256_strprefix(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN 32768U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_opslimit_min(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX 4294967295U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_opslimit_max(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN 16777216U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_memlimit_min(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX \ |
|||
SODIUM_MIN(SIZE_MAX, 68719476736ULL) |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_memlimit_max(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE 524288U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE 16777216U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE 33554432U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void); |
|||
|
|||
#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE 1073741824U |
|||
SODIUM_EXPORT |
|||
size_t crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_scryptsalsa208sha256(unsigned char * const out, |
|||
unsigned long long outlen, |
|||
const char * const passwd, |
|||
unsigned long long passwdlen, |
|||
const unsigned char * const salt, |
|||
unsigned long long opslimit, |
|||
size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_scryptsalsa208sha256_str(char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen, |
|||
unsigned long long opslimit, |
|||
size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_scryptsalsa208sha256_str_verify(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], |
|||
const char * const passwd, |
|||
unsigned long long passwdlen) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t * passwd, size_t passwdlen, |
|||
const uint8_t * salt, size_t saltlen, |
|||
uint64_t N, uint32_t r, uint32_t p, |
|||
uint8_t * buf, size_t buflen) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_pwhash_scryptsalsa208sha256_str_needs_rehash(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], |
|||
unsigned long long opslimit, |
|||
size_t memlimit) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,45 @@ |
|||
#ifndef crypto_scalarmult_H |
|||
#define crypto_scalarmult_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_scalarmult_curve25519.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_scalarmult_bytes(void); |
|||
|
|||
#define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_scalarmult_scalarbytes(void); |
|||
|
|||
#define crypto_scalarmult_PRIMITIVE "curve25519" |
|||
SODIUM_EXPORT |
|||
const char *crypto_scalarmult_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_scalarmult_base(unsigned char *q, const unsigned char *n); |
|||
|
|||
/*
|
|||
* NOTE: Do not use the result of this function directly. |
|||
* |
|||
* Hash the result with the public keys in order to compute a shared |
|||
* secret key: H(q || client_pk || server_pk) |
|||
* |
|||
* Or unless this is not an option, use the crypto_kx() API instead. |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int crypto_scalarmult(unsigned char *q, const unsigned char *n, |
|||
const unsigned char *p) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,40 @@ |
|||
#ifndef crypto_scalarmult_curve25519_H |
|||
#define crypto_scalarmult_curve25519_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_scalarmult_curve25519_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_scalarmult_curve25519_bytes(void); |
|||
|
|||
#define crypto_scalarmult_curve25519_SCALARBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_scalarmult_curve25519_scalarbytes(void); |
|||
|
|||
/*
|
|||
* NOTE: Do not use the result of this function directly. |
|||
* |
|||
* Hash the result with the public keys in order to compute a shared |
|||
* secret key: H(q || client_pk || server_pk) |
|||
* |
|||
* Or unless this is not an option, use the crypto_kx() API instead. |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n, |
|||
const unsigned char *p) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,41 @@ |
|||
|
|||
#ifndef crypto_scalarmult_ed25519_H |
|||
#define crypto_scalarmult_ed25519_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_scalarmult_ed25519_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_scalarmult_ed25519_bytes(void); |
|||
|
|||
#define crypto_scalarmult_ed25519_SCALARBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_scalarmult_ed25519_scalarbytes(void); |
|||
|
|||
/*
|
|||
* NOTE: Do not use the result of this function directly. |
|||
* |
|||
* Hash the result with the public keys in order to compute a shared |
|||
* secret key: H(q || client_pk || server_pk) |
|||
* |
|||
* Or unless this is not an option, use the crypto_kx() API instead. |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int crypto_scalarmult_ed25519(unsigned char *q, const unsigned char *n, |
|||
const unsigned char *p) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_scalarmult_ed25519_base(unsigned char *q, const unsigned char *n); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,91 @@ |
|||
#ifndef crypto_secretbox_H |
|||
#define crypto_secretbox_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_secretbox_xsalsa20poly1305.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_keybytes(void); |
|||
|
|||
#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_noncebytes(void); |
|||
|
|||
#define crypto_secretbox_MACBYTES crypto_secretbox_xsalsa20poly1305_MACBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_macbytes(void); |
|||
|
|||
#define crypto_secretbox_PRIMITIVE "xsalsa20poly1305" |
|||
SODIUM_EXPORT |
|||
const char *crypto_secretbox_primitive(void); |
|||
|
|||
#define crypto_secretbox_MESSAGEBYTES_MAX crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_easy(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_detached(unsigned char *c, unsigned char *mac, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_open_detached(unsigned char *m, |
|||
const unsigned char *c, |
|||
const unsigned char *mac, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_secretbox_keygen(unsigned char k[crypto_secretbox_KEYBYTES]); |
|||
|
|||
/* -- NaCl compatibility interface ; Requires padding -- */ |
|||
|
|||
#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_zerobytes(void); |
|||
|
|||
#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_boxzerobytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_open(unsigned char *m, const unsigned char *c, |
|||
unsigned long long clen, const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,68 @@ |
|||
#ifndef crypto_secretbox_xchacha20poly1305_H |
|||
#define crypto_secretbox_xchacha20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_stream_xchacha20.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_secretbox_xchacha20poly1305_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xchacha20poly1305_keybytes(void); |
|||
|
|||
#define crypto_secretbox_xchacha20poly1305_NONCEBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xchacha20poly1305_noncebytes(void); |
|||
|
|||
#define crypto_secretbox_xchacha20poly1305_MACBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xchacha20poly1305_macbytes(void); |
|||
|
|||
#define crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX \ |
|||
(crypto_stream_xchacha20_MESSAGEBYTES_MAX - crypto_secretbox_xchacha20poly1305_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xchacha20poly1305_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_xchacha20poly1305_easy(unsigned char *c, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_xchacha20poly1305_open_easy(unsigned char *m, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_xchacha20poly1305_detached(unsigned char *c, |
|||
unsigned char *mac, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, |
|||
const unsigned char *c, |
|||
const unsigned char *mac, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,67 @@ |
|||
#ifndef crypto_secretbox_xsalsa20poly1305_H |
|||
#define crypto_secretbox_xsalsa20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_stream_xsalsa20.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_secretbox_xsalsa20poly1305_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xsalsa20poly1305_keybytes(void); |
|||
|
|||
#define crypto_secretbox_xsalsa20poly1305_NONCEBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xsalsa20poly1305_noncebytes(void); |
|||
|
|||
#define crypto_secretbox_xsalsa20poly1305_MACBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xsalsa20poly1305_macbytes(void); |
|||
|
|||
/* Only for the libsodium API - The NaCl compatibility API would require BOXZEROBYTES extra bytes */ |
|||
#define crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX \ |
|||
(crypto_stream_xsalsa20_MESSAGEBYTES_MAX - crypto_secretbox_xsalsa20poly1305_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xsalsa20poly1305_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_xsalsa20poly1305(unsigned char *c, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretbox_xsalsa20poly1305_open(unsigned char *m, |
|||
const unsigned char *c, |
|||
unsigned long long clen, |
|||
const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_secretbox_xsalsa20poly1305_keygen(unsigned char k[crypto_secretbox_xsalsa20poly1305_KEYBYTES]); |
|||
|
|||
/* -- NaCl compatibility interface ; Requires padding -- */ |
|||
|
|||
#define crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes(void); |
|||
|
|||
#define crypto_secretbox_xsalsa20poly1305_ZEROBYTES \ |
|||
(crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES + \ |
|||
crypto_secretbox_xsalsa20poly1305_MACBYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretbox_xsalsa20poly1305_zerobytes(void); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,102 @@ |
|||
#ifndef crypto_secretstream_xchacha20poly1305_H |
|||
#define crypto_secretstream_xchacha20poly1305_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_aead_xchacha20poly1305.h" |
|||
#include "crypto_stream_chacha20.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_ABYTES \ |
|||
(1U + crypto_aead_xchacha20poly1305_ietf_ABYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretstream_xchacha20poly1305_abytes(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_HEADERBYTES \ |
|||
crypto_aead_xchacha20poly1305_ietf_NPUBBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretstream_xchacha20poly1305_headerbytes(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_KEYBYTES \ |
|||
crypto_aead_xchacha20poly1305_ietf_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretstream_xchacha20poly1305_keybytes(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX \ |
|||
SODIUM_MIN(SODIUM_SIZE_MAX, ((1ULL << 32) - 2ULL) * 64ULL) |
|||
SODIUM_EXPORT |
|||
size_t crypto_secretstream_xchacha20poly1305_messagebytes_max(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_TAG_MESSAGE 0x00 |
|||
SODIUM_EXPORT |
|||
unsigned char crypto_secretstream_xchacha20poly1305_tag_message(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_TAG_PUSH 0x01 |
|||
SODIUM_EXPORT |
|||
unsigned char crypto_secretstream_xchacha20poly1305_tag_push(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_TAG_REKEY 0x02 |
|||
SODIUM_EXPORT |
|||
unsigned char crypto_secretstream_xchacha20poly1305_tag_rekey(void); |
|||
|
|||
#define crypto_secretstream_xchacha20poly1305_TAG_FINAL \ |
|||
(crypto_secretstream_xchacha20poly1305_TAG_PUSH | \ |
|||
crypto_secretstream_xchacha20poly1305_TAG_REKEY) |
|||
SODIUM_EXPORT |
|||
unsigned char crypto_secretstream_xchacha20poly1305_tag_final(void); |
|||
|
|||
typedef struct crypto_secretstream_xchacha20poly1305_state { |
|||
unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]; |
|||
unsigned char nonce[crypto_stream_chacha20_ietf_NONCEBYTES]; |
|||
unsigned char _pad[8]; |
|||
} crypto_secretstream_xchacha20poly1305_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_secretstream_xchacha20poly1305_statebytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_secretstream_xchacha20poly1305_keygen |
|||
(unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretstream_xchacha20poly1305_init_push |
|||
(crypto_secretstream_xchacha20poly1305_state *state, |
|||
unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES], |
|||
const unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretstream_xchacha20poly1305_push |
|||
(crypto_secretstream_xchacha20poly1305_state *state, |
|||
unsigned char *c, unsigned long long *clen_p, |
|||
const unsigned char *m, unsigned long long mlen, |
|||
const unsigned char *ad, unsigned long long adlen, unsigned char tag); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretstream_xchacha20poly1305_init_pull |
|||
(crypto_secretstream_xchacha20poly1305_state *state, |
|||
const unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES], |
|||
const unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_secretstream_xchacha20poly1305_pull |
|||
(crypto_secretstream_xchacha20poly1305_state *state, |
|||
unsigned char *m, unsigned long long *mlen_p, unsigned char *tag_p, |
|||
const unsigned char *c, unsigned long long clen, |
|||
const unsigned char *ad, unsigned long long adlen); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_secretstream_xchacha20poly1305_rekey |
|||
(crypto_secretstream_xchacha20poly1305_state *state); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,39 @@ |
|||
#ifndef crypto_shorthash_H |
|||
#define crypto_shorthash_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_shorthash_siphash24.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_shorthash_bytes(void); |
|||
|
|||
#define crypto_shorthash_KEYBYTES crypto_shorthash_siphash24_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_shorthash_keybytes(void); |
|||
|
|||
#define crypto_shorthash_PRIMITIVE "siphash24" |
|||
SODIUM_EXPORT |
|||
const char *crypto_shorthash_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_shorthash(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_shorthash_keygen(unsigned char k[crypto_shorthash_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,48 @@ |
|||
#ifndef crypto_shorthash_siphash24_H |
|||
#define crypto_shorthash_siphash24_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
/* -- 64-bit output -- */ |
|||
|
|||
#define crypto_shorthash_siphash24_BYTES 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_shorthash_siphash24_bytes(void); |
|||
|
|||
#define crypto_shorthash_siphash24_KEYBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_shorthash_siphash24_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k); |
|||
|
|||
#ifndef SODIUM_LIBRARY_MINIMAL |
|||
/* -- 128-bit output -- */ |
|||
|
|||
#define crypto_shorthash_siphashx24_BYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_shorthash_siphashx24_bytes(void); |
|||
|
|||
#define crypto_shorthash_siphashx24_KEYBYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_shorthash_siphashx24_keybytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_shorthash_siphashx24(unsigned char *out, const unsigned char *in, |
|||
unsigned long long inlen, const unsigned char *k); |
|||
#endif |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,103 @@ |
|||
#ifndef crypto_sign_H |
|||
#define crypto_sign_H |
|||
|
|||
/*
|
|||
* THREAD SAFETY: crypto_sign_keypair() is thread-safe, |
|||
* provided that sodium_init() was called before. |
|||
* |
|||
* Other functions, including crypto_sign_seed_keypair() are always thread-safe. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_sign_ed25519.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
typedef crypto_sign_ed25519ph_state crypto_sign_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_statebytes(void); |
|||
|
|||
#define crypto_sign_BYTES crypto_sign_ed25519_BYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_bytes(void); |
|||
|
|||
#define crypto_sign_SEEDBYTES crypto_sign_ed25519_SEEDBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_seedbytes(void); |
|||
|
|||
#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_publickeybytes(void); |
|||
|
|||
#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_secretkeybytes(void); |
|||
|
|||
#define crypto_sign_MESSAGEBYTES_MAX crypto_sign_ed25519_MESSAGEBYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_messagebytes_max(void); |
|||
|
|||
#define crypto_sign_PRIMITIVE "ed25519" |
|||
SODIUM_EXPORT |
|||
const char *crypto_sign_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, |
|||
const unsigned char *seed); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_keypair(unsigned char *pk, unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign(unsigned char *sm, unsigned long long *smlen_p, |
|||
const unsigned char *m, unsigned long long mlen, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_open(unsigned char *m, unsigned long long *mlen_p, |
|||
const unsigned char *sm, unsigned long long smlen, |
|||
const unsigned char *pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, |
|||
const unsigned char *m, unsigned long long mlen, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_verify_detached(const unsigned char *sig, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_init(crypto_sign_state *state); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_update(crypto_sign_state *state, |
|||
const unsigned char *m, unsigned long long mlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_final_create(crypto_sign_state *state, unsigned char *sig, |
|||
unsigned long long *siglen_p, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_final_verify(crypto_sign_state *state, unsigned char *sig, |
|||
const unsigned char *pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,114 @@ |
|||
#ifndef crypto_sign_ed25519_H |
|||
#define crypto_sign_ed25519_H |
|||
|
|||
#include <stddef.h> |
|||
#include "crypto_hash_sha512.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
typedef struct crypto_sign_ed25519ph_state { |
|||
crypto_hash_sha512_state hs; |
|||
} crypto_sign_ed25519ph_state; |
|||
|
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_ed25519ph_statebytes(void); |
|||
|
|||
#define crypto_sign_ed25519_BYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_ed25519_bytes(void); |
|||
|
|||
#define crypto_sign_ed25519_SEEDBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_ed25519_seedbytes(void); |
|||
|
|||
#define crypto_sign_ed25519_PUBLICKEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_ed25519_publickeybytes(void); |
|||
|
|||
#define crypto_sign_ed25519_SECRETKEYBYTES (32U + 32U) |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_ed25519_secretkeybytes(void); |
|||
|
|||
#define crypto_sign_ed25519_MESSAGEBYTES_MAX (SODIUM_SIZE_MAX - crypto_sign_ed25519_BYTES) |
|||
SODIUM_EXPORT |
|||
size_t crypto_sign_ed25519_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen_p, |
|||
const unsigned char *m, unsigned long long mlen, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen_p, |
|||
const unsigned char *sm, unsigned long long smlen, |
|||
const unsigned char *pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_detached(unsigned char *sig, |
|||
unsigned long long *siglen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_verify_detached(const unsigned char *sig, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk, |
|||
const unsigned char *seed); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk, |
|||
const unsigned char *ed25519_pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_sk_to_curve25519(unsigned char *curve25519_sk, |
|||
const unsigned char *ed25519_sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_sk_to_seed(unsigned char *seed, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519_sk_to_pk(unsigned char *pk, const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519ph_init(crypto_sign_ed25519ph_state *state); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519ph_update(crypto_sign_ed25519ph_state *state, |
|||
const unsigned char *m, |
|||
unsigned long long mlen); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519ph_final_create(crypto_sign_ed25519ph_state *state, |
|||
unsigned char *sig, |
|||
unsigned long long *siglen_p, |
|||
const unsigned char *sk); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_ed25519ph_final_verify(crypto_sign_ed25519ph_state *state, |
|||
unsigned char *sig, |
|||
const unsigned char *pk) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,55 @@ |
|||
#ifndef crypto_sign_edwards25519sha512batch_H |
|||
#define crypto_sign_edwards25519sha512batch_H |
|||
|
|||
/*
|
|||
* WARNING: This construction was a prototype, which should not be used |
|||
* any more in new projects. |
|||
* |
|||
* crypto_sign_edwards25519sha512batch is provided for applications |
|||
* initially built with NaCl, but as recommended by the author of this |
|||
* construction, new applications should use ed25519 instead. |
|||
* |
|||
* In Sodium, you should use the high-level crypto_sign_*() functions instead. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_sign_edwards25519sha512batch_BYTES 64U |
|||
#define crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES 32U |
|||
#define crypto_sign_edwards25519sha512batch_SECRETKEYBYTES (32U + 32U) |
|||
#define crypto_sign_edwards25519sha512batch_MESSAGEBYTES_MAX (SODIUM_SIZE_MAX - crypto_sign_edwards25519sha512batch_BYTES) |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_edwards25519sha512batch(unsigned char *sm, |
|||
unsigned long long *smlen_p, |
|||
const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *sk) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_edwards25519sha512batch_open(unsigned char *m, |
|||
unsigned long long *mlen_p, |
|||
const unsigned char *sm, |
|||
unsigned long long smlen, |
|||
const unsigned char *pk) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, |
|||
unsigned char *sk) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,56 @@ |
|||
#ifndef crypto_stream_H |
|||
#define crypto_stream_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "crypto_stream_xsalsa20.h" |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_keybytes(void); |
|||
|
|||
#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_noncebytes(void); |
|||
|
|||
#define crypto_stream_MESSAGEBYTES_MAX crypto_stream_xsalsa20_MESSAGEBYTES_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_messagebytes_max(void); |
|||
|
|||
#define crypto_stream_PRIMITIVE "xsalsa20" |
|||
SODIUM_EXPORT |
|||
const char *crypto_stream_primitive(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,98 @@ |
|||
#ifndef crypto_stream_chacha20_H |
|||
#define crypto_stream_chacha20_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_chacha20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_chacha20_keybytes(void); |
|||
|
|||
#define crypto_stream_chacha20_NONCEBYTES 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_chacha20_noncebytes(void); |
|||
|
|||
#define crypto_stream_chacha20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_chacha20_messagebytes_max(void); |
|||
|
|||
/* ChaCha20 with a 64-bit nonce and a 64-bit counter, as originally designed */ |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_chacha20(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, uint64_t ic, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_chacha20_keygen(unsigned char k[crypto_stream_chacha20_KEYBYTES]); |
|||
|
|||
/* ChaCha20 with a 96-bit nonce and a 32-bit counter (IETF) */ |
|||
|
|||
#define crypto_stream_chacha20_ietf_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_chacha20_ietf_keybytes(void); |
|||
|
|||
#define crypto_stream_chacha20_ietf_NONCEBYTES 12U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_chacha20_ietf_noncebytes(void); |
|||
|
|||
#define crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX \ |
|||
SODIUM_MIN(SODIUM_SIZE_MAX, 64ULL * (1ULL << 32)) |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_chacha20_ietf_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, uint32_t ic, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_chacha20_ietf_keygen(unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]); |
|||
|
|||
/* Aliases */ |
|||
|
|||
#define crypto_stream_chacha20_IETF_KEYBYTES crypto_stream_chacha20_ietf_KEYBYTES |
|||
#define crypto_stream_chacha20_IETF_NONCEBYTES crypto_stream_chacha20_ietf_NONCEBYTES |
|||
#define crypto_stream_chacha20_IETF_MESSAGEBYTES_MAX crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,57 @@ |
|||
#ifndef crypto_stream_salsa20_H |
|||
#define crypto_stream_salsa20_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_salsa20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa20_keybytes(void); |
|||
|
|||
#define crypto_stream_salsa20_NONCEBYTES 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa20_noncebytes(void); |
|||
|
|||
#define crypto_stream_salsa20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa20_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa20(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa20_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa20_xor_ic(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, uint64_t ic, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_salsa20_keygen(unsigned char k[crypto_stream_salsa20_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,50 @@ |
|||
#ifndef crypto_stream_salsa2012_H |
|||
#define crypto_stream_salsa2012_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_salsa2012_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa2012_keybytes(void); |
|||
|
|||
#define crypto_stream_salsa2012_NONCEBYTES 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa2012_noncebytes(void); |
|||
|
|||
#define crypto_stream_salsa2012_MESSAGEBYTES_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa2012_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa2012(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa2012_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_salsa2012_keygen(unsigned char k[crypto_stream_salsa2012_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,56 @@ |
|||
#ifndef crypto_stream_salsa208_H |
|||
#define crypto_stream_salsa208_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_salsa208_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa208_keybytes(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#define crypto_stream_salsa208_NONCEBYTES 8U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa208_noncebytes(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#define crypto_stream_salsa208_MESSAGEBYTES_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_salsa208_messagebytes_max(void) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa208(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_salsa208_keygen(unsigned char k[crypto_stream_salsa208_KEYBYTES]) |
|||
__attribute__ ((deprecated)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,57 @@ |
|||
#ifndef crypto_stream_xchacha20_H |
|||
#define crypto_stream_xchacha20_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_xchacha20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_xchacha20_keybytes(void); |
|||
|
|||
#define crypto_stream_xchacha20_NONCEBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_xchacha20_noncebytes(void); |
|||
|
|||
#define crypto_stream_xchacha20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_xchacha20_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_xchacha20(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_xchacha20_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_xchacha20_xor_ic(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, |
|||
const unsigned char *n, uint64_t ic, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_xchacha20_keygen(unsigned char k[crypto_stream_xchacha20_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,57 @@ |
|||
#ifndef crypto_stream_xsalsa20_H |
|||
#define crypto_stream_xsalsa20_H |
|||
|
|||
/*
|
|||
* WARNING: This is just a stream cipher. It is NOT authenticated encryption. |
|||
* While it provides some protection against eavesdropping, it does NOT |
|||
* provide any security against active attacks. |
|||
* Unless you know what you're doing, what you are looking for is probably |
|||
* the crypto_box functions. |
|||
*/ |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_stream_xsalsa20_KEYBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_xsalsa20_keybytes(void); |
|||
|
|||
#define crypto_stream_xsalsa20_NONCEBYTES 24U |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_xsalsa20_noncebytes(void); |
|||
|
|||
#define crypto_stream_xsalsa20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX |
|||
SODIUM_EXPORT |
|||
size_t crypto_stream_xsalsa20_messagebytes_max(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_xsalsa20(unsigned char *c, unsigned long long clen, |
|||
const unsigned char *n, const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_stream_xsalsa20_xor(unsigned char *c, const unsigned char *m, |
|||
unsigned long long mlen, const unsigned char *n, |
|||
const unsigned char *k); |
|||
|
|||
SODIUM_EXPORT |
|||
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); |
|||
|
|||
SODIUM_EXPORT |
|||
void crypto_stream_xsalsa20_keygen(unsigned char k[crypto_stream_xsalsa20_KEYBYTES]); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,23 @@ |
|||
#ifndef crypto_verify_16_H |
|||
#define crypto_verify_16_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_verify_16_BYTES 16U |
|||
SODIUM_EXPORT |
|||
size_t crypto_verify_16_bytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_verify_16(const unsigned char *x, const unsigned char *y) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,23 @@ |
|||
#ifndef crypto_verify_32_H |
|||
#define crypto_verify_32_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_verify_32_BYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t crypto_verify_32_bytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_verify_32(const unsigned char *x, const unsigned char *y) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,23 @@ |
|||
#ifndef crypto_verify_64_H |
|||
#define crypto_verify_64_H |
|||
|
|||
#include <stddef.h> |
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#define crypto_verify_64_BYTES 64U |
|||
SODIUM_EXPORT |
|||
size_t crypto_verify_64_bytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int crypto_verify_64(const unsigned char *x, const unsigned char *y) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,53 @@ |
|||
|
|||
#ifndef sodium_export_H |
|||
#define sodium_export_H |
|||
|
|||
#ifndef __GNUC__ |
|||
# ifdef __attribute__ |
|||
# undef __attribute__ |
|||
# endif |
|||
# define __attribute__(a) |
|||
#endif |
|||
|
|||
#ifdef SODIUM_STATIC |
|||
# define SODIUM_EXPORT |
|||
# define SODIUM_EXPORT_WEAK |
|||
#else |
|||
# if defined(_MSC_VER) |
|||
# ifdef SODIUM_DLL_EXPORT |
|||
# define SODIUM_EXPORT __declspec(dllexport) |
|||
# else |
|||
# define SODIUM_EXPORT __declspec(dllimport) |
|||
# endif |
|||
# else |
|||
# if defined(__SUNPRO_C) |
|||
# ifndef __GNU_C__ |
|||
# define SODIUM_EXPORT __attribute__ (visibility(__global)) |
|||
# else |
|||
# define SODIUM_EXPORT __attribute__ __global |
|||
# endif |
|||
# elif defined(_MSG_VER) |
|||
# define SODIUM_EXPORT extern __declspec(dllexport) |
|||
# else |
|||
# define SODIUM_EXPORT __attribute__ ((visibility ("default"))) |
|||
# endif |
|||
# endif |
|||
# if defined(__ELF__) && !defined(SODIUM_DISABLE_WEAK_FUNCTIONS) |
|||
# define SODIUM_EXPORT_WEAK SODIUM_EXPORT __attribute__((weak)) |
|||
# else |
|||
# define SODIUM_EXPORT_WEAK SODIUM_EXPORT |
|||
# endif |
|||
#endif |
|||
|
|||
#ifndef CRYPTO_ALIGN |
|||
# if defined(__INTEL_COMPILER) || defined(_MSC_VER) |
|||
# define CRYPTO_ALIGN(x) __declspec(align(x)) |
|||
# else |
|||
# define CRYPTO_ALIGN(x) __attribute__ ((aligned(x))) |
|||
# endif |
|||
#endif |
|||
|
|||
#define SODIUM_MIN(A, B) ((A) < (B) ? (A) : (B)) |
|||
#define SODIUM_SIZE_MAX SODIUM_MIN(UINT64_MAX, SIZE_MAX) |
|||
|
|||
#endif |
@ -0,0 +1,68 @@ |
|||
|
|||
#ifndef randombytes_H |
|||
#define randombytes_H |
|||
|
|||
#include <stddef.h> |
|||
#include <stdint.h> |
|||
|
|||
#include <sys/types.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
# ifdef __GNUC__ |
|||
# pragma GCC diagnostic ignored "-Wlong-long" |
|||
# endif |
|||
extern "C" { |
|||
#endif |
|||
|
|||
typedef struct randombytes_implementation { |
|||
const char *(*implementation_name)(void); /* required */ |
|||
uint32_t (*random)(void); /* required */ |
|||
void (*stir)(void); /* optional */ |
|||
uint32_t (*uniform)(const uint32_t upper_bound); /* optional, a default implementation will be used if NULL */ |
|||
void (*buf)(void * const buf, const size_t size); /* required */ |
|||
int (*close)(void); /* optional */ |
|||
} randombytes_implementation; |
|||
|
|||
#define randombytes_BYTES_MAX SODIUM_MIN(SODIUM_SIZE_MAX, 0xffffffffUL) |
|||
|
|||
#define randombytes_SEEDBYTES 32U |
|||
SODIUM_EXPORT |
|||
size_t randombytes_seedbytes(void); |
|||
|
|||
SODIUM_EXPORT |
|||
void randombytes_buf(void * const buf, const size_t size); |
|||
|
|||
SODIUM_EXPORT |
|||
void randombytes_buf_deterministic(void * const buf, const size_t size, |
|||
const unsigned char seed[randombytes_SEEDBYTES]); |
|||
|
|||
SODIUM_EXPORT |
|||
uint32_t randombytes_random(void); |
|||
|
|||
SODIUM_EXPORT |
|||
uint32_t randombytes_uniform(const uint32_t upper_bound); |
|||
|
|||
SODIUM_EXPORT |
|||
void randombytes_stir(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int randombytes_close(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int randombytes_set_implementation(randombytes_implementation *impl); |
|||
|
|||
SODIUM_EXPORT |
|||
const char *randombytes_implementation_name(void); |
|||
|
|||
/* -- NaCl compatibility interface -- */ |
|||
|
|||
SODIUM_EXPORT |
|||
void randombytes(unsigned char * const buf, const unsigned long long buf_len); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,19 @@ |
|||
|
|||
#ifndef randombytes_salsa20_random_H |
|||
#define randombytes_salsa20_random_H |
|||
|
|||
#include "export.h" |
|||
#include "randombytes.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
SODIUM_EXPORT |
|||
extern struct randombytes_implementation randombytes_salsa20_implementation; |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,19 @@ |
|||
|
|||
#ifndef randombytes_sysrandom_H |
|||
#define randombytes_sysrandom_H |
|||
|
|||
#include "export.h" |
|||
#include "randombytes.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
SODIUM_EXPORT |
|||
extern struct randombytes_implementation randombytes_sysrandom_implementation; |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,52 @@ |
|||
|
|||
#ifndef sodium_runtime_H |
|||
#define sodium_runtime_H |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_neon(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_sse2(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_sse3(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_ssse3(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_sse41(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_avx(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_avx2(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_avx512f(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_pclmul(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_aesni(void); |
|||
|
|||
SODIUM_EXPORT_WEAK |
|||
int sodium_runtime_has_rdrand(void); |
|||
|
|||
/* ------------------------------------------------------------------------- */ |
|||
|
|||
int _sodium_runtime_get_cpu_features(void); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,170 @@ |
|||
|
|||
#ifndef sodium_utils_H |
|||
#define sodium_utils_H |
|||
|
|||
#include <stddef.h> |
|||
|
|||
#include "export.h" |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#ifndef SODIUM_C99 |
|||
# if defined(__cplusplus) || !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L |
|||
# define SODIUM_C99(X) |
|||
# else |
|||
# define SODIUM_C99(X) X |
|||
# endif |
|||
#endif |
|||
|
|||
SODIUM_EXPORT |
|||
void sodium_memzero(void * const pnt, const size_t len); |
|||
|
|||
SODIUM_EXPORT |
|||
void sodium_stackzero(const size_t len); |
|||
|
|||
/*
|
|||
* WARNING: sodium_memcmp() must be used to verify if two secret keys |
|||
* are equal, in constant time. |
|||
* It returns 0 if the keys are equal, and -1 if they differ. |
|||
* This function is not designed for lexicographical comparisons. |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int sodium_memcmp(const void * const b1_, const void * const b2_, size_t len) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
/*
|
|||
* sodium_compare() returns -1 if b1_ < b2_, 1 if b1_ > b2_ and 0 if b1_ == b2_ |
|||
* It is suitable for lexicographical comparisons, or to compare nonces |
|||
* and counters stored in little-endian format. |
|||
* However, it is slower than sodium_memcmp(). |
|||
*/ |
|||
SODIUM_EXPORT |
|||
int sodium_compare(const unsigned char *b1_, const unsigned char *b2_, |
|||
size_t len) |
|||
__attribute__ ((warn_unused_result)); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_is_zero(const unsigned char *n, const size_t nlen); |
|||
|
|||
SODIUM_EXPORT |
|||
void sodium_increment(unsigned char *n, const size_t nlen); |
|||
|
|||
SODIUM_EXPORT |
|||
void sodium_add(unsigned char *a, const unsigned char *b, const size_t len); |
|||
|
|||
SODIUM_EXPORT |
|||
char *sodium_bin2hex(char * const hex, const size_t hex_maxlen, |
|||
const unsigned char * const bin, const size_t bin_len); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_hex2bin(unsigned char * const bin, const size_t bin_maxlen, |
|||
const char * const hex, const size_t hex_len, |
|||
const char * const ignore, size_t * const bin_len, |
|||
const char ** const hex_end); |
|||
|
|||
#define sodium_base64_VARIANT_ORIGINAL 1 |
|||
#define sodium_base64_VARIANT_ORIGINAL_NO_PADDING 3 |
|||
#define sodium_base64_VARIANT_URLSAFE 5 |
|||
#define sodium_base64_VARIANT_URLSAFE_NO_PADDING 7 |
|||
|
|||
/*
|
|||
* Computes the required length to encode BIN_LEN bytes as a base64 string |
|||
* using the given variant. The computed length includes a trailing \0. |
|||
*/ |
|||
#define sodium_base64_ENCODED_LEN(BIN_LEN, VARIANT) \ |
|||
(((BIN_LEN) / 3U) * 4U + \ |
|||
((((BIN_LEN) - ((BIN_LEN) / 3U) * 3U) | (((BIN_LEN) - ((BIN_LEN) / 3U) * 3U) >> 1)) & 1U) * \ |
|||
(4U - (~((((VARIANT) & 2U) >> 1) - 1U) & (3U - ((BIN_LEN) - ((BIN_LEN) / 3U) * 3U)))) + 1U) |
|||
|
|||
SODIUM_EXPORT |
|||
size_t sodium_base64_encoded_len(const size_t bin_len, const int variant); |
|||
|
|||
SODIUM_EXPORT |
|||
char *sodium_bin2base64(char * const b64, const size_t b64_maxlen, |
|||
const unsigned char * const bin, const size_t bin_len, |
|||
const int variant); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_base642bin(unsigned char * const bin, const size_t bin_maxlen, |
|||
const char * const b64, const size_t b64_len, |
|||
const char * const ignore, size_t * const bin_len, |
|||
const char ** const b64_end, const int variant); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_mlock(void * const addr, const size_t len); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_munlock(void * const addr, const size_t len); |
|||
|
|||
/* WARNING: sodium_malloc() and sodium_allocarray() are not general-purpose
|
|||
* allocation functions. |
|||
* |
|||
* They return a pointer to a region filled with 0xd0 bytes, immediately |
|||
* followed by a guard page. |
|||
* As a result, accessing a single byte after the requested allocation size |
|||
* will intentionally trigger a segmentation fault. |
|||
* |
|||
* A canary and an additional guard page placed before the beginning of the |
|||
* region may also kill the process if a buffer underflow is detected. |
|||
* |
|||
* The memory layout is: |
|||
* [unprotected region size (read only)][guard page (no access)][unprotected pages (read/write)][guard page (no access)] |
|||
* With the layout of the unprotected pages being: |
|||
* [optional padding][16-bytes canary][user region] |
|||
* |
|||
* However: |
|||
* - These functions are significantly slower than standard functions |
|||
* - Each allocation requires 3 or 4 additional pages |
|||
* - The returned address will not be aligned if the allocation size is not |
|||
* a multiple of the required alignment. For this reason, these functions |
|||
* are designed to store data, such as secret keys and messages. |
|||
* |
|||
* sodium_malloc() can be used to allocate any libsodium data structure. |
|||
* |
|||
* The crypto_generichash_state structure is packed and its length is |
|||
* either 357 or 361 bytes. For this reason, when using sodium_malloc() to |
|||
* allocate a crypto_generichash_state structure, padding must be added in |
|||
* order to ensure proper alignment. crypto_generichash_statebytes() |
|||
* returns the rounded up structure size, and should be prefered to sizeof(): |
|||
* state = sodium_malloc(crypto_generichash_statebytes()); |
|||
*/ |
|||
|
|||
SODIUM_EXPORT |
|||
void *sodium_malloc(const size_t size) |
|||
__attribute__ ((malloc)); |
|||
|
|||
SODIUM_EXPORT |
|||
void *sodium_allocarray(size_t count, size_t size) |
|||
__attribute__ ((malloc)); |
|||
|
|||
SODIUM_EXPORT |
|||
void sodium_free(void *ptr); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_mprotect_noaccess(void *ptr); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_mprotect_readonly(void *ptr); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_mprotect_readwrite(void *ptr); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_pad(size_t *padded_buflen_p, unsigned char *buf, |
|||
size_t unpadded_buflen, size_t blocksize, size_t max_buflen); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_unpad(size_t *unpadded_buflen_p, const unsigned char *buf, |
|||
size_t padded_buflen, size_t blocksize); |
|||
|
|||
/* -------- */ |
|||
|
|||
int _sodium_alloc_init(void); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -0,0 +1,33 @@ |
|||
|
|||
#ifndef sodium_version_H |
|||
#define sodium_version_H |
|||
|
|||
#include "export.h" |
|||
|
|||
#define SODIUM_VERSION_STRING "1.0.16" |
|||
|
|||
#define SODIUM_LIBRARY_VERSION_MAJOR 10 |
|||
#define SODIUM_LIBRARY_VERSION_MINOR 1 |
|||
|
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
SODIUM_EXPORT |
|||
const char *sodium_version_string(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_library_version_major(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_library_version_minor(void); |
|||
|
|||
SODIUM_EXPORT |
|||
int sodium_library_minimal(void); |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif |
@ -1 +1 @@ |
|||
Subproject commit e804e95d9a71e87fc5e3e69a2888448f23bc724f |
|||
Subproject commit e4e76865e2726bbe9315ab4b26dbda3a7ae536f1 |
@ -0,0 +1,2 @@ |
|||
#!/bin/bash |
|||
curl --url "http://127.0.0.1:7776" --data "{\"conf\":\"gincoin.conf\",\"path\":\"${HOME#"/"}/.gincoincore\",\"prefetchlag\":-1,\"poll\":1,\"active\":1,\"agent\":\"iguana\",\"method\":\"addcoin\",\"newcoin\":\"GIN\",\"startpend\":64,\"endpend\":64,\"services\":0,\"maxpeers\":512,\"RELAY\":-1,\"VALIDATE\":0,\"portp2p\":10111,\"minconfirms\":1,\"name\":\"gincoin\",\"netmagic\":\"bf0c6bbd\",\"p2p\":10111,\"rpc\":10211,\"pubval\":38,\"p2shval\":10,\"wifval\":198}" |
@ -0,0 +1 @@ |
|||
curl --url "http://127.0.0.1:7776" --data "{\"conf\":\"ILN.conf\",\"path\":\"${HOME#"/"}/.komodo/ILN\",\"unitval\":\"20\",\"zcash\":1,\"RELAY\":-1,\"VALIDATE\":0,\"prefetchlag\":-1,\"poll\":100,\"active\":1,\"sapling\":1,\"agent\":\"iguana\",\"method\":\"addcoin\",\"startpend\":4,\"endpend\":4,\"services\":129,\"maxpeers\":8,\"newcoin\":\"ILN\",\"name\":\"ILN\",\"hasheaders\":1,\"useaddmultisig\":0,\"netmagic\":\"feb4cb23\",\"p2p\":12985,\"rpc\":12986,\"pubval\":60,\"p2shval\":85,\"wifval\":188,\"txfee_satoshis\":\"10000\",\"isPoS\":0,\"minoutput\":10000,\"minconfirms\":2,\"genesishash\":\"027e3758c3a65b12aa1046462b486d0a63bfa1beae327897f56c5cfb7daaae71\",\"protover\":170002,\"genesisblock\":\"0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000000000000000000000000000000000000000000000000000000000000029ab5f490f0f0f200b00000000000000000000000000000000000000000000000000000000000000fd4005000d5ba7cda5d473947263bf194285317179d2b0d307119c2e7cc4bd8ac456f0774bd52b0cd9249be9d40718b6397a4c7bbd8f2b3272fed2823cd2af4bd1632200ba4bf796727d6347b225f670f292343274cc35099466f5fb5f0cd1c105121b28213d15db2ed7bdba490b4cedc69742a57b7c25af24485e523aadbb77a0144fc76f79ef73bd8530d42b9f3b9bed1c135ad1fe152923fafe98f95f76f1615e64c4abb1137f4c31b218ba2782bc15534788dda2cc08a0ee2987c8b27ff41bd4e31cd5fb5643dfe862c9a02ca9f90c8c51a6671d681d04ad47e4b53b1518d4befafefe8cadfb912f3d03051b1efbf1dfe37b56e93a741d8dfd80d576ca250bee55fab1311fc7b3255977558cdda6f7d6f875306e43a14413facdaed2f46093e0ef1e8f8a963e1632dcbeebd8e49fd16b57d49b08f9762de89157c65233f60c8e38a1f503a48c555f8ec45dedecd574a37601323c27be597b956343107f8bd80f3a925afaf30811df83c402116bb9c1e5231c70fff899a7c82f73c902ba54da53cc459b7bf1113db65cc8f6914d3618560ea69abd13658fa7b6af92d374d6eca9529f8bd565166e4fcbf2a8dfb3c9b69539d4d2ee2e9321b85b331925df195915f2757637c2805e1d4131e1ad9ef9bc1bb1c732d8dba4738716d351ab30c996c8657bab39567ee3b29c6d054b711495c0d52e1cd5d8e55b4f0f0325b97369280755b46a02afd54be4ddd9f77c22272b8bbb17ff5118fedbae2564524e797bd28b5f74f7079d532ccc059807989f94d267f47e724b3f1ecfe00ec9e6541c961080d8891251b84b4480bc292f6a180bea089fef5bbda56e1e41390d7c0e85ba0ef530f7177413481a226465a36ef6afe1e2bca69d2078712b3912bba1a99b1fbff0d355d6ffe726d2bb6fbc103c4ac5756e5bee6e47e17424ebcbf1b63d8cb90ce2e40198b4f4198689daea254307e52a25562f4c1455340f0ffeb10f9d8e914775e37d0edca019fb1b9c6ef81255ed86bc51c5391e0591480f66e2d88c5f4fd7277697968656a9b113ab97f874fdd5f2465e5559533e01ba13ef4a8f7a21d02c30c8ded68e8c54603ab9c8084ef6d9eb4e92c75b078539e2ae786ebab6dab73a09e0aa9ac575bcefb29e930ae656e58bcb513f7e3c17e079dce4f05b5dbc18c2a872b22509740ebe6a3903e00ad1abc55076441862643f93606e3dc35e8d9f2caef3ee6be14d513b2e062b21d0061de3bd56881713a1a5c17f5ace05e1ec09da53f99442df175a49bd154aa96e4949decd52fed79ccf7ccbce32941419c314e374e4a396ac553e17b5340336a1a25c22f9e42a243ba5404450b650acfc826a6e432971ace776e15719515e1634ceb9a4a35061b668c74998d3dfb5827f6238ec015377e6f9c94f38108768cf6e5c8b132e0303fb5a200368f845ad9d46343035a6ff94031df8d8309415bb3f6cd5ede9c135fdabcc030599858d803c0f85be7661c88984d88faa3d26fb0e9aac0056a53f1b5d0baed713c853c4a2726869a0a124a8a5bbc0fc0ef80c8ae4cb53636aa02503b86a1eb9836fcc259823e2692d921d88e1ffc1e6cb2bde43939ceb3f32a611686f539f8f7c9f0bf00381f743607d40960f06d347d1cd8ac8a51969c25e37150efdf7aa4c2037a2fd0516fb444525ab157a0ed0a7412b2fa69b217fe397263153782c0f64351fbdf2678fa0dc8569912dcd8e3ccad38f34f23bbbce14c6a26ac24911b308b82c7e43062d180baeac4ba7153858365c72c63dcf5f6a5b08070b730adb017aeae925b7d0439979e2679f45ed2f25a7edcfd2fb77a8794630285ccb0a071f5cce410b46dbf9750b0354aae8b65574501cc69efb5b6a43444074fee116641bb29da56c2b4a7f456991fc92b2\",\"debug\":0,\"seedipaddr\":\"78.47.196.146\"}" |
@ -0,0 +1 @@ |
|||
curl --url "http://127.0.0.1:7776" --data "{\"conf\":\"OUR.conf\",\"path\":\"${HOME#"/"}/.komodo/OUR\",\"unitval\":\"20\",\"zcash\":1,\"RELAY\":-1,\"VALIDATE\":0,\"prefetchlag\":-1,\"poll\":100,\"active\":1,\"sapling\":1,\"agent\":\"iguana\",\"method\":\"addcoin\",\"startpend\":4,\"endpend\":4,\"services\":129,\"maxpeers\":8,\"newcoin\":\"OUR\",\"name\":\"OUR\",\"hasheaders\":1,\"useaddmultisig\":0,\"netmagic\":\"a78666b7\",\"p2p\":45671,\"rpc\":45672,\"pubval\":60,\"p2shval\":85,\"wifval\":188,\"txfee_satoshis\":\"10000\",\"isPoS\":0,\"minoutput\":10000,\"minconfirms\":2,\"genesishash\":\"027e3758c3a65b12aa1046462b486d0a63bfa1beae327897f56c5cfb7daaae71\",\"protover\":170002,\"genesisblock\":\"0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000000000000000000000000000000000000000000000000000000000000029ab5f490f0f0f200b00000000000000000000000000000000000000000000000000000000000000fd4005000d5ba7cda5d473947263bf194285317179d2b0d307119c2e7cc4bd8ac456f0774bd52b0cd9249be9d40718b6397a4c7bbd8f2b3272fed2823cd2af4bd1632200ba4bf796727d6347b225f670f292343274cc35099466f5fb5f0cd1c105121b28213d15db2ed7bdba490b4cedc69742a57b7c25af24485e523aadbb77a0144fc76f79ef73bd8530d42b9f3b9bed1c135ad1fe152923fafe98f95f76f1615e64c4abb1137f4c31b218ba2782bc15534788dda2cc08a0ee2987c8b27ff41bd4e31cd5fb5643dfe862c9a02ca9f90c8c51a6671d681d04ad47e4b53b1518d4befafefe8cadfb912f3d03051b1efbf1dfe37b56e93a741d8dfd80d576ca250bee55fab1311fc7b3255977558cdda6f7d6f875306e43a14413facdaed2f46093e0ef1e8f8a963e1632dcbeebd8e49fd16b57d49b08f9762de89157c65233f60c8e38a1f503a48c555f8ec45dedecd574a37601323c27be597b956343107f8bd80f3a925afaf30811df83c402116bb9c1e5231c70fff899a7c82f73c902ba54da53cc459b7bf1113db65cc8f6914d3618560ea69abd13658fa7b6af92d374d6eca9529f8bd565166e4fcbf2a8dfb3c9b69539d4d2ee2e9321b85b331925df195915f2757637c2805e1d4131e1ad9ef9bc1bb1c732d8dba4738716d351ab30c996c8657bab39567ee3b29c6d054b711495c0d52e1cd5d8e55b4f0f0325b97369280755b46a02afd54be4ddd9f77c22272b8bbb17ff5118fedbae2564524e797bd28b5f74f7079d532ccc059807989f94d267f47e724b3f1ecfe00ec9e6541c961080d8891251b84b4480bc292f6a180bea089fef5bbda56e1e41390d7c0e85ba0ef530f7177413481a226465a36ef6afe1e2bca69d2078712b3912bba1a99b1fbff0d355d6ffe726d2bb6fbc103c4ac5756e5bee6e47e17424ebcbf1b63d8cb90ce2e40198b4f4198689daea254307e52a25562f4c1455340f0ffeb10f9d8e914775e37d0edca019fb1b9c6ef81255ed86bc51c5391e0591480f66e2d88c5f4fd7277697968656a9b113ab97f874fdd5f2465e5559533e01ba13ef4a8f7a21d02c30c8ded68e8c54603ab9c8084ef6d9eb4e92c75b078539e2ae786ebab6dab73a09e0aa9ac575bcefb29e930ae656e58bcb513f7e3c17e079dce4f05b5dbc18c2a872b22509740ebe6a3903e00ad1abc55076441862643f93606e3dc35e8d9f2caef3ee6be14d513b2e062b21d0061de3bd56881713a1a5c17f5ace05e1ec09da53f99442df175a49bd154aa96e4949decd52fed79ccf7ccbce32941419c314e374e4a396ac553e17b5340336a1a25c22f9e42a243ba5404450b650acfc826a6e432971ace776e15719515e1634ceb9a4a35061b668c74998d3dfb5827f6238ec015377e6f9c94f38108768cf6e5c8b132e0303fb5a200368f845ad9d46343035a6ff94031df8d8309415bb3f6cd5ede9c135fdabcc030599858d803c0f85be7661c88984d88faa3d26fb0e9aac0056a53f1b5d0baed713c853c4a2726869a0a124a8a5bbc0fc0ef80c8ae4cb53636aa02503b86a1eb9836fcc259823e2692d921d88e1ffc1e6cb2bde43939ceb3f32a611686f539f8f7c9f0bf00381f743607d40960f06d347d1cd8ac8a51969c25e37150efdf7aa4c2037a2fd0516fb444525ab157a0ed0a7412b2fa69b217fe397263153782c0f64351fbdf2678fa0dc8569912dcd8e3ccad38f34f23bbbce14c6a26ac24911b308b82c7e43062d180baeac4ba7153858365c72c63dcf5f6a5b08070b730adb017aeae925b7d0439979e2679f45ed2f25a7edcfd2fb77a8794630285ccb0a071f5cce410b46dbf9750b0354aae8b65574501cc69efb5b6a43444074fee116641bb29da56c2b4a7f456991fc92b2\",\"debug\":0,\"seedipaddr\":\"78.47.196.146\"}" |
File diff suppressed because it is too large
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue