rbnacl-libsodium 0.5.0.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +4 -0
- data/lib/rbnacl/libsodium/version.rb +1 -1
- data/vendor/libsodium/AUTHORS +62 -81
- data/vendor/libsodium/ChangeLog +31 -1
- data/vendor/libsodium/README.markdown +15 -364
- data/vendor/libsodium/THANKS +6 -0
- data/vendor/libsodium/autom4te.cache/output.0 +67 -36
- data/vendor/libsodium/autom4te.cache/output.1 +67 -36
- data/vendor/libsodium/autom4te.cache/output.2 +67 -36
- data/vendor/libsodium/autom4te.cache/traces.0 +52 -51
- data/vendor/libsodium/autom4te.cache/traces.1 +137 -133
- data/vendor/libsodium/autom4te.cache/traces.2 +52 -51
- data/vendor/libsodium/builds/msvc/version.h +2 -2
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +365 -345
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +1114 -1037
- data/vendor/libsodium/builds/msvc/vs2010/test/test.props +8 -2
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +364 -344
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +1113 -1036
- data/vendor/libsodium/builds/msvc/vs2012/test/test.props +8 -2
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +365 -345
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +1114 -1037
- data/vendor/libsodium/builds/msvc/vs2013/test/test.props +8 -2
- data/vendor/libsodium/configure +66 -35
- data/vendor/libsodium/configure.ac +25 -14
- data/vendor/libsodium/dist-build/ios.sh +1 -1
- data/vendor/libsodium/dist-build/msys2-win64.sh +1 -1
- data/vendor/libsodium/libsodium.vcxproj +29 -14
- data/vendor/libsodium/libsodium.vcxproj.filters +77 -28
- data/vendor/libsodium/msvc-scripts/process.bat +3 -3
- data/vendor/libsodium/packaging/nuget/package.config +1 -1
- data/vendor/libsodium/packaging/nuget/package.gsl +6 -1
- data/vendor/libsodium/packaging/nuget/package.nuspec +1 -1
- data/vendor/libsodium/src/libsodium/Makefile.am +31 -13
- data/vendor/libsodium/src/libsodium/Makefile.in +406 -155
- data/vendor/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c +146 -0
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box.c +13 -0
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +39 -73
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c +5 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h +2 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c +15 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +6 -5
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2s-ref.c +6 -5
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +25 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c +76 -47
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +30 -7
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +3 -16
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +3 -10
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c +11 -6
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +23 -1
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c +1 -1
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256 → scryptsalsa208sha256}/crypto_scrypt-common.c +7 -7
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256 → scryptsalsa208sha256}/crypto_scrypt.h +6 -20
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256/nosse/pwhash_scryptxsalsa208sha256_nosse.c → scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c} +0 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256 → scryptsalsa208sha256}/pbkdf2-sha256.c +1 -11
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256 → scryptsalsa208sha256}/pbkdf2-sha256.h +0 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256/pwhash_scryptxsalsa208sha256.c → scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c} +50 -25
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256 → scryptsalsa208sha256}/scrypt_platform.c +4 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256/sse/pwhash_scryptxsalsa208sha256_sse.c → scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c} +0 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/{scryptxsalsa208sha256 → scryptsalsa208sha256}/sysendian.h +0 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c +1 -1
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/{ref → ref10}/api.h +0 -3
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/base_curve25519_ref10.c +14 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h +44 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_0_curve25519_ref10.c +23 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_1_curve25519_ref10.c +23 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_add_curve25519_ref10.c +61 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_copy_curve25519_ref10.c +33 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_cswap_curve25519_ref10.c +77 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_frombytes_curve25519_ref10.c +73 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_invert_curve25519_ref10.c +18 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_mul121666_curve25519_ref10.c +74 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_mul_curve25519_ref10.c +257 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_sq_curve25519_ref10.c +153 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_sub_curve25519_ref10.c +61 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_tobytes_curve25519_ref10.c +123 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/montgomery.h +140 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/pow225521.h +160 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/scalarmult_curve25519_ref10.c +54 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +92 -61
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h +2 -2
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h +2 -2
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c +8 -4
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h +6 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c +23 -23
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/api.h +12 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.c +275 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20_api.c +36 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S +11 -10
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +8 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20_api.c +8 -0
- data/vendor/libsodium/src/libsodium/include/Makefile.am +3 -2
- data/vendor/libsodium/src/libsodium/include/Makefile.in +3 -2
- data/vendor/libsodium/src/libsodium/include/sodium.h +3 -1
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +55 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box.h +21 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +11 -1
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash.h +7 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +7 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +7 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +15 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +25 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +80 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +2 -2
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +14 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +11 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h +11 -6
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h +49 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h +6 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes.h +7 -7
- data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +10 -14
- data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +10 -13
- data/vendor/libsodium/src/libsodium/sodium/compat.c +55 -4
- data/vendor/libsodium/src/libsodium/sodium/utils.c +18 -0
- data/vendor/libsodium/test/default/Makefile.am +24 -12
- data/vendor/libsodium/test/default/Makefile.in +116 -73
- data/vendor/libsodium/test/default/aead_chacha20poly1305.c +97 -0
- data/vendor/libsodium/test/default/aead_chacha20poly1305.exp +8 -0
- data/vendor/libsodium/test/default/box_easy.c +1 -1
- data/vendor/libsodium/test/default/box_seed.c +28 -0
- data/vendor/libsodium/test/default/box_seed.exp +8 -0
- data/vendor/libsodium/test/default/chacha20.c +45 -0
- data/vendor/libsodium/test/default/chacha20.exp +5 -0
- data/vendor/libsodium/test/default/pwhash.c +83 -15
- data/vendor/libsodium/test/default/pwhash.exp +10 -1
- data/vendor/libsodium/test/default/pwhash_scrypt_ll.c +67 -0
- data/vendor/libsodium/test/default/pwhash_scrypt_ll.exp +15 -0
- data/vendor/libsodium/test/default/secretbox_easy.c +13 -1
- data/vendor/libsodium/test/default/secretbox_easy.exp +19 -0
- data/vendor/libsodium/test/default/secretbox_easy2.c +5 -0
- data/vendor/libsodium/test/default/secretbox_easy2.exp +1 -0
- data/vendor/libsodium/test/default/sign.c +7 -3
- metadata +44 -21
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h +0 -8
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c +0 -20
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c +0 -268
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h +0 -37
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptxsalsa208sha256.h +0 -48
- data/vendor/libsodium/test/default/scalarmult7.c +0 -32
- data/vendor/libsodium/test/default/scalarmult7.exp +0 -1
- data/vendor/libsodium/test/default/scalarmult8.c +0 -32
- data/vendor/libsodium/test/default/scalarmult8.exp +0 -1
@@ -3,6 +3,7 @@
|
|
3
3
|
#define __SODIUM_H__
|
4
4
|
|
5
5
|
#include <sodium/core.h>
|
6
|
+
#include <sodium/crypto_aead_chacha20poly1305.h>
|
6
7
|
#include <sodium/crypto_auth.h>
|
7
8
|
#include <sodium/crypto_auth_hmacsha256.h>
|
8
9
|
#include <sodium/crypto_auth_hmacsha512.h>
|
@@ -20,7 +21,7 @@
|
|
20
21
|
#include <sodium/crypto_hash_sha512.h>
|
21
22
|
#include <sodium/crypto_onetimeauth.h>
|
22
23
|
#include <sodium/crypto_onetimeauth_poly1305.h>
|
23
|
-
#include <sodium/
|
24
|
+
#include <sodium/crypto_pwhash_scryptsalsa208sha256.h>
|
24
25
|
#include <sodium/crypto_scalarmult.h>
|
25
26
|
#include <sodium/crypto_scalarmult_curve25519.h>
|
26
27
|
#include <sodium/crypto_secretbox.h>
|
@@ -32,6 +33,7 @@
|
|
32
33
|
#include <sodium/crypto_stream.h>
|
33
34
|
#include <sodium/crypto_stream_aes128ctr.h>
|
34
35
|
#include <sodium/crypto_stream_aes256estream.h>
|
36
|
+
#include <sodium/crypto_stream_chacha20.h>
|
35
37
|
#include <sodium/crypto_stream_salsa20.h>
|
36
38
|
#include <sodium/crypto_stream_salsa2012.h>
|
37
39
|
#include <sodium/crypto_stream_salsa208.h>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#ifndef crypto_aead_chacha20poly1305_H
|
2
|
+
#define crypto_aead_chacha20poly1305_H
|
3
|
+
|
4
|
+
#include <stddef.h>
|
5
|
+
#include "export.h"
|
6
|
+
|
7
|
+
#ifdef __cplusplus
|
8
|
+
# if __GNUC__
|
9
|
+
# pragma GCC diagnostic ignored "-Wlong-long"
|
10
|
+
# endif
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
#define crypto_aead_chacha20poly1305_KEYBYTES 32U
|
15
|
+
SODIUM_EXPORT
|
16
|
+
size_t crypto_aead_chacha20poly1305_keybytes(void);
|
17
|
+
|
18
|
+
#define crypto_aead_chacha20poly1305_NSECBYTES 0U
|
19
|
+
SODIUM_EXPORT
|
20
|
+
size_t crypto_aead_chacha20poly1305_nsecbytes(void);
|
21
|
+
|
22
|
+
#define crypto_aead_chacha20poly1305_NPUBBYTES 8U
|
23
|
+
SODIUM_EXPORT
|
24
|
+
size_t crypto_aead_chacha20poly1305_npubbytes(void);
|
25
|
+
|
26
|
+
#define crypto_aead_chacha20poly1305_ABYTES 16U
|
27
|
+
SODIUM_EXPORT
|
28
|
+
size_t crypto_aead_chacha20poly1305_abytes(void);
|
29
|
+
|
30
|
+
SODIUM_EXPORT
|
31
|
+
int crypto_aead_chacha20poly1305_encrypt(unsigned char *c,
|
32
|
+
unsigned long long *clen,
|
33
|
+
const unsigned char *m,
|
34
|
+
unsigned long long mlen,
|
35
|
+
const unsigned char *ad,
|
36
|
+
unsigned long long adlen,
|
37
|
+
const unsigned char *nsec,
|
38
|
+
const unsigned char *npub,
|
39
|
+
const unsigned char *k);
|
40
|
+
|
41
|
+
SODIUM_EXPORT
|
42
|
+
int crypto_aead_chacha20poly1305_decrypt(unsigned char *m,
|
43
|
+
unsigned long long *mlen,
|
44
|
+
unsigned char *nsec,
|
45
|
+
const unsigned char *c,
|
46
|
+
unsigned long long clen,
|
47
|
+
const unsigned char *ad,
|
48
|
+
unsigned long long adlen,
|
49
|
+
const unsigned char *npub,
|
50
|
+
const unsigned char *k);
|
51
|
+
#ifdef __cplusplus
|
52
|
+
}
|
53
|
+
#endif
|
54
|
+
|
55
|
+
#endif
|
@@ -20,6 +20,10 @@
|
|
20
20
|
extern "C" {
|
21
21
|
#endif
|
22
22
|
|
23
|
+
#define crypto_box_SEEDBYTES crypto_box_curve25519xsalsa20poly1305_SEEDBYTES
|
24
|
+
SODIUM_EXPORT
|
25
|
+
size_t crypto_box_seedbytes(void);
|
26
|
+
|
23
27
|
#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES
|
24
28
|
SODIUM_EXPORT
|
25
29
|
size_t crypto_box_publickeybytes(void);
|
@@ -52,6 +56,10 @@ size_t crypto_box_macbytes(void);
|
|
52
56
|
SODIUM_EXPORT
|
53
57
|
const char *crypto_box_primitive(void);
|
54
58
|
|
59
|
+
SODIUM_EXPORT
|
60
|
+
int crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk,
|
61
|
+
const unsigned char *seed);
|
62
|
+
|
55
63
|
SODIUM_EXPORT
|
56
64
|
int crypto_box_keypair(unsigned char *pk, unsigned char *sk);
|
57
65
|
|
@@ -89,6 +97,19 @@ int crypto_box_open_easy(unsigned char *m, const unsigned char *c,
|
|
89
97
|
unsigned long long clen, const unsigned char *n,
|
90
98
|
const unsigned char *pk, const unsigned char *sk);
|
91
99
|
|
100
|
+
SODIUM_EXPORT
|
101
|
+
int crypto_box_detached(unsigned char *c, unsigned char *mac,
|
102
|
+
const unsigned char *m, unsigned long long mlen,
|
103
|
+
const unsigned char *n, const unsigned char *pk,
|
104
|
+
const unsigned char *sk);
|
105
|
+
|
106
|
+
SODIUM_EXPORT
|
107
|
+
int crypto_box_open_detached(unsigned char *m, const unsigned char *c,
|
108
|
+
const unsigned char *mac,
|
109
|
+
unsigned long long clen,
|
110
|
+
const unsigned char *n,
|
111
|
+
const unsigned char *pk,
|
112
|
+
const unsigned char *sk);
|
92
113
|
#ifdef __cplusplus
|
93
114
|
}
|
94
115
|
#endif
|
@@ -11,6 +11,10 @@
|
|
11
11
|
extern "C" {
|
12
12
|
#endif
|
13
13
|
|
14
|
+
#define crypto_box_curve25519xsalsa20poly1305_SEEDBYTES 32U
|
15
|
+
SODIUM_EXPORT
|
16
|
+
size_t crypto_box_curve25519xsalsa20poly1305_seedbytes(void);
|
17
|
+
|
14
18
|
#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U
|
15
19
|
SODIUM_EXPORT
|
16
20
|
size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void);
|
@@ -58,7 +62,13 @@ int crypto_box_curve25519xsalsa20poly1305_open(unsigned char *m,
|
|
58
62
|
const unsigned char *sk);
|
59
63
|
|
60
64
|
SODIUM_EXPORT
|
61
|
-
int
|
65
|
+
int crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk,
|
66
|
+
unsigned char *sk,
|
67
|
+
const unsigned char *seed);
|
68
|
+
|
69
|
+
SODIUM_EXPORT
|
70
|
+
int crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk,
|
71
|
+
unsigned char *sk);
|
62
72
|
|
63
73
|
SODIUM_EXPORT
|
64
74
|
int crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k,
|
@@ -1,6 +1,13 @@
|
|
1
1
|
#ifndef crypto_hash_H
|
2
2
|
#define crypto_hash_H
|
3
3
|
|
4
|
+
/*
|
5
|
+
* WARNING: Unless you absolutely need to use SHA512 for interoperatibility,
|
6
|
+
* purposes, you might want to consider crypto_generichash() instead.
|
7
|
+
* Unlike SHA512, crypto_generichash() is not vulnerable to length
|
8
|
+
* extension attacks.
|
9
|
+
*/
|
10
|
+
|
4
11
|
#include <stddef.h>
|
5
12
|
|
6
13
|
#include "crypto_hash_sha512.h"
|
@@ -1,6 +1,13 @@
|
|
1
1
|
#ifndef crypto_hash_sha256_H
|
2
2
|
#define crypto_hash_sha256_H
|
3
3
|
|
4
|
+
/*
|
5
|
+
* WARNING: Unless you absolutely need to use SHA256 for interoperatibility,
|
6
|
+
* purposes, you might want to consider crypto_generichash() instead.
|
7
|
+
* Unlike SHA256, crypto_generichash() is not vulnerable to length
|
8
|
+
* extension attacks.
|
9
|
+
*/
|
10
|
+
|
4
11
|
#include <stddef.h>
|
5
12
|
#include <stdint.h>
|
6
13
|
#include <stdlib.h>
|
@@ -1,6 +1,13 @@
|
|
1
1
|
#ifndef crypto_hash_sha512_H
|
2
2
|
#define crypto_hash_sha512_H
|
3
3
|
|
4
|
+
/*
|
5
|
+
* WARNING: Unless you absolutely need to use SHA512 for interoperatibility,
|
6
|
+
* purposes, you might want to consider crypto_generichash() instead.
|
7
|
+
* Unlike SHA512, crypto_generichash() is not vulnerable to length
|
8
|
+
* extension attacks.
|
9
|
+
*/
|
10
|
+
|
4
11
|
#include <stddef.h>
|
5
12
|
#include <stdint.h>
|
6
13
|
#include <stdlib.h>
|
@@ -13,6 +13,8 @@
|
|
13
13
|
extern "C" {
|
14
14
|
#endif
|
15
15
|
|
16
|
+
typedef crypto_onetimeauth_poly1305_state crypto_onetimeauth_state;
|
17
|
+
|
16
18
|
#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES
|
17
19
|
SODIUM_EXPORT
|
18
20
|
size_t crypto_onetimeauth_bytes(void);
|
@@ -33,6 +35,19 @@ SODIUM_EXPORT
|
|
33
35
|
int crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in,
|
34
36
|
unsigned long long inlen, const unsigned char *k);
|
35
37
|
|
38
|
+
SODIUM_EXPORT
|
39
|
+
int crypto_onetimeauth_init(crypto_onetimeauth_state *state,
|
40
|
+
const unsigned char *key);
|
41
|
+
|
42
|
+
SODIUM_EXPORT
|
43
|
+
int crypto_onetimeauth_update(crypto_onetimeauth_state *state,
|
44
|
+
const unsigned char *in,
|
45
|
+
unsigned long long inlen);
|
46
|
+
|
47
|
+
SODIUM_EXPORT
|
48
|
+
int crypto_onetimeauth_final(crypto_onetimeauth_state *state,
|
49
|
+
unsigned char *out);
|
50
|
+
|
36
51
|
#ifdef __cplusplus
|
37
52
|
}
|
38
53
|
#endif
|
@@ -16,6 +16,11 @@ extern "C" {
|
|
16
16
|
#include <stdint.h>
|
17
17
|
#include <stdio.h>
|
18
18
|
|
19
|
+
typedef struct crypto_onetimeauth_poly1305_state {
|
20
|
+
unsigned long long aligner;
|
21
|
+
unsigned char opaque[136];
|
22
|
+
} crypto_onetimeauth_poly1305_state;
|
23
|
+
|
19
24
|
typedef struct crypto_onetimeauth_poly1305_implementation {
|
20
25
|
const char *(*implementation_name)(void);
|
21
26
|
int (*onetimeauth)(unsigned char *out,
|
@@ -26,6 +31,13 @@ typedef struct crypto_onetimeauth_poly1305_implementation {
|
|
26
31
|
const unsigned char *in,
|
27
32
|
unsigned long long inlen,
|
28
33
|
const unsigned char *k);
|
34
|
+
int (*onetimeauth_init)(crypto_onetimeauth_poly1305_state *state,
|
35
|
+
const unsigned char *key);
|
36
|
+
int (*onetimeauth_update)(crypto_onetimeauth_poly1305_state *state,
|
37
|
+
const unsigned char *in,
|
38
|
+
unsigned long long inlen);
|
39
|
+
int (*onetimeauth_final)(crypto_onetimeauth_poly1305_state *state,
|
40
|
+
unsigned char *out);
|
29
41
|
} crypto_onetimeauth_poly1305_implementation;
|
30
42
|
|
31
43
|
#define crypto_onetimeauth_poly1305_BYTES 16U
|
@@ -58,6 +70,19 @@ int crypto_onetimeauth_poly1305_verify(const unsigned char *h,
|
|
58
70
|
unsigned long long inlen,
|
59
71
|
const unsigned char *k);
|
60
72
|
|
73
|
+
SODIUM_EXPORT
|
74
|
+
int crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state,
|
75
|
+
const unsigned char *key);
|
76
|
+
|
77
|
+
SODIUM_EXPORT
|
78
|
+
int crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state,
|
79
|
+
const unsigned char *in,
|
80
|
+
unsigned long long inlen);
|
81
|
+
|
82
|
+
SODIUM_EXPORT
|
83
|
+
int crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state,
|
84
|
+
unsigned char *out);
|
85
|
+
|
61
86
|
#ifdef __cplusplus
|
62
87
|
}
|
63
88
|
#endif
|
@@ -0,0 +1,80 @@
|
|
1
|
+
#ifndef crypto_pwhash_scryptsalsa208sha256_H
|
2
|
+
#define crypto_pwhash_scryptsalsa208sha256_H
|
3
|
+
|
4
|
+
#include <stddef.h>
|
5
|
+
|
6
|
+
#include "export.h"
|
7
|
+
|
8
|
+
#ifdef __cplusplus
|
9
|
+
# if __GNUC__
|
10
|
+
# pragma GCC diagnostic ignored "-Wlong-long"
|
11
|
+
# endif
|
12
|
+
extern "C" {
|
13
|
+
#endif
|
14
|
+
|
15
|
+
#define crypto_pwhash_scryptsalsa208sha256_SALTBYTES 32U
|
16
|
+
SODIUM_EXPORT
|
17
|
+
size_t crypto_pwhash_scryptsalsa208sha256_saltbytes(void);
|
18
|
+
|
19
|
+
#define crypto_pwhash_scryptsalsa208sha256_STRBYTES 102U
|
20
|
+
SODIUM_EXPORT
|
21
|
+
size_t crypto_pwhash_scryptsalsa208sha256_strbytes(void);
|
22
|
+
|
23
|
+
#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE 524288ULL
|
24
|
+
SODIUM_EXPORT
|
25
|
+
size_t crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void);
|
26
|
+
|
27
|
+
#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE 16777216ULL
|
28
|
+
SODIUM_EXPORT
|
29
|
+
size_t crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void);
|
30
|
+
|
31
|
+
#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE 33554432ULL
|
32
|
+
SODIUM_EXPORT
|
33
|
+
size_t crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void);
|
34
|
+
|
35
|
+
#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE 1073741824ULL
|
36
|
+
SODIUM_EXPORT
|
37
|
+
size_t crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void);
|
38
|
+
|
39
|
+
SODIUM_EXPORT
|
40
|
+
int crypto_pwhash_scryptsalsa208sha256(unsigned char * const out,
|
41
|
+
unsigned long long outlen,
|
42
|
+
const char * const passwd,
|
43
|
+
unsigned long long passwdlen,
|
44
|
+
const unsigned char * const salt,
|
45
|
+
unsigned long long opslimit,
|
46
|
+
size_t memlimit);
|
47
|
+
|
48
|
+
SODIUM_EXPORT
|
49
|
+
int crypto_pwhash_scryptsalsa208sha256_str(char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES],
|
50
|
+
const char * const passwd,
|
51
|
+
unsigned long long passwdlen,
|
52
|
+
unsigned long long opslimit,
|
53
|
+
size_t memlimit);
|
54
|
+
|
55
|
+
SODIUM_EXPORT
|
56
|
+
int crypto_pwhash_scryptsalsa208sha256_str_verify(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES],
|
57
|
+
const char * const passwd,
|
58
|
+
unsigned long long passwdlen);
|
59
|
+
|
60
|
+
SODIUM_EXPORT
|
61
|
+
int crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t * passwd, size_t passwdlen,
|
62
|
+
const uint8_t * salt, size_t saltlen,
|
63
|
+
uint64_t N, uint32_t r, uint32_t p,
|
64
|
+
uint8_t * buf, size_t buflen);
|
65
|
+
|
66
|
+
#ifdef __cplusplus
|
67
|
+
}
|
68
|
+
#endif
|
69
|
+
|
70
|
+
/* Backward compatibility with version 0.5.0 */
|
71
|
+
|
72
|
+
#define crypto_pwhash_scryptxsalsa208sha256_SALTBYTES crypto_pwhash_scryptsalsa208sha256_SALTBYTES
|
73
|
+
#define crypto_pwhash_scryptxsalsa208sha256_saltbytes crypto_pwhash_scryptsalsa208sha256_saltbytes
|
74
|
+
#define crypto_pwhash_scryptxsalsa208sha256_STRBYTES crypto_pwhash_scryptsalsa208sha256_STRBYTES
|
75
|
+
#define crypto_pwhash_scryptxsalsa208sha256_strbytes crypto_pwhash_scryptsalsa208sha256_strbytes
|
76
|
+
#define crypto_pwhash_scryptxsalsa208sha256 crypto_pwhash_scryptsalsa208sha256
|
77
|
+
#define crypto_pwhash_scryptxsalsa208sha256_str crypto_pwhash_scryptsalsa208sha256_str
|
78
|
+
#define crypto_pwhash_scryptxsalsa208sha256_str_verify crypto_pwhash_scryptsalsa208sha256_str_verify
|
79
|
+
|
80
|
+
#endif
|
@@ -9,11 +9,11 @@
|
|
9
9
|
extern "C" {
|
10
10
|
#endif
|
11
11
|
|
12
|
-
#define crypto_scalarmult_curve25519_BYTES
|
12
|
+
#define crypto_scalarmult_curve25519_BYTES 32U
|
13
13
|
SODIUM_EXPORT
|
14
14
|
size_t crypto_scalarmult_curve25519_bytes(void);
|
15
15
|
|
16
|
-
#define crypto_scalarmult_curve25519_SCALARBYTES
|
16
|
+
#define crypto_scalarmult_curve25519_SCALARBYTES 32U
|
17
17
|
SODIUM_EXPORT
|
18
18
|
size_t crypto_scalarmult_curve25519_scalarbytes(void);
|
19
19
|
|
@@ -57,6 +57,20 @@ int crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c,
|
|
57
57
|
unsigned long long clen, const unsigned char *n,
|
58
58
|
const unsigned char *k);
|
59
59
|
|
60
|
+
SODIUM_EXPORT
|
61
|
+
int crypto_secretbox_detached(unsigned char *c, unsigned char *mac,
|
62
|
+
const unsigned char *m,
|
63
|
+
unsigned long long mlen,
|
64
|
+
const unsigned char *n,
|
65
|
+
const unsigned char *k);
|
66
|
+
|
67
|
+
SODIUM_EXPORT
|
68
|
+
int crypto_secretbox_open_detached(unsigned char *m,
|
69
|
+
const unsigned char *c,
|
70
|
+
const unsigned char *mac,
|
71
|
+
unsigned long long clen,
|
72
|
+
const unsigned char *n,
|
73
|
+
const unsigned char *k);
|
60
74
|
#ifdef __cplusplus
|
61
75
|
}
|
62
76
|
#endif
|
@@ -1,6 +1,17 @@
|
|
1
1
|
#ifndef crypto_sign_edwards25519sha512batch_H
|
2
2
|
#define crypto_sign_edwards25519sha512batch_H
|
3
3
|
|
4
|
+
/*
|
5
|
+
* WARNING: This construction was a prototype, which should not be used
|
6
|
+
* any more in new projects.
|
7
|
+
*
|
8
|
+
* crypto_sign_edwards25519sha512batch is provided for applications
|
9
|
+
* initially built with NaCl, but as recommended by the author of this
|
10
|
+
* construction, new applications should use ed25519 instead.
|
11
|
+
*
|
12
|
+
* In Sodium, you should use the high-level crypto_sign_*() functions instead.
|
13
|
+
*/
|
14
|
+
|
4
15
|
#include <stddef.h>
|
5
16
|
#include "export.h"
|
6
17
|
|
@@ -2,12 +2,17 @@
|
|
2
2
|
#define crypto_stream_aes256estream_H
|
3
3
|
|
4
4
|
/*
|
5
|
-
*
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*
|
10
|
-
*
|
5
|
+
* WARNING: This is just a stream cipher. It is NOT authenticated encryption.
|
6
|
+
* While it provides some protection against eavesdropping, it does NOT
|
7
|
+
* provide any security against active attacks.
|
8
|
+
* Furthermore, this implementation was not part of NaCl.
|
9
|
+
*
|
10
|
+
* If you are looking for a stream cipher, you might consider
|
11
|
+
* crypto_stream_aes128ctr, crypto_stream_chacha20 or crypto_stream_(x)salsa20
|
12
|
+
* which are timing-attack resistant.
|
13
|
+
*
|
14
|
+
* But unless you know what you're doing, what you are looking for is probably
|
15
|
+
* the crypto_box or crypto_secretbox functions.
|
11
16
|
*/
|
12
17
|
|
13
18
|
#include <stddef.h>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#ifndef crypto_stream_chacha20_H
|
2
|
+
#define crypto_stream_chacha20_H
|
3
|
+
|
4
|
+
/*
|
5
|
+
* WARNING: This is just a stream cipher. It is NOT authenticated encryption.
|
6
|
+
* While it provides some protection against eavesdropping, it does NOT
|
7
|
+
* provide any security against active attacks.
|
8
|
+
* Unless you know what you're doing, what you are looking for is probably
|
9
|
+
* the crypto_box functions.
|
10
|
+
*/
|
11
|
+
|
12
|
+
#include <stddef.h>
|
13
|
+
#include <stdint.h>
|
14
|
+
#include "export.h"
|
15
|
+
|
16
|
+
#ifdef __cplusplus
|
17
|
+
# if __GNUC__
|
18
|
+
# pragma GCC diagnostic ignored "-Wlong-long"
|
19
|
+
# endif
|
20
|
+
extern "C" {
|
21
|
+
#endif
|
22
|
+
|
23
|
+
#define crypto_stream_chacha20_KEYBYTES 32U
|
24
|
+
SODIUM_EXPORT
|
25
|
+
size_t crypto_stream_chacha20_keybytes(void);
|
26
|
+
|
27
|
+
#define crypto_stream_chacha20_NONCEBYTES 8U
|
28
|
+
SODIUM_EXPORT
|
29
|
+
size_t crypto_stream_chacha20_noncebytes(void);
|
30
|
+
|
31
|
+
SODIUM_EXPORT
|
32
|
+
int crypto_stream_chacha20(unsigned char *c, unsigned long long clen,
|
33
|
+
const unsigned char *n, const unsigned char *k);
|
34
|
+
|
35
|
+
SODIUM_EXPORT
|
36
|
+
int crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m,
|
37
|
+
unsigned long long mlen, const unsigned char *n,
|
38
|
+
const unsigned char *k);
|
39
|
+
|
40
|
+
SODIUM_EXPORT
|
41
|
+
int crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m,
|
42
|
+
unsigned long long mlen,
|
43
|
+
const unsigned char *n, uint64_t ic,
|
44
|
+
const unsigned char *k);
|
45
|
+
#ifdef __cplusplus
|
46
|
+
}
|
47
|
+
#endif
|
48
|
+
|
49
|
+
#endif
|