1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-19 18:15:18 -07:00
* master: (221 commits)
  Comment
  Comments
  msys2 build scripts: just use -Ofast
  Always prefer vararrays to alloca()
  Don't redefine alloca
  Return -1 if the scalar is 0 in crypto_scalarmult_ed25519()
  Remove trailing space
  Import the regen-msvc script
  Update ChangeLog
  Do not wipe the workspace after argon2 completes
  Remove tests for deprecated functions
  Give the compiler a change to inline index_alpha()
  Immediately allocate all required memory in argon2/scrypt
  Check reduced-round salsa variants in non-minimal mode
  Coverage exclusion -- this is just an extra, redundant check
  Remove incorrect and useless cast
  -fomit-frame-pointer makes a different on mips
  WebAssembly benefits from the 128-bit types, too
  Remove extra spaces
  Undef devel
  ...
This commit is contained in:
Frank Denis 2017-12-13 16:21:20 +01:00
commit 5bc564cac1
133 changed files with 11131 additions and 6421 deletions

3
.gitignore vendored
View File

@ -78,6 +78,7 @@ src/libsodium/include/sodium/version.h
stamp-*
test-driver
test/default/browser
test/default/*.asm.js
test/default/*.res
test/default/*.trs
test/default/aead_aes256gcm
@ -99,6 +100,7 @@ test/default/box_seal
test/default/box_seed
test/default/chacha20
test/default/codecs
test/default/core_ed25519
test/default/core1
test/default/core2
test/default/core3
@ -125,6 +127,7 @@ test/default/pwhash_scrypt
test/default/pwhash_scrypt_ll
test/default/randombytes
test/default/scalarmult
test/default/scalarmult_ed25519
test/default/scalarmult2
test/default/scalarmult5
test/default/scalarmult6

View File

@ -54,7 +54,8 @@ crypto_box/curve25519xsalsa20poly1305 Daniel J. Bernstein
crypto_box/curve25519xchacha20poly1305 Frank Denis
crypto_core/curve25519 Daniel J. Bernstein
crypto_core/ed25519 Daniel J. Bernstein
Adam Langley
crypto_core/hchacha20 Frank Denis
@ -88,10 +89,10 @@ crypto_pwhash/scryptsalsa208sha256 Colin Percival
crypto_scalarmult/curve25519/ref10 Daniel J. Bernstein
crypto_scalarmult/curve25519/donna_c64 Adam Langley
crypto_scalarmult/curve25519/sandy2x Tung Chou
crypto_scalarmult/ed25519 Frank Denis
crypto_secretbox/xsalsa20poly1305 Daniel J. Bernstein
crypto_secretbox/xchacha20poly1305 Frank Denis

View File

@ -1,4 +1,29 @@
* Version 1.0.16
- Signatures computations and verifications are now way faster on
64-bit platforms with compilers supporting 128-bit arithmetic (gcc,
clang, icc). This includes the WebAssembly target.
- New low-level APIs for computations over edwards25519:
`crypto_scalarmult_ed25519()`, `crypto_scalarmult_ed25519_base()`,
`crypto_core_ed25519_is_valid_point()`, `crypto_core_ed25519_add()`,
`crypto_core_ed25519_sub()` and `crypto_core_ed25519_from_uniform()`
(elligator representative to point).
- `crypto_sign_open()`, `crypto_sign_verify_detached() and
`crypto_sign_edwards25519sha512batch_open` now reject public keys in
non-canonical form in addition to low-order points.
- The library can be built with `ED25519_NONDETERMINISTIC` defined in
order to use synthetic nonces for EdDSA. This is disabled by default.
- Webassembly: `crypto_pwhash_*()` functions are now included in
non-sumo builds.
- `sodium_stackzero()` was added to wipe content off the stack.
- Android: support new SDKs where unified headers have become the
default.
- The Salsa20-based PRNG example is now thread-safe on platforms with
support for thread-local storage, optionally mixes bits from RDRAND.
- CMAKE: static library detection on Unix systems has been improved
(thanks to @BurningEnlightenment, @nibua-r, @mellery451)
- Argon2 and scrypt are slightly faster on Linux.
* Version 1.0.15
- The default password hashing algorithm is now Argon2id. The
`pwhash_str_verify()` function can still verify Argon2i hashes

View File

@ -95,7 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -207,9 +207,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \
$(top_srcdir)/src/libsodium/include/sodium/version.h.in \
AUTHORS ChangeLog THANKS build-aux/compile \
build-aux/config.guess build-aux/config.sub \
build-aux/install-sh build-aux/ltmain.sh build-aux/missing \
compile config.guess config.sub depcomp install-sh ltmain.sh \
missing
build-aux/install-sh build-aux/ltmain.sh build-aux/missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@ -253,6 +251,7 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -273,6 +272,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@

View File

@ -16,7 +16,8 @@ Its goal is to provide all of the core operations needed to build
higher-level cryptographic tools.
Sodium supports a variety of compilers and operating systems,
including Windows (with MingW or Visual Studio, x86 and x64), iOS and Android.
including Windows (with MingW or Visual Studio, x86 and x64), iOS, Android,
as well as Javascript and Webassembly.
## Documentation

1
aclocal.m4 vendored
View File

@ -1212,6 +1212,7 @@ m4_include([m4/ax_check_compile_flag.m4])
m4_include([m4/ax_check_define.m4])
m4_include([m4/ax_check_link_flag.m4])
m4_include([m4/ax_pthread.m4])
m4_include([m4/ax_tls.m4])
m4_include([m4/ax_valgrind_check.m4])
m4_include([m4/ld-output-def.m4])
m4_include([m4/libtool.m4])

View File

@ -94,7 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -129,6 +129,7 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -149,6 +150,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@

View File

@ -3,7 +3,7 @@
// Used by Resource.rc
// Next default values for new objects
//
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101

View File

@ -4,8 +4,8 @@
#include "windows.h"
//specify the version numbers for the dll's
#define LIBSODIUM_VERSION_STRING "1.0.15.0"
#define LIBSODIUM_VERSION_BIN 1,0,15,0
#define LIBSODIUM_VERSION_STRING "1.0.16.0"
#define LIBSODIUM_VERSION_BIN 1,0,16,0
//specify the product name for the dlls based on the platform we are compiling for
#if defined(x64)

View File

@ -4,10 +4,10 @@
#include "export.h"
#define SODIUM_VERSION_STRING "1.0.15"
#define SODIUM_VERSION_STRING "1.0.16"
#define SODIUM_LIBRARY_VERSION_MAJOR 10
#define SODIUM_LIBRARY_VERSION_MINOR 0
#define SODIUM_LIBRARY_VERSION_MINOR 1
#ifdef __cplusplus
extern "C" {

View File

@ -126,11 +126,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
@ -180,7 +180,8 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
@ -190,7 +191,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth.h" />
@ -198,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -244,14 +244,18 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\common.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\mutex.h" />
@ -277,7 +281,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
@ -301,8 +304,14 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h" />
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>

View File

@ -171,6 +171,9 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
<Filter>crypto_scalarmult</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c">
<Filter>crypto_scalarmult\ed25519\ref10</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
<Filter>crypto_scalarmult\curve25519</Filter>
</ClCompile>
@ -183,9 +186,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClCompile>
@ -333,8 +333,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
<Filter>crypto_core\hsalsa20\ref2</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c">
<Filter>crypto_core\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c">
<Filter>crypto_core\ed25519\ref10</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@ -359,7 +362,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
<Filter>crypto_generichash\blake2b\ref</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h">
<Filter>crypto_sign\ed25519\ref10</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h">
@ -383,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,6 +521,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -533,6 +536,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -542,7 +548,13 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h">
@ -620,9 +632,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClInclude>
@ -692,11 +701,29 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
<Filter>crypto_stream\salsa20\xmm6</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@ -745,11 +772,17 @@
<Filter Include="crypto_core">
<UniqueIdentifier>{73194d5d-588a-342f-bee6-f28b4486f20b}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519">
<UniqueIdentifier>{028a752d-1880-3283-9acb-79a5d3162d12}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519">
<UniqueIdentifier>{7c5e6f81-e4ce-3018-a776-a1f125072d73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519\ref10">
<UniqueIdentifier>{ff5842af-bbd1-3a87-9939-c36522a38fb8}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519\ref10">
<UniqueIdentifier>{76990c08-d692-367f-b286-c728a8cad6bf}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_25_5">
<UniqueIdentifier>{bf04f786-7862-3bde-aeba-ed82ee59ca22}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_51">
<UniqueIdentifier>{98b6126a-3725-3707-a4cc-ff3af657cba0}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\hchacha20">
<UniqueIdentifier>{8b704d11-af1f-30c0-9981-479da6d88dc3}</UniqueIdentifier>
@ -832,15 +865,18 @@
<Filter Include="crypto_scalarmult\curve25519">
<UniqueIdentifier>{77f5a2e9-2ef1-3a72-b63c-88e8e4b92678}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\donna_c64">
<UniqueIdentifier>{efbb62f1-d4cc-3dc6-b73b-aa1b1379f7a8}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\ref10">
<UniqueIdentifier>{6c9c7c30-0808-3fad-8a88-944d7645e5d5}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\sandy2x">
<UniqueIdentifier>{5d2fb1a2-f063-32db-a81a-41f79e36fd23}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519">
<UniqueIdentifier>{7bec6074-fbc7-330b-9e18-7dc3e868569a}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519\ref10">
<UniqueIdentifier>{834d4827-81e4-3de3-baa1-a216763f11d6}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_secretbox">
<UniqueIdentifier>{b9b02bee-5c1f-36d2-b97d-983f865a4cc6}</UniqueIdentifier>
</Filter>

View File

@ -126,11 +126,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
@ -180,7 +180,8 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
@ -190,7 +191,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth.h" />
@ -198,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -244,14 +244,18 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\common.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\mutex.h" />
@ -277,7 +281,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
@ -301,8 +304,14 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h" />
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>

View File

@ -171,6 +171,9 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
<Filter>crypto_scalarmult</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c">
<Filter>crypto_scalarmult\ed25519\ref10</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
<Filter>crypto_scalarmult\curve25519</Filter>
</ClCompile>
@ -183,9 +186,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClCompile>
@ -333,8 +333,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
<Filter>crypto_core\hsalsa20\ref2</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c">
<Filter>crypto_core\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c">
<Filter>crypto_core\ed25519\ref10</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@ -359,7 +362,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
<Filter>crypto_generichash\blake2b\ref</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h">
<Filter>crypto_sign\ed25519\ref10</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h">
@ -383,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,6 +521,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -533,6 +536,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -542,7 +548,13 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h">
@ -620,9 +632,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClInclude>
@ -692,11 +701,29 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
<Filter>crypto_stream\salsa20\xmm6</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@ -745,11 +772,17 @@
<Filter Include="crypto_core">
<UniqueIdentifier>{73194d5d-588a-342f-bee6-f28b4486f20b}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519">
<UniqueIdentifier>{028a752d-1880-3283-9acb-79a5d3162d12}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519">
<UniqueIdentifier>{7c5e6f81-e4ce-3018-a776-a1f125072d73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519\ref10">
<UniqueIdentifier>{ff5842af-bbd1-3a87-9939-c36522a38fb8}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519\ref10">
<UniqueIdentifier>{76990c08-d692-367f-b286-c728a8cad6bf}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_25_5">
<UniqueIdentifier>{bf04f786-7862-3bde-aeba-ed82ee59ca22}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_51">
<UniqueIdentifier>{98b6126a-3725-3707-a4cc-ff3af657cba0}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\hchacha20">
<UniqueIdentifier>{8b704d11-af1f-30c0-9981-479da6d88dc3}</UniqueIdentifier>
@ -832,15 +865,18 @@
<Filter Include="crypto_scalarmult\curve25519">
<UniqueIdentifier>{77f5a2e9-2ef1-3a72-b63c-88e8e4b92678}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\donna_c64">
<UniqueIdentifier>{efbb62f1-d4cc-3dc6-b73b-aa1b1379f7a8}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\ref10">
<UniqueIdentifier>{6c9c7c30-0808-3fad-8a88-944d7645e5d5}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\sandy2x">
<UniqueIdentifier>{5d2fb1a2-f063-32db-a81a-41f79e36fd23}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519">
<UniqueIdentifier>{7bec6074-fbc7-330b-9e18-7dc3e868569a}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519\ref10">
<UniqueIdentifier>{834d4827-81e4-3de3-baa1-a216763f11d6}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_secretbox">
<UniqueIdentifier>{b9b02bee-5c1f-36d2-b97d-983f865a4cc6}</UniqueIdentifier>
</Filter>

View File

@ -126,11 +126,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
@ -180,7 +180,8 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
@ -190,7 +191,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth.h" />
@ -198,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -244,14 +244,18 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\common.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\mutex.h" />
@ -277,7 +281,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
@ -301,8 +304,14 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h" />
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>

View File

@ -171,6 +171,9 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
<Filter>crypto_scalarmult</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c">
<Filter>crypto_scalarmult\ed25519\ref10</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
<Filter>crypto_scalarmult\curve25519</Filter>
</ClCompile>
@ -183,9 +186,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClCompile>
@ -333,8 +333,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
<Filter>crypto_core\hsalsa20\ref2</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c">
<Filter>crypto_core\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c">
<Filter>crypto_core\ed25519\ref10</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@ -359,7 +362,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
<Filter>crypto_generichash\blake2b\ref</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h">
<Filter>crypto_sign\ed25519\ref10</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h">
@ -383,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,6 +521,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -533,6 +536,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -542,7 +548,13 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h">
@ -620,9 +632,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClInclude>
@ -692,11 +701,29 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
<Filter>crypto_stream\salsa20\xmm6</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@ -745,11 +772,17 @@
<Filter Include="crypto_core">
<UniqueIdentifier>{73194d5d-588a-342f-bee6-f28b4486f20b}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519">
<UniqueIdentifier>{028a752d-1880-3283-9acb-79a5d3162d12}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519">
<UniqueIdentifier>{7c5e6f81-e4ce-3018-a776-a1f125072d73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519\ref10">
<UniqueIdentifier>{ff5842af-bbd1-3a87-9939-c36522a38fb8}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519\ref10">
<UniqueIdentifier>{76990c08-d692-367f-b286-c728a8cad6bf}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_25_5">
<UniqueIdentifier>{bf04f786-7862-3bde-aeba-ed82ee59ca22}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_51">
<UniqueIdentifier>{98b6126a-3725-3707-a4cc-ff3af657cba0}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\hchacha20">
<UniqueIdentifier>{8b704d11-af1f-30c0-9981-479da6d88dc3}</UniqueIdentifier>
@ -832,15 +865,18 @@
<Filter Include="crypto_scalarmult\curve25519">
<UniqueIdentifier>{77f5a2e9-2ef1-3a72-b63c-88e8e4b92678}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\donna_c64">
<UniqueIdentifier>{efbb62f1-d4cc-3dc6-b73b-aa1b1379f7a8}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\ref10">
<UniqueIdentifier>{6c9c7c30-0808-3fad-8a88-944d7645e5d5}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\sandy2x">
<UniqueIdentifier>{5d2fb1a2-f063-32db-a81a-41f79e36fd23}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519">
<UniqueIdentifier>{7bec6074-fbc7-330b-9e18-7dc3e868569a}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519\ref10">
<UniqueIdentifier>{834d4827-81e4-3de3-baa1-a216763f11d6}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_secretbox">
<UniqueIdentifier>{b9b02bee-5c1f-36d2-b97d-983f865a4cc6}</UniqueIdentifier>
</Filter>

View File

@ -126,11 +126,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
@ -180,7 +180,8 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
@ -190,7 +191,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth.h" />
@ -198,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -244,14 +244,18 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\common.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\mutex.h" />
@ -277,7 +281,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
@ -301,8 +304,14 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h" />
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>

View File

@ -171,6 +171,9 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
<Filter>crypto_scalarmult</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c">
<Filter>crypto_scalarmult\ed25519\ref10</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
<Filter>crypto_scalarmult\curve25519</Filter>
</ClCompile>
@ -183,9 +186,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClCompile>
@ -333,8 +333,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
<Filter>crypto_core\hsalsa20\ref2</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c">
<Filter>crypto_core\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c">
<Filter>crypto_core\ed25519\ref10</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@ -359,7 +362,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
<Filter>crypto_generichash\blake2b\ref</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h">
<Filter>crypto_sign\ed25519\ref10</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h">
@ -383,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,6 +521,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -533,6 +536,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -542,7 +548,13 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h">
@ -620,9 +632,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClInclude>
@ -692,11 +701,29 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
<Filter>crypto_stream\salsa20\xmm6</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@ -745,11 +772,17 @@
<Filter Include="crypto_core">
<UniqueIdentifier>{73194d5d-588a-342f-bee6-f28b4486f20b}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519">
<UniqueIdentifier>{028a752d-1880-3283-9acb-79a5d3162d12}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519">
<UniqueIdentifier>{7c5e6f81-e4ce-3018-a776-a1f125072d73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519\ref10">
<UniqueIdentifier>{ff5842af-bbd1-3a87-9939-c36522a38fb8}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519\ref10">
<UniqueIdentifier>{76990c08-d692-367f-b286-c728a8cad6bf}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_25_5">
<UniqueIdentifier>{bf04f786-7862-3bde-aeba-ed82ee59ca22}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_51">
<UniqueIdentifier>{98b6126a-3725-3707-a4cc-ff3af657cba0}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\hchacha20">
<UniqueIdentifier>{8b704d11-af1f-30c0-9981-479da6d88dc3}</UniqueIdentifier>
@ -832,15 +865,18 @@
<Filter Include="crypto_scalarmult\curve25519">
<UniqueIdentifier>{77f5a2e9-2ef1-3a72-b63c-88e8e4b92678}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\donna_c64">
<UniqueIdentifier>{efbb62f1-d4cc-3dc6-b73b-aa1b1379f7a8}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\ref10">
<UniqueIdentifier>{6c9c7c30-0808-3fad-8a88-944d7645e5d5}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\sandy2x">
<UniqueIdentifier>{5d2fb1a2-f063-32db-a81a-41f79e36fd23}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519">
<UniqueIdentifier>{7bec6074-fbc7-330b-9e18-7dc3e868569a}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519\ref10">
<UniqueIdentifier>{834d4827-81e4-3de3-baa1-a216763f11d6}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_secretbox">
<UniqueIdentifier>{b9b02bee-5c1f-36d2-b97d-983f865a4cc6}</UniqueIdentifier>
</Filter>

View File

@ -126,11 +126,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
@ -180,7 +180,8 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
@ -190,7 +191,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth.h" />
@ -198,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -244,14 +244,18 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\common.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\mutex.h" />
@ -277,7 +281,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
@ -301,8 +304,14 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h" />
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h" />
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>

View File

@ -171,6 +171,9 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
<Filter>crypto_scalarmult</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c">
<Filter>crypto_scalarmult\ed25519\ref10</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
<Filter>crypto_scalarmult\curve25519</Filter>
</ClCompile>
@ -183,9 +186,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClCompile>
@ -333,8 +333,11 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
<Filter>crypto_core\hsalsa20\ref2</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\core_ed25519.c">
<Filter>crypto_core\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c">
<Filter>crypto_core\ed25519\ref10</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@ -359,7 +362,7 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
<Filter>crypto_generichash\blake2b\ref</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h">
<Filter>crypto_sign\ed25519\ref10</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium.h">
@ -383,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,6 +521,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -533,6 +536,9 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretbox.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -542,7 +548,13 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\curve25519_ref10.h">
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h">
<Filter>include\sodium\private</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\sse2_64_32.h">
@ -620,9 +632,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
<Filter>crypto_scalarmult\curve25519\sandy2x</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
<Filter>crypto_scalarmult\curve25519\donna_c64</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
<Filter>crypto_scalarmult\curve25519\ref10</Filter>
</ClInclude>
@ -692,11 +701,29 @@
<ClInclude Include="..\..\..\..\src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
<Filter>crypto_stream\salsa20\xmm6</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base2.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\curve25519\ref10\base.h">
<Filter>crypto_core\curve25519\ref10</Filter>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h">
<Filter>crypto_core\ed25519\ref10\fe_25_5</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h">
<Filter>crypto_core\ed25519\ref10\fe_51</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@ -745,11 +772,17 @@
<Filter Include="crypto_core">
<UniqueIdentifier>{73194d5d-588a-342f-bee6-f28b4486f20b}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519">
<UniqueIdentifier>{028a752d-1880-3283-9acb-79a5d3162d12}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519">
<UniqueIdentifier>{7c5e6f81-e4ce-3018-a776-a1f125072d73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\curve25519\ref10">
<UniqueIdentifier>{ff5842af-bbd1-3a87-9939-c36522a38fb8}</UniqueIdentifier>
<Filter Include="crypto_core\ed25519\ref10">
<UniqueIdentifier>{76990c08-d692-367f-b286-c728a8cad6bf}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_25_5">
<UniqueIdentifier>{bf04f786-7862-3bde-aeba-ed82ee59ca22}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\ed25519\ref10\fe_51">
<UniqueIdentifier>{98b6126a-3725-3707-a4cc-ff3af657cba0}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_core\hchacha20">
<UniqueIdentifier>{8b704d11-af1f-30c0-9981-479da6d88dc3}</UniqueIdentifier>
@ -832,15 +865,18 @@
<Filter Include="crypto_scalarmult\curve25519">
<UniqueIdentifier>{77f5a2e9-2ef1-3a72-b63c-88e8e4b92678}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\donna_c64">
<UniqueIdentifier>{efbb62f1-d4cc-3dc6-b73b-aa1b1379f7a8}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\ref10">
<UniqueIdentifier>{6c9c7c30-0808-3fad-8a88-944d7645e5d5}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\curve25519\sandy2x">
<UniqueIdentifier>{5d2fb1a2-f063-32db-a81a-41f79e36fd23}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519">
<UniqueIdentifier>{7bec6074-fbc7-330b-9e18-7dc3e868569a}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_scalarmult\ed25519\ref10">
<UniqueIdentifier>{834d4827-81e4-3de3-baa1-a216763f11d6}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_secretbox">
<UniqueIdentifier>{b9b02bee-5c1f-36d2-b97d-983f865a4cc6}</UniqueIdentifier>
</Filter>

1055
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
AC_PREREQ([2.65])
AC_INIT([libsodium],[1.0.15],
AC_INIT([libsodium],[1.0.16],
[https://github.com/jedisct1/libsodium/issues],
[libsodium],
[https://github.com/jedisct1/libsodium])
@ -17,9 +17,9 @@ ISODATE=`date +%Y-%m-%d`
AC_SUBST(ISODATE)
SODIUM_LIBRARY_VERSION_MAJOR=10
SODIUM_LIBRARY_VERSION_MINOR=0
SODIUM_LIBRARY_VERSION_MINOR=1
DLL_VERSION=8
SODIUM_LIBRARY_VERSION=23:0:0
SODIUM_LIBRARY_VERSION=24:0:1
# | | |
# +------+ | +---+
# | | |
@ -127,10 +127,11 @@ AC_ARG_WITH(pthreads, AC_HELP_STRING([--with-pthreads],
AS_IF([test "x$withval" = "xyes"], [
AX_PTHREAD([
AC_DEFINE([HAVE_PTHREAD], [1], [Define if you have POSIX threads libraries and header files])
with_threads="yes"
LIBS="$PTHREAD_LIBS $LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
CC="$PTHREAD_CC"])
])
], [with_threads="no"])
AC_ARG_WITH(safecode,
[AS_HELP_STRING(--with-safecode,For maintainers only - please do not use)],
@ -143,6 +144,14 @@ AC_ARG_WITH(safecode,
])
])
AC_ARG_WITH(ctgrind,
[AS_HELP_STRING(--with-ctgrind,For maintainers only - please do not use)],
[AS_IF([test "x$withval" = "xyes"], [
AC_CHECK_LIB(ctgrind, ct_poison)
])
])
ENABLE_CWFLAGS=no
AC_ARG_ENABLE(debug,
[AS_HELP_STRING(--enable-debug,For maintainers only - please do not use)],
[
@ -155,9 +164,10 @@ AC_ARG_ENABLE(debug,
[-g*], [ ],
[*], [AS_VAR_APPEND([nxflags], [" $flag"])])
done
CFLAGS="$nxflags -O0 -g3"
CFLAGS="$nxflags -O -g3"
])
CPPFLAGS="$CPPFLAGS -DDEBUG=1 -UFORTIFY_SOURCE"
ENABLE_CWFLAGS=yes
CPPFLAGS="$CPPFLAGS -DDEBUG=1 -U_FORTIFY_SOURCE"
])
])
@ -166,6 +176,7 @@ AC_ARG_ENABLE(opt,
[
AS_IF([test "x$enableval" = "xyes"], [
AX_CHECK_COMPILE_FLAG([-Ofast], [CFLAGS="$CFLAGS -Ofast"])
AX_CHECK_COMPILE_FLAG([-fomit-frame-pointer], [CFLAGS="$CFLAGS -fomit-frame-pointer"])
AX_CHECK_COMPILE_FLAG([-march=native], [CFLAGS="$CFLAGS -march=native"])
])
])
@ -179,6 +190,7 @@ dnl Checks
AC_PROG_CC_C99
AM_PROG_AS
AC_USE_SYSTEM_EXTENSIONS
AC_C_VARARRAYS
AC_CHECK_DEFINE([__native_client__], [NATIVECLIENT="yes"], [])
@ -262,14 +274,10 @@ AS_CASE([$host_os],
])
])
AX_CHECK_COMPILE_FLAG([-Wwrite-strings], [CFLAGS="$CFLAGS -Wwrite-strings"])
AX_CHECK_COMPILE_FLAG([-Wdiv-by-zero], [CFLAGS="$CFLAGS -Wdiv-by-zero"])
AX_CHECK_COMPILE_FLAG([-Wsometimes-uninitialized], [CFLAGS="$CFLAGS -Wsometimes-uninitialized"])
AC_ARG_VAR([CWFLAGS], [define to compilation flags for generating extra warnings])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wall], [CWFLAGS="$CWFLAGS -Wall"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wextra], [CWFLAGS="$CWFLAGS -Wextra"])
AX_CHECK_COMPILE_FLAG([$CFLAGS -Wall], [CWFLAGS="$CFLAGS -Wall"])
AX_CHECK_COMPILE_FLAG([$CFLAGS -Wextra], [CWFLAGS="$CFLAGS -Wextra"])
AC_MSG_CHECKING(for clang)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
@ -285,11 +293,15 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wbad-function-cast], [CWFLAGS="$CWFLAGS -Wbad-function-cast"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcast-align], [CWFLAGS="$CWFLAGS -Wcast-align"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcast-qual], [CWFLAGS="$CWFLAGS -Wcast-qual"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wdiv-by-zero], [CWFLAGS="$CWFLAGS -Wdiv-by-zero"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wduplicated-branches], [CWFLAGS="$CWFLAGS -Wduplicated-branches"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wduplicated-cond], [CWFLAGS="$CWFLAGS -Wduplicated-cond"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wfloat-equal], [CWFLAGS="$CWFLAGS -Wfloat-equal"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wformat=2], [CWFLAGS="$CWFLAGS -Wformat=2"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wlogical-op], [CWFLAGS="$CWFLAGS -Wlogical-op"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmaybe-uninitialized], [CWFLAGS="$CWFLAGS -Wmaybe-uninitialized"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmisleading-indentation], [CWFLAGS="$CWFLAGS -Wmisleading-indentation"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-declarations], [CWFLAGS="$CWFLAGS -Wmissing-declarations"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-prototypes], [CWFLAGS="$CWFLAGS -Wmissing-prototypes"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnested-externs], [CWFLAGS="$CWFLAGS -Wnested-externs"])
@ -300,10 +312,13 @@ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnull-dereference], [CWFLAGS="$CWFLAGS -Wnull-d
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wold-style-declaration], [CWFLAGS="$CWFLAGS -Wold-style-declaration"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wpointer-arith], [CWFLAGS="$CWFLAGS -Wpointer-arith"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wredundant-decls], [CWFLAGS="$CWFLAGS -Wredundant-decls"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wrestrict], [CWFLAGS="$CWFLAGS -Wrestrict"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wshorten-64-to-32], [CWFLAGS="$CWFLAGS -Wshorten-64-to-32"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wsometimes-uninitialized], [CWFLAGS="$CWFLAGS -Wsometimes-uninitialized"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wstrict-prototypes], [CWFLAGS="$CWFLAGS -Wstrict-prototypes"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wswitch-enum], [CWFLAGS="$CWFLAGS -Wswitch-enum"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wvariable-decl], [CWFLAGS="$CWFLAGS -Wvariable-decl"])
AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wwrite-strings], [CWFLAGS="$CWFLAGS -Wwrite-strings"])
AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"])
AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"])
@ -325,6 +340,10 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
AX_CHECK_CATCHABLE_SEGV
AX_CHECK_CATCHABLE_ABRT
AS_IF([test "x$with_threads" = "xyes"], [
AX_TLS([AC_MSG_RESULT(thread local storage is supported)],
[AC_MSG_RESULT(thread local storage is not supported)]) ])
LT_INIT
AC_SUBST(LIBTOOL_DEPS)
@ -494,6 +513,23 @@ __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7),
[AC_MSG_RESULT(no)])
CFLAGS="$oldcflags"
oldcflags="$CFLAGS"
AX_CHECK_COMPILE_FLAG([-mrdrnd], [CFLAGS="$CFLAGS -mrdrnd"])
AC_MSG_CHECKING(for RDRAND)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#ifdef __native_client__
# error NativeClient detected - Avoiding RDRAND opcodes
#endif
#pragma GCC target("rdrnd")
#include <immintrin.h>
]], [[ unsigned long long x; _rdrand64_step(&x); ]])],
[AC_MSG_RESULT(yes)
AC_DEFINE([HAVE_RDRAND], [1], [rdrand is available])
AX_CHECK_COMPILE_FLAG([-mrdrnd], [CFLAGS_RDRAND="-mrdrnd"])
],
[AC_MSG_RESULT(no)])
CFLAGS="$oldcflags"
])
AC_SUBST(CFLAGS_MMX)
@ -506,6 +542,7 @@ AC_SUBST(CFLAGS_AVX2)
AC_SUBST(CFLAGS_AVX512F)
AC_SUBST(CFLAGS_AESNI)
AC_SUBST(CFLAGS_PCLMUL)
AC_SUBST(CFLAGS_RDRAND)
AC_CHECK_HEADERS([sys/mman.h intrin.h])
@ -732,6 +769,7 @@ __sync_lock_release(&_sodium_lock);
dnl Checks for functions and headers
AC_FUNC_ALLOCA
AS_IF([test "x$EMSCRIPTEN" = "x"],[
AC_CHECK_FUNCS([arc4random arc4random_buf])
AC_CHECK_FUNCS([mmap mlock madvise mprotect memset_s explicit_bzero nanosleep])
@ -765,6 +803,10 @@ AH_VERBATIM([NDEBUG], [/* Always evaluate assert() calls */
#/**/undef/**/ NDEBUG
#endif])
AS_IF([test "x$ENABLE_CWFLAGS" = "xyes"], [
CFLAGS="$CFLAGS $CWFLAGS"
])
AC_CONFIG_FILES([Makefile
builds/Makefile
contrib/Makefile

View File

@ -55,23 +55,35 @@ if (UNIX)
endif()
if(sodium_USE_STATIC_LIBS)
foreach(_libname ${sodium_PKG_STATIC_LIBRARIES})
if (NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending with .a
list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a")
endif()
endforeach()
list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES)
# if pkgconfig for libsodium doesn't provide
# static lib info, then override PKG_STATIC here..
if (NOT DEFINED sodium_PKG_STATIC_LIBRARIES)
if (sodium_PKG_STATIC_LIBRARIES STREQUAL "")
set(sodium_PKG_STATIC_LIBRARIES libsodium.a)
endif()
set(XPREFIX sodium_PKG_STATIC)
else()
if (sodium_PKG_LIBRARIES STREQUAL "")
set(sodium_PKG_LIBRARIES sodium)
endif()
set(XPREFIX sodium_PKG)
endif()
find_path(sodium_INCLUDE_DIR sodium.h
HINTS ${${XPREFIX}_INCLUDE_DIRS}
)
find_library(sodium_LIBRARY_DEBUG NAMES ${${XPREFIX}_LIBRARIES} sodium
find_library(sodium_LIBRARY_DEBUG NAMES ${${XPREFIX}_LIBRARIES}
HINTS ${${XPREFIX}_LIBRARY_DIRS}
)
find_library(sodium_LIBRARY_RELEASE NAMES ${${XPREFIX}_LIBRARIES} sodium
find_library(sodium_LIBRARY_RELEASE NAMES ${${XPREFIX}_LIBRARIES}
HINTS ${${XPREFIX}_LIBRARY_DIRS}
)

View File

@ -94,7 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -129,6 +129,7 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -149,6 +150,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@

View File

@ -94,7 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -129,6 +129,7 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -149,6 +150,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@

View File

@ -43,7 +43,7 @@ echo
env - PATH="$PATH" \
"$MAKE_TOOLCHAIN" --force --api="$NDK_API_VERSION_COMPAT" \
--unified-headers --arch="$ARCH" --install-dir="$TOOLCHAIN_DIR" || exit 1
--arch="$ARCH" --install-dir="$TOOLCHAIN_DIR" || exit 1
./configure \
--disable-soname-versions \
@ -59,7 +59,7 @@ if [ "$NDK_PLATFORM" != "$NDK_PLATFORM_COMPAT" ]; then
echo
env - PATH="$PATH" \
"$MAKE_TOOLCHAIN" --force --api="$NDK_API_VERSION" \
--unified-headers --arch="$ARCH" --install-dir="$TOOLCHAIN_DIR" || exit 1
--arch="$ARCH" --install-dir="$TOOLCHAIN_DIR" || exit 1
./configure \
--disable-soname-versions \

View File

@ -143,6 +143,12 @@ _crypto_box_secretkeybytes 1 1
_crypto_box_seed_keypair 1 1
_crypto_box_seedbytes 1 1
_crypto_box_zerobytes 0 1
_crypto_core_ed25519_add 0 1
_crypto_core_ed25519_bytes 0 1
_crypto_core_ed25519_from_uniform 0 1
_crypto_core_ed25519_is_valid_point 0 1
_crypto_core_ed25519_sub 0 1
_crypto_core_ed25519_uniformbytes 0 1
_crypto_core_hchacha20 1 1
_crypto_core_hchacha20_constbytes 1 1
_crypto_core_hchacha20_inputbytes 1 1
@ -252,10 +258,10 @@ _crypto_onetimeauth_primitive 0 1
_crypto_onetimeauth_statebytes 0 1
_crypto_onetimeauth_update 0 1
_crypto_onetimeauth_verify 0 1
_crypto_pwhash 0 1
_crypto_pwhash_alg_argon2i13 0 1
_crypto_pwhash_alg_argon2id13 0 1
_crypto_pwhash_alg_default 0 1
_crypto_pwhash 1 1
_crypto_pwhash_alg_argon2i13 1 1
_crypto_pwhash_alg_argon2id13 1 1
_crypto_pwhash_alg_default 1 1
_crypto_pwhash_argon2i 0 1
_crypto_pwhash_argon2i_alg_argon2i13 0 1
_crypto_pwhash_argon2i_bytes_max 0 1
@ -300,22 +306,22 @@ _crypto_pwhash_argon2id_str_needs_rehash 0 1
_crypto_pwhash_argon2id_str_verify 0 1
_crypto_pwhash_argon2id_strbytes 0 1
_crypto_pwhash_argon2id_strprefix 0 1
_crypto_pwhash_bytes_max 0 1
_crypto_pwhash_bytes_min 0 1
_crypto_pwhash_memlimit_interactive 0 1
_crypto_pwhash_memlimit_max 0 1
_crypto_pwhash_memlimit_min 0 1
_crypto_pwhash_memlimit_moderate 0 1
_crypto_pwhash_memlimit_sensitive 0 1
_crypto_pwhash_opslimit_interactive 0 1
_crypto_pwhash_opslimit_max 0 1
_crypto_pwhash_opslimit_min 0 1
_crypto_pwhash_opslimit_moderate 0 1
_crypto_pwhash_opslimit_sensitive 0 1
_crypto_pwhash_passwd_max 0 1
_crypto_pwhash_passwd_min 0 1
_crypto_pwhash_primitive 0 1
_crypto_pwhash_saltbytes 0 1
_crypto_pwhash_bytes_max 1 1
_crypto_pwhash_bytes_min 1 1
_crypto_pwhash_memlimit_interactive 1 1
_crypto_pwhash_memlimit_max 1 1
_crypto_pwhash_memlimit_min 1 1
_crypto_pwhash_memlimit_moderate 1 1
_crypto_pwhash_memlimit_sensitive 1 1
_crypto_pwhash_opslimit_interactive 1 1
_crypto_pwhash_opslimit_max 1 1
_crypto_pwhash_opslimit_min 1 1
_crypto_pwhash_opslimit_moderate 1 1
_crypto_pwhash_opslimit_sensitive 1 1
_crypto_pwhash_passwd_max 1 1
_crypto_pwhash_passwd_min 1 1
_crypto_pwhash_primitive 1 1
_crypto_pwhash_saltbytes 1 1
_crypto_pwhash_scryptsalsa208sha256 0 1
_crypto_pwhash_scryptsalsa208sha256_bytes_max 0 1
_crypto_pwhash_scryptsalsa208sha256_bytes_min 0 1
@ -336,12 +342,12 @@ _crypto_pwhash_scryptsalsa208sha256_str_needs_rehash 0 1
_crypto_pwhash_scryptsalsa208sha256_str_verify 0 1
_crypto_pwhash_scryptsalsa208sha256_strbytes 0 1
_crypto_pwhash_scryptsalsa208sha256_strprefix 0 1
_crypto_pwhash_str 0 1
_crypto_pwhash_str_alg 0 1
_crypto_pwhash_str_needs_rehash 0 1
_crypto_pwhash_str_verify 0 1
_crypto_pwhash_strbytes 0 1
_crypto_pwhash_strprefix 0 1
_crypto_pwhash_str 1 1
_crypto_pwhash_str_alg 1 1
_crypto_pwhash_str_needs_rehash 1 1
_crypto_pwhash_str_verify 1 1
_crypto_pwhash_strbytes 1 1
_crypto_pwhash_strprefix 1 1
_crypto_scalarmult 1 1
_crypto_scalarmult_base 1 1
_crypto_scalarmult_bytes 1 1
@ -349,6 +355,10 @@ _crypto_scalarmult_curve25519 0 1
_crypto_scalarmult_curve25519_base 0 1
_crypto_scalarmult_curve25519_bytes 0 1
_crypto_scalarmult_curve25519_scalarbytes 0 1
_crypto_scalarmult_ed25519 0 1
_crypto_scalarmult_ed25519_base 0 1
_crypto_scalarmult_ed25519_bytes 0 1
_crypto_scalarmult_ed25519_scalarbytes 0 1
_crypto_scalarmult_primitive 0 1
_crypto_scalarmult_scalarbytes 1 1
_crypto_secretbox 0 1
@ -549,10 +559,12 @@ _sodium_runtime_has_avx2 0 0
_sodium_runtime_has_avx512f 0 0
_sodium_runtime_has_neon 0 0
_sodium_runtime_has_pclmul 0 0
_sodium_runtime_has_rdrand 0 0
_sodium_runtime_has_sse2 0 0
_sodium_runtime_has_sse3 0 0
_sodium_runtime_has_sse41 0 0
_sodium_runtime_has_ssse3 0 0
_sodium_set_misuse_handler 0 0
_sodium_stackzero 0 0
_sodium_unpad 1 1
_sodium_version_string 1 1

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
#! /bin/sh
export CFLAGS="-O3 -fomit-frame-pointer -m32 -march=pentium3 -mtune=westmere"
export CFLAGS="-Ofast -fomit-frame-pointer -m32 -march=pentium3 -mtune=westmere"
export PREFIX="$(pwd)/libsodium-win32"
if (i686-w64-mingw32-gcc --version > /dev/null 2>&1) then

View File

@ -1,6 +1,6 @@
#! /bin/sh
export CFLAGS="-O3 -fomit-frame-pointer -m64 -mtune=westmere"
export CFLAGS="-Ofast -fomit-frame-pointer -m64 -mtune=westmere"
export PREFIX="$(pwd)/libsodium-win64"
if (x86_64-w64-mingw32-gcc --version > /dev/null 2>&1) then

View File

@ -364,11 +364,11 @@
<ClCompile Include="src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphashx24_ref.c" />
<ClCompile Include="src\libsodium\crypto_shorthash\siphash24\ref\shorthash_siphash24_ref.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\crypto_scalarmult.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe_frombytes_sandy2x.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c" />
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c" />
<ClCompile Include="src\libsodium\crypto_onetimeauth\crypto_onetimeauth.c" />
<ClCompile Include="src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.c" />
@ -418,7 +418,8 @@
<ClCompile Include="src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
<ClCompile Include="src\libsodium\crypto_core\hsalsa20\core_hsalsa20.c" />
<ClCompile Include="src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c" />
<ClCompile Include="src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c" />
<ClCompile Include="src\libsodium\crypto_core\ed25519\core_ed25519.c" />
<ClCompile Include="src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse2.h" />
@ -428,7 +429,7 @@
<ClInclude Include="src\libsodium\crypto_generichash\blake2b\ref\blake2b-load-sse41.h" />
<ClInclude Include="src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-avx2.h" />
<ClInclude Include="src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h" />
<ClInclude Include="src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h" />
<ClInclude Include="src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h" />
<ClInclude Include="src\libsodium\include\sodium.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_stream_salsa2012.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_auth.h" />
@ -436,7 +437,6 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="src\libsodium\include\sodium\core.h" />
<ClInclude Include="src\libsodium\include\sodium\version.h" />
<ClInclude Include="src\libsodium\include\sodium\export.h" />
<ClInclude Include="src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -482,14 +482,18 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_verify_64.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_core_ed25519.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_pwhash_argon2i.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_generichash.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_secretbox_xsalsa20poly1305.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_secretbox.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h" />
<ClInclude Include="src\libsodium\include\sodium\private\curve25519_ref10.h" />
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10.h" />
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h" />
<ClInclude Include="src\libsodium\include\sodium\private\sse2_64_32.h" />
<ClInclude Include="src\libsodium\include\sodium\private\common.h" />
<ClInclude Include="src\libsodium\include\sodium\private\mutex.h" />
@ -515,7 +519,6 @@
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\curve25519_sandy2x.h" />
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_namespace.h" />
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h" />
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h" />
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h" />
<ClInclude Include="src\libsodium\crypto_onetimeauth\poly1305\onetimeauth_poly1305.h" />
<ClInclude Include="src\libsodium\crypto_onetimeauth\poly1305\donna\poly1305_donna.h" />
@ -539,8 +542,14 @@
<ClInclude Include="src\libsodium\crypto_stream\salsa20\xmm6int\u8.h" />
<ClInclude Include="src\libsodium\crypto_stream\salsa20\xmm6int\salsa20_xmm6int-sse2.h" />
<ClInclude Include="src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h" />
<ClInclude Include="src\libsodium\crypto_core\curve25519\ref10\base2.h" />
<ClInclude Include="src\libsodium\crypto_core\curve25519\ref10\base.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h" />
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h" />
<ClInclude Include="builds\msvc\resource.h" />
</ItemGroup>
<ItemGroup>

View File

@ -162,6 +162,9 @@
<ClCompile Include="src\libsodium\crypto_scalarmult\crypto_scalarmult.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_scalarmult\ed25519\ref10\scalarmult_ed25519_ref10.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\scalarmult_curve25519.c">
<Filter>Source Files</Filter>
</ClCompile>
@ -174,9 +177,6 @@
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\fe51_invert.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.c">
<Filter>Source Files</Filter>
</ClCompile>
@ -324,7 +324,10 @@
<ClCompile Include="src\libsodium\crypto_core\hsalsa20\ref2\core_hsalsa20_ref2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_core\curve25519\ref10\curve25519_ref10.c">
<ClCompile Include="src\libsodium\crypto_core\ed25519\core_ed25519.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_core\ed25519\ref10\ed25519_ref10.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
@ -350,7 +353,7 @@
<ClInclude Include="src\libsodium\crypto_generichash\blake2b\ref\blake2b-compress-sse41.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_sign\ed25519\ref10\ed25519_ref10.h">
<ClInclude Include="src\libsodium\crypto_sign\ed25519\ref10\sign_ed25519_ref10.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium.h">
@ -374,9 +377,6 @@
<ClInclude Include="src\libsodium\include\sodium\core.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\export.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -512,6 +512,9 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_box_curve25519xchacha20poly1305.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_core_ed25519.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_pwhash_argon2i.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -524,6 +527,9 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_secretbox.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_scalarmult_ed25519.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -533,7 +539,13 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_sign_edwards25519sha512batch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\private\curve25519_ref10.h">
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10_fe_51.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\private\sse2_64_32.h">
@ -611,9 +623,6 @@
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\sandy2x\ladder_base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\donna_c64\curve25519_donna_c64.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_scalarmult\curve25519\ref10\x25519_ref10.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -683,10 +692,28 @@
<ClInclude Include="src\libsodium\crypto_stream\salsa20\xmm6\salsa20_xmm6.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\curve25519\ref10\base2.h">
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\constants.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\curve25519\ref10\base.h">
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\fe.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_25_5\base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\constants.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\fe.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\base2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\crypto_core\ed25519\ref10\fe_51\base.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

74
m4/ax_tls.m4 Normal file
View File

@ -0,0 +1,74 @@
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_tls.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_TLS([action-if-found], [action-if-not-found])
#
# DESCRIPTION
#
# Provides a test for the compiler support of thread local storage (TLS)
# extensions. Defines TLS if it is found. Currently knows about C++11,
# GCC/ICC, and MSVC. I think SunPro uses the same as GCC, and Borland
# apparently supports either.
#
# LICENSE
#
# Copyright (c) 2008 Alan Woodland <ajw05@aber.ac.uk>
# Copyright (c) 2010 Diego Elio Petteno` <flameeyes@gmail.com>
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Archive. When you make and distribute a
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
#serial 14
AC_DEFUN([AX_TLS], [
AC_MSG_CHECKING([for thread local storage (TLS) class])
AC_CACHE_VAL([ac_cv_tls],
[for ax_tls_keyword in thread_local _Thread_local __thread '__declspec(thread)' none; do
AS_CASE([$ax_tls_keyword],
[none], [ac_cv_tls=none ; break],
[AC_TRY_COMPILE(
[#include <stdlib.h>
static void
foo(void) {
static ] $ax_tls_keyword [ int bar;
exit(1);
}],
[],
[ac_cv_tls=$ax_tls_keyword ; break],
ac_cv_tls=none
)])
done
])
AC_MSG_RESULT([$ac_cv_tls])
AS_IF([test "$ac_cv_tls" != "none"],
[AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class define it to that here])
m4_ifnblank([$1],[$1])],
[m4_ifnblank([$2],[$2])])
])

View File

@ -94,7 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -129,6 +129,7 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -149,6 +150,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@

View File

@ -1,5 +1,5 @@
cscript msvc-scripts/rep.vbs //Nologo s/@VERSION@/1.0.15/ < src\libsodium\include\sodium\version.h.in > tmp
cscript msvc-scripts/rep.vbs //Nologo s/@VERSION@/1.0.16/ < src\libsodium\include\sodium\version.h.in > tmp
cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_VERSION_MAJOR@/10/ < tmp > tmp2
cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_VERSION_MINOR@/0/ < tmp2 > tmp3
cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_VERSION_MINOR@/1/ < tmp2 > tmp3
cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_MINIMAL_DEF@// < tmp3 > src\libsodium\include\sodium\version.h
del tmp tmp2 tmp3

View File

@ -31,15 +31,15 @@ Version numbers for the packages for .NET Core consist of three components:
It may be necessary to release more than one package for a libsodium version,
e.g., when adding support for a new platform or if a release contains a broken
binary. In this case, a package revision number is added as a fourth part to
the libsodium version, starting at `1`. For example, `1.0.15` is the initial
release of the package for libsodium 1.0.15 and `1.0.15.5` is the fifth
the libsodium version, starting at `1`. For example, `1.0.16` is the initial
release of the package for libsodium 1.0.16 and `1.0.16.5` is the fifth
revision (sixth release) of that package.
* *pre-release label*
If a package is a pre-release, a label is appended to the version number in
`-preview-##` format where `##` is the number of the pre-release, starting at
`01`. For example, `1.0.15-preview-01` is the first pre-release of the package
for libsodium 1.0.15 and `1.0.15.5-preview-02` the second pre-release of the
fifth revision of the package for libsodium 1.0.15.
`01`. For example, `1.0.16-preview-01` is the first pre-release of the package
for libsodium 1.0.16 and `1.0.16.5-preview-02` the second pre-release of the
fifth revision of the package for libsodium 1.0.16.
**Making a release**

View File

@ -170,13 +170,13 @@ def main(args):
print(' python3 prepare.py <version>')
print()
print('Examples:')
print(' python3 prepare.py 1.0.15-preview-01')
print(' python3 prepare.py 1.0.15-preview-02')
print(' python3 prepare.py 1.0.15-preview-03')
print(' python3 prepare.py 1.0.15')
print(' python3 prepare.py 1.0.15.1-preview-01')
print(' python3 prepare.py 1.0.15.1')
print(' python3 prepare.py 1.0.15.2')
print(' python3 prepare.py 1.0.16-preview-01')
print(' python3 prepare.py 1.0.16-preview-02')
print(' python3 prepare.py 1.0.16-preview-03')
print(' python3 prepare.py 1.0.16')
print(' python3 prepare.py 1.0.16.1-preview-01')
print(' python3 prepare.py 1.0.16.1')
print(' python3 prepare.py 1.0.16.2')
return 1
version = Version(m.group(2), m.group(0))

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- These values are populated into the package.gsl templates by package.bat. -->
<!-- The target attribute controls path and file name only, id controls package naming. -->
<package id="libsodium_vc120" target="libsodium" version = "1.0.15.0" pathversion="1_0_15_0" platformtoolset="v120" />
<package id="libsodium_vc120" target="libsodium" version = "1.0.16.0" pathversion="1_0_16_0" platformtoolset="v120" />

View File

@ -0,0 +1,326 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|Win32">
<Configuration>DebugDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|x64">
<Configuration>DebugDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|Win32">
<Configuration>ReleaseDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|x64">
<Configuration>ReleaseDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A185B162-6CB6-4502-B03F-B56F7699A8D9}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libsodium</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
</ItemGroup>
</Project>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.gsl">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.nuspec">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.targets">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.config">
<Filter>packaging</Filter>
</None>
<Xml Include="..\..\..\..\packaging\nuget\package.xml">
<Filter>packaging</Filter>
</Xml>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc" />
</ItemGroup>
<ItemGroup>
{{f1}}
</ItemGroup>
<ItemGroup>
{{f2}}
</ItemGroup>
<ItemGroup>
{{fd}}
</ItemGroup>
</Project>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{A185B162-6CB6-4502-B03F-B56F7699A8D9}</ProjectGuid>
<ProjectName>libsodium</ProjectName>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|Win32">
<Configuration>DebugDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|Win32">
<Configuration>ReleaseDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|x64">
<Configuration>DebugDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|x64">
<Configuration>ReleaseDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|Win32">
<Configuration>DebugLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|Win32">
<Configuration>ReleaseLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|x64">
<Configuration>DebugLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|x64">
<Configuration>ReleaseLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|Win32">
<Configuration>DebugLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|Win32">
<Configuration>ReleaseLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|x64">
<Configuration>DebugLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|x64">
<Configuration>ReleaseLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) == -1">StaticLibrary</ConfigurationType>
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) != -1">DynamicLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat" />
<None Include="..\..\..\..\packaging\nuget\package.config" />
<None Include="..\..\..\..\packaging\nuget\package.gsl" />
<None Include="..\..\..\..\packaging\nuget\package.nuspec" />
<None Include="..\..\..\..\packaging\nuget\package.targets" />
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml" />
</ItemGroup>
<ItemGroup>
{{v1}}
</ItemGroup>
<ItemGroup>
{{v2}}
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc">
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

136
regen-msvc/regen-msvc.py Executable file
View File

@ -0,0 +1,136 @@
#! /usr/bin/env python3
import fileinput
import glob
import os
import uuid
dirs = set()
tlv1 = ""
for file in glob.iglob("src/libsodium/**/*.c", recursive=True):
file = file.replace("/", "\\")
tlv1 = tlv1 + " <ClCompile Include=\"{}\" />\r\n".format(file)
tlv2 = ""
for file in glob.iglob("src/libsodium/**/*.h", recursive=True):
file = file.replace("/", "\\")
tlv2 = tlv2 + " <ClInclude Include=\"{}\" />\r\n".format(file)
tlf1 = ""
for file in glob.iglob("src/libsodium/**/*.c", recursive=True):
file = file.replace("/", "\\")
tlf1 = tlf1 + " <ClCompile Include=\"{}\">\r\n".format(file)
tlf1 = tlf1 + " <Filter>Source Files</Filter>\r\n"
tlf1 = tlf1 + " </ClCompile>\r\n"
tlf2 = ""
for file in glob.iglob("src/libsodium/**/*.h", recursive=True):
file = file.replace("/", "\\")
tlf2 = tlf2 + " <ClInclude Include=\"{}\">\r\n".format(file)
tlf2 = tlf2 + " <Filter>Header Files</Filter>\r\n"
tlf2 = tlf2 + " </ClInclude>\r\n"
v1 = ""
for file in glob.iglob("src/libsodium/**/*.c", recursive=True):
file = file.replace("/", "\\")
v1 = v1 + \
" <ClCompile Include=\"..\\..\\..\\..\\{}\" />\r\n".format(file)
v2 = ""
for file in glob.iglob("src/libsodium/**/*.h", recursive=True):
file = file.replace("/", "\\")
v2 = v2 + \
" <ClInclude Include=\"..\\..\\..\\..\\{}\" />\r\n".format(file)
f1 = ""
for file in glob.iglob("src/libsodium/**/*.c", recursive=True):
basedir = os.path.dirname(file).replace("src/libsodium/", "")
t = basedir
while t != '':
dirs.add(t)
t = os.path.dirname(t)
basedir = basedir.replace("/", "\\")
file = file.replace("/", "\\")
f1 = f1 + " <ClCompile Include=\"..\\..\\..\\..\\{}\">\r\n".format(file)
f1 = f1 + " <Filter>{}</Filter>\r\n".format(basedir)
f1 = f1 + " </ClCompile>\r\n"
f2 = ""
for file in glob.iglob("src/libsodium/**/*.h", recursive=True):
basedir = os.path.dirname(file).replace("src/libsodium/", "")
t = basedir
while t != '':
dirs.add(t)
t = os.path.dirname(t)
basedir = basedir.replace("/", "\\")
file = file.replace("/", "\\")
f2 = f2 + " <ClInclude Include=\"..\\..\\..\\..\\{}\">\r\n".format(file)
f2 = f2 + " <Filter>{}</Filter>\r\n".format(basedir)
f2 = f2 + " </ClInclude>\r\n"
fd = ""
dirs = list(dirs)
dirs.sort()
for dir in dirs:
dir = dir.replace("/", "\\")
uid = uuid.uuid3(uuid.UUID(bytes=b'LibSodiumMSVCUID'), dir)
fd = fd + " <Filter Include=\"{}\">\r\n".format(dir)
fd = fd + \
" <UniqueIdentifier>{{{}}}</UniqueIdentifier>\r\n".format(uid)
fd = fd + " </Filter>\r\n"
def apply_template(tplfile, outfile, sbox):
tpl = ""
with open(tplfile, 'rb') as fd:
tpl = fd.read()
for s in sbox.keys():
tpl = tpl.replace(str.encode(
"{{" + s + "}}", "utf8"), str.encode(str.strip(sbox[s]), "utf8"))
with open(outfile, 'wb') as fd:
fd.write(tpl)
sbox = {"tlv1": tlv1, "tlv2": tlv2, "tlf1": tlf1, "tlf2": tlf2, "v1": v1,
"v2": v2, "f1": f1, "f2": f2, "fd": fd}
sd = os.path.dirname(os.path.realpath(__file__))
apply_template(sd + "/tl_libsodium.vcxproj.filters.tpl",
"libsodium.vcxproj.filters", sbox)
sbox.update({"platform": "v140"})
apply_template(sd + "/tl_libsodium.vcxproj.tpl",
"libsodium.vcxproj", sbox)
apply_template(sd + "/libsodium.vcxproj.filters.tpl",
"builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters", sbox)
apply_template(sd + "/libsodium.vcxproj.filters.tpl",
"builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters", sbox)
apply_template(sd + "/libsodium.vcxproj.filters.tpl",
"builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters", sbox)
apply_template(sd + "/libsodium.vcxproj.filters.tpl",
"builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters", sbox)
apply_template(sd + "/libsodium.vcxproj.filters.tpl",
"builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters", sbox)
sbox.update({"platform": "v141"})
apply_template(sd + "/libsodium.vcxproj.tpl",
"builds/msvc/vs2017/libsodium/libsodium.vcxproj", sbox)
sbox.update({"platform": "v140"})
apply_template(sd + "/libsodium.vcxproj.tpl",
"builds/msvc/vs2015/libsodium/libsodium.vcxproj", sbox)
sbox.update({"platform": "v120"})
apply_template(sd + "/libsodium.vcxproj.tpl",
"builds/msvc/vs2013/libsodium/libsodium.vcxproj", sbox)
sbox.update({"platform": "v110"})
apply_template(sd + "/libsodium.vcxproj.tpl",
"builds/msvc/vs2012/libsodium/libsodium.vcxproj", sbox)
sbox.update({"platform": "v100"})
apply_template(sd + "/libsodium.vcxproj.tpl",
"builds/msvc/vs2010/libsodium/libsodium.vcxproj", sbox)

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
{{tlf1}}
</ItemGroup>
<ItemGroup>
{{tlf2}}
</ItemGroup>
</Project>

View File

@ -0,0 +1,331 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|Win32">
<Configuration>DebugDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|x64">
<Configuration>DebugDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|Win32">
<Configuration>ReleaseDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|x64">
<Configuration>ReleaseDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A185B162-6CB6-4502-B03F-B56F7699A8D9}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libsodium</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>{{platform}}</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="msvc-scripts\sodium.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
{{tlv1}}
</ItemGroup>
<ItemGroup>
{{tlv2}}
<ClInclude Include="builds\msvc\resource.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="builds\msvc\resource.rc">
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -94,7 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -189,6 +189,7 @@ am__relativize = \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -209,6 +210,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@

View File

@ -12,9 +12,7 @@ libsodium_la_SOURCES = \
crypto_box/crypto_box_easy.c \
crypto_box/crypto_box_seal.c \
crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c \
crypto_core/curve25519/ref10/base.h \
crypto_core/curve25519/ref10/base2.h \
crypto_core/curve25519/ref10/curve25519_ref10.c \
crypto_core/ed25519/ref10/ed25519_ref10.c \
crypto_core/hchacha20/core_hchacha20.c \
crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c \
crypto_core/hsalsa20/core_hsalsa20.c \
@ -57,6 +55,8 @@ libsodium_la_SOURCES = \
crypto_pwhash/argon2/pwhash_argon2id.c \
crypto_pwhash/crypto_pwhash.c \
crypto_scalarmult/crypto_scalarmult.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.h \
crypto_scalarmult/curve25519/scalarmult_curve25519.c \
crypto_scalarmult/curve25519/scalarmult_curve25519.h \
crypto_secretbox/crypto_secretbox.c \
@ -69,10 +69,10 @@ libsodium_la_SOURCES = \
crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h \
crypto_sign/crypto_sign.c \
crypto_sign/ed25519/sign_ed25519.c \
crypto_sign/ed25519/ref10/ed25519_ref10.h \
crypto_sign/ed25519/ref10/keypair.c \
crypto_sign/ed25519/ref10/open.c \
crypto_sign/ed25519/ref10/sign.c \
crypto_sign/ed25519/ref10/sign_ed25519_ref10.h \
crypto_stream/chacha20/stream_chacha20.c \
crypto_stream/chacha20/stream_chacha20.h \
crypto_stream/chacha20/ref/chacha20_ref.h \
@ -83,7 +83,7 @@ libsodium_la_SOURCES = \
crypto_stream/xsalsa20/stream_xsalsa20.c \
crypto_verify/sodium/verify.c \
include/sodium/private/common.h \
include/sodium/private/curve25519_ref10.h \
include/sodium/private/ed25519_ref10.h \
include/sodium/private/implementations.h \
include/sodium/private/mutex.h \
include/sodium/private/sse2_64_32.h \
@ -94,28 +94,20 @@ libsodium_la_SOURCES = \
sodium/utils.c \
sodium/version.c
if !EMSCRIPTEN
libsodium_la_SOURCES += \
randombytes/salsa20/randombytes_salsa20_random.c
if NATIVECLIENT
libsodium_la_SOURCES += \
randombytes/nativeclient/randombytes_nativeclient.c
else
libsodium_la_SOURCES += \
randombytes/sysrandom/randombytes_sysrandom.c
endif
endif
if HAVE_TI_MODE
libsodium_la_SOURCES += \
crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c \
crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h
crypto_core/ed25519/ref10/fe_51/base.h \
crypto_core/ed25519/ref10/fe_51/base2.h \
crypto_core/ed25519/ref10/fe_51/constants.h \
crypto_core/ed25519/ref10/fe_51/fe.h \
include/sodium/private/ed25519_ref10_fe_51.h
else
libsodium_la_SOURCES += \
crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.h
crypto_core/ed25519/ref10/fe_25_5/base.h \
crypto_core/ed25519/ref10/fe_25_5/base2.h \
crypto_core/ed25519/ref10/fe_25_5/constants.h \
crypto_core/ed25519/ref10/fe_25_5/fe.h \
include/sodium/private/ed25519_ref10_fe_25_5.h
endif
if HAVE_AMD64_ASM
@ -158,6 +150,7 @@ if !MINIMAL
libsodium_la_SOURCES += \
crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c \
crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c \
crypto_core/ed25519/core_ed25519.c \
crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c \
crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h \
crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c \
@ -165,6 +158,7 @@ libsodium_la_SOURCES += \
crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h \
crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c \
crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c \
crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c \
crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c \
crypto_shorthash/siphash24/shorthash_siphashx24.c \
crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c \
@ -176,6 +170,8 @@ libsodium_la_SOURCES += \
crypto_stream/xchacha20/stream_xchacha20.c
endif
randombytes_salsa20_randombytes_salsa20_random_CFLAGS = @CFLAGS_RDRAND@
libsodium_la_LDFLAGS = \
$(AM_LDFLAGS) \
-export-dynamic \
@ -199,7 +195,27 @@ SUBDIRS = \
include
libsodium_la_LIBADD = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la
noinst_LTLIBRARIES = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la
noinst_LTLIBRARIES = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la
librdrand_la_LDFLAGS = $(libsodium_la_LDFLAGS)
librdrand_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
@CFLAGS_RDRAND@
librdrand_la_SOURCES = \
randombytes/salsa20/randombytes_salsa20_random.c
if !EMSCRIPTEN
libsodium_la_LIBADD += librdrand.la
noinst_LTLIBRARIES += librdrand.la
if NATIVECLIENT
libsodium_la_SOURCES += \
randombytes/nativeclient/randombytes_nativeclient.c
else
libsodium_la_SOURCES += \
randombytes/sysrandom/randombytes_sysrandom.c
endif
endif
libaesni_la_LDFLAGS = $(libsodium_la_LDFLAGS)
libaesni_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \

View File

@ -90,33 +90,30 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@EMSCRIPTEN_FALSE@am__append_1 = \
@EMSCRIPTEN_FALSE@ randombytes/salsa20/randombytes_salsa20_random.c
@HAVE_TI_MODE_TRUE@am__append_1 = \
@HAVE_TI_MODE_TRUE@ crypto_core/ed25519/ref10/fe_51/base.h \
@HAVE_TI_MODE_TRUE@ crypto_core/ed25519/ref10/fe_51/base2.h \
@HAVE_TI_MODE_TRUE@ crypto_core/ed25519/ref10/fe_51/constants.h \
@HAVE_TI_MODE_TRUE@ crypto_core/ed25519/ref10/fe_51/fe.h \
@HAVE_TI_MODE_TRUE@ include/sodium/private/ed25519_ref10_fe_51.h
@EMSCRIPTEN_FALSE@@NATIVECLIENT_TRUE@am__append_2 = \
@EMSCRIPTEN_FALSE@@NATIVECLIENT_TRUE@ randombytes/nativeclient/randombytes_nativeclient.c
@HAVE_TI_MODE_FALSE@am__append_2 = \
@HAVE_TI_MODE_FALSE@ crypto_core/ed25519/ref10/fe_25_5/base.h \
@HAVE_TI_MODE_FALSE@ crypto_core/ed25519/ref10/fe_25_5/base2.h \
@HAVE_TI_MODE_FALSE@ crypto_core/ed25519/ref10/fe_25_5/constants.h \
@HAVE_TI_MODE_FALSE@ crypto_core/ed25519/ref10/fe_25_5/fe.h \
@HAVE_TI_MODE_FALSE@ include/sodium/private/ed25519_ref10_fe_25_5.h
@EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@am__append_3 = \
@EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@ randombytes/sysrandom/randombytes_sysrandom.c
@HAVE_TI_MODE_TRUE@am__append_4 = \
@HAVE_TI_MODE_TRUE@ crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c \
@HAVE_TI_MODE_TRUE@ crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h
@HAVE_TI_MODE_FALSE@am__append_5 = \
@HAVE_TI_MODE_FALSE@ crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
@HAVE_TI_MODE_FALSE@ crypto_scalarmult/curve25519/ref10/x25519_ref10.h
@HAVE_AMD64_ASM_TRUE@am__append_6 = \
@HAVE_AMD64_ASM_TRUE@am__append_3 = \
@HAVE_AMD64_ASM_TRUE@ crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S \
@HAVE_AMD64_ASM_TRUE@ crypto_stream/salsa20/xmm6/salsa20_xmm6.c \
@HAVE_AMD64_ASM_TRUE@ crypto_stream/salsa20/xmm6/salsa20_xmm6.h
@HAVE_AMD64_ASM_FALSE@am__append_7 = \
@HAVE_AMD64_ASM_FALSE@am__append_4 = \
@HAVE_AMD64_ASM_FALSE@ crypto_stream/salsa20/ref/salsa20_ref.c \
@HAVE_AMD64_ASM_FALSE@ crypto_stream/salsa20/ref/salsa20_ref.h
@HAVE_AVX_ASM_TRUE@am__append_8 = \
@HAVE_AVX_ASM_TRUE@am__append_5 = \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/consts_namespace.h \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h \
@ -131,9 +128,10 @@ host_triplet = @host@
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/sandy2x.S
@MINIMAL_FALSE@am__append_9 = \
@MINIMAL_FALSE@am__append_6 = \
@MINIMAL_FALSE@ crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c \
@MINIMAL_FALSE@ crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c \
@MINIMAL_FALSE@ crypto_core/ed25519/core_ed25519.c \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c \
@ -141,6 +139,7 @@ host_triplet = @host@
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c \
@MINIMAL_FALSE@ crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c \
@MINIMAL_FALSE@ crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c \
@MINIMAL_FALSE@ crypto_shorthash/siphash24/shorthash_siphashx24.c \
@MINIMAL_FALSE@ crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c \
@ -151,11 +150,19 @@ host_triplet = @host@
@MINIMAL_FALSE@ crypto_stream/salsa208/stream_salsa208.c \
@MINIMAL_FALSE@ crypto_stream/xchacha20/stream_xchacha20.c
@HAVE_LD_OUTPUT_DEF_TRUE@am__append_10 = -Wl,--output-def,libsodium-$(DLL_VERSION).def
@MINIMAL_FALSE@am__append_11 = \
@HAVE_LD_OUTPUT_DEF_TRUE@am__append_7 = -Wl,--output-def,libsodium-$(DLL_VERSION).def
@EMSCRIPTEN_FALSE@am__append_8 = librdrand.la
@EMSCRIPTEN_FALSE@am__append_9 = librdrand.la
@EMSCRIPTEN_FALSE@@NATIVECLIENT_TRUE@am__append_10 = \
@EMSCRIPTEN_FALSE@@NATIVECLIENT_TRUE@ randombytes/nativeclient/randombytes_nativeclient.c
@EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@am__append_11 = \
@EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@ randombytes/sysrandom/randombytes_sysrandom.c
@MINIMAL_FALSE@am__append_12 = \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c
@HAVE_AMD64_ASM_FALSE@am__append_12 = \
@HAVE_AMD64_ASM_FALSE@am__append_13 = \
@HAVE_AMD64_ASM_FALSE@ crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c \
@HAVE_AMD64_ASM_FALSE@ crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h \
@HAVE_AMD64_ASM_FALSE@ crypto_stream/salsa20/xmm6int/u0.h \
@ -169,7 +176,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -237,8 +244,15 @@ libavx512f_la_OBJECTS = $(am_libavx512f_la_OBJECTS)
libavx512f_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libavx512f_la_LDFLAGS) $(LDFLAGS) -o $@
librdrand_la_LIBADD =
am_librdrand_la_OBJECTS = randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo
librdrand_la_OBJECTS = $(am_librdrand_la_OBJECTS)
librdrand_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(librdrand_la_LDFLAGS) $(LDFLAGS) -o $@
@EMSCRIPTEN_FALSE@am_librdrand_la_rpath =
libsodium_la_DEPENDENCIES = libaesni.la libsse2.la libssse3.la \
libsse41.la libavx2.la libavx512f.la
libsse41.la libavx2.la libavx512f.la $(am__append_8)
am__libsodium_la_SOURCES_DIST = \
crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c \
crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c \
@ -249,9 +263,7 @@ am__libsodium_la_SOURCES_DIST = \
crypto_box/crypto_box.c crypto_box/crypto_box_easy.c \
crypto_box/crypto_box_seal.c \
crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c \
crypto_core/curve25519/ref10/base.h \
crypto_core/curve25519/ref10/base2.h \
crypto_core/curve25519/ref10/curve25519_ref10.c \
crypto_core/ed25519/ref10/ed25519_ref10.c \
crypto_core/hchacha20/core_hchacha20.c \
crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c \
crypto_core/hsalsa20/core_hsalsa20.c \
@ -290,6 +302,8 @@ am__libsodium_la_SOURCES_DIST = \
crypto_pwhash/argon2/pwhash_argon2id.c \
crypto_pwhash/crypto_pwhash.c \
crypto_scalarmult/crypto_scalarmult.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.h \
crypto_scalarmult/curve25519/scalarmult_curve25519.c \
crypto_scalarmult/curve25519/scalarmult_curve25519.h \
crypto_secretbox/crypto_secretbox.c \
@ -301,10 +315,10 @@ am__libsodium_la_SOURCES_DIST = \
crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c \
crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h \
crypto_sign/crypto_sign.c crypto_sign/ed25519/sign_ed25519.c \
crypto_sign/ed25519/ref10/ed25519_ref10.h \
crypto_sign/ed25519/ref10/keypair.c \
crypto_sign/ed25519/ref10/open.c \
crypto_sign/ed25519/ref10/sign.c \
crypto_sign/ed25519/ref10/sign_ed25519_ref10.h \
crypto_stream/chacha20/stream_chacha20.c \
crypto_stream/chacha20/stream_chacha20.h \
crypto_stream/chacha20/ref/chacha20_ref.h \
@ -314,19 +328,21 @@ am__libsodium_la_SOURCES_DIST = \
crypto_stream/salsa20/stream_salsa20.h \
crypto_stream/xsalsa20/stream_xsalsa20.c \
crypto_verify/sodium/verify.c include/sodium/private/common.h \
include/sodium/private/curve25519_ref10.h \
include/sodium/private/ed25519_ref10.h \
include/sodium/private/implementations.h \
include/sodium/private/mutex.h \
include/sodium/private/sse2_64_32.h randombytes/randombytes.c \
sodium/codecs.c sodium/core.c sodium/runtime.c sodium/utils.c \
sodium/version.c \
randombytes/salsa20/randombytes_salsa20_random.c \
randombytes/nativeclient/randombytes_nativeclient.c \
randombytes/sysrandom/randombytes_sysrandom.c \
crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c \
crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h \
crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.h \
sodium/version.c crypto_core/ed25519/ref10/fe_51/base.h \
crypto_core/ed25519/ref10/fe_51/base2.h \
crypto_core/ed25519/ref10/fe_51/constants.h \
crypto_core/ed25519/ref10/fe_51/fe.h \
include/sodium/private/ed25519_ref10_fe_51.h \
crypto_core/ed25519/ref10/fe_25_5/base.h \
crypto_core/ed25519/ref10/fe_25_5/base2.h \
crypto_core/ed25519/ref10/fe_25_5/constants.h \
crypto_core/ed25519/ref10/fe_25_5/fe.h \
include/sodium/private/ed25519_ref10_fe_25_5.h \
crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S \
crypto_stream/salsa20/xmm6/salsa20_xmm6.c \
crypto_stream/salsa20/xmm6/salsa20_xmm6.h \
@ -347,6 +363,7 @@ am__libsodium_la_SOURCES_DIST = \
crypto_scalarmult/curve25519/sandy2x/sandy2x.S \
crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c \
crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c \
crypto_core/ed25519/core_ed25519.c \
crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c \
crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h \
crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c \
@ -354,6 +371,7 @@ am__libsodium_la_SOURCES_DIST = \
crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h \
crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c \
crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c \
crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c \
crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c \
crypto_shorthash/siphash24/shorthash_siphashx24.c \
crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c \
@ -362,26 +380,26 @@ am__libsodium_la_SOURCES_DIST = \
crypto_stream/salsa2012/stream_salsa2012.c \
crypto_stream/salsa208/ref/stream_salsa208_ref.c \
crypto_stream/salsa208/stream_salsa208.c \
crypto_stream/xchacha20/stream_xchacha20.c
@EMSCRIPTEN_FALSE@am__objects_1 = randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo
@EMSCRIPTEN_FALSE@@NATIVECLIENT_TRUE@am__objects_2 = randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo
@EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@am__objects_3 = randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo
@HAVE_TI_MODE_TRUE@am__objects_4 = crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo
@HAVE_TI_MODE_FALSE@am__objects_5 = crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo
@HAVE_AMD64_ASM_TRUE@am__objects_6 = crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6-asm.lo \
crypto_stream/xchacha20/stream_xchacha20.c \
randombytes/nativeclient/randombytes_nativeclient.c \
randombytes/sysrandom/randombytes_sysrandom.c
am__objects_1 =
@HAVE_AMD64_ASM_TRUE@am__objects_2 = crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6-asm.lo \
@HAVE_AMD64_ASM_TRUE@ crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6.lo
@HAVE_AMD64_ASM_FALSE@am__objects_7 = crypto_stream/salsa20/ref/libsodium_la-salsa20_ref.lo
@HAVE_AVX_ASM_TRUE@am__objects_8 = crypto_scalarmult/curve25519/sandy2x/libsodium_la-curve25519_sandy2x.lo \
@HAVE_AMD64_ASM_FALSE@am__objects_3 = crypto_stream/salsa20/ref/libsodium_la-salsa20_ref.lo
@HAVE_AVX_ASM_TRUE@am__objects_4 = crypto_scalarmult/curve25519/sandy2x/libsodium_la-curve25519_sandy2x.lo \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/libsodium_la-fe51_invert.lo \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/libsodium_la-fe_frombytes_sandy2x.lo \
@HAVE_AVX_ASM_TRUE@ crypto_scalarmult/curve25519/sandy2x/libsodium_la-sandy2x.lo
@MINIMAL_FALSE@am__objects_9 = crypto_box/curve25519xchacha20poly1305/libsodium_la-box_curve25519xchacha20poly1305.lo \
@MINIMAL_FALSE@am__objects_5 = crypto_box/curve25519xchacha20poly1305/libsodium_la-box_curve25519xchacha20poly1305.lo \
@MINIMAL_FALSE@ crypto_box/curve25519xchacha20poly1305/libsodium_la-box_seal_curve25519xchacha20poly1305.lo \
@MINIMAL_FALSE@ crypto_core/ed25519/libsodium_la-core_ed25519.lo \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/libsodium_la-crypto_scrypt-common.lo \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/libsodium_la-scrypt_platform.lo \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/libsodium_la-pbkdf2-sha256.lo \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/libsodium_la-pwhash_scryptsalsa208sha256.lo \
@MINIMAL_FALSE@ crypto_pwhash/scryptsalsa208sha256/nosse/libsodium_la-pwhash_scryptsalsa208sha256_nosse.lo \
@MINIMAL_FALSE@ crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo \
@MINIMAL_FALSE@ crypto_secretbox/xchacha20poly1305/libsodium_la-secretbox_xchacha20poly1305.lo \
@MINIMAL_FALSE@ crypto_shorthash/siphash24/libsodium_la-shorthash_siphashx24.lo \
@MINIMAL_FALSE@ crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphashx24_ref.lo \
@ -391,6 +409,8 @@ am__libsodium_la_SOURCES_DIST = \
@MINIMAL_FALSE@ crypto_stream/salsa208/ref/libsodium_la-stream_salsa208_ref.lo \
@MINIMAL_FALSE@ crypto_stream/salsa208/libsodium_la-stream_salsa208.lo \
@MINIMAL_FALSE@ crypto_stream/xchacha20/libsodium_la-stream_xchacha20.lo
@EMSCRIPTEN_FALSE@@NATIVECLIENT_TRUE@am__objects_6 = randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo
@EMSCRIPTEN_FALSE@@NATIVECLIENT_FALSE@am__objects_7 = randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo
am_libsodium_la_OBJECTS = crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_chacha20poly1305.lo \
crypto_aead/xchacha20poly1305/sodium/libsodium_la-aead_xchacha20poly1305.lo \
crypto_auth/libsodium_la-crypto_auth.lo \
@ -401,7 +421,7 @@ am_libsodium_la_OBJECTS = crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_
crypto_box/libsodium_la-crypto_box_easy.lo \
crypto_box/libsodium_la-crypto_box_seal.lo \
crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305.lo \
crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo \
crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo \
crypto_core/hchacha20/libsodium_la-core_hchacha20.lo \
crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20_ref2.lo \
crypto_core/hsalsa20/libsodium_la-core_hsalsa20.lo \
@ -431,6 +451,7 @@ am_libsodium_la_OBJECTS = crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_
crypto_pwhash/argon2/libsodium_la-pwhash_argon2id.lo \
crypto_pwhash/libsodium_la-crypto_pwhash.lo \
crypto_scalarmult/libsodium_la-crypto_scalarmult.lo \
crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo \
crypto_scalarmult/curve25519/libsodium_la-scalarmult_curve25519.lo \
crypto_secretbox/libsodium_la-crypto_secretbox.lo \
crypto_secretbox/libsodium_la-crypto_secretbox_easy.lo \
@ -454,9 +475,9 @@ am_libsodium_la_OBJECTS = crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_
sodium/libsodium_la-codecs.lo sodium/libsodium_la-core.lo \
sodium/libsodium_la-runtime.lo sodium/libsodium_la-utils.lo \
sodium/libsodium_la-version.lo $(am__objects_1) \
$(am__objects_2) $(am__objects_3) $(am__objects_4) \
$(am__objects_5) $(am__objects_6) $(am__objects_7) \
$(am__objects_8) $(am__objects_9)
$(am__objects_1) $(am__objects_2) $(am__objects_3) \
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
$(am__objects_7)
libsodium_la_OBJECTS = $(am_libsodium_la_OBJECTS)
libsodium_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@ -471,11 +492,11 @@ am__libsse2_la_SOURCES_DIST = \
crypto_stream/salsa20/xmm6int/u0.h \
crypto_stream/salsa20/xmm6int/u1.h \
crypto_stream/salsa20/xmm6int/u4.h
@MINIMAL_FALSE@am__objects_10 = crypto_pwhash/scryptsalsa208sha256/sse/libsse2_la-pwhash_scryptsalsa208sha256_sse.lo
@HAVE_AMD64_ASM_FALSE@am__objects_11 = crypto_stream/salsa20/xmm6int/libsse2_la-salsa20_xmm6int-sse2.lo
@MINIMAL_FALSE@am__objects_8 = crypto_pwhash/scryptsalsa208sha256/sse/libsse2_la-pwhash_scryptsalsa208sha256_sse.lo
@HAVE_AMD64_ASM_FALSE@am__objects_9 = crypto_stream/salsa20/xmm6int/libsse2_la-salsa20_xmm6int-sse2.lo
am_libsse2_la_OBJECTS = \
crypto_onetimeauth/poly1305/sse2/libsse2_la-poly1305_sse2.lo \
$(am__objects_10) $(am__objects_11)
$(am__objects_8) $(am__objects_9)
libsse2_la_OBJECTS = $(am_libsse2_la_OBJECTS)
libsse2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@ -539,11 +560,12 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libaesni_la_SOURCES) $(libavx2_la_SOURCES) \
$(libavx512f_la_SOURCES) $(libsodium_la_SOURCES) \
$(libsse2_la_SOURCES) $(libsse41_la_SOURCES) \
$(libssse3_la_SOURCES)
$(libavx512f_la_SOURCES) $(librdrand_la_SOURCES) \
$(libsodium_la_SOURCES) $(libsse2_la_SOURCES) \
$(libsse41_la_SOURCES) $(libssse3_la_SOURCES)
DIST_SOURCES = $(libaesni_la_SOURCES) $(libavx2_la_SOURCES) \
$(libavx512f_la_SOURCES) $(am__libsodium_la_SOURCES_DIST) \
$(libavx512f_la_SOURCES) $(librdrand_la_SOURCES) \
$(am__libsodium_la_SOURCES_DIST) \
$(am__libsse2_la_SOURCES_DIST) $(libsse41_la_SOURCES) \
$(libssse3_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
@ -618,6 +640,7 @@ am__relativize = \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -638,6 +661,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@
@ -787,9 +811,7 @@ libsodium_la_SOURCES = \
crypto_box/crypto_box.c crypto_box/crypto_box_easy.c \
crypto_box/crypto_box_seal.c \
crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c \
crypto_core/curve25519/ref10/base.h \
crypto_core/curve25519/ref10/base2.h \
crypto_core/curve25519/ref10/curve25519_ref10.c \
crypto_core/ed25519/ref10/ed25519_ref10.c \
crypto_core/hchacha20/core_hchacha20.c \
crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c \
crypto_core/hsalsa20/core_hsalsa20.c \
@ -828,6 +850,8 @@ libsodium_la_SOURCES = \
crypto_pwhash/argon2/pwhash_argon2id.c \
crypto_pwhash/crypto_pwhash.c \
crypto_scalarmult/crypto_scalarmult.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
crypto_scalarmult/curve25519/ref10/x25519_ref10.h \
crypto_scalarmult/curve25519/scalarmult_curve25519.c \
crypto_scalarmult/curve25519/scalarmult_curve25519.h \
crypto_secretbox/crypto_secretbox.c \
@ -839,10 +863,10 @@ libsodium_la_SOURCES = \
crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c \
crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h \
crypto_sign/crypto_sign.c crypto_sign/ed25519/sign_ed25519.c \
crypto_sign/ed25519/ref10/ed25519_ref10.h \
crypto_sign/ed25519/ref10/keypair.c \
crypto_sign/ed25519/ref10/open.c \
crypto_sign/ed25519/ref10/sign.c \
crypto_sign/ed25519/ref10/sign_ed25519_ref10.h \
crypto_stream/chacha20/stream_chacha20.c \
crypto_stream/chacha20/stream_chacha20.h \
crypto_stream/chacha20/ref/chacha20_ref.h \
@ -852,15 +876,14 @@ libsodium_la_SOURCES = \
crypto_stream/salsa20/stream_salsa20.h \
crypto_stream/xsalsa20/stream_xsalsa20.c \
crypto_verify/sodium/verify.c include/sodium/private/common.h \
include/sodium/private/curve25519_ref10.h \
include/sodium/private/ed25519_ref10.h \
include/sodium/private/implementations.h \
include/sodium/private/mutex.h \
include/sodium/private/sse2_64_32.h randombytes/randombytes.c \
sodium/codecs.c sodium/core.c sodium/runtime.c sodium/utils.c \
sodium/version.c $(am__append_1) $(am__append_2) \
$(am__append_3) $(am__append_4) $(am__append_5) \
$(am__append_6) $(am__append_7) $(am__append_8) \
$(am__append_9)
$(am__append_6) $(am__append_10) $(am__append_11)
noinst_HEADERS = \
crypto_scalarmult/curve25519/sandy2x/consts.S \
crypto_scalarmult/curve25519/sandy2x/fe51_mul.S \
@ -869,8 +892,9 @@ noinst_HEADERS = \
crypto_scalarmult/curve25519/sandy2x/ladder.S \
crypto_scalarmult/curve25519/sandy2x/ladder_base.S
randombytes_salsa20_randombytes_salsa20_random_CFLAGS = @CFLAGS_RDRAND@
libsodium_la_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -no-undefined \
$(LIBTOOL_EXTRA_FLAGS) $(am__append_10)
$(LIBTOOL_EXTRA_FLAGS) $(am__append_7)
libsodium_la_CPPFLAGS = \
$(LTDLINCL) \
-I$(srcdir)/include/sodium \
@ -882,8 +906,17 @@ libsodium_la_CPPFLAGS = \
SUBDIRS = \
include
libsodium_la_LIBADD = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la
noinst_LTLIBRARIES = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la
libsodium_la_LIBADD = libaesni.la libsse2.la libssse3.la libsse41.la \
libavx2.la libavx512f.la $(am__append_8)
noinst_LTLIBRARIES = libaesni.la libsse2.la libssse3.la libsse41.la \
libavx2.la libavx512f.la $(am__append_9)
librdrand_la_LDFLAGS = $(libsodium_la_LDFLAGS)
librdrand_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
@CFLAGS_RDRAND@
librdrand_la_SOURCES = \
randombytes/salsa20/randombytes_salsa20_random.c
libaesni_la_LDFLAGS = $(libsodium_la_LDFLAGS)
libaesni_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
@CFLAGS_SSE2@ @CFLAGS_SSSE3@ @CFLAGS_AESNI@ @CFLAGS_PCLMUL@
@ -897,7 +930,7 @@ libsse2_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
libsse2_la_SOURCES = crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c \
crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h \
$(am__append_11) $(am__append_12)
$(am__append_12) $(am__append_13)
libssse3_la_LDFLAGS = $(libsodium_la_LDFLAGS)
libssse3_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
@CFLAGS_SSE2@ @CFLAGS_SSSE3@
@ -1084,6 +1117,18 @@ crypto_pwhash/argon2/libavx512f_la-argon2-fill-block-avx512f.lo: \
libavx512f.la: $(libavx512f_la_OBJECTS) $(libavx512f_la_DEPENDENCIES) $(EXTRA_libavx512f_la_DEPENDENCIES)
$(AM_V_CCLD)$(libavx512f_la_LINK) $(libavx512f_la_OBJECTS) $(libavx512f_la_LIBADD) $(LIBS)
randombytes/salsa20/$(am__dirstamp):
@$(MKDIR_P) randombytes/salsa20
@: > randombytes/salsa20/$(am__dirstamp)
randombytes/salsa20/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) randombytes/salsa20/$(DEPDIR)
@: > randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo: \
randombytes/salsa20/$(am__dirstamp) \
randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
librdrand.la: $(librdrand_la_OBJECTS) $(librdrand_la_DEPENDENCIES) $(EXTRA_librdrand_la_DEPENDENCIES)
$(AM_V_CCLD)$(librdrand_la_LINK) $(am_librdrand_la_rpath) $(librdrand_la_OBJECTS) $(librdrand_la_LIBADD) $(LIBS)
crypto_aead/chacha20poly1305/sodium/$(am__dirstamp):
@$(MKDIR_P) crypto_aead/chacha20poly1305/sodium
@: > crypto_aead/chacha20poly1305/sodium/$(am__dirstamp)
@ -1160,15 +1205,15 @@ crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp):
crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305.lo: \
crypto_box/curve25519xsalsa20poly1305/$(am__dirstamp) \
crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
crypto_core/curve25519/ref10/$(am__dirstamp):
@$(MKDIR_P) crypto_core/curve25519/ref10
@: > crypto_core/curve25519/ref10/$(am__dirstamp)
crypto_core/curve25519/ref10/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_core/curve25519/ref10/$(DEPDIR)
@: > crypto_core/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo: \
crypto_core/curve25519/ref10/$(am__dirstamp) \
crypto_core/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_core/ed25519/ref10/$(am__dirstamp):
@$(MKDIR_P) crypto_core/ed25519/ref10
@: > crypto_core/ed25519/ref10/$(am__dirstamp)
crypto_core/ed25519/ref10/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_core/ed25519/ref10/$(DEPDIR)
@: > crypto_core/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo: \
crypto_core/ed25519/ref10/$(am__dirstamp) \
crypto_core/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_core/hchacha20/$(am__dirstamp):
@$(MKDIR_P) crypto_core/hchacha20
@: > crypto_core/hchacha20/$(am__dirstamp)
@ -1367,6 +1412,15 @@ crypto_scalarmult/$(DEPDIR)/$(am__dirstamp):
crypto_scalarmult/libsodium_la-crypto_scalarmult.lo: \
crypto_scalarmult/$(am__dirstamp) \
crypto_scalarmult/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/ref10/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519/ref10
@: > crypto_scalarmult/curve25519/ref10/$(am__dirstamp)
crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519/ref10/$(DEPDIR)
@: > crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo: \
crypto_scalarmult/curve25519/ref10/$(am__dirstamp) \
crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519
@: > crypto_scalarmult/curve25519/$(am__dirstamp)
@ -1543,51 +1597,6 @@ sodium/libsodium_la-utils.lo: sodium/$(am__dirstamp) \
sodium/$(DEPDIR)/$(am__dirstamp)
sodium/libsodium_la-version.lo: sodium/$(am__dirstamp) \
sodium/$(DEPDIR)/$(am__dirstamp)
randombytes/salsa20/$(am__dirstamp):
@$(MKDIR_P) randombytes/salsa20
@: > randombytes/salsa20/$(am__dirstamp)
randombytes/salsa20/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) randombytes/salsa20/$(DEPDIR)
@: > randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo: \
randombytes/salsa20/$(am__dirstamp) \
randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
randombytes/nativeclient/$(am__dirstamp):
@$(MKDIR_P) randombytes/nativeclient
@: > randombytes/nativeclient/$(am__dirstamp)
randombytes/nativeclient/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) randombytes/nativeclient/$(DEPDIR)
@: > randombytes/nativeclient/$(DEPDIR)/$(am__dirstamp)
randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo: \
randombytes/nativeclient/$(am__dirstamp) \
randombytes/nativeclient/$(DEPDIR)/$(am__dirstamp)
randombytes/sysrandom/$(am__dirstamp):
@$(MKDIR_P) randombytes/sysrandom
@: > randombytes/sysrandom/$(am__dirstamp)
randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) randombytes/sysrandom/$(DEPDIR)
@: > randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo: \
randombytes/sysrandom/$(am__dirstamp) \
randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519/donna_c64
@: > crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp)
crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)
@: > crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo: \
crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp) \
crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/ref10/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519/ref10
@: > crypto_scalarmult/curve25519/ref10/$(am__dirstamp)
crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/curve25519/ref10/$(DEPDIR)
@: > crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo: \
crypto_scalarmult/curve25519/ref10/$(am__dirstamp) \
crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_stream/salsa20/xmm6/$(am__dirstamp):
@$(MKDIR_P) crypto_stream/salsa20/xmm6
@: > crypto_stream/salsa20/xmm6/$(am__dirstamp)
@ -1639,6 +1648,15 @@ crypto_box/curve25519xchacha20poly1305/libsodium_la-box_curve25519xchacha20poly1
crypto_box/curve25519xchacha20poly1305/libsodium_la-box_seal_curve25519xchacha20poly1305.lo: \
crypto_box/curve25519xchacha20poly1305/$(am__dirstamp) \
crypto_box/curve25519xchacha20poly1305/$(DEPDIR)/$(am__dirstamp)
crypto_core/ed25519/$(am__dirstamp):
@$(MKDIR_P) crypto_core/ed25519
@: > crypto_core/ed25519/$(am__dirstamp)
crypto_core/ed25519/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_core/ed25519/$(DEPDIR)
@: > crypto_core/ed25519/$(DEPDIR)/$(am__dirstamp)
crypto_core/ed25519/libsodium_la-core_ed25519.lo: \
crypto_core/ed25519/$(am__dirstamp) \
crypto_core/ed25519/$(DEPDIR)/$(am__dirstamp)
crypto_pwhash/scryptsalsa208sha256/$(am__dirstamp):
@$(MKDIR_P) crypto_pwhash/scryptsalsa208sha256
@: > crypto_pwhash/scryptsalsa208sha256/$(am__dirstamp)
@ -1666,6 +1684,15 @@ crypto_pwhash/scryptsalsa208sha256/nosse/$(DEPDIR)/$(am__dirstamp):
crypto_pwhash/scryptsalsa208sha256/nosse/libsodium_la-pwhash_scryptsalsa208sha256_nosse.lo: \
crypto_pwhash/scryptsalsa208sha256/nosse/$(am__dirstamp) \
crypto_pwhash/scryptsalsa208sha256/nosse/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/ed25519/ref10/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/ed25519/ref10
@: > crypto_scalarmult/ed25519/ref10/$(am__dirstamp)
crypto_scalarmult/ed25519/ref10/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) crypto_scalarmult/ed25519/ref10/$(DEPDIR)
@: > crypto_scalarmult/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo: \
crypto_scalarmult/ed25519/ref10/$(am__dirstamp) \
crypto_scalarmult/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
crypto_secretbox/xchacha20poly1305/$(am__dirstamp):
@$(MKDIR_P) crypto_secretbox/xchacha20poly1305
@: > crypto_secretbox/xchacha20poly1305/$(am__dirstamp)
@ -1729,6 +1756,24 @@ crypto_stream/xchacha20/$(DEPDIR)/$(am__dirstamp):
crypto_stream/xchacha20/libsodium_la-stream_xchacha20.lo: \
crypto_stream/xchacha20/$(am__dirstamp) \
crypto_stream/xchacha20/$(DEPDIR)/$(am__dirstamp)
randombytes/nativeclient/$(am__dirstamp):
@$(MKDIR_P) randombytes/nativeclient
@: > randombytes/nativeclient/$(am__dirstamp)
randombytes/nativeclient/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) randombytes/nativeclient/$(DEPDIR)
@: > randombytes/nativeclient/$(DEPDIR)/$(am__dirstamp)
randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo: \
randombytes/nativeclient/$(am__dirstamp) \
randombytes/nativeclient/$(DEPDIR)/$(am__dirstamp)
randombytes/sysrandom/$(am__dirstamp):
@$(MKDIR_P) randombytes/sysrandom
@: > randombytes/sysrandom/$(am__dirstamp)
randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) randombytes/sysrandom/$(DEPDIR)
@: > randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo: \
randombytes/sysrandom/$(am__dirstamp) \
randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
libsodium.la: $(libsodium_la_OBJECTS) $(libsodium_la_DEPENDENCIES) $(EXTRA_libsodium_la_DEPENDENCIES)
$(AM_V_CCLD)$(libsodium_la_LINK) -rpath $(libdir) $(libsodium_la_OBJECTS) $(libsodium_la_LIBADD) $(LIBS)
@ -1797,8 +1842,10 @@ mostlyclean-compile:
-rm -f crypto_box/curve25519xchacha20poly1305/*.lo
-rm -f crypto_box/curve25519xsalsa20poly1305/*.$(OBJEXT)
-rm -f crypto_box/curve25519xsalsa20poly1305/*.lo
-rm -f crypto_core/curve25519/ref10/*.$(OBJEXT)
-rm -f crypto_core/curve25519/ref10/*.lo
-rm -f crypto_core/ed25519/*.$(OBJEXT)
-rm -f crypto_core/ed25519/*.lo
-rm -f crypto_core/ed25519/ref10/*.$(OBJEXT)
-rm -f crypto_core/ed25519/ref10/*.lo
-rm -f crypto_core/hchacha20/*.$(OBJEXT)
-rm -f crypto_core/hchacha20/*.lo
-rm -f crypto_core/hsalsa20/*.$(OBJEXT)
@ -1851,12 +1898,12 @@ mostlyclean-compile:
-rm -f crypto_scalarmult/*.lo
-rm -f crypto_scalarmult/curve25519/*.$(OBJEXT)
-rm -f crypto_scalarmult/curve25519/*.lo
-rm -f crypto_scalarmult/curve25519/donna_c64/*.$(OBJEXT)
-rm -f crypto_scalarmult/curve25519/donna_c64/*.lo
-rm -f crypto_scalarmult/curve25519/ref10/*.$(OBJEXT)
-rm -f crypto_scalarmult/curve25519/ref10/*.lo
-rm -f crypto_scalarmult/curve25519/sandy2x/*.$(OBJEXT)
-rm -f crypto_scalarmult/curve25519/sandy2x/*.lo
-rm -f crypto_scalarmult/ed25519/ref10/*.$(OBJEXT)
-rm -f crypto_scalarmult/ed25519/ref10/*.lo
-rm -f crypto_secretbox/*.$(OBJEXT)
-rm -f crypto_secretbox/*.lo
-rm -f crypto_secretbox/xchacha20poly1305/*.$(OBJEXT)
@ -1934,7 +1981,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xchacha20poly1305/$(DEPDIR)/libsodium_la-box_curve25519xchacha20poly1305.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xchacha20poly1305/$(DEPDIR)/libsodium_la-box_seal_curve25519xchacha20poly1305.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/curve25519/ref10/$(DEPDIR)/libsodium_la-curve25519_ref10.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/ed25519/$(DEPDIR)/libsodium_la-core_ed25519.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/ed25519/ref10/$(DEPDIR)/libsodium_la-ed25519_ref10.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/hchacha20/$(DEPDIR)/libsodium_la-core_hchacha20.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/hsalsa20/$(DEPDIR)/libsodium_la-core_hsalsa20.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/hsalsa20/ref2/$(DEPDIR)/libsodium_la-core_hsalsa20_ref2.Plo@am__quote@
@ -1978,12 +2026,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@crypto_pwhash/scryptsalsa208sha256/sse/$(DEPDIR)/libsse2_la-pwhash_scryptsalsa208sha256_sse.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/$(DEPDIR)/libsodium_la-crypto_scalarmult.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/$(DEPDIR)/libsodium_la-scalarmult_curve25519.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-curve25519_donna_c64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/sandy2x/$(DEPDIR)/libsodium_la-curve25519_sandy2x.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/sandy2x/$(DEPDIR)/libsodium_la-fe51_invert.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/sandy2x/$(DEPDIR)/libsodium_la-fe_frombytes_sandy2x.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/sandy2x/$(DEPDIR)/libsodium_la-sandy2x.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/ed25519/ref10/$(DEPDIR)/libsodium_la-scalarmult_ed25519_ref10.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_secretbox/$(DEPDIR)/libsodium_la-crypto_secretbox.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_secretbox/$(DEPDIR)/libsodium_la-crypto_secretbox_easy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@crypto_secretbox/xchacha20poly1305/$(DEPDIR)/libsodium_la-secretbox_xchacha20poly1305.Plo@am__quote@
@ -2020,7 +2068,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@crypto_verify/sodium/$(DEPDIR)/libsodium_la-verify.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@randombytes/$(DEPDIR)/libsodium_la-randombytes.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@randombytes/salsa20/$(DEPDIR)/librdrand_la-randombytes_salsa20_random.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@sodium/$(DEPDIR)/libsodium_la-codecs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@sodium/$(DEPDIR)/libsodium_la-core.Plo@am__quote@
@ -2132,6 +2180,13 @@ crypto_pwhash/argon2/libavx512f_la-argon2-fill-block-avx512f.lo: crypto_pwhash/a
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libavx512f_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_pwhash/argon2/libavx512f_la-argon2-fill-block-avx512f.lo `test -f 'crypto_pwhash/argon2/argon2-fill-block-avx512f.c' || echo '$(srcdir)/'`crypto_pwhash/argon2/argon2-fill-block-avx512f.c
randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo: randombytes/salsa20/randombytes_salsa20_random.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librdrand_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo -MD -MP -MF randombytes/salsa20/$(DEPDIR)/librdrand_la-randombytes_salsa20_random.Tpo -c -o randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo `test -f 'randombytes/salsa20/randombytes_salsa20_random.c' || echo '$(srcdir)/'`randombytes/salsa20/randombytes_salsa20_random.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) randombytes/salsa20/$(DEPDIR)/librdrand_la-randombytes_salsa20_random.Tpo randombytes/salsa20/$(DEPDIR)/librdrand_la-randombytes_salsa20_random.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='randombytes/salsa20/randombytes_salsa20_random.c' object='randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librdrand_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo `test -f 'randombytes/salsa20/randombytes_salsa20_random.c' || echo '$(srcdir)/'`randombytes/salsa20/randombytes_salsa20_random.c
crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_chacha20poly1305.lo: crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_chacha20poly1305.lo -MD -MP -MF crypto_aead/chacha20poly1305/sodium/$(DEPDIR)/libsodium_la-aead_chacha20poly1305.Tpo -c -o crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_chacha20poly1305.lo `test -f 'crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c' || echo '$(srcdir)/'`crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_aead/chacha20poly1305/sodium/$(DEPDIR)/libsodium_la-aead_chacha20poly1305.Tpo crypto_aead/chacha20poly1305/sodium/$(DEPDIR)/libsodium_la-aead_chacha20poly1305.Plo
@ -2202,12 +2257,12 @@ crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly130
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c
crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo: crypto_core/curve25519/ref10/curve25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo -MD -MP -MF crypto_core/curve25519/ref10/$(DEPDIR)/libsodium_la-curve25519_ref10.Tpo -c -o crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo `test -f 'crypto_core/curve25519/ref10/curve25519_ref10.c' || echo '$(srcdir)/'`crypto_core/curve25519/ref10/curve25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_core/curve25519/ref10/$(DEPDIR)/libsodium_la-curve25519_ref10.Tpo crypto_core/curve25519/ref10/$(DEPDIR)/libsodium_la-curve25519_ref10.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_core/curve25519/ref10/curve25519_ref10.c' object='crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo' libtool=yes @AMDEPBACKSLASH@
crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo: crypto_core/ed25519/ref10/ed25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo -MD -MP -MF crypto_core/ed25519/ref10/$(DEPDIR)/libsodium_la-ed25519_ref10.Tpo -c -o crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo `test -f 'crypto_core/ed25519/ref10/ed25519_ref10.c' || echo '$(srcdir)/'`crypto_core/ed25519/ref10/ed25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_core/ed25519/ref10/$(DEPDIR)/libsodium_la-ed25519_ref10.Tpo crypto_core/ed25519/ref10/$(DEPDIR)/libsodium_la-ed25519_ref10.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_core/ed25519/ref10/ed25519_ref10.c' object='crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/curve25519/ref10/libsodium_la-curve25519_ref10.lo `test -f 'crypto_core/curve25519/ref10/curve25519_ref10.c' || echo '$(srcdir)/'`crypto_core/curve25519/ref10/curve25519_ref10.c
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo `test -f 'crypto_core/ed25519/ref10/ed25519_ref10.c' || echo '$(srcdir)/'`crypto_core/ed25519/ref10/ed25519_ref10.c
crypto_core/hchacha20/libsodium_la-core_hchacha20.lo: crypto_core/hchacha20/core_hchacha20.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/hchacha20/libsodium_la-core_hchacha20.lo -MD -MP -MF crypto_core/hchacha20/$(DEPDIR)/libsodium_la-core_hchacha20.Tpo -c -o crypto_core/hchacha20/libsodium_la-core_hchacha20.lo `test -f 'crypto_core/hchacha20/core_hchacha20.c' || echo '$(srcdir)/'`crypto_core/hchacha20/core_hchacha20.c
@ -2412,6 +2467,13 @@ crypto_scalarmult/libsodium_la-crypto_scalarmult.lo: crypto_scalarmult/crypto_sc
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/libsodium_la-crypto_scalarmult.lo `test -f 'crypto_scalarmult/crypto_scalarmult.c' || echo '$(srcdir)/'`crypto_scalarmult/crypto_scalarmult.c
crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo: crypto_scalarmult/curve25519/ref10/x25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo -MD -MP -MF crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Tpo -c -o crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo `test -f 'crypto_scalarmult/curve25519/ref10/x25519_ref10.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref10/x25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Tpo crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_scalarmult/curve25519/ref10/x25519_ref10.c' object='crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo `test -f 'crypto_scalarmult/curve25519/ref10/x25519_ref10.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref10/x25519_ref10.c
crypto_scalarmult/curve25519/libsodium_la-scalarmult_curve25519.lo: crypto_scalarmult/curve25519/scalarmult_curve25519.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/libsodium_la-scalarmult_curve25519.lo -MD -MP -MF crypto_scalarmult/curve25519/$(DEPDIR)/libsodium_la-scalarmult_curve25519.Tpo -c -o crypto_scalarmult/curve25519/libsodium_la-scalarmult_curve25519.lo `test -f 'crypto_scalarmult/curve25519/scalarmult_curve25519.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/scalarmult_curve25519.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/$(DEPDIR)/libsodium_la-scalarmult_curve25519.Tpo crypto_scalarmult/curve25519/$(DEPDIR)/libsodium_la-scalarmult_curve25519.Plo
@ -2587,41 +2649,6 @@ sodium/libsodium_la-version.lo: sodium/version.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sodium/libsodium_la-version.lo `test -f 'sodium/version.c' || echo '$(srcdir)/'`sodium/version.c
randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo: randombytes/salsa20/randombytes_salsa20_random.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo -MD -MP -MF randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Tpo -c -o randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo `test -f 'randombytes/salsa20/randombytes_salsa20_random.c' || echo '$(srcdir)/'`randombytes/salsa20/randombytes_salsa20_random.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Tpo randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='randombytes/salsa20/randombytes_salsa20_random.c' object='randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo `test -f 'randombytes/salsa20/randombytes_salsa20_random.c' || echo '$(srcdir)/'`randombytes/salsa20/randombytes_salsa20_random.c
randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo: randombytes/nativeclient/randombytes_nativeclient.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo -MD -MP -MF randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Tpo -c -o randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo `test -f 'randombytes/nativeclient/randombytes_nativeclient.c' || echo '$(srcdir)/'`randombytes/nativeclient/randombytes_nativeclient.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Tpo randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='randombytes/nativeclient/randombytes_nativeclient.c' object='randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo `test -f 'randombytes/nativeclient/randombytes_nativeclient.c' || echo '$(srcdir)/'`randombytes/nativeclient/randombytes_nativeclient.c
randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo: randombytes/sysrandom/randombytes_sysrandom.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo -MD -MP -MF randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Tpo -c -o randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo `test -f 'randombytes/sysrandom/randombytes_sysrandom.c' || echo '$(srcdir)/'`randombytes/sysrandom/randombytes_sysrandom.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Tpo randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='randombytes/sysrandom/randombytes_sysrandom.c' object='randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo `test -f 'randombytes/sysrandom/randombytes_sysrandom.c' || echo '$(srcdir)/'`randombytes/sysrandom/randombytes_sysrandom.c
crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo: crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo -MD -MP -MF crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-curve25519_donna_c64.Tpo -c -o crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo `test -f 'crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-curve25519_donna_c64.Tpo crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-curve25519_donna_c64.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c' object='crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/donna_c64/libsodium_la-curve25519_donna_c64.lo `test -f 'crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c
crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo: crypto_scalarmult/curve25519/ref10/x25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo -MD -MP -MF crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Tpo -c -o crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo `test -f 'crypto_scalarmult/curve25519/ref10/x25519_ref10.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref10/x25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Tpo crypto_scalarmult/curve25519/ref10/$(DEPDIR)/libsodium_la-x25519_ref10.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_scalarmult/curve25519/ref10/x25519_ref10.c' object='crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo `test -f 'crypto_scalarmult/curve25519/ref10/x25519_ref10.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref10/x25519_ref10.c
crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6.lo: crypto_stream/salsa20/xmm6/salsa20_xmm6.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6.lo -MD -MP -MF crypto_stream/salsa20/xmm6/$(DEPDIR)/libsodium_la-salsa20_xmm6.Tpo -c -o crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6.lo `test -f 'crypto_stream/salsa20/xmm6/salsa20_xmm6.c' || echo '$(srcdir)/'`crypto_stream/salsa20/xmm6/salsa20_xmm6.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_stream/salsa20/xmm6/$(DEPDIR)/libsodium_la-salsa20_xmm6.Tpo crypto_stream/salsa20/xmm6/$(DEPDIR)/libsodium_la-salsa20_xmm6.Plo
@ -2671,6 +2698,13 @@ crypto_box/curve25519xchacha20poly1305/libsodium_la-box_seal_curve25519xchacha20
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xchacha20poly1305/libsodium_la-box_seal_curve25519xchacha20poly1305.lo `test -f 'crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c
crypto_core/ed25519/libsodium_la-core_ed25519.lo: crypto_core/ed25519/core_ed25519.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/ed25519/libsodium_la-core_ed25519.lo -MD -MP -MF crypto_core/ed25519/$(DEPDIR)/libsodium_la-core_ed25519.Tpo -c -o crypto_core/ed25519/libsodium_la-core_ed25519.lo `test -f 'crypto_core/ed25519/core_ed25519.c' || echo '$(srcdir)/'`crypto_core/ed25519/core_ed25519.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_core/ed25519/$(DEPDIR)/libsodium_la-core_ed25519.Tpo crypto_core/ed25519/$(DEPDIR)/libsodium_la-core_ed25519.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_core/ed25519/core_ed25519.c' object='crypto_core/ed25519/libsodium_la-core_ed25519.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/ed25519/libsodium_la-core_ed25519.lo `test -f 'crypto_core/ed25519/core_ed25519.c' || echo '$(srcdir)/'`crypto_core/ed25519/core_ed25519.c
crypto_pwhash/scryptsalsa208sha256/libsodium_la-crypto_scrypt-common.lo: crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_pwhash/scryptsalsa208sha256/libsodium_la-crypto_scrypt-common.lo -MD -MP -MF crypto_pwhash/scryptsalsa208sha256/$(DEPDIR)/libsodium_la-crypto_scrypt-common.Tpo -c -o crypto_pwhash/scryptsalsa208sha256/libsodium_la-crypto_scrypt-common.lo `test -f 'crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c' || echo '$(srcdir)/'`crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_pwhash/scryptsalsa208sha256/$(DEPDIR)/libsodium_la-crypto_scrypt-common.Tpo crypto_pwhash/scryptsalsa208sha256/$(DEPDIR)/libsodium_la-crypto_scrypt-common.Plo
@ -2706,6 +2740,13 @@ crypto_pwhash/scryptsalsa208sha256/nosse/libsodium_la-pwhash_scryptsalsa208sha25
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_pwhash/scryptsalsa208sha256/nosse/libsodium_la-pwhash_scryptsalsa208sha256_nosse.lo `test -f 'crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c' || echo '$(srcdir)/'`crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c
crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo: crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo -MD -MP -MF crypto_scalarmult/ed25519/ref10/$(DEPDIR)/libsodium_la-scalarmult_ed25519_ref10.Tpo -c -o crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo `test -f 'crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c' || echo '$(srcdir)/'`crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_scalarmult/ed25519/ref10/$(DEPDIR)/libsodium_la-scalarmult_ed25519_ref10.Tpo crypto_scalarmult/ed25519/ref10/$(DEPDIR)/libsodium_la-scalarmult_ed25519_ref10.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c' object='crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo `test -f 'crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c' || echo '$(srcdir)/'`crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c
crypto_secretbox/xchacha20poly1305/libsodium_la-secretbox_xchacha20poly1305.lo: crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_secretbox/xchacha20poly1305/libsodium_la-secretbox_xchacha20poly1305.lo -MD -MP -MF crypto_secretbox/xchacha20poly1305/$(DEPDIR)/libsodium_la-secretbox_xchacha20poly1305.Tpo -c -o crypto_secretbox/xchacha20poly1305/libsodium_la-secretbox_xchacha20poly1305.lo `test -f 'crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c' || echo '$(srcdir)/'`crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_secretbox/xchacha20poly1305/$(DEPDIR)/libsodium_la-secretbox_xchacha20poly1305.Tpo crypto_secretbox/xchacha20poly1305/$(DEPDIR)/libsodium_la-secretbox_xchacha20poly1305.Plo
@ -2769,6 +2810,20 @@ crypto_stream/xchacha20/libsodium_la-stream_xchacha20.lo: crypto_stream/xchacha2
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/xchacha20/libsodium_la-stream_xchacha20.lo `test -f 'crypto_stream/xchacha20/stream_xchacha20.c' || echo '$(srcdir)/'`crypto_stream/xchacha20/stream_xchacha20.c
randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo: randombytes/nativeclient/randombytes_nativeclient.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo -MD -MP -MF randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Tpo -c -o randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo `test -f 'randombytes/nativeclient/randombytes_nativeclient.c' || echo '$(srcdir)/'`randombytes/nativeclient/randombytes_nativeclient.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Tpo randombytes/nativeclient/$(DEPDIR)/libsodium_la-randombytes_nativeclient.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='randombytes/nativeclient/randombytes_nativeclient.c' object='randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/nativeclient/libsodium_la-randombytes_nativeclient.lo `test -f 'randombytes/nativeclient/randombytes_nativeclient.c' || echo '$(srcdir)/'`randombytes/nativeclient/randombytes_nativeclient.c
randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo: randombytes/sysrandom/randombytes_sysrandom.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo -MD -MP -MF randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Tpo -c -o randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo `test -f 'randombytes/sysrandom/randombytes_sysrandom.c' || echo '$(srcdir)/'`randombytes/sysrandom/randombytes_sysrandom.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Tpo randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='randombytes/sysrandom/randombytes_sysrandom.c' object='randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo `test -f 'randombytes/sysrandom/randombytes_sysrandom.c' || echo '$(srcdir)/'`randombytes/sysrandom/randombytes_sysrandom.c
crypto_onetimeauth/poly1305/sse2/libsse2_la-poly1305_sse2.lo: crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsse2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/sse2/libsse2_la-poly1305_sse2.lo -MD -MP -MF crypto_onetimeauth/poly1305/sse2/$(DEPDIR)/libsse2_la-poly1305_sse2.Tpo -c -o crypto_onetimeauth/poly1305/sse2/libsse2_la-poly1305_sse2.lo `test -f 'crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/sse2/$(DEPDIR)/libsse2_la-poly1305_sse2.Tpo crypto_onetimeauth/poly1305/sse2/$(DEPDIR)/libsse2_la-poly1305_sse2.Plo
@ -2833,7 +2888,8 @@ clean-libtool:
-rm -rf crypto_box/.libs crypto_box/_libs
-rm -rf crypto_box/curve25519xchacha20poly1305/.libs crypto_box/curve25519xchacha20poly1305/_libs
-rm -rf crypto_box/curve25519xsalsa20poly1305/.libs crypto_box/curve25519xsalsa20poly1305/_libs
-rm -rf crypto_core/curve25519/ref10/.libs crypto_core/curve25519/ref10/_libs
-rm -rf crypto_core/ed25519/.libs crypto_core/ed25519/_libs
-rm -rf crypto_core/ed25519/ref10/.libs crypto_core/ed25519/ref10/_libs
-rm -rf crypto_core/hchacha20/.libs crypto_core/hchacha20/_libs
-rm -rf crypto_core/hsalsa20/.libs crypto_core/hsalsa20/_libs
-rm -rf crypto_core/hsalsa20/ref2/.libs crypto_core/hsalsa20/ref2/_libs
@ -2860,9 +2916,9 @@ clean-libtool:
-rm -rf crypto_pwhash/scryptsalsa208sha256/sse/.libs crypto_pwhash/scryptsalsa208sha256/sse/_libs
-rm -rf crypto_scalarmult/.libs crypto_scalarmult/_libs
-rm -rf crypto_scalarmult/curve25519/.libs crypto_scalarmult/curve25519/_libs
-rm -rf crypto_scalarmult/curve25519/donna_c64/.libs crypto_scalarmult/curve25519/donna_c64/_libs
-rm -rf crypto_scalarmult/curve25519/ref10/.libs crypto_scalarmult/curve25519/ref10/_libs
-rm -rf crypto_scalarmult/curve25519/sandy2x/.libs crypto_scalarmult/curve25519/sandy2x/_libs
-rm -rf crypto_scalarmult/ed25519/ref10/.libs crypto_scalarmult/ed25519/ref10/_libs
-rm -rf crypto_secretbox/.libs crypto_secretbox/_libs
-rm -rf crypto_secretbox/xchacha20poly1305/.libs crypto_secretbox/xchacha20poly1305/_libs
-rm -rf crypto_secretbox/xsalsa20poly1305/.libs crypto_secretbox/xsalsa20poly1305/_libs
@ -3124,8 +3180,10 @@ distclean-generic:
-rm -f crypto_box/curve25519xchacha20poly1305/$(am__dirstamp)
-rm -f crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_box/curve25519xsalsa20poly1305/$(am__dirstamp)
-rm -f crypto_core/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_core/curve25519/ref10/$(am__dirstamp)
-rm -f crypto_core/ed25519/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_core/ed25519/$(am__dirstamp)
-rm -f crypto_core/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_core/ed25519/ref10/$(am__dirstamp)
-rm -f crypto_core/hchacha20/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_core/hchacha20/$(am__dirstamp)
-rm -f crypto_core/hsalsa20/$(DEPDIR)/$(am__dirstamp)
@ -3178,12 +3236,12 @@ distclean-generic:
-rm -f crypto_scalarmult/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/ref10/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/ref10/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/sandy2x/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_scalarmult/curve25519/sandy2x/$(am__dirstamp)
-rm -f crypto_scalarmult/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_scalarmult/ed25519/ref10/$(am__dirstamp)
-rm -f crypto_secretbox/$(DEPDIR)/$(am__dirstamp)
-rm -f crypto_secretbox/$(am__dirstamp)
-rm -f crypto_secretbox/xchacha20poly1305/$(DEPDIR)/$(am__dirstamp)
@ -3254,7 +3312,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
clean-noinstLTLIBRARIES mostlyclean-am
distclean: distclean-recursive
-rm -rf crypto_aead/aes256gcm/aesni/$(DEPDIR) crypto_aead/chacha20poly1305/sodium/$(DEPDIR) crypto_aead/xchacha20poly1305/sodium/$(DEPDIR) crypto_auth/$(DEPDIR) crypto_auth/hmacsha256/$(DEPDIR) crypto_auth/hmacsha512/$(DEPDIR) crypto_auth/hmacsha512256/$(DEPDIR) crypto_box/$(DEPDIR) crypto_box/curve25519xchacha20poly1305/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR) crypto_core/curve25519/ref10/$(DEPDIR) crypto_core/hchacha20/$(DEPDIR) crypto_core/hsalsa20/$(DEPDIR) crypto_core/hsalsa20/ref2/$(DEPDIR) crypto_core/salsa/ref/$(DEPDIR) crypto_generichash/$(DEPDIR) crypto_generichash/blake2b/$(DEPDIR) crypto_generichash/blake2b/ref/$(DEPDIR) crypto_hash/$(DEPDIR) crypto_hash/sha256/$(DEPDIR) crypto_hash/sha256/cp/$(DEPDIR) crypto_hash/sha512/$(DEPDIR) crypto_hash/sha512/cp/$(DEPDIR) crypto_kdf/$(DEPDIR) crypto_kdf/blake2b/$(DEPDIR) crypto_kx/$(DEPDIR) crypto_onetimeauth/$(DEPDIR) crypto_onetimeauth/poly1305/$(DEPDIR) crypto_onetimeauth/poly1305/donna/$(DEPDIR) crypto_onetimeauth/poly1305/sse2/$(DEPDIR) crypto_pwhash/$(DEPDIR) crypto_pwhash/argon2/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/nosse/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/sse/$(DEPDIR) crypto_scalarmult/$(DEPDIR) crypto_scalarmult/curve25519/$(DEPDIR) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR) crypto_scalarmult/curve25519/ref10/$(DEPDIR) crypto_scalarmult/curve25519/sandy2x/$(DEPDIR) crypto_secretbox/$(DEPDIR) crypto_secretbox/xchacha20poly1305/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/$(DEPDIR) crypto_secretstream/xchacha20poly1305/$(DEPDIR) crypto_shorthash/$(DEPDIR) crypto_shorthash/siphash24/$(DEPDIR) crypto_shorthash/siphash24/ref/$(DEPDIR) crypto_sign/$(DEPDIR) crypto_sign/ed25519/$(DEPDIR) crypto_sign/ed25519/ref10/$(DEPDIR) crypto_stream/$(DEPDIR) crypto_stream/chacha20/$(DEPDIR) crypto_stream/chacha20/dolbeau/$(DEPDIR) crypto_stream/chacha20/ref/$(DEPDIR) crypto_stream/salsa20/$(DEPDIR) crypto_stream/salsa20/ref/$(DEPDIR) crypto_stream/salsa20/xmm6/$(DEPDIR) crypto_stream/salsa20/xmm6int/$(DEPDIR) crypto_stream/salsa2012/$(DEPDIR) crypto_stream/salsa2012/ref/$(DEPDIR) crypto_stream/salsa208/$(DEPDIR) crypto_stream/salsa208/ref/$(DEPDIR) crypto_stream/xchacha20/$(DEPDIR) crypto_stream/xsalsa20/$(DEPDIR) crypto_verify/sodium/$(DEPDIR) randombytes/$(DEPDIR) randombytes/nativeclient/$(DEPDIR) randombytes/salsa20/$(DEPDIR) randombytes/sysrandom/$(DEPDIR) sodium/$(DEPDIR)
-rm -rf crypto_aead/aes256gcm/aesni/$(DEPDIR) crypto_aead/chacha20poly1305/sodium/$(DEPDIR) crypto_aead/xchacha20poly1305/sodium/$(DEPDIR) crypto_auth/$(DEPDIR) crypto_auth/hmacsha256/$(DEPDIR) crypto_auth/hmacsha512/$(DEPDIR) crypto_auth/hmacsha512256/$(DEPDIR) crypto_box/$(DEPDIR) crypto_box/curve25519xchacha20poly1305/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR) crypto_core/ed25519/$(DEPDIR) crypto_core/ed25519/ref10/$(DEPDIR) crypto_core/hchacha20/$(DEPDIR) crypto_core/hsalsa20/$(DEPDIR) crypto_core/hsalsa20/ref2/$(DEPDIR) crypto_core/salsa/ref/$(DEPDIR) crypto_generichash/$(DEPDIR) crypto_generichash/blake2b/$(DEPDIR) crypto_generichash/blake2b/ref/$(DEPDIR) crypto_hash/$(DEPDIR) crypto_hash/sha256/$(DEPDIR) crypto_hash/sha256/cp/$(DEPDIR) crypto_hash/sha512/$(DEPDIR) crypto_hash/sha512/cp/$(DEPDIR) crypto_kdf/$(DEPDIR) crypto_kdf/blake2b/$(DEPDIR) crypto_kx/$(DEPDIR) crypto_onetimeauth/$(DEPDIR) crypto_onetimeauth/poly1305/$(DEPDIR) crypto_onetimeauth/poly1305/donna/$(DEPDIR) crypto_onetimeauth/poly1305/sse2/$(DEPDIR) crypto_pwhash/$(DEPDIR) crypto_pwhash/argon2/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/nosse/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/sse/$(DEPDIR) crypto_scalarmult/$(DEPDIR) crypto_scalarmult/curve25519/$(DEPDIR) crypto_scalarmult/curve25519/ref10/$(DEPDIR) crypto_scalarmult/curve25519/sandy2x/$(DEPDIR) crypto_scalarmult/ed25519/ref10/$(DEPDIR) crypto_secretbox/$(DEPDIR) crypto_secretbox/xchacha20poly1305/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/$(DEPDIR) crypto_secretstream/xchacha20poly1305/$(DEPDIR) crypto_shorthash/$(DEPDIR) crypto_shorthash/siphash24/$(DEPDIR) crypto_shorthash/siphash24/ref/$(DEPDIR) crypto_sign/$(DEPDIR) crypto_sign/ed25519/$(DEPDIR) crypto_sign/ed25519/ref10/$(DEPDIR) crypto_stream/$(DEPDIR) crypto_stream/chacha20/$(DEPDIR) crypto_stream/chacha20/dolbeau/$(DEPDIR) crypto_stream/chacha20/ref/$(DEPDIR) crypto_stream/salsa20/$(DEPDIR) crypto_stream/salsa20/ref/$(DEPDIR) crypto_stream/salsa20/xmm6/$(DEPDIR) crypto_stream/salsa20/xmm6int/$(DEPDIR) crypto_stream/salsa2012/$(DEPDIR) crypto_stream/salsa2012/ref/$(DEPDIR) crypto_stream/salsa208/$(DEPDIR) crypto_stream/salsa208/ref/$(DEPDIR) crypto_stream/xchacha20/$(DEPDIR) crypto_stream/xsalsa20/$(DEPDIR) crypto_verify/sodium/$(DEPDIR) randombytes/$(DEPDIR) randombytes/nativeclient/$(DEPDIR) randombytes/salsa20/$(DEPDIR) randombytes/sysrandom/$(DEPDIR) sodium/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@ -3300,7 +3358,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -rf crypto_aead/aes256gcm/aesni/$(DEPDIR) crypto_aead/chacha20poly1305/sodium/$(DEPDIR) crypto_aead/xchacha20poly1305/sodium/$(DEPDIR) crypto_auth/$(DEPDIR) crypto_auth/hmacsha256/$(DEPDIR) crypto_auth/hmacsha512/$(DEPDIR) crypto_auth/hmacsha512256/$(DEPDIR) crypto_box/$(DEPDIR) crypto_box/curve25519xchacha20poly1305/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR) crypto_core/curve25519/ref10/$(DEPDIR) crypto_core/hchacha20/$(DEPDIR) crypto_core/hsalsa20/$(DEPDIR) crypto_core/hsalsa20/ref2/$(DEPDIR) crypto_core/salsa/ref/$(DEPDIR) crypto_generichash/$(DEPDIR) crypto_generichash/blake2b/$(DEPDIR) crypto_generichash/blake2b/ref/$(DEPDIR) crypto_hash/$(DEPDIR) crypto_hash/sha256/$(DEPDIR) crypto_hash/sha256/cp/$(DEPDIR) crypto_hash/sha512/$(DEPDIR) crypto_hash/sha512/cp/$(DEPDIR) crypto_kdf/$(DEPDIR) crypto_kdf/blake2b/$(DEPDIR) crypto_kx/$(DEPDIR) crypto_onetimeauth/$(DEPDIR) crypto_onetimeauth/poly1305/$(DEPDIR) crypto_onetimeauth/poly1305/donna/$(DEPDIR) crypto_onetimeauth/poly1305/sse2/$(DEPDIR) crypto_pwhash/$(DEPDIR) crypto_pwhash/argon2/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/nosse/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/sse/$(DEPDIR) crypto_scalarmult/$(DEPDIR) crypto_scalarmult/curve25519/$(DEPDIR) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR) crypto_scalarmult/curve25519/ref10/$(DEPDIR) crypto_scalarmult/curve25519/sandy2x/$(DEPDIR) crypto_secretbox/$(DEPDIR) crypto_secretbox/xchacha20poly1305/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/$(DEPDIR) crypto_secretstream/xchacha20poly1305/$(DEPDIR) crypto_shorthash/$(DEPDIR) crypto_shorthash/siphash24/$(DEPDIR) crypto_shorthash/siphash24/ref/$(DEPDIR) crypto_sign/$(DEPDIR) crypto_sign/ed25519/$(DEPDIR) crypto_sign/ed25519/ref10/$(DEPDIR) crypto_stream/$(DEPDIR) crypto_stream/chacha20/$(DEPDIR) crypto_stream/chacha20/dolbeau/$(DEPDIR) crypto_stream/chacha20/ref/$(DEPDIR) crypto_stream/salsa20/$(DEPDIR) crypto_stream/salsa20/ref/$(DEPDIR) crypto_stream/salsa20/xmm6/$(DEPDIR) crypto_stream/salsa20/xmm6int/$(DEPDIR) crypto_stream/salsa2012/$(DEPDIR) crypto_stream/salsa2012/ref/$(DEPDIR) crypto_stream/salsa208/$(DEPDIR) crypto_stream/salsa208/ref/$(DEPDIR) crypto_stream/xchacha20/$(DEPDIR) crypto_stream/xsalsa20/$(DEPDIR) crypto_verify/sodium/$(DEPDIR) randombytes/$(DEPDIR) randombytes/nativeclient/$(DEPDIR) randombytes/salsa20/$(DEPDIR) randombytes/sysrandom/$(DEPDIR) sodium/$(DEPDIR)
-rm -rf crypto_aead/aes256gcm/aesni/$(DEPDIR) crypto_aead/chacha20poly1305/sodium/$(DEPDIR) crypto_aead/xchacha20poly1305/sodium/$(DEPDIR) crypto_auth/$(DEPDIR) crypto_auth/hmacsha256/$(DEPDIR) crypto_auth/hmacsha512/$(DEPDIR) crypto_auth/hmacsha512256/$(DEPDIR) crypto_box/$(DEPDIR) crypto_box/curve25519xchacha20poly1305/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR) crypto_core/ed25519/$(DEPDIR) crypto_core/ed25519/ref10/$(DEPDIR) crypto_core/hchacha20/$(DEPDIR) crypto_core/hsalsa20/$(DEPDIR) crypto_core/hsalsa20/ref2/$(DEPDIR) crypto_core/salsa/ref/$(DEPDIR) crypto_generichash/$(DEPDIR) crypto_generichash/blake2b/$(DEPDIR) crypto_generichash/blake2b/ref/$(DEPDIR) crypto_hash/$(DEPDIR) crypto_hash/sha256/$(DEPDIR) crypto_hash/sha256/cp/$(DEPDIR) crypto_hash/sha512/$(DEPDIR) crypto_hash/sha512/cp/$(DEPDIR) crypto_kdf/$(DEPDIR) crypto_kdf/blake2b/$(DEPDIR) crypto_kx/$(DEPDIR) crypto_onetimeauth/$(DEPDIR) crypto_onetimeauth/poly1305/$(DEPDIR) crypto_onetimeauth/poly1305/donna/$(DEPDIR) crypto_onetimeauth/poly1305/sse2/$(DEPDIR) crypto_pwhash/$(DEPDIR) crypto_pwhash/argon2/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/nosse/$(DEPDIR) crypto_pwhash/scryptsalsa208sha256/sse/$(DEPDIR) crypto_scalarmult/$(DEPDIR) crypto_scalarmult/curve25519/$(DEPDIR) crypto_scalarmult/curve25519/ref10/$(DEPDIR) crypto_scalarmult/curve25519/sandy2x/$(DEPDIR) crypto_scalarmult/ed25519/ref10/$(DEPDIR) crypto_secretbox/$(DEPDIR) crypto_secretbox/xchacha20poly1305/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/$(DEPDIR) crypto_secretstream/xchacha20poly1305/$(DEPDIR) crypto_shorthash/$(DEPDIR) crypto_shorthash/siphash24/$(DEPDIR) crypto_shorthash/siphash24/ref/$(DEPDIR) crypto_sign/$(DEPDIR) crypto_sign/ed25519/$(DEPDIR) crypto_sign/ed25519/ref10/$(DEPDIR) crypto_stream/$(DEPDIR) crypto_stream/chacha20/$(DEPDIR) crypto_stream/chacha20/dolbeau/$(DEPDIR) crypto_stream/chacha20/ref/$(DEPDIR) crypto_stream/salsa20/$(DEPDIR) crypto_stream/salsa20/ref/$(DEPDIR) crypto_stream/salsa20/xmm6/$(DEPDIR) crypto_stream/salsa20/xmm6int/$(DEPDIR) crypto_stream/salsa2012/$(DEPDIR) crypto_stream/salsa2012/ref/$(DEPDIR) crypto_stream/salsa208/$(DEPDIR) crypto_stream/salsa208/ref/$(DEPDIR) crypto_stream/xchacha20/$(DEPDIR) crypto_stream/xsalsa20/$(DEPDIR) crypto_verify/sodium/$(DEPDIR) randombytes/$(DEPDIR) randombytes/nativeclient/$(DEPDIR) randombytes/salsa20/$(DEPDIR) randombytes/sysrandom/$(DEPDIR) sodium/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +0,0 @@
{
{ 25967493,-14356035,29566456,3660896,-12694345,4014787,27544626,-11754271,-6079156,2047605 },
{ -12545711,934262,-2722910,3049990,-727428,9406986,12720692,5043384,19500929,-15469378 },
{ -8738181,4489570,9688441,-14785194,10184609,-12363380,29287919,11864899,-24514362,-4438546 },
},
{
{ 15636291,-9688557,24204773,-7912398,616977,-16685262,27787600,-14772189,28944400,-1550024 },
{ 16568933,4717097,-11556148,-1102322,15682896,-11807043,16354577,-11775962,7689662,11199574 },
{ 30464156,-5976125,-11779434,-15670865,23220365,15915852,7512774,10017326,-17749093,-9920357 },
},
{
{ 10861363,11473154,27284546,1981175,-30064349,12577861,32867885,14515107,-15438304,10819380 },
{ 4708026,6336745,20377586,9066809,-11272109,6594696,-25653668,12483688,-12668491,5581306 },
{ 19563160,16186464,-29386857,4097519,10237984,-4348115,28542350,13850243,-23678021,-15815942 },
},
{
{ 5153746,9909285,1723747,-2777874,30523605,5516873,19480852,5230134,-23952439,-15175766 },
{ -30269007,-3463509,7665486,10083793,28475525,1649722,20654025,16520125,30598449,7715701 },
{ 28881845,14381568,9657904,3680757,-20181635,7843316,-31400660,1370708,29794553,-1409300 },
},
{
{ -22518993,-6692182,14201702,-8745502,-23510406,8844726,18474211,-1361450,-13062696,13821877 },
{ -6455177,-7839871,3374702,-4740862,-27098617,-10571707,31655028,-7212327,18853322,-14220951 },
{ 4566830,-12963868,-28974889,-12240689,-7602672,-2830569,-8514358,-10431137,2207753,-3209784 },
},
{
{ -25154831,-4185821,29681144,7868801,-6854661,-9423865,-12437364,-663000,-31111463,-16132436 },
{ 25576264,-2703214,7349804,-11814844,16472782,9300885,3844789,15725684,171356,6466918 },
{ 23103977,13316479,9739013,-16149481,817875,-15038942,8965339,-14088058,-30714912,16193877 },
},
{
{ -33521811,3180713,-2394130,14003687,-16903474,-16270840,17238398,4729455,-18074513,9256800 },
{ -25182317,-4174131,32336398,5036987,-21236817,11360617,22616405,9761698,-19827198,630305 },
{ -13720693,2639453,-24237460,-7406481,9494427,-5774029,-6554551,-15960994,-2449256,-14291300 },
},
{
{ -3151181,-5046075,9282714,6866145,-31907062,-863023,-18940575,15033784,25105118,-7894876 },
{ -24326370,15950226,-31801215,-14592823,-11662737,-5090925,1573892,-2625887,2198790,-15804619 },
{ -3099351,10324967,-2241613,7453183,-5446979,-2735503,-13812022,-16236442,-32461234,-12290683 },
},

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,79 @@
#include "crypto_core_ed25519.h"
#include "private/common.h"
#include "private/ed25519_ref10.h"
int
crypto_core_ed25519_is_valid_point(const unsigned char *p)
{
ge25519_p3 p_p3;
if (ge25519_is_canonical(p) == 0 ||
ge25519_has_small_order(p) != 0 ||
ge25519_frombytes(&p_p3, p) != 0 ||
ge25519_is_on_curve(&p_p3) == 0 ||
ge25519_is_on_main_subgroup(&p_p3) == 0) {
return 0;
}
return 1;
}
int
crypto_core_ed25519_add(unsigned char *r,
const unsigned char *p, const unsigned char *q)
{
ge25519_p3 p_p3, q_p3, r_p3;
ge25519_p1p1 r_p1p1;
ge25519_cached q_cached;
if (ge25519_frombytes(&p_p3, p) != 0 || ge25519_is_on_curve(&p_p3) == 0 ||
ge25519_frombytes(&q_p3, q) != 0 || ge25519_is_on_curve(&q_p3) == 0) {
return -1;
}
ge25519_p3_to_cached(&q_cached, &q_p3);
ge25519_add(&r_p1p1, &p_p3, &q_cached);
ge25519_p1p1_to_p3(&r_p3, &r_p1p1);
ge25519_p3_tobytes(r, &r_p3);
return 0;
}
int
crypto_core_ed25519_sub(unsigned char *r,
const unsigned char *p, const unsigned char *q)
{
ge25519_p3 p_p3, q_p3, r_p3;
ge25519_p1p1 r_p1p1;
ge25519_cached q_cached;
if (ge25519_frombytes(&p_p3, p) != 0 || ge25519_is_on_curve(&p_p3) == 0 ||
ge25519_frombytes(&q_p3, q) != 0 || ge25519_is_on_curve(&q_p3) == 0) {
return -1;
}
ge25519_p3_to_cached(&q_cached, &q_p3);
ge25519_sub(&r_p1p1, &p_p3, &q_cached);
ge25519_p1p1_to_p3(&r_p3, &r_p1p1);
ge25519_p3_tobytes(r, &r_p3);
return 0;
}
int
crypto_core_ed25519_from_uniform(unsigned char *p, const unsigned char *r)
{
ge25519_from_uniform(p, r);
return - ge25519_has_small_order(p);
}
size_t
crypto_core_ed25519_bytes(void)
{
return crypto_core_ed25519_BYTES;
}
size_t
crypto_core_ed25519_uniformbytes(void)
{
return crypto_core_ed25519_UNIFORMBYTES;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
{
{ 25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605 },
{ -12545711, 934262, -2722910, 3049990, -727428, 9406986, 12720692, 5043384, 19500929, -15469378 },
{ -8738181, 4489570, 9688441, -14785194, 10184609, -12363380, 29287919, 11864899, -24514362, -4438546 }
},
{
{ 15636291, -9688557, 24204773, -7912398, 616977, -16685262, 27787600, -14772189, 28944400, -1550024 },
{ 16568933, 4717097, -11556148, -1102322, 15682896, -11807043, 16354577, -11775962, 7689662, 11199574 },
{ 30464156, -5976125, -11779434, -15670865, 23220365, 15915852, 7512774, 10017326, -17749093, -9920357 }
},
{
{ 10861363, 11473154, 27284546, 1981175, -30064349, 12577861, 32867885, 14515107, -15438304, 10819380 },
{ 4708026, 6336745, 20377586, 9066809, -11272109, 6594696, -25653668, 12483688, -12668491, 5581306 },
{ 19563160, 16186464, -29386857, 4097519, 10237984, -4348115, 28542350, 13850243, -23678021, -15815942 }
},
{
{ 5153746, 9909285, 1723747, -2777874, 30523605, 5516873, 19480852, 5230134, -23952439, -15175766 },
{ -30269007, -3463509, 7665486, 10083793, 28475525, 1649722, 20654025, 16520125, 30598449, 7715701 },
{ 28881845, 14381568, 9657904, 3680757, -20181635, 7843316, -31400660, 1370708, 29794553, -1409300 }
},
{
{ -22518993, -6692182, 14201702, -8745502, -23510406, 8844726, 18474211, -1361450, -13062696, 13821877 },
{ -6455177, -7839871, 3374702, -4740862, -27098617, -10571707, 31655028, -7212327, 18853322, -14220951 },
{ 4566830, -12963868, -28974889, -12240689, -7602672, -2830569, -8514358, -10431137, 2207753, -3209784 }
},
{
{ -25154831, -4185821, 29681144, 7868801, -6854661, -9423865, -12437364, -663000, -31111463, -16132436 },
{ 25576264, -2703214, 7349804, -11814844, 16472782, 9300885, 3844789, 15725684, 171356, 6466918 },
{ 23103977, 13316479, 9739013, -16149481, 817875, -15038942, 8965339, -14088058, -30714912, 16193877 }
},
{
{ -33521811, 3180713, -2394130, 14003687, -16903474, -16270840, 17238398, 4729455, -18074513, 9256800 },
{ -25182317, -4174131, 32336398, 5036987, -21236817, 11360617, 22616405, 9761698, -19827198, 630305 },
{ -13720693, 2639453, -24237460, -7406481, 9494427, -5774029, -6554551, -15960994, -2449256, -14291300 }
},
{
{ -3151181, -5046075, 9282714, 6866145, -31907062, -863023, -18940575, 15033784, 25105118, -7894876 },
{ -24326370, 15950226, -31801215, -14592823, -11662737, -5090925, 1573892, -2625887, 2198790, -15804619 },
{ -3099351, 10324967, -2241613, 7453183, -5446979, -2735503, -13812022, -16236442, -32461234, -12290683 }
}

View File

@ -0,0 +1,20 @@
/* 37095705934669439343138083508754565189542113879843219016388785533085940283555 */
static const fe25519 d = {
-10913610, 13857413, -15372611, 6949391, 114729, -8787816, -6275908, -3247719, -18696448, -12055116
};
/* 2 * d =
* 16295367250680780974490674513165176452449235426866156013048779062215315747161
*/
static const fe25519 d2 = {
-21827239, -5839606, -30745221, 13898782, 229458, 15978800, -12551817, -6495438, 29715968, 9444199 };
/* sqrt(-1) */
static const fe25519 sqrtm1 = {
-32595792, -7943725, 9377950, 3500415, 12389472, -272473, -25146209, -2005654, 326686, 11406482
};
/* A = 486662 */
static const fe25519 curve25519_A = {
486662, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

View File

@ -0,0 +1,220 @@
/*
Ignores top bit of h.
*/
void
fe25519_frombytes(fe25519 h, const unsigned char *s)
{
int64_t h0 = load_4(s);
int64_t h1 = load_3(s + 4) << 6;
int64_t h2 = load_3(s + 7) << 5;
int64_t h3 = load_3(s + 10) << 3;
int64_t h4 = load_3(s + 13) << 2;
int64_t h5 = load_4(s + 16);
int64_t h6 = load_3(s + 20) << 7;
int64_t h7 = load_3(s + 23) << 5;
int64_t h8 = load_3(s + 26) << 4;
int64_t h9 = (load_3(s + 29) & 8388607) << 2;
int64_t carry0;
int64_t carry1;
int64_t carry2;
int64_t carry3;
int64_t carry4;
int64_t carry5;
int64_t carry6;
int64_t carry7;
int64_t carry8;
int64_t carry9;
carry9 = (h9 + (int64_t)(1L << 24)) >> 25;
h0 += carry9 * 19;
h9 -= carry9 * ((uint64_t) 1L << 25);
carry1 = (h1 + (int64_t)(1L << 24)) >> 25;
h2 += carry1;
h1 -= carry1 * ((uint64_t) 1L << 25);
carry3 = (h3 + (int64_t)(1L << 24)) >> 25;
h4 += carry3;
h3 -= carry3 * ((uint64_t) 1L << 25);
carry5 = (h5 + (int64_t)(1L << 24)) >> 25;
h6 += carry5;
h5 -= carry5 * ((uint64_t) 1L << 25);
carry7 = (h7 + (int64_t)(1L << 24)) >> 25;
h8 += carry7;
h7 -= carry7 * ((uint64_t) 1L << 25);
carry0 = (h0 + (int64_t)(1L << 25)) >> 26;
h1 += carry0;
h0 -= carry0 * ((uint64_t) 1L << 26);
carry2 = (h2 + (int64_t)(1L << 25)) >> 26;
h3 += carry2;
h2 -= carry2 * ((uint64_t) 1L << 26);
carry4 = (h4 + (int64_t)(1L << 25)) >> 26;
h5 += carry4;
h4 -= carry4 * ((uint64_t) 1L << 26);
carry6 = (h6 + (int64_t)(1L << 25)) >> 26;
h7 += carry6;
h6 -= carry6 * ((uint64_t) 1L << 26);
carry8 = (h8 + (int64_t)(1L << 25)) >> 26;
h9 += carry8;
h8 -= carry8 * ((uint64_t) 1L << 26);
h[0] = (int32_t) h0;
h[1] = (int32_t) h1;
h[2] = (int32_t) h2;
h[3] = (int32_t) h3;
h[4] = (int32_t) h4;
h[5] = (int32_t) h5;
h[6] = (int32_t) h6;
h[7] = (int32_t) h7;
h[8] = (int32_t) h8;
h[9] = (int32_t) h9;
}
/*
Preconditions:
|h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
Write p=2^255-19; q=floor(h/p).
Basic claim: q = floor(2^(-255)(h + 19 2^(-25)h9 + 2^(-1))).
Proof:
Have |h|<=p so |q|<=1 so |19^2 2^(-255) q|<1/4.
Also have |h-2^230 h9|<2^231 so |19 2^(-255)(h-2^230 h9)|<1/4.
Write y=2^(-1)-19^2 2^(-255)q-19 2^(-255)(h-2^230 h9).
Then 0<y<1.
Write r=h-pq.
Have 0<=r<=p-1=2^255-20.
Thus 0<=r+19(2^-255)r<r+19(2^-255)2^255<=2^255-1.
Write x=r+19(2^-255)r+y.
Then 0<x<2^255 so floor(2^(-255)x) = 0 so floor(q+2^(-255)x) = q.
Have q+2^(-255)x = 2^(-255)(h + 19 2^(-25) h9 + 2^(-1))
so floor(2^(-255)(h + 19 2^(-25) h9 + 2^(-1))) = q.
*/
static void
fe25519_reduce(fe25519 h, const fe25519 f)
{
int32_t h0 = f[0];
int32_t h1 = f[1];
int32_t h2 = f[2];
int32_t h3 = f[3];
int32_t h4 = f[4];
int32_t h5 = f[5];
int32_t h6 = f[6];
int32_t h7 = f[7];
int32_t h8 = f[8];
int32_t h9 = f[9];
int32_t q;
int32_t carry0, carry1, carry2, carry3, carry4, carry5, carry6, carry7, carry8, carry9;
q = (19 * h9 + ((uint32_t) 1L << 24)) >> 25;
q = (h0 + q) >> 26;
q = (h1 + q) >> 25;
q = (h2 + q) >> 26;
q = (h3 + q) >> 25;
q = (h4 + q) >> 26;
q = (h5 + q) >> 25;
q = (h6 + q) >> 26;
q = (h7 + q) >> 25;
q = (h8 + q) >> 26;
q = (h9 + q) >> 25;
/* Goal: Output h-(2^255-19)q, which is between 0 and 2^255-20. */
h0 += 19 * q;
/* Goal: Output h-2^255 q, which is between 0 and 2^255-20. */
carry0 = h0 >> 26;
h1 += carry0;
h0 -= carry0 * ((uint32_t) 1L << 26);
carry1 = h1 >> 25;
h2 += carry1;
h1 -= carry1 * ((uint32_t) 1L << 25);
carry2 = h2 >> 26;
h3 += carry2;
h2 -= carry2 * ((uint32_t) 1L << 26);
carry3 = h3 >> 25;
h4 += carry3;
h3 -= carry3 * ((uint32_t) 1L << 25);
carry4 = h4 >> 26;
h5 += carry4;
h4 -= carry4 * ((uint32_t) 1L << 26);
carry5 = h5 >> 25;
h6 += carry5;
h5 -= carry5 * ((uint32_t) 1L << 25);
carry6 = h6 >> 26;
h7 += carry6;
h6 -= carry6 * ((uint32_t) 1L << 26);
carry7 = h7 >> 25;
h8 += carry7;
h7 -= carry7 * ((uint32_t) 1L << 25);
carry8 = h8 >> 26;
h9 += carry8;
h8 -= carry8 * ((uint32_t) 1L << 26);
carry9 = h9 >> 25;
h9 -= carry9 * ((uint32_t) 1L << 25);
h[0] = h0;
h[1] = h1;
h[2] = h2;
h[3] = h3;
h[4] = h4;
h[5] = h5;
h[6] = h6;
h[7] = h7;
h[8] = h8;
h[9] = h9;
}
/*
Goal: Output h0+...+2^255 h10-2^255 q, which is between 0 and 2^255-20.
Have h0+...+2^230 h9 between 0 and 2^255-1;
evidently 2^255 h10-2^255 q = 0.
Goal: Output h0+...+2^230 h9.
*/
void
fe25519_tobytes(unsigned char *s, const fe25519 h)
{
fe25519 t;
fe25519_reduce(t, h);
s[0] = t[0] >> 0;
s[1] = t[0] >> 8;
s[2] = t[0] >> 16;
s[3] = (t[0] >> 24) | (t[1] * ((uint32_t) 1 << 2));
s[4] = t[1] >> 6;
s[5] = t[1] >> 14;
s[6] = (t[1] >> 22) | (t[2] * ((uint32_t) 1 << 3));
s[7] = t[2] >> 5;
s[8] = t[2] >> 13;
s[9] = (t[2] >> 21) | (t[3] * ((uint32_t) 1 << 5));
s[10] = t[3] >> 3;
s[11] = t[3] >> 11;
s[12] = (t[3] >> 19) | (t[4] * ((uint32_t) 1 << 6));
s[13] = t[4] >> 2;
s[14] = t[4] >> 10;
s[15] = t[4] >> 18;
s[16] = t[5] >> 0;
s[17] = t[5] >> 8;
s[18] = t[5] >> 16;
s[19] = (t[5] >> 24) | (t[6] * ((uint32_t) 1 << 1));
s[20] = t[6] >> 7;
s[21] = t[6] >> 15;
s[22] = (t[6] >> 23) | (t[7] * ((uint32_t) 1 << 3));
s[23] = t[7] >> 5;
s[24] = t[7] >> 13;
s[25] = (t[7] >> 21) | (t[8] * ((uint32_t) 1 << 4));
s[26] = t[8] >> 4;
s[27] = t[8] >> 12;
s[28] = (t[8] >> 20) | (t[9] * ((uint32_t) 1 << 6));
s[29] = t[9] >> 2;
s[30] = t[9] >> 10;
s[31] = t[9] >> 18;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
{
{ 1288382639258501, 245678601348599, 269427782077623, 1462984067271730, 137412439391563 },
{ 62697248952638, 204681361388450, 631292143396476, 338455783676468, 1213667448819585 },
{ 301289933810280, 1259582250014073, 1422107436869536, 796239922652654, 1953934009299142 }
},
{
{ 1601611775252272, 1720807796594148, 1132070835939856, 1260455018889551, 2147779492816911 },
{ 316559037616741, 2177824224946892, 1459442586438991, 1461528397712656, 751590696113597 },
{ 1850748884277385, 1200145853858453, 1068094770532492, 672251375690438, 1586055907191707 }
},
{
{ 769950342298419, 132954430919746, 844085933195555, 974092374476333, 726076285546016 },
{ 425251763115706, 608463272472562, 442562545713235, 837766094556764, 374555092627893 },
{ 1086255230780037, 274979815921559, 1960002765731872, 929474102396301, 1190409889297339 }
},
{
{ 665000864555967, 2065379846933859, 370231110385876, 350988370788628, 1233371373142985 },
{ 2019367628972465, 676711900706637, 110710997811333, 1108646842542025, 517791959672113 },
{ 965130719900578, 247011430587952, 526356006571389, 91986625355052, 2157223321444601 }
},
{
{ 1802695059465007, 1664899123557221, 593559490740857, 2160434469266659, 927570450755031 },
{ 1725674970513508, 1933645953859181, 1542344539275782, 1767788773573747, 1297447965928905 },
{ 1381809363726107, 1430341051343062, 2061843536018959, 1551778050872521, 2036394857967624 }
},
{
{ 1970894096313054, 528066325833207, 1619374932191227, 2207306624415883, 1169170329061080 },
{ 2070390218572616, 1458919061857835, 624171843017421, 1055332792707765, 433987520732508 },
{ 893653801273833, 1168026499324677, 1242553501121234, 1306366254304474, 1086752658510815 }
},
{
{ 213454002618221, 939771523987438, 1159882208056014, 317388369627517, 621213314200687 },
{ 1971678598905747, 338026507889165, 762398079972271, 655096486107477, 42299032696322 },
{ 177130678690680, 1754759263300204, 1864311296286618, 1180675631479880, 1292726903152791 }
},
{
{ 1913163449625248, 460779200291993, 2193883288642314, 1008900146920800, 1721983679009502 },
{ 1070401523076875, 1272492007800961, 1910153608563310, 2075579521696771, 1191169788841221 },
{ 692896803108118, 500174642072499, 2068223309439677, 1162190621851337, 1426986007309901 }
}

View File

@ -0,0 +1,21 @@
/* 37095705934669439343138083508754565189542113879843219016388785533085940283555 */
static const fe25519 d = {
929955233495203, 466365720129213, 1662059464998953, 2033849074728123, 1442794654840575
};
/* 2 * d =
* 16295367250680780974490674513165176452449235426866156013048779062215315747161
*/
static const fe25519 d2 = {
1859910466990425, 932731440258426, 1072319116312658, 1815898335770999, 633789495995903
};
/* sqrt(-1) */
static const fe25519 sqrtm1 = {
1718705420411056, 234908883556509, 2233514472574048, 2117202627021982, 765476049583133
};
/* A = 486662 */
static const fe25519 curve25519_A = {
486662, 0, 0, 0, 0
};

View File

@ -0,0 +1,116 @@
/*
Ignores top bit of h.
*/
void
fe25519_frombytes(fe25519 h, const unsigned char *s)
{
const uint64_t mask = 0x7ffffffffffffULL;
uint64_t h0, h1, h2, h3, h4;
h0 = (LOAD64_LE(s ) ) & mask;
h1 = (LOAD64_LE(s + 6) >> 3) & mask;
h2 = (LOAD64_LE(s + 12) >> 6) & mask;
h3 = (LOAD64_LE(s + 19) >> 1) & mask;
h4 = (LOAD64_LE(s + 24) >> 12) & mask;
h[0] = h0;
h[1] = h1;
h[2] = h2;
h[3] = h3;
h[4] = h4;
}
static void
fe25519_reduce(fe25519 h, const fe25519 f)
{
const uint64_t mask = 0x7ffffffffffffULL;
uint128_t t[5];
t[0] = f[0];
t[1] = f[1];
t[2] = f[2];
t[3] = f[3];
t[4] = f[4];
t[1] += t[0] >> 51;
t[0] &= mask;
t[2] += t[1] >> 51;
t[1] &= mask;
t[3] += t[2] >> 51;
t[2] &= mask;
t[4] += t[3] >> 51;
t[3] &= mask;
t[0] += 19 * (t[4] >> 51);
t[4] &= mask;
t[1] += t[0] >> 51;
t[0] &= mask;
t[2] += t[1] >> 51;
t[1] &= mask;
t[3] += t[2] >> 51;
t[2] &= mask;
t[4] += t[3] >> 51;
t[3] &= mask;
t[0] += 19 * (t[4] >> 51);
t[4] &= mask;
/* now t is between 0 and 2^255-1, properly carried. */
/* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */
t[0] += 19ULL;
t[1] += t[0] >> 51;
t[0] &= mask;
t[2] += t[1] >> 51;
t[1] &= mask;
t[3] += t[2] >> 51;
t[2] &= mask;
t[4] += t[3] >> 51;
t[3] &= mask;
t[0] += 19ULL * (t[4] >> 51);
t[4] &= mask;
/* now between 19 and 2^255-1 in both cases, and offset by 19. */
t[0] += 0x8000000000000 - 19ULL;
t[1] += 0x8000000000000 - 1ULL;
t[2] += 0x8000000000000 - 1ULL;
t[3] += 0x8000000000000 - 1ULL;
t[4] += 0x8000000000000 - 1ULL;
/* now between 2^255 and 2^256-20, and offset by 2^255. */
t[1] += t[0] >> 51;
t[0] &= mask;
t[2] += t[1] >> 51;
t[1] &= mask;
t[3] += t[2] >> 51;
t[2] &= mask;
t[4] += t[3] >> 51;
t[3] &= mask;
t[4] &= mask;
h[0] = t[0];
h[1] = t[1];
h[2] = t[2];
h[3] = t[3];
h[4] = t[4];
}
void
fe25519_tobytes(unsigned char *s, const fe25519 h)
{
fe25519 t;
uint64_t t0, t1, t2, t3;
fe25519_reduce(t, h);
t0 = t[0] | (t[1] << 51);
t1 = (t[1] >> 13) | (t[2] << 38);
t2 = (t[2] >> 26) | (t[3] << 25);
t3 = (t[3] >> 39) | (t[4] << 12);
STORE64_LE(s + 0, t0);
STORE64_LE(s + 8, t1);
STORE64_LE(s + 16, t2);
STORE64_LE(s + 24, t3);
}

View File

@ -83,8 +83,9 @@ blake2b_compress_ref(blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES])
ROUND(10);
ROUND(11);
for (i = 0; i < 8; ++i)
for (i = 0; i < 8; ++i) {
S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
}
#undef G
#undef ROUND

View File

@ -25,14 +25,6 @@
#include "runtime.h"
#include "utils.h"
#ifdef HAVE_TI_MODE
# if defined(__SIZEOF_INT128__)
typedef unsigned __int128 uint128_t;
# else
typedef unsigned uint128_t __attribute__((mode(TI)));
# endif
#endif
static blake2b_compress_fn blake2b_compress = blake2b_compress_ref;
static const uint64_t blake2b_IV[8] = {
@ -49,13 +41,6 @@ blake2b_set_lastnode(blake2b_state *S)
return 0;
}
/* LCOV_EXCL_STOP */
#if 0
static inline int blake2b_clear_lastnode( blake2b_state *S )
{
S->f[1] = 0;
return 0;
}
#endif
static inline int
blake2b_is_lastblock(const blake2b_state *S)
@ -72,15 +57,7 @@ blake2b_set_lastblock(blake2b_state *S)
S->f[0] = -1;
return 0;
}
#if 0
static inline int blake2b_clear_lastblock( blake2b_state *S )
{
if( S->last_node ) blake2b_clear_lastnode( S );
S->f[0] = 0;
return 0;
}
#endif
static inline int
blake2b_increment_counter(blake2b_state *S, const uint64_t inc)
{
@ -97,51 +74,6 @@ blake2b_increment_counter(blake2b_state *S, const uint64_t inc)
}
/* Parameter-related functions */
#if 0
/* Redundant: digest length is directly set in blake2b_init(), blake2b_init_salt_personal(),
* blake2b_init_key() and blake2b_init_key_salt_personal() */
static inline int blake2b_param_set_digest_length( blake2b_param *P, const uint8_t digest_length )
{
P->digest_length = digest_length;
return 0;
}
static inline int blake2b_param_set_fanout( blake2b_param *P, const uint8_t fanout )
{
P->fanout = fanout;
return 0;
}
static inline int blake2b_param_set_max_depth( blake2b_param *P, const uint8_t depth )
{
P->depth = depth;
return 0;
}
static inline int blake2b_param_set_leaf_length( blake2b_param *P, const uint32_t leaf_length )
{
STORE32_LE( P->leaf_length, leaf_length );
return 0;
}
static inline int blake2b_param_set_node_offset( blake2b_param *P, const uint64_t node_offset )
{
STORE64_LE( P->node_offset, node_offset );
return 0;
}
static inline int blake2b_param_set_node_depth( blake2b_param *P, const uint8_t node_depth )
{
P->node_depth = node_depth;
return 0;
}
static inline int blake2b_param_set_inner_length( blake2b_param *P, const uint8_t inner_length )
{
P->inner_length = inner_length;
return 0;
}
#endif
static inline int
blake2b_param_set_salt(blake2b_param *P, const uint8_t salt[BLAKE2B_SALTBYTES])
{
@ -271,7 +203,7 @@ blake2b_init_key(blake2b_state *S, const uint8_t outlen, const void *key,
{
uint8_t block[BLAKE2B_BLOCKBYTES];
memset(block, 0, BLAKE2B_BLOCKBYTES);
memcpy(block, key, keylen);
memcpy(block, key, keylen); /* keylen cannot be 0 */
blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
sodium_memzero(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */
}
@ -317,7 +249,7 @@ blake2b_init_key_salt_personal(blake2b_state *S, const uint8_t outlen,
{
uint8_t block[BLAKE2B_BLOCKBYTES];
memset(block, 0, BLAKE2B_BLOCKBYTES);
memcpy(block, key, keylen);
memcpy(block, key, keylen); /* keylen cannot be 0 */
blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
sodium_memzero(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */
}
@ -357,6 +289,8 @@ blake2b_update(blake2b_state *S, const uint8_t *in, uint64_t inlen)
int
blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen)
{
unsigned char buffer[BLAKE2B_OUTBYTES];
if (!outlen || outlen > BLAKE2B_OUTBYTES) {
sodium_misuse();
}
@ -377,19 +311,17 @@ blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen)
2 * BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */
blake2b_compress(S, S->buf);
#ifdef NATIVE_LITTLE_ENDIAN
memcpy(out, &S->h[0], outlen);
#else
{
uint8_t buffer[BLAKE2B_OUTBYTES];
int i;
COMPILER_ASSERT(sizeof buffer == 64U);
STORE64_LE(buffer + 8 * 0, S->h[0]);
STORE64_LE(buffer + 8 * 1, S->h[1]);
STORE64_LE(buffer + 8 * 2, S->h[2]);
STORE64_LE(buffer + 8 * 3, S->h[3]);
STORE64_LE(buffer + 8 * 4, S->h[4]);
STORE64_LE(buffer + 8 * 5, S->h[5]);
STORE64_LE(buffer + 8 * 6, S->h[6]);
STORE64_LE(buffer + 8 * 7, S->h[7]);
memcpy(out, buffer, outlen); /* outlen <= BLAKE2B_OUTBYTES (64) */
for (i = 0; i < 8; i++) { /* Output full hash to temp buffer */
STORE64_LE(buffer + sizeof(S->h[i]) * i, S->h[i]);
}
memcpy(out, buffer, outlen);
}
#endif
sodium_memzero(S->h, sizeof S->h);
sodium_memzero(S->buf, sizeof S->buf);

View File

@ -5,6 +5,7 @@
#include "blake2.h"
#include "crypto_generichash_blake2b.h"
#include "private/implementations.h"
int
crypto_generichash_blake2b(unsigned char *out, size_t outlen,

View File

@ -153,10 +153,10 @@ static const uint8_t PAD[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
static void
SHA256_Pad(crypto_hash_sha256_state *state, uint32_t tmp32[64 + 8])
{
uint64_t r;
uint64_t i;
unsigned int r;
unsigned int i;
r = (state->count >> 3) & 0x3f;
r = (unsigned int) ((state->count >> 3) & 0x3f);
if (r < 56) {
for (i = 0; i < 56 - r; i++) {
state->buf[r + i] = PAD[i];

View File

@ -172,10 +172,10 @@ static const uint8_t PAD[128] = {
static void
SHA512_Pad(crypto_hash_sha512_state *state, uint64_t tmp64[80 + 8])
{
uint64_t r;
uint64_t i;
unsigned int r;
unsigned int i;
r = (state->count[1] >> 3) & 0x7f;
r = (unsigned int) ((state->count[1] >> 3) & 0x7f);
if (r < 112) {
for (i = 0; i < 112 - r; i++) {
state->buf[r + i] = PAD[i];

View File

@ -3,11 +3,7 @@
and 128 bit addition
*/
#if defined(__SIZEOF_INT128__)
typedef unsigned __int128 uint128_t;
#else
typedef unsigned uint128_t __attribute__((mode(TI)));
#endif
#include "private/common.h"
#define MUL(out, x, y) out = ((uint128_t) x * y)
#define ADD(out, in) out += in
@ -23,8 +19,6 @@ typedef unsigned uint128_t __attribute__((mode(TI)));
# define POLY1305_NOINLINE
#endif
#include "private/common.h"
#define poly1305_block_size 16
/* 17 + sizeof(unsigned long long) + 8*sizeof(unsigned long long) */

View File

@ -2,6 +2,7 @@
#include "onetimeauth_poly1305.h"
#include "crypto_onetimeauth_poly1305.h"
#include "private/common.h"
#include "private/implementations.h"
#include "randombytes.h"
#include "runtime.h"

View File

@ -19,12 +19,6 @@
typedef __m128i xmmi;
# if defined(__SIZEOF_INT128__)
typedef unsigned __int128 uint128_t;
# else
typedef unsigned uint128_t __attribute__((mode(TI)));
# endif
# if defined(_MSC_VER)
# define POLY1305_NOINLINE __declspec(noinline)
# elif defined(__GNUC__)

View File

@ -24,6 +24,7 @@
#include "crypto_generichash_blake2b.h"
#include "private/common.h"
#include "private/implementations.h"
#include "runtime.h"
#include "utils.h"
@ -33,6 +34,12 @@
#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS)
# define MAP_ANON MAP_ANONYMOUS
#endif
#ifndef MAP_NOCORE
# define MAP_NOCORE 0
#endif
#ifndef MAP_POPULATE
# define MAP_POPULATE 0
#endif
static fill_segment_fn fill_segment = fill_segment_ref;
@ -87,11 +94,7 @@ allocate_memory(block_region **region, uint32_t m_cost)
#if defined(MAP_ANON) && defined(HAVE_MMAP)
if ((base = mmap(NULL, memory_size, PROT_READ | PROT_WRITE,
#ifdef MAP_NOCORE
MAP_ANON | MAP_PRIVATE | MAP_NOCORE,
#else
MAP_ANON | MAP_PRIVATE,
#endif
MAP_ANON | MAP_PRIVATE | MAP_NOCORE | MAP_POPULATE,
-1, 0)) == MAP_FAILED) {
base = NULL; /* LCOV_EXCL_LINE */
} /* LCOV_EXCL_LINE */
@ -214,100 +217,24 @@ finalize(const argon2_context *context, argon2_instance_t *instance)
}
}
uint32_t
index_alpha(const argon2_instance_t *instance,
const argon2_position_t *position, uint32_t pseudo_rand,
int same_lane)
{
/*
* Pass 0:
* This lane : all already finished segments plus already constructed
* blocks in this segment
* Other lanes : all already finished segments
* Pass 1+:
* This lane : (SYNC_POINTS - 1) last segments plus already constructed
* blocks in this segment
* Other lanes : (SYNC_POINTS - 1) last segments
*/
uint32_t reference_area_size;
uint64_t relative_position;
uint32_t start_position, absolute_position;
if (position->pass == 0) {
/* First pass */
if (position->slice == 0) {
/* First slice */
reference_area_size =
position->index - 1; /* all but the previous */
} else {
if (same_lane) {
/* The same lane => add current segment */
reference_area_size =
position->slice * instance->segment_length +
position->index - 1;
} else {
reference_area_size =
position->slice * instance->segment_length +
((position->index == 0) ? (-1) : 0);
}
}
} else {
/* Second pass */
if (same_lane) {
reference_area_size = instance->lane_length -
instance->segment_length + position->index -
1;
} else {
reference_area_size = instance->lane_length -
instance->segment_length +
((position->index == 0) ? (-1) : 0);
}
}
/* 1.2.4. Mapping pseudo_rand to 0..<reference_area_size-1> and produce
* relative position */
relative_position = pseudo_rand;
relative_position = relative_position * relative_position >> 32;
relative_position = reference_area_size - 1 -
(reference_area_size * relative_position >> 32);
/* 1.2.5 Computing starting position */
start_position = 0;
if (position->pass != 0) {
start_position = (position->slice == ARGON2_SYNC_POINTS - 1)
? 0
: (position->slice + 1) * instance->segment_length;
}
/* 1.2.6. Computing absolute position */
absolute_position = (start_position + relative_position) %
instance->lane_length; /* absolute position */
return absolute_position;
}
void
fill_memory_blocks(argon2_instance_t *instance)
fill_memory_blocks(argon2_instance_t *instance, uint32_t pass)
{
uint32_t r, s;
argon2_position_t position;
uint32_t l;
uint32_t s;
if (instance == NULL || instance->lanes == 0) {
return; /* LCOV_EXCL_LINE */
}
for (r = 0; r < instance->passes; ++r) {
for (s = 0; s < ARGON2_SYNC_POINTS; ++s) {
uint32_t l;
for (l = 0; l < instance->lanes; ++l) {
argon2_position_t position;
position.pass = r;
position.lane = l;
position.slice = (uint8_t) s;
position.index = 0;
fill_segment(instance, position);
}
position.pass = pass;
for (s = 0; s < ARGON2_SYNC_POINTS; ++s) {
position.slice = (uint8_t) s;
for (l = 0; l < instance->lanes; ++l) {
position.lane = l;
position.index = 0;
fill_segment(instance, position);
}
}
}

View File

@ -96,6 +96,7 @@ typedef struct Argon2_instance_t {
block_region *region; /* Memory region pointer */
uint64_t *pseudo_rands;
uint32_t passes; /* Number of passes */
uint32_t current_pass;
uint32_t memory_blocks; /* Number of blocks in memory */
uint32_t segment_length;
uint32_t lane_length;
@ -135,9 +136,76 @@ typedef struct Argon2_thread_data {
* If so we can reference the current segment
* @pre All pointers must be valid
*/
uint32_t index_alpha(const argon2_instance_t *instance,
const argon2_position_t *position, uint32_t pseudo_rand,
int same_lane);
static uint32_t index_alpha(const argon2_instance_t *instance,
const argon2_position_t *position, uint32_t pseudo_rand,
int same_lane)
{
/*
* Pass 0:
* This lane : all already finished segments plus already constructed
* blocks in this segment
* Other lanes : all already finished segments
* Pass 1+:
* This lane : (SYNC_POINTS - 1) last segments plus already constructed
* blocks in this segment
* Other lanes : (SYNC_POINTS - 1) last segments
*/
uint32_t reference_area_size;
uint64_t relative_position;
uint32_t start_position, absolute_position;
if (position->pass == 0) {
/* First pass */
if (position->slice == 0) {
/* First slice */
reference_area_size =
position->index - 1; /* all but the previous */
} else {
if (same_lane) {
/* The same lane => add current segment */
reference_area_size =
position->slice * instance->segment_length +
position->index - 1;
} else {
reference_area_size =
position->slice * instance->segment_length +
((position->index == 0) ? (-1) : 0);
}
}
} else {
/* Second pass */
if (same_lane) {
reference_area_size = instance->lane_length -
instance->segment_length + position->index -
1;
} else {
reference_area_size = instance->lane_length -
instance->segment_length +
((position->index == 0) ? (-1) : 0);
}
}
/* 1.2.4. Mapping pseudo_rand to 0..<reference_area_size-1> and produce
* relative position */
relative_position = pseudo_rand;
relative_position = relative_position * relative_position >> 32;
relative_position = reference_area_size - 1 -
(reference_area_size * relative_position >> 32);
/* 1.2.5 Computing starting position */
start_position = 0;
if (position->pass != 0) {
start_position = (position->slice == ARGON2_SYNC_POINTS - 1)
? 0
: (position->slice + 1) * instance->segment_length;
}
/* 1.2.6. Computing absolute position */
absolute_position = (start_position + relative_position) %
instance->lane_length; /* absolute position */
return absolute_position;
}
/*
* Function that validates all inputs against predefined restrictions and return
@ -224,6 +292,6 @@ void fill_segment_ref(const argon2_instance_t *instance,
* @param instance Pointer to the current instance
* @return Zero if successful, -1 if memory failed to allocate
*/
void fill_memory_blocks(argon2_instance_t *instance);
void fill_memory_blocks(argon2_instance_t *instance, uint32_t pass);
#endif

View File

@ -29,6 +29,7 @@ argon2_ctx(argon2_context *context, argon2_type type)
/* 1. Validate all inputs */
int result = validate_inputs(context);
uint32_t memory_blocks, segment_length;
uint32_t pass;
argon2_instance_t instance;
if (ARGON2_OK != result) {
@ -53,6 +54,7 @@ argon2_ctx(argon2_context *context, argon2_type type)
instance.region = NULL;
instance.passes = context->t_cost;
instance.current_pass = ~ 0U;
instance.memory_blocks = memory_blocks;
instance.segment_length = segment_length;
instance.lane_length = segment_length * ARGON2_SYNC_POINTS;
@ -70,7 +72,9 @@ argon2_ctx(argon2_context *context, argon2_type type)
}
/* 4. Filling memory */
fill_memory_blocks(&instance);
for (pass = 0; pass < instance.passes; pass++) {
fill_memory_blocks(&instance, pass);
}
/* 5. Finalization */
finalize(context, &instance);

View File

@ -69,7 +69,7 @@
#define ARGON2_FLAG_CLEAR_PASSWORD (UINT32_C(1) << 0)
#define ARGON2_FLAG_CLEAR_SECRET (UINT32_C(1) << 1)
#define ARGON2_FLAG_CLEAR_MEMORY (UINT32_C(1) << 2)
#define ARGON2_DEFAULT_FLAGS (ARGON2_FLAG_CLEAR_MEMORY)
#define ARGON2_DEFAULT_FLAGS (UINT32_C(0))
/* Error codes */
typedef enum Argon2_ErrorCodes {

View File

@ -28,7 +28,13 @@
#include "runtime.h"
#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS)
#define MAP_ANON MAP_ANONYMOUS
# define MAP_ANON MAP_ANONYMOUS
#endif
#ifndef MAP_NOCORE
# define MAP_NOCORE 0
#endif
#ifndef MAP_POPULATE
# define MAP_POPULATE 0
#endif
void *
@ -37,13 +43,10 @@ alloc_region(escrypt_region_t *region, size_t size)
uint8_t *base, *aligned;
#if defined(MAP_ANON) && defined(HAVE_MMAP)
if ((base = (uint8_t *) mmap(NULL, size, PROT_READ | PROT_WRITE,
#ifdef MAP_NOCORE
MAP_ANON | MAP_PRIVATE | MAP_NOCORE,
#else
MAP_ANON | MAP_PRIVATE,
#endif
-1, 0)) == MAP_FAILED)
MAP_ANON | MAP_PRIVATE | MAP_NOCORE | MAP_POPULATE,
-1, 0)) == MAP_FAILED) {
base = NULL; /* LCOV_EXCL_LINE */
} /* LCOV_EXCL_LINE */
aligned = base;
#elif defined(HAVE_POSIX_MEMALIGN)
if ((errno = posix_memalign((void **) &base, 64, size)) != 0) {

View File

@ -1,545 +0,0 @@
/* Copyright 2008, Google Inc.
* All rights reserved.
*
* Code released into the public domain.
*
* curve25519-donna: Curve25519 elliptic curve, public key function
*
* http://code.google.com/p/curve25519-donna/
*
* Adam Langley <agl@imperialviolet.org>
* Parts optimised by floodyberry
* Derived from public domain C code by Daniel J. Bernstein <djb@cr.yp.to>
*
* More information about curve25519 can be found here
* http://cr.yp.to/ecdh.html
*
* djb's sample implementation of curve25519 is written in a special assembly
* language called qhasm and uses the floating point registers.
*
* This is, almost, a clean room reimplementation from the curve25519 paper. It
* uses many of the tricks described therein. Only the crecip function is taken
* from the sample implementation.
*/
#include <stdint.h>
#include <string.h>
#ifdef HAVE_TI_MODE
#include "../scalarmult_curve25519.h"
#include "curve25519_donna_c64.h"
#include "utils.h"
typedef uint8_t u8;
typedef uint64_t limb;
typedef limb felem[5];
/* Special gcc mode for 128-bit integers */
typedef unsigned uint128_t __attribute__((mode(TI)));
/* Sum two numbers: output += in */
static inline void
fsum(limb *output, const limb *in)
{
output[0] += in[0];
output[1] += in[1];
output[2] += in[2];
output[3] += in[3];
output[4] += in[4];
}
/* Find the difference of two numbers: output = in - output
* (note the order of the arguments!)
*
* Assumes that out[i] < 2**52
* On return, out[i] < 2**55
*/
static inline void
fdifference_backwards(felem out, const felem in)
{
/* 152 is 19 << 3 */
static const limb two54m152 = (((limb)1) << 54) - 152;
static const limb two54m8 = (((limb)1) << 54) - 8;
out[0] = in[0] + two54m152 - out[0];
out[1] = in[1] + two54m8 - out[1];
out[2] = in[2] + two54m8 - out[2];
out[3] = in[3] + two54m8 - out[3];
out[4] = in[4] + two54m8 - out[4];
}
/* Multiply a number by a scalar: output = in * scalar */
static inline void
fscalar_product(felem output, const felem in, const limb scalar)
{
uint128_t a;
a = in[0] * (uint128_t)scalar;
output[0] = ((limb)a) & 0x7ffffffffffff;
a = in[1] * (uint128_t)scalar + ((limb)(a >> 51));
output[1] = ((limb)a) & 0x7ffffffffffff;
a = in[2] * (uint128_t)scalar + ((limb)(a >> 51));
output[2] = ((limb)a) & 0x7ffffffffffff;
a = in[3] * (uint128_t)scalar + ((limb)(a >> 51));
output[3] = ((limb)a) & 0x7ffffffffffff;
a = in[4] * (uint128_t)scalar + ((limb)(a >> 51));
output[4] = ((limb)a) & 0x7ffffffffffff;
output[0] += (a >> 51) * 19;
}
/* Multiply two numbers: output = in2 * in
*
* output must be distinct to both inputs. The inputs are reduced coefficient
* form, the output is not.
*
* Assumes that in[i] < 2**55 and likewise for in2.
* On return, output[i] < 2**52
*/
static inline void
fmul(felem output, const felem in2, const felem in)
{
uint128_t t[5];
limb r0, r1, r2, r3, r4, s0, s1, s2, s3, s4, c;
r0 = in[0];
r1 = in[1];
r2 = in[2];
r3 = in[3];
r4 = in[4];
s0 = in2[0];
s1 = in2[1];
s2 = in2[2];
s3 = in2[3];
s4 = in2[4];
t[0] = ((uint128_t)r0) * s0;
t[1] = ((uint128_t)r0) * s1 + ((uint128_t)r1) * s0;
t[2] = ((uint128_t)r0) * s2 + ((uint128_t)r2) * s0 + ((uint128_t)r1) * s1;
t[3] = ((uint128_t)r0) * s3 + ((uint128_t)r3) * s0 + ((uint128_t)r1) * s2
+ ((uint128_t)r2) * s1;
t[4] = ((uint128_t)r0) * s4 + ((uint128_t)r4) * s0 + ((uint128_t)r3) * s1
+ ((uint128_t)r1) * s3 + ((uint128_t)r2) * s2;
r4 *= 19;
r1 *= 19;
r2 *= 19;
r3 *= 19;
t[0] += ((uint128_t)r4) * s1 + ((uint128_t)r1) * s4 + ((uint128_t)r2) * s3
+ ((uint128_t)r3) * s2;
t[1] += ((uint128_t)r4) * s2 + ((uint128_t)r2) * s4 + ((uint128_t)r3) * s3;
t[2] += ((uint128_t)r4) * s3 + ((uint128_t)r3) * s4;
t[3] += ((uint128_t)r4) * s4;
r0 = (limb)t[0] & 0x7ffffffffffff;
c = (limb)(t[0] >> 51);
t[1] += c;
r1 = (limb)t[1] & 0x7ffffffffffff;
c = (limb)(t[1] >> 51);
t[2] += c;
r2 = (limb)t[2] & 0x7ffffffffffff;
c = (limb)(t[2] >> 51);
t[3] += c;
r3 = (limb)t[3] & 0x7ffffffffffff;
c = (limb)(t[3] >> 51);
t[4] += c;
r4 = (limb)t[4] & 0x7ffffffffffff;
c = (limb)(t[4] >> 51);
r0 += c * 19;
c = r0 >> 51;
r0 = r0 & 0x7ffffffffffff;
r1 += c;
c = r1 >> 51;
r1 = r1 & 0x7ffffffffffff;
r2 += c;
output[0] = r0;
output[1] = r1;
output[2] = r2;
output[3] = r3;
output[4] = r4;
}
static inline void
fsquare_times(felem output, const felem in, limb count)
{
uint128_t t[5];
limb r0, r1, r2, r3, r4, c;
limb d0, d1, d2, d4, d419;
r0 = in[0];
r1 = in[1];
r2 = in[2];
r3 = in[3];
r4 = in[4];
do {
d0 = r0 * 2;
d1 = r1 * 2;
d2 = r2 * 2 * 19;
d419 = r4 * 19;
d4 = d419 * 2;
t[0] = ((uint128_t)r0) * r0 + ((uint128_t)d4) * r1
+ (((uint128_t)d2) * (r3));
t[1] = ((uint128_t)d0) * r1 + ((uint128_t)d4) * r2
+ (((uint128_t)r3) * (r3 * 19));
t[2] = ((uint128_t)d0) * r2 + ((uint128_t)r1) * r1
+ (((uint128_t)d4) * (r3));
t[3] = ((uint128_t)d0) * r3 + ((uint128_t)d1) * r2
+ (((uint128_t)r4) * (d419));
t[4] = ((uint128_t)d0) * r4 + ((uint128_t)d1) * r3
+ (((uint128_t)r2) * (r2));
r0 = (limb)t[0] & 0x7ffffffffffff;
c = (limb)(t[0] >> 51);
t[1] += c;
r1 = (limb)t[1] & 0x7ffffffffffff;
c = (limb)(t[1] >> 51);
t[2] += c;
r2 = (limb)t[2] & 0x7ffffffffffff;
c = (limb)(t[2] >> 51);
t[3] += c;
r3 = (limb)t[3] & 0x7ffffffffffff;
c = (limb)(t[3] >> 51);
t[4] += c;
r4 = (limb)t[4] & 0x7ffffffffffff;
c = (limb)(t[4] >> 51);
r0 += c * 19;
c = r0 >> 51;
r0 = r0 & 0x7ffffffffffff;
r1 += c;
c = r1 >> 51;
r1 = r1 & 0x7ffffffffffff;
r2 += c;
} while (--count);
output[0] = r0;
output[1] = r1;
output[2] = r2;
output[3] = r3;
output[4] = r4;
}
#ifdef NATIVE_LITTLE_ENDIAN
static inline limb
load_limb(const u8 *in)
{
limb out;
memcpy(&out, in, sizeof(limb));
return out;
}
static inline void
store_limb(u8 *out, limb in)
{
memcpy(out, &in, sizeof(limb));
}
#else
static inline limb
load_limb(const u8 *in)
{
return ((limb)in[0]) | (((limb)in[1]) << 8) | (((limb)in[2]) << 16)
| (((limb)in[3]) << 24) | (((limb)in[4]) << 32)
| (((limb)in[5]) << 40) | (((limb)in[6]) << 48)
| (((limb)in[7]) << 56);
}
static inline void
store_limb(u8 *out, limb in)
{
out[0] = in & 0xff;
out[1] = (in >> 8) & 0xff;
out[2] = (in >> 16) & 0xff;
out[3] = (in >> 24) & 0xff;
out[4] = (in >> 32) & 0xff;
out[5] = (in >> 40) & 0xff;
out[6] = (in >> 48) & 0xff;
out[7] = (in >> 56) & 0xff;
}
#endif
/* Take a little-endian, 32-byte number and expand it into polynomial form */
static void
fexpand(limb *output, const u8 *in)
{
output[0] = load_limb(in) & 0x7ffffffffffff;
output[1] = (load_limb(in + 6) >> 3) & 0x7ffffffffffff;
output[2] = (load_limb(in + 12) >> 6) & 0x7ffffffffffff;
output[3] = (load_limb(in + 19) >> 1) & 0x7ffffffffffff;
output[4] = (load_limb(in + 24) >> 12) & 0x7ffffffffffff;
}
/* Take a fully reduced polynomial form number and contract it into a
* little-endian, 32-byte array
*/
static void
fcontract(u8 *output, const felem input)
{
uint128_t t[5];
t[0] = input[0];
t[1] = input[1];
t[2] = input[2];
t[3] = input[3];
t[4] = input[4];
t[1] += t[0] >> 51;
t[0] &= 0x7ffffffffffff;
t[2] += t[1] >> 51;
t[1] &= 0x7ffffffffffff;
t[3] += t[2] >> 51;
t[2] &= 0x7ffffffffffff;
t[4] += t[3] >> 51;
t[3] &= 0x7ffffffffffff;
t[0] += 19 * (t[4] >> 51);
t[4] &= 0x7ffffffffffff;
t[1] += t[0] >> 51;
t[0] &= 0x7ffffffffffff;
t[2] += t[1] >> 51;
t[1] &= 0x7ffffffffffff;
t[3] += t[2] >> 51;
t[2] &= 0x7ffffffffffff;
t[4] += t[3] >> 51;
t[3] &= 0x7ffffffffffff;
t[0] += 19 * (t[4] >> 51);
t[4] &= 0x7ffffffffffff;
/* now t is between 0 and 2^255-1, properly carried. */
/* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */
t[0] += 19;
t[1] += t[0] >> 51;
t[0] &= 0x7ffffffffffff;
t[2] += t[1] >> 51;
t[1] &= 0x7ffffffffffff;
t[3] += t[2] >> 51;
t[2] &= 0x7ffffffffffff;
t[4] += t[3] >> 51;
t[3] &= 0x7ffffffffffff;
t[0] += 19 * (t[4] >> 51);
t[4] &= 0x7ffffffffffff;
/* now between 19 and 2^255-1 in both cases, and offset by 19. */
t[0] += 0x8000000000000 - 19;
t[1] += 0x8000000000000 - 1;
t[2] += 0x8000000000000 - 1;
t[3] += 0x8000000000000 - 1;
t[4] += 0x8000000000000 - 1;
/* now between 2^255 and 2^256-20, and offset by 2^255. */
t[1] += t[0] >> 51;
t[0] &= 0x7ffffffffffff;
t[2] += t[1] >> 51;
t[1] &= 0x7ffffffffffff;
t[3] += t[2] >> 51;
t[2] &= 0x7ffffffffffff;
t[4] += t[3] >> 51;
t[3] &= 0x7ffffffffffff;
t[4] &= 0x7ffffffffffff;
store_limb(output, t[0] | (t[1] << 51));
store_limb(output + 8, (t[1] >> 13) | (t[2] << 38));
store_limb(output + 16, (t[2] >> 26) | (t[3] << 25));
store_limb(output + 24, (t[3] >> 39) | (t[4] << 12));
}
/* Input: Q, Q', Q-Q'
* Output: 2Q, Q+Q'
*
* x2 z2: long form
* x3 z3: long form
* x z: short form, destroyed
* xprime zprime: short form, destroyed
* qmqp: short form, preserved
*/
static void
fmonty(limb *x2, limb *z2, /* output 2Q */
limb *x3, limb *z3, /* output Q + Q' */
limb *x, limb *z, /* input Q */
limb *xprime, limb *zprime, /* input Q' */
const limb *qmqp /* input Q - Q' */)
{
limb origx[5], origxprime[5], zzz[5], xx[5], zz[5], xxprime[5], zzprime[5],
zzzprime[5];
memcpy(origx, x, 5 * sizeof(limb));
fsum(x, z);
fdifference_backwards(z, origx); /* does x - z */
memcpy(origxprime, xprime, sizeof(limb) * 5);
fsum(xprime, zprime);
fdifference_backwards(zprime, origxprime);
fmul(xxprime, xprime, z);
fmul(zzprime, x, zprime);
memcpy(origxprime, xxprime, sizeof(limb) * 5);
fsum(xxprime, zzprime);
fdifference_backwards(zzprime, origxprime);
fsquare_times(x3, xxprime, 1);
fsquare_times(zzzprime, zzprime, 1);
fmul(z3, zzzprime, qmqp);
fsquare_times(xx, x, 1);
fsquare_times(zz, z, 1);
fmul(x2, xx, zz);
fdifference_backwards(zz, xx); /* does zz = xx - zz */
fscalar_product(zzz, zz, 121665);
fsum(zzz, xx);
fmul(z2, zz, zzz);
}
/* -----------------------------------------------------------------------------
Maybe swap the contents of two limb arrays (@a and @b), each @len elements
long. Perform the swap iff @swap is non-zero.
This function performs the swap without leaking any side-channel
information.
-----------------------------------------------------------------------------
*/
static void
swap_conditional(limb a[5], limb b[5], limb iswap)
{
const limb swap = -iswap;
unsigned i;
for (i = 0; i < 5; ++i) {
const limb x = swap & (a[i] ^ b[i]);
a[i] ^= x;
b[i] ^= x;
}
}
/* Calculates nQ where Q is the x-coordinate of a point on the curve
*
* resultx/resultz: the x coordinate of the resulting curve point (short form)
* n: a little endian, 32-byte number
* q: a point of the curve (short form)
*/
static void
cmult(limb *resultx, limb *resultz, const u8 *n, const limb *q)
{
limb a[5] = { 0 }, b[5] = { 1 }, c[5] = { 1 }, d[5] = { 0 };
limb *nqpqx = a, *nqpqz = b, *nqx = c, *nqz = d, *t;
limb e[5] = { 0 }, f[5] = { 1 }, g[5] = { 0 }, h[5] = { 1 };
limb *nqpqx2 = e, *nqpqz2 = f, *nqx2 = g, *nqz2 = h;
unsigned i, j;
memcpy(nqpqx, q, sizeof(limb) * 5);
for (i = 0; i < 32; ++i) {
u8 byte = n[31 - i];
for (j = 0; j < 8; ++j) {
const limb bit = byte >> 7;
swap_conditional(nqx, nqpqx, bit);
swap_conditional(nqz, nqpqz, bit);
fmonty(nqx2, nqz2, nqpqx2, nqpqz2, nqx, nqz, nqpqx, nqpqz, q);
swap_conditional(nqx2, nqpqx2, bit);
swap_conditional(nqz2, nqpqz2, bit);
t = nqx;
nqx = nqx2;
nqx2 = t;
t = nqz;
nqz = nqz2;
nqz2 = t;
t = nqpqx;
nqpqx = nqpqx2;
nqpqx2 = t;
t = nqpqz;
nqpqz = nqpqz2;
nqpqz2 = t;
byte <<= 1;
}
}
memcpy(resultx, nqx, sizeof(limb) * 5);
memcpy(resultz, nqz, sizeof(limb) * 5);
}
/* -----------------------------------------------------------------------------
Shamelessly copied from djb's code, tightened a little
-----------------------------------------------------------------------------
*/
static void
crecip(felem out, const felem z)
{
felem a, t0, b, c;
/* 2 */ fsquare_times(a, z, 1); /* a = 2 */
/* 8 */ fsquare_times(t0, a, 2);
/* 9 */ fmul(b, t0, z); /* b = 9 */
/* 11 */ fmul(a, b, a); /* a = 11 */
/* 22 */ fsquare_times(t0, a, 1);
/* 2^5 - 2^0 = 31 */ fmul(b, t0, b);
/* 2^10 - 2^5 */ fsquare_times(t0, b, 5);
/* 2^10 - 2^0 */ fmul(b, t0, b);
/* 2^20 - 2^10 */ fsquare_times(t0, b, 10);
/* 2^20 - 2^0 */ fmul(c, t0, b);
/* 2^40 - 2^20 */ fsquare_times(t0, c, 20);
/* 2^40 - 2^0 */ fmul(t0, t0, c);
/* 2^50 - 2^10 */ fsquare_times(t0, t0, 10);
/* 2^50 - 2^0 */ fmul(b, t0, b);
/* 2^100 - 2^50 */ fsquare_times(t0, b, 50);
/* 2^100 - 2^0 */ fmul(c, t0, b);
/* 2^200 - 2^100 */ fsquare_times(t0, c, 100);
/* 2^200 - 2^0 */ fmul(t0, t0, c);
/* 2^250 - 2^50 */ fsquare_times(t0, t0, 50);
/* 2^250 - 2^0 */ fmul(t0, t0, b);
/* 2^255 - 2^5 */ fsquare_times(t0, t0, 5);
/* 2^255 - 21 */ fmul(out, t0, a);
}
static const unsigned char basepoint[32] = { 9 };
static int
crypto_scalarmult_curve25519_donna_c64(unsigned char *mypublic,
const unsigned char *secret,
const unsigned char *basepoint)
{
limb bp[5], x[5], z[5], zmone[5];
uint8_t e[32];
int i;
for (i = 0; i < 32; ++i) {
e[i] = secret[i];
}
e[0] &= 248;
e[31] &= 127;
e[31] |= 64;
fexpand(bp, basepoint);
cmult(x, z, e, bp);
crecip(zmone, z);
fmul(z, x, zmone);
fcontract(mypublic, z);
return 0;
}
static int
crypto_scalarmult_curve25519_donna_c64_base(unsigned char *q,
const unsigned char *n)
{
return crypto_scalarmult_curve25519_donna_c64(q, n, basepoint);
}
struct crypto_scalarmult_curve25519_implementation
crypto_scalarmult_curve25519_donna_c64_implementation = {
SODIUM_C99(.mult =) crypto_scalarmult_curve25519_donna_c64,
SODIUM_C99(.mult_base =) crypto_scalarmult_curve25519_donna_c64_base
};
#endif

View File

@ -1,10 +0,0 @@
#ifndef curve25519_donna_c64_H
#define curve25519_donna_c64_H
#include "crypto_scalarmult_curve25519.h"
#include "../scalarmult_curve25519.h"
extern struct crypto_scalarmult_curve25519_implementation
crypto_scalarmult_curve25519_donna_c64_implementation;
#endif

View File

@ -2,174 +2,50 @@
#include <stddef.h>
#include <stdint.h>
#ifndef HAVE_TI_MODE
#include "../scalarmult_curve25519.h"
#include "private/curve25519_ref10.h"
#include "export.h"
#include "private/ed25519_ref10.h"
#include "utils.h"
#include "x25519_ref10.h"
/*
Replace (f,g) with (g,f) if b == 1;
replace (f,g) with (f,g) if b == 0.
Preconditions: b in {0,1}.
*/
static void
fe_cswap(fe f, fe g, unsigned int b)
* Reject small order points early to mitigate the implications of
* unexpected optimizations that would affect the ref10 code.
* See https://eprint.iacr.org/2017/806.pdf for reference.
*/
static int
has_small_order(const unsigned char s[32])
{
int32_t f0 = f[0];
int32_t f1 = f[1];
int32_t f2 = f[2];
int32_t f3 = f[3];
int32_t f4 = f[4];
int32_t f5 = f[5];
int32_t f6 = f[6];
int32_t f7 = f[7];
int32_t f8 = f[8];
int32_t f9 = f[9];
int32_t g0 = g[0];
int32_t g1 = g[1];
int32_t g2 = g[2];
int32_t g3 = g[3];
int32_t g4 = g[4];
int32_t g5 = g[5];
int32_t g6 = g[6];
int32_t g7 = g[7];
int32_t g8 = g[8];
int32_t g9 = g[9];
int32_t x0 = f0 ^ g0;
int32_t x1 = f1 ^ g1;
int32_t x2 = f2 ^ g2;
int32_t x3 = f3 ^ g3;
int32_t x4 = f4 ^ g4;
int32_t x5 = f5 ^ g5;
int32_t x6 = f6 ^ g6;
int32_t x7 = f7 ^ g7;
int32_t x8 = f8 ^ g8;
int32_t x9 = f9 ^ g9;
CRYPTO_ALIGN(16)
static const unsigned char blacklist[][32] = {
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
{ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
{ 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 },
{ 0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24, 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b, 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86, 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57 },
{ 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
{ 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
{ 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
{ 0xcd, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x80 },
{ 0x4c, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24, 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b, 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86, 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0xd7 },
{ 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
{ 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }
};
unsigned char c[12] = { 0 };
unsigned int k;
size_t i, j;
b = (unsigned int)(-(int)b);
x0 &= b;
x1 &= b;
x2 &= b;
x3 &= b;
x4 &= b;
x5 &= b;
x6 &= b;
x7 &= b;
x8 &= b;
x9 &= b;
f[0] = f0 ^ x0;
f[1] = f1 ^ x1;
f[2] = f2 ^ x2;
f[3] = f3 ^ x3;
f[4] = f4 ^ x4;
f[5] = f5 ^ x5;
f[6] = f6 ^ x6;
f[7] = f7 ^ x7;
f[8] = f8 ^ x8;
f[9] = f9 ^ x9;
g[0] = g0 ^ x0;
g[1] = g1 ^ x1;
g[2] = g2 ^ x2;
g[3] = g3 ^ x3;
g[4] = g4 ^ x4;
g[5] = g5 ^ x5;
g[6] = g6 ^ x6;
g[7] = g7 ^ x7;
g[8] = g8 ^ x8;
g[9] = g9 ^ x9;
}
/*
h = f * 121666
Can overlap h with f.
Preconditions:
|f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
Postconditions:
|h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
*/
static void
fe_mul121666(fe h, const fe f)
{
int32_t f0 = f[0];
int32_t f1 = f[1];
int32_t f2 = f[2];
int32_t f3 = f[3];
int32_t f4 = f[4];
int32_t f5 = f[5];
int32_t f6 = f[6];
int32_t f7 = f[7];
int32_t f8 = f[8];
int32_t f9 = f[9];
int64_t h0 = f0 * (int64_t)121666;
int64_t h1 = f1 * (int64_t)121666;
int64_t h2 = f2 * (int64_t)121666;
int64_t h3 = f3 * (int64_t)121666;
int64_t h4 = f4 * (int64_t)121666;
int64_t h5 = f5 * (int64_t)121666;
int64_t h6 = f6 * (int64_t)121666;
int64_t h7 = f7 * (int64_t)121666;
int64_t h8 = f8 * (int64_t)121666;
int64_t h9 = f9 * (int64_t)121666;
int64_t carry0;
int64_t carry1;
int64_t carry2;
int64_t carry3;
int64_t carry4;
int64_t carry5;
int64_t carry6;
int64_t carry7;
int64_t carry8;
int64_t carry9;
carry9 = (h9 + ((int64_t)1 << 24)) >> 25;
h0 += carry9 * 19;
h9 -= carry9 * ((int64_t)1 << 25);
carry1 = (h1 + ((int64_t)1 << 24)) >> 25;
h2 += carry1;
h1 -= carry1 * ((int64_t)1 << 25);
carry3 = (h3 + ((int64_t)1 << 24)) >> 25;
h4 += carry3;
h3 -= carry3 * ((int64_t)1 << 25);
carry5 = (h5 + ((int64_t)1 << 24)) >> 25;
h6 += carry5;
h5 -= carry5 * ((int64_t)1 << 25);
carry7 = (h7 + ((int64_t)1 << 24)) >> 25;
h8 += carry7;
h7 -= carry7 * ((int64_t)1 << 25);
carry0 = (h0 + ((int64_t)1 << 25)) >> 26;
h1 += carry0;
h0 -= carry0 * ((int64_t)1 << 26);
carry2 = (h2 + ((int64_t)1 << 25)) >> 26;
h3 += carry2;
h2 -= carry2 * ((int64_t)1 << 26);
carry4 = (h4 + ((int64_t)1 << 25)) >> 26;
h5 += carry4;
h4 -= carry4 * ((int64_t)1 << 26);
carry6 = (h6 + ((int64_t)1 << 25)) >> 26;
h7 += carry6;
h6 -= carry6 * ((int64_t)1 << 26);
carry8 = (h8 + ((int64_t)1 << 25)) >> 26;
h9 += carry8;
h8 -= carry8 * ((int64_t)1 << 26);
h[0] = (int32_t) h0;
h[1] = (int32_t) h1;
h[2] = (int32_t) h2;
h[3] = (int32_t) h3;
h[4] = (int32_t) h4;
h[5] = (int32_t) h5;
h[6] = (int32_t) h6;
h[7] = (int32_t) h7;
h[8] = (int32_t) h8;
h[9] = (int32_t) h9;
COMPILER_ASSERT(12 == sizeof blacklist / sizeof blacklist[0]);
for (j = 0; j < 32; j++) {
for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) {
c[i] |= s[j] ^ blacklist[i][j];
}
}
k = 0;
for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) {
k |= (c[i] - 1);
}
return (int) ((k >> 8) & 1);
}
static int
@ -177,98 +53,101 @@ crypto_scalarmult_curve25519_ref10(unsigned char *q,
const unsigned char *n,
const unsigned char *p)
{
unsigned char e[32];
unsigned int i;
fe x1;
fe x2;
fe z2;
fe x3;
fe z3;
fe tmp0;
fe tmp1;
int pos;
unsigned int swap;
unsigned int b;
unsigned char *t = q;
unsigned int i;
fe25519 x1;
fe25519 x2;
fe25519 z2;
fe25519 x3;
fe25519 z3;
fe25519 tmp0;
fe25519 tmp1;
int pos;
unsigned int swap;
unsigned int b;
for (i = 0; i < 32; ++i) {
e[i] = n[i];
if (has_small_order(p)) {
return -1;
}
e[0] &= 248;
e[31] &= 127;
e[31] |= 64;
fe_frombytes(x1, p);
fe_1(x2);
fe_0(z2);
fe_copy(x3, x1);
fe_1(z3);
for (i = 0; i < 32; i++) {
t[i] = n[i];
}
t[0] &= 248;
t[31] &= 127;
t[31] |= 64;
fe25519_frombytes(x1, p);
fe25519_1(x2);
fe25519_0(z2);
fe25519_copy(x3, x1);
fe25519_1(z3);
swap = 0;
for (pos = 254; pos >= 0; --pos) {
b = e[pos / 8] >> (pos & 7);
b = t[pos / 8] >> (pos & 7);
b &= 1;
swap ^= b;
fe_cswap(x2, x3, swap);
fe_cswap(z2, z3, swap);
fe25519_cswap(x2, x3, swap);
fe25519_cswap(z2, z3, swap);
swap = b;
fe_sub(tmp0, x3, z3);
fe_sub(tmp1, x2, z2);
fe_add(x2, x2, z2);
fe_add(z2, x3, z3);
fe_mul(z3, tmp0, x2);
fe_mul(z2, z2, tmp1);
fe_sq(tmp0, tmp1);
fe_sq(tmp1, x2);
fe_add(x3, z3, z2);
fe_sub(z2, z3, z2);
fe_mul(x2, tmp1, tmp0);
fe_sub(tmp1, tmp1, tmp0);
fe_sq(z2, z2);
fe_mul121666(z3, tmp1);
fe_sq(x3, x3);
fe_add(tmp0, tmp0, z3);
fe_mul(z3, x1, z2);
fe_mul(z2, tmp1, tmp0);
fe25519_sub(tmp0, x3, z3);
fe25519_sub(tmp1, x2, z2);
fe25519_add(x2, x2, z2);
fe25519_add(z2, x3, z3);
fe25519_mul(z3, tmp0, x2);
fe25519_mul(z2, z2, tmp1);
fe25519_sq(tmp0, tmp1);
fe25519_sq(tmp1, x2);
fe25519_add(x3, z3, z2);
fe25519_sub(z2, z3, z2);
fe25519_mul(x2, tmp1, tmp0);
fe25519_sub(tmp1, tmp1, tmp0);
fe25519_sq(z2, z2);
fe25519_scalar_product(z3, tmp1, 121666);
fe25519_sq(x3, x3);
fe25519_add(tmp0, tmp0, z3);
fe25519_mul(z3, x1, z2);
fe25519_mul(z2, tmp1, tmp0);
}
fe_cswap(x2, x3, swap);
fe_cswap(z2, z3, swap);
fe25519_cswap(x2, x3, swap);
fe25519_cswap(z2, z3, swap);
fe_invert(z2, z2);
fe_mul(x2, x2, z2);
fe_tobytes(q, x2);
fe25519_invert(z2, z2);
fe25519_mul(x2, x2, z2);
fe25519_tobytes(q, x2);
return 0;
}
static void
edwards_to_montgomery(fe montgomeryX, const fe edwardsY, const fe edwardsZ)
edwards_to_montgomery(fe25519 montgomeryX, const fe25519 edwardsY, const fe25519 edwardsZ)
{
fe tempX;
fe tempZ;
fe25519 tempX;
fe25519 tempZ;
fe_add(tempX, edwardsZ, edwardsY);
fe_sub(tempZ, edwardsZ, edwardsY);
fe_invert(tempZ, tempZ);
fe_mul(montgomeryX, tempX, tempZ);
fe25519_add(tempX, edwardsZ, edwardsY);
fe25519_sub(tempZ, edwardsZ, edwardsY);
fe25519_invert(tempZ, tempZ);
fe25519_mul(montgomeryX, tempX, tempZ);
}
static int
crypto_scalarmult_curve25519_ref10_base(unsigned char *q,
const unsigned char *n)
{
unsigned char e[32];
ge_p3 A;
fe pk;
unsigned int i;
unsigned char *t = q;
ge25519_p3 A;
fe25519 pk;
unsigned int i;
for (i = 0; i < 32; ++i) {
e[i] = n[i];
for (i = 0; i < 32; i++) {
t[i] = n[i];
}
e[0] &= 248;
e[31] &= 127;
e[31] |= 64;
ge_scalarmult_base(&A, e);
t[0] &= 248;
t[31] &= 127;
t[31] |= 64;
ge25519_scalarmult_base(&A, t);
edwards_to_montgomery(pk, A.Y, A.Z);
fe_tobytes(q, pk);
fe25519_tobytes(q, pk);
return 0;
}
@ -278,5 +157,3 @@ struct crypto_scalarmult_curve25519_implementation
SODIUM_C99(.mult =) crypto_scalarmult_curve25519_ref10,
SODIUM_C99(.mult_base =) crypto_scalarmult_curve25519_ref10_base
};
#endif

View File

@ -5,6 +5,6 @@
#include "../scalarmult_curve25519.h"
extern struct crypto_scalarmult_curve25519_implementation
crypto_scalarmult_curve25519_ref10_implementation;
crypto_scalarmult_curve25519_ref10_implementation;
#endif

View File

@ -25,22 +25,22 @@ static int
crypto_scalarmult_curve25519_sandy2x(unsigned char *q, const unsigned char *n,
const unsigned char *p)
{
unsigned char e[32];
unsigned int i;
unsigned char *t = q;
fe var[3];
fe51 x_51;
fe51 z_51;
unsigned int i;
fe var[3];
fe51 x_51;
fe51 z_51;
for (i = 0;i < 32;++i) e[i] = n[i];
e[0] &= 248;
e[31] &= 127;
e[31] |= 64;
for (i = 0; i < 32; i++) {
t[i] = n[i];
}
t[0] &= 248;
t[31] &= 127;
t[31] |= 64;
fe_frombytes(x1, p);
ladder(var, e);
ladder(var, t);
z_51.v[0] = (z2[1] << 26) + z2[0];
z_51.v[1] = (z2[3] << 26) + z2[2];
@ -71,20 +71,20 @@ static int
crypto_scalarmult_curve25519_sandy2x_base(unsigned char *q,
const unsigned char *n)
{
unsigned char e[32];
unsigned int i;
unsigned char *t = q;
fe var[3];
fe51 x_51;
fe51 z_51;
unsigned int i;
fe var[3];
for (i = 0;i < 32; i++) {
t[i] = n[i];
}
t[0] &= 248;
t[31] &= 127;
t[31] |= 64;
fe51 x_51;
fe51 z_51;
for (i = 0;i < 32;++i) e[i] = n[i];
e[0] &= 248;
e[31] &= 127;
e[31] |= 64;
ladder_base(var, e);
ladder_base(var, t);
z_51.v[0] = (z2[1] << 26) + z2[0];
z_51.v[1] = (z2[3] << 26) + z2[2];

View File

@ -9,7 +9,8 @@
#define fe51_square(x, y) fe51_nsquare(x, y, 1)
void fe51_invert(fe51 *r, const fe51 *x)
void
fe51_invert(fe51 *r, const fe51 *x)
{
fe51 z2;
fe51 z9;

View File

@ -6,7 +6,8 @@
#ifdef HAVE_AVX_ASM
static uint64_t load_3(const unsigned char *in)
static uint64_t
load_3(const unsigned char *in)
{
uint64_t result;
result = (uint64_t) in[0];
@ -15,7 +16,8 @@ static uint64_t load_3(const unsigned char *in)
return result;
}
static uint64_t load_4(const unsigned char *in)
static uint64_t
load_4(const unsigned char *in)
{
uint64_t result;
result = (uint64_t) in[0];
@ -25,7 +27,8 @@ static uint64_t load_4(const unsigned char *in)
return result;
}
void fe_frombytes(fe h,const unsigned char *s)
void
fe_frombytes(fe h, const unsigned char *s)
{
uint64_t h0 = load_4(s);
uint64_t h1 = load_3(s + 4) << 6;

View File

@ -1,20 +1,15 @@
#include "crypto_scalarmult_curve25519.h"
#include "private/implementations.h"
#include "scalarmult_curve25519.h"
#include "runtime.h"
#ifdef HAVE_AVX_ASM
# include "sandy2x/curve25519_sandy2x.h"
#endif
#ifdef HAVE_TI_MODE
# include "donna_c64/curve25519_donna_c64.h"
static const crypto_scalarmult_curve25519_implementation *implementation =
&crypto_scalarmult_curve25519_donna_c64_implementation;
#else
# include "ref10/x25519_ref10.h"
#include "ref10/x25519_ref10.h"
static const crypto_scalarmult_curve25519_implementation *implementation =
&crypto_scalarmult_curve25519_ref10_implementation;
#endif
int
crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n,
@ -53,11 +48,8 @@ crypto_scalarmult_curve25519_scalarbytes(void)
int
_crypto_scalarmult_curve25519_pick_best_implementation(void)
{
#ifdef HAVE_TI_MODE
implementation = &crypto_scalarmult_curve25519_donna_c64_implementation;
#else
implementation = &crypto_scalarmult_curve25519_ref10_implementation;
#endif
#ifdef HAVE_AVX_ASM
if (sodium_runtime_has_avx()) {
implementation = &crypto_scalarmult_curve25519_sandy2x_implementation;

View File

@ -0,0 +1,86 @@
#include <string.h>
#include "crypto_scalarmult_ed25519.h"
#include "private/ed25519_ref10.h"
#include "utils.h"
static int
_crypto_scalarmult_ed25519_is_inf(const unsigned char s[32])
{
unsigned char c;
unsigned int i;
c = s[0] ^ 0x01;
for (i = 1; i < 31; i++) {
c |= s[i];
}
c |= s[31] & 0x7f;
return ((((unsigned int) c) - 1U) >> 8) & 1;
}
static inline void
_crypto_scalarmult_ed25519_clamp(unsigned char k[32])
{
k[0] &= 248;
k[31] &= 127;
k[31] |= 64;
}
int
crypto_scalarmult_ed25519(unsigned char *q, const unsigned char *n,
const unsigned char *p)
{
unsigned char *t = q;
ge25519_p3 Q;
ge25519_p3 P;
unsigned int i;
if (ge25519_is_canonical(p) == 0 || ge25519_has_small_order(p) != 0 ||
ge25519_frombytes(&P, p) != 0 || ge25519_is_on_main_subgroup(&P) == 0) {
return -1;
}
for (i = 0; i < 32; ++i) {
t[i] = n[i];
}
_crypto_scalarmult_ed25519_clamp(t);
ge25519_scalarmult(&Q, t, &P);
ge25519_p3_tobytes(q, &Q);
if (_crypto_scalarmult_ed25519_is_inf(q) != 0 || sodium_is_zero(n, 32)) {
return -1;
}
return 0;
}
int
crypto_scalarmult_ed25519_base(unsigned char *q,
const unsigned char *n)
{
unsigned char *t = q;
ge25519_p3 Q;
unsigned int i;
for (i = 0; i < 32; ++i) {
t[i] = n[i];
}
_crypto_scalarmult_ed25519_clamp(t);
ge25519_scalarmult_base(&Q, t);
ge25519_p3_tobytes(q, &Q);
if (sodium_is_zero(n, 32) != 0) {
return -1;
}
return 0;
}
size_t
crypto_scalarmult_ed25519_bytes(void)
{
return crypto_scalarmult_ed25519_BYTES;
}
size_t
crypto_scalarmult_ed25519_scalarbytes(void)
{
return crypto_scalarmult_ed25519_SCALARBYTES;
}

View File

@ -4,8 +4,8 @@
#include "crypto_hash_sha512.h"
#include "crypto_scalarmult_curve25519.h"
#include "crypto_sign_ed25519.h"
#include "ed25519_ref10.h"
#include "private/curve25519_ref10.h"
#include "sign_ed25519_ref10.h"
#include "private/ed25519_ref10.h"
#include "randombytes.h"
#include "utils.h"
@ -13,7 +13,7 @@ int
crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk,
const unsigned char *seed)
{
ge_p3 A;
ge25519_p3 A;
#ifdef ED25519_NONDETERMINISTIC
memmove(sk, seed, 32);
@ -21,11 +21,11 @@ crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk,
crypto_hash_sha512(sk, seed, 32);
#endif
sk[0] &= 248;
sk[31] &= 63;
sk[31] &= 127;
sk[31] |= 64;
ge_scalarmult_base(&A, sk);
ge_p3_tobytes(pk, &A);
ge25519_scalarmult_base(&A, sk);
ge25519_p3_tobytes(pk, &A);
memmove(sk, seed, 32);
memmove(sk + 32, pk, 32);
@ -50,26 +50,22 @@ int
crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk,
const unsigned char *ed25519_pk)
{
ge_p3 A;
ge_p3 pl;
fe x;
fe one_minus_y;
ge25519_p3 A;
fe25519 x;
fe25519 one_minus_y;
if (_crypto_sign_ed25519_small_order(ed25519_pk) ||
ge_frombytes_negate_vartime(&A, ed25519_pk) != 0) {
if (ge25519_has_small_order(ed25519_pk) != 0 ||
ge25519_frombytes_negate_vartime(&A, ed25519_pk) != 0 ||
ge25519_is_on_main_subgroup(&A) == 0) {
return -1;
}
ge_mul_l(&pl, &A);
if (fe_isnonzero(pl.X)) {
return -1;
}
fe_1(one_minus_y);
fe_sub(one_minus_y, one_minus_y, A.Y);
fe_invert(one_minus_y, one_minus_y);
fe_1(x);
fe_add(x, x, A.Y);
fe_mul(x, x, one_minus_y);
fe_tobytes(curve25519_pk, x);
fe25519_1(one_minus_y);
fe25519_sub(one_minus_y, one_minus_y, A.Y);
fe25519_invert(one_minus_y, one_minus_y);
fe25519_1(x);
fe25519_add(x, x, A.Y);
fe25519_mul(x, x, one_minus_y);
fe25519_tobytes(curve25519_pk, x);
return 0;
}

View File

@ -6,7 +6,7 @@
#include "crypto_hash_sha512.h"
#include "crypto_sign_edwards25519sha512batch.h"
#include "crypto_verify_32.h"
#include "private/curve25519_ref10.h"
#include "private/ed25519_ref10.h"
#include "randombytes.h"
#include "utils.h"
@ -14,15 +14,15 @@ int
crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk,
unsigned char *sk)
{
ge_p3 A;
ge25519_p3 A;
randombytes_buf(sk, 32);
crypto_hash_sha512(sk, sk, 32);
sk[0] &= 248;
sk[31] &= 63;
sk[31] &= 127;
sk[31] |= 64;
ge_scalarmult_base(&A, sk);
ge_p3_tobytes(pk, &A);
ge25519_scalarmult_base(&A, sk);
ge25519_p3_tobytes(pk, &A);
return 0;
}
@ -38,24 +38,24 @@ crypto_sign_edwards25519sha512batch(unsigned char *sm,
unsigned char nonce[64];
unsigned char hram[64];
unsigned char sig[64];
ge_p3 A;
ge_p3 R;
ge25519_p3 A;
ge25519_p3 R;
crypto_hash_sha512_init(&hs);
crypto_hash_sha512_update(&hs, sk + 32, 32);
crypto_hash_sha512_update(&hs, m, mlen);
crypto_hash_sha512_final(&hs, nonce);
ge_scalarmult_base(&A, sk);
ge_p3_tobytes(sig + 32, &A);
sc_reduce(nonce);
ge_scalarmult_base(&R, nonce);
ge_p3_tobytes(sig, &R);
ge25519_scalarmult_base(&A, sk);
ge25519_p3_tobytes(sig + 32, &A);
sc25519_reduce(nonce);
ge25519_scalarmult_base(&R, nonce);
ge25519_p3_tobytes(sig, &R);
crypto_hash_sha512_init(&hs);
crypto_hash_sha512_update(&hs, sig, 32);
crypto_hash_sha512_update(&hs, m, mlen);
crypto_hash_sha512_final(&hs, hram);
sc_reduce(hram);
sc_muladd(sig + 32, hram, nonce, sk);
sc25519_reduce(hram);
sc25519_muladd(sig + 32, hram, nonce, sk);
sodium_memzero(hram, sizeof hram);
memmove(sm + 32, m, (size_t) mlen);
memcpy(sm, sig, 32);
@ -75,12 +75,12 @@ crypto_sign_edwards25519sha512batch_open(unsigned char *m,
unsigned char h[64];
unsigned char t1[32], t2[32];
unsigned long long mlen;
ge_cached Ai;
ge_p1p1 csa;
ge_p2 cs;
ge_p3 A;
ge_p3 R;
ge_p3 cs3;
ge25519_cached Ai;
ge25519_p1p1 csa;
ge25519_p2 cs;
ge25519_p3 A;
ge25519_p3 R;
ge25519_p3 cs3;
*mlen_p = 0;
if (smlen < 64 || smlen - 64 > crypto_sign_edwards25519sha512batch_MESSAGEBYTES_MAX) {
@ -90,20 +90,22 @@ crypto_sign_edwards25519sha512batch_open(unsigned char *m,
if (sm[smlen - 1] & 224) {
return -1;
}
if (ge_frombytes_negate_vartime(&A, pk) != 0 ||
ge_frombytes_negate_vartime(&R, sm) != 0) {
if (ge25519_has_small_order(pk) != 0 ||
ge25519_frombytes_negate_vartime(&A, pk) != 0 ||
ge25519_has_small_order(sm) != 0 ||
ge25519_frombytes_negate_vartime(&R, sm) != 0) {
return -1;
}
ge_p3_to_cached(&Ai, &A);
ge25519_p3_to_cached(&Ai, &A);
crypto_hash_sha512(h, sm, mlen + 32);
sc_reduce(h);
ge_scalarmult_vartime(&cs3, h, &R);
ge_add(&csa, &cs3, &Ai);
ge_p1p1_to_p2(&cs, &csa);
ge_tobytes(t1, &cs);
sc25519_reduce(h);
ge25519_scalarmult(&cs3, h, &R);
ge25519_add(&csa, &cs3, &Ai);
ge25519_p1p1_to_p2(&cs, &csa);
ge25519_tobytes(t1, &cs);
t1[31] ^= 1 << 7;
ge_scalarmult_base(&R, sm + 32 + mlen);
ge_p3_tobytes(t2, &R);
ge25519_scalarmult_base(&R, sm + 32 + mlen);
ge25519_p3_tobytes(t2, &R);
if (crypto_verify_32(t1, t2) != 0) {
return -1;
}

View File

@ -6,86 +6,10 @@
#include "crypto_hash_sha512.h"
#include "crypto_sign_ed25519.h"
#include "crypto_verify_32.h"
#include "ed25519_ref10.h"
#include "private/curve25519_ref10.h"
#include "sign_ed25519_ref10.h"
#include "private/ed25519_ref10.h"
#include "utils.h"
#ifndef ED25519_COMPAT
static int
crypto_sign_check_S_lt_L(const unsigned char *S)
{
/* 2^252+27742317777372353535851937790883648493 */
static const unsigned char L[32] = {
0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7,
0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10
};
unsigned char c = 0;
unsigned char n = 1;
unsigned int i = 32;
do {
i--;
c |= ((S[i] - L[i]) >> 8) & n;
n &= ((S[i] ^ L[i]) - 1) >> 8;
} while (i != 0);
return -(c == 0);
}
int
_crypto_sign_ed25519_small_order(const unsigned char s[32])
{
CRYPTO_ALIGN(16)
static const unsigned char blacklist[][32] = {
/* 0 (order 4) */
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
/* 1 (order 1) */
{ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
/* 2707385501144840649318225287225658788936804267575313519463743609750303402022
(order 8) */
{ 0x26, 0xe8, 0x95, 0x8f, 0xc2, 0xb2, 0x27, 0xb0, 0x45, 0xc3, 0xf4,
0x89, 0xf2, 0xef, 0x98, 0xf0, 0xd5, 0xdf, 0xac, 0x05, 0xd3, 0xc6,
0x33, 0x39, 0xb1, 0x38, 0x02, 0x88, 0x6d, 0x53, 0xfc, 0x05 },
/* 55188659117513257062467267217118295137698188065244968500265048394206261417927
(order 8) */
{ 0xc7, 0x17, 0x6a, 0x70, 0x3d, 0x4d, 0xd8, 0x4f, 0xba, 0x3c, 0x0b,
0x76, 0x0d, 0x10, 0x67, 0x0f, 0x2a, 0x20, 0x53, 0xfa, 0x2c, 0x39,
0xcc, 0xc6, 0x4e, 0xc7, 0xfd, 0x77, 0x92, 0xac, 0x03, 0x7a },
/* p-1 (order 2) */
{ 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
/* p (=0, order 4) */
{ 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
/* p+1 (=1, order 1) */
{ 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }
};
size_t i, j;
unsigned char c;
for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) {
c = 0;
for (j = 0; j < 31; j++) {
c |= s[j] ^ blacklist[i][j];
}
c |= (s[j] & 0x7f) ^ blacklist[i][j];
if (c == 0) {
return 1;
}
}
return 0;
}
#endif
int
_crypto_sign_ed25519_verify_detached(const unsigned char *sig,
const unsigned char *m,
@ -96,14 +20,15 @@ _crypto_sign_ed25519_verify_detached(const unsigned char *sig,
crypto_hash_sha512_state hs;
unsigned char h[64];
unsigned char rcheck[32];
unsigned int i;
unsigned char d = 0;
ge_p3 A;
ge_p2 R;
ge25519_p3 A;
ge25519_p2 R;
#ifndef ED25519_COMPAT
if (crypto_sign_check_S_lt_L(sig + 32) != 0 ||
_crypto_sign_ed25519_small_order(sig) != 0) {
if (sc25519_is_canonical(sig + 32) == 0 ||
ge25519_has_small_order(sig) != 0) {
return -1;
}
if (ge25519_is_canonical(pk) == 0) {
return -1;
}
#else
@ -111,13 +36,8 @@ _crypto_sign_ed25519_verify_detached(const unsigned char *sig,
return -1;
}
#endif
if (ge_frombytes_negate_vartime(&A, pk) != 0) {
return -1;
}
for (i = 0; i < 32; ++i) {
d |= pk[i];
}
if (d == 0) {
if (ge25519_has_small_order(pk) != 0 ||
ge25519_frombytes_negate_vartime(&A, pk) != 0) {
return -1;
}
_crypto_sign_ed25519_ref10_hinit(&hs, prehashed);
@ -125,10 +45,10 @@ _crypto_sign_ed25519_verify_detached(const unsigned char *sig,
crypto_hash_sha512_update(&hs, pk, 32);
crypto_hash_sha512_update(&hs, m, mlen);
crypto_hash_sha512_final(&hs, h);
sc_reduce(h);
sc25519_reduce(h);
ge_double_scalarmult_vartime(&R, h, &A, sig + 32);
ge_tobytes(rcheck, &R);
ge25519_double_scalarmult_vartime(&R, h, &A, sig + 32);
ge25519_tobytes(rcheck, &R);
return crypto_verify_32(rcheck, sig) | (-(rcheck == sig)) |
sodium_memcmp(sig, rcheck, 32);

View File

@ -3,8 +3,8 @@
#include "crypto_hash_sha512.h"
#include "crypto_sign_ed25519.h"
#include "ed25519_ref10.h"
#include "private/curve25519_ref10.h"
#include "sign_ed25519_ref10.h"
#include "private/ed25519_ref10.h"
#include "randombytes.h"
#include "utils.h"
@ -28,7 +28,7 @@ static inline void
_crypto_sign_ed25519_clamp(unsigned char k[32])
{
k[0] &= 248;
k[31] &= 63;
k[31] &= 127;
k[31] |= 64;
}
@ -70,7 +70,7 @@ _crypto_sign_ed25519_detached(unsigned char *sig, unsigned long long *siglen_p,
unsigned char az[64];
unsigned char nonce[64];
unsigned char hram[64];
ge_p3 R;
ge25519_p3 R;
_crypto_sign_ed25519_ref10_hinit(&hs, prehashed);
@ -87,18 +87,18 @@ _crypto_sign_ed25519_detached(unsigned char *sig, unsigned long long *siglen_p,
memmove(sig + 32, sk + 32, 32);
sc_reduce(nonce);
ge_scalarmult_base(&R, nonce);
ge_p3_tobytes(sig, &R);
sc25519_reduce(nonce);
ge25519_scalarmult_base(&R, nonce);
ge25519_p3_tobytes(sig, &R);
_crypto_sign_ed25519_ref10_hinit(&hs, prehashed);
crypto_hash_sha512_update(&hs, sig, 64);
crypto_hash_sha512_update(&hs, m, mlen);
crypto_hash_sha512_final(&hs, hram);
sc_reduce(hram);
sc25519_reduce(hram);
_crypto_sign_ed25519_clamp(az);
sc_muladd(sig + 32, hram, az, nonce);
sc25519_muladd(sig + 32, hram, az, nonce);
sodium_memzero(az, sizeof az);
sodium_memzero(nonce, sizeof nonce);

View File

@ -1,5 +1,5 @@
#ifndef ed25519_ref10_H
#define ed25519_ref10_H
#ifndef sign_ed25519_ref10_H
#define sign_ed25519_ref10_H
void _crypto_sign_ed25519_ref10_hinit(crypto_hash_sha512_state *hs,
int prehashed);
@ -15,7 +15,4 @@ int _crypto_sign_ed25519_verify_detached(const unsigned char *sig,
unsigned long long mlen,
const unsigned char *pk,
int prehashed);
int _crypto_sign_ed25519_small_order(const unsigned char p[32]);
#endif

View File

@ -3,7 +3,7 @@
#include "crypto_hash_sha512.h"
#include "crypto_sign_ed25519.h"
#include "ref10/ed25519_ref10.h"
#include "ref10/sign_ed25519_ref10.h"
size_t
crypto_sign_ed25519ph_statebytes(void)

View File

@ -1,5 +1,6 @@
#include "crypto_stream_chacha20.h"
#include "private/common.h"
#include "private/implementations.h"
#include "randombytes.h"
#include "runtime.h"
#include "stream_chacha20.h"

View File

@ -1,5 +1,6 @@
#include "crypto_stream_salsa20.h"
#include "private/common.h"
#include "private/implementations.h"
#include "randombytes.h"
#include "runtime.h"
#include "stream_salsa20.h"

View File

@ -12,6 +12,7 @@ SODIUM_EXPORT = \
sodium/crypto_box.h \
sodium/crypto_box_curve25519xchacha20poly1305.h \
sodium/crypto_box_curve25519xsalsa20poly1305.h \
sodium/crypto_core_ed25519.h \
sodium/crypto_core_hchacha20.h \
sodium/crypto_core_hsalsa20.h \
sodium/crypto_core_salsa20.h \
@ -33,6 +34,7 @@ SODIUM_EXPORT = \
sodium/crypto_pwhash_scryptsalsa208sha256.h \
sodium/crypto_scalarmult.h \
sodium/crypto_scalarmult_curve25519.h \
sodium/crypto_scalarmult_ed25519.h \
sodium/crypto_secretbox.h \
sodium/crypto_secretbox_xchacha20poly1305.h \
sodium/crypto_secretbox_xsalsa20poly1305.h \

View File

@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_catchable_abrt.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_define.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \
$(top_srcdir)/m4/ax_valgrind_check.m4 \
$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@ -139,9 +139,10 @@ am__nobase_include_HEADERS_DIST = sodium.h sodium/core.h \
sodium/crypto_auth_hmacsha512256.h sodium/crypto_box.h \
sodium/crypto_box_curve25519xchacha20poly1305.h \
sodium/crypto_box_curve25519xsalsa20poly1305.h \
sodium/crypto_core_hchacha20.h sodium/crypto_core_hsalsa20.h \
sodium/crypto_core_salsa20.h sodium/crypto_core_salsa2012.h \
sodium/crypto_core_salsa208.h sodium/crypto_generichash.h \
sodium/crypto_core_ed25519.h sodium/crypto_core_hchacha20.h \
sodium/crypto_core_hsalsa20.h sodium/crypto_core_salsa20.h \
sodium/crypto_core_salsa2012.h sodium/crypto_core_salsa208.h \
sodium/crypto_generichash.h \
sodium/crypto_generichash_blake2b.h sodium/crypto_hash.h \
sodium/crypto_hash_sha256.h sodium/crypto_hash_sha512.h \
sodium/crypto_kdf.h sodium/crypto_kdf_blake2b.h \
@ -151,7 +152,7 @@ am__nobase_include_HEADERS_DIST = sodium.h sodium/core.h \
sodium/crypto_pwhash_scryptsalsa208sha256.h \
sodium/crypto_scalarmult.h \
sodium/crypto_scalarmult_curve25519.h \
sodium/crypto_secretbox.h \
sodium/crypto_scalarmult_ed25519.h sodium/crypto_secretbox.h \
sodium/crypto_secretbox_xchacha20poly1305.h \
sodium/crypto_secretbox_xsalsa20poly1305.h \
sodium/crypto_secretstream_xchacha20poly1305.h \
@ -220,6 +221,7 @@ CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
@ -240,6 +242,7 @@ CFLAGS_AVX2 = @CFLAGS_AVX2@
CFLAGS_AVX512F = @CFLAGS_AVX512F@
CFLAGS_MMX = @CFLAGS_MMX@
CFLAGS_PCLMUL = @CFLAGS_PCLMUL@
CFLAGS_RDRAND = @CFLAGS_RDRAND@
CFLAGS_SSE2 = @CFLAGS_SSE2@
CFLAGS_SSE3 = @CFLAGS_SSE3@
CFLAGS_SSE41 = @CFLAGS_SSE41@
@ -384,9 +387,10 @@ SODIUM_EXPORT = sodium.h sodium/core.h sodium/crypto_aead_aes256gcm.h \
sodium/crypto_auth_hmacsha512256.h sodium/crypto_box.h \
sodium/crypto_box_curve25519xchacha20poly1305.h \
sodium/crypto_box_curve25519xsalsa20poly1305.h \
sodium/crypto_core_hchacha20.h sodium/crypto_core_hsalsa20.h \
sodium/crypto_core_salsa20.h sodium/crypto_core_salsa2012.h \
sodium/crypto_core_salsa208.h sodium/crypto_generichash.h \
sodium/crypto_core_ed25519.h sodium/crypto_core_hchacha20.h \
sodium/crypto_core_hsalsa20.h sodium/crypto_core_salsa20.h \
sodium/crypto_core_salsa2012.h sodium/crypto_core_salsa208.h \
sodium/crypto_generichash.h \
sodium/crypto_generichash_blake2b.h sodium/crypto_hash.h \
sodium/crypto_hash_sha256.h sodium/crypto_hash_sha512.h \
sodium/crypto_kdf.h sodium/crypto_kdf_blake2b.h \
@ -396,7 +400,7 @@ SODIUM_EXPORT = sodium.h sodium/core.h sodium/crypto_aead_aes256gcm.h \
sodium/crypto_pwhash_scryptsalsa208sha256.h \
sodium/crypto_scalarmult.h \
sodium/crypto_scalarmult_curve25519.h \
sodium/crypto_secretbox.h \
sodium/crypto_scalarmult_ed25519.h sodium/crypto_secretbox.h \
sodium/crypto_secretbox_xchacha20poly1305.h \
sodium/crypto_secretbox_xsalsa20poly1305.h \
sodium/crypto_secretstream_xchacha20poly1305.h \

View File

@ -58,6 +58,8 @@
#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"

View File

@ -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

View File

@ -25,6 +25,14 @@ 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)

View File

@ -17,6 +17,14 @@ size_t crypto_scalarmult_curve25519_bytes(void);
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)

View File

@ -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

View File

@ -7,6 +7,14 @@
#define COMPILER_ASSERT(X) (void) sizeof(char[(X) ? 1 : -1])
#ifdef HAVE_TI_MODE
# if defined(__SIZEOF_INT128__)
typedef unsigned __int128 uint128_t;
# else
typedef unsigned uint128_t __attribute__((mode(TI)));
# endif
#endif
#define ROTL32(X, B) rotl32((X), (B))
static inline uint32_t
rotl32(const uint32_t x, const int b)
@ -225,4 +233,14 @@ xor_buf(unsigned char *out, const unsigned char *in, size_t n)
# include <intrin.h>
#endif
#ifdef HAVE_LIBCTGRIND
extern void ct_poison (const void *, size_t);
extern void ct_unpoison(const void *, size_t);
# define POISON(X, L) ct_poison((X), (L))
# define UNPOISON(X, L) ct_unpoison((X), (L))
#else
# define POISON(X, L) (void) 0
# define UNPOISON(X, L) (void) 0
#endif
#endif

View File

@ -1,132 +0,0 @@
#ifndef curve25519_ref10_H
#define curve25519_ref10_H
#include <stddef.h>
#include <stdint.h>
#define fe crypto_core_curve25519_ref10_fe
typedef int32_t fe[10];
/*
fe means field element.
Here the field is \Z/(2^255-19).
An element t, entries t[0]...t[9], represents the integer
t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9].
Bounds on each t[i] vary depending on context.
*/
#define fe_frombytes crypto_core_curve25519_ref10_fe_frombytes
#define fe_tobytes crypto_core_curve25519_ref10_fe_tobytes
#define fe_copy crypto_core_curve25519_ref10_fe_copy
#define fe_isnonzero crypto_core_curve25519_ref10_fe_isnonzero
#define fe_0 crypto_core_curve25519_ref10_fe_0
#define fe_1 crypto_core_curve25519_ref10_fe_1
#define fe_add crypto_core_curve25519_ref10_fe_add
#define fe_sub crypto_core_curve25519_ref10_fe_sub
#define fe_mul crypto_core_curve25519_ref10_fe_mul
#define fe_sq crypto_core_curve25519_ref10_fe_sq
#define fe_invert crypto_core_curve25519_ref10_fe_invert
extern void fe_frombytes(fe,const unsigned char *);
extern void fe_tobytes(unsigned char *,const fe);
extern void fe_copy(fe,const fe);
extern int fe_isnonzero(const fe);
extern void fe_0(fe);
extern void fe_1(fe);
extern void fe_add(fe,const fe,const fe);
extern void fe_sub(fe,const fe,const fe);
extern void fe_mul(fe,const fe,const fe);
extern void fe_sq(fe,const fe);
extern void fe_invert(fe,const fe);
/*
ge means group element.
*
Here the group is the set of pairs (x,y) of field elements (see fe.h)
satisfying -x^2 + y^2 = 1 + d x^2y^2
where d = -121665/121666.
*
Representations:
ge_p2 (projective): (X:Y:Z) satisfying x=X/Z, y=Y/Z
ge_p3 (extended): (X:Y:Z:T) satisfying x=X/Z, y=Y/Z, XY=ZT
ge_p1p1 (completed): ((X:Z),(Y:T)) satisfying x=X/Z, y=Y/T
ge_precomp (Duif): (y+x,y-x,2dxy)
*/
#define ge_p2 crypto_core_curve25519_ref10_ge_p2
typedef struct {
fe X;
fe Y;
fe Z;
} ge_p2;
#define ge_p3 crypto_core_curve25519_ref10_ge_p3
typedef struct {
fe X;
fe Y;
fe Z;
fe T;
} ge_p3;
#define ge_p1p1 crypto_core_curve25519_ref10_ge_p1p1
typedef struct {
fe X;
fe Y;
fe Z;
fe T;
} ge_p1p1;
#define ge_precomp crypto_core_curve25519_ref10_ge_precomp
typedef struct {
fe yplusx;
fe yminusx;
fe xy2d;
} ge_precomp;
#define ge_cached crypto_core_curve25519_ref10_ge_cached
typedef struct {
fe YplusX;
fe YminusX;
fe Z;
fe T2d;
} ge_cached;
#define ge_frombytes_negate_vartime crypto_core_curve25519_ref10_ge_frombytes_negate_vartime
#define ge_tobytes crypto_core_curve25519_ref10_ge_tobytes
#define ge_p3_tobytes crypto_core_curve25519_ref10_ge_p3_tobytes
#define ge_p3_to_cached crypto_core_curve25519_ref10_ge_p3_to_cached
#define ge_p1p1_to_p2 crypto_core_curve25519_ref10_ge_p1p1_to_p2
#define ge_add crypto_core_curve25519_ref10_ge_add
#define ge_scalarmult_base crypto_core_curve25519_ref10_ge_scalarmult_base
#define ge_double_scalarmult_vartime crypto_core_curve25519_ref10_ge_double_scalarmult_vartime
#define ge_scalarmult_vartime crypto_core_curve25519_ref10_ge_scalarmult_vartime
#define ge_mul_l crypto_core_curve25519_ref10_ge_mul_l
extern void ge_tobytes(unsigned char *,const ge_p2 *);
extern void ge_p3_tobytes(unsigned char *,const ge_p3 *);
extern int ge_frombytes_negate_vartime(ge_p3 *,const unsigned char *);
extern void ge_p3_to_cached(ge_cached *,const ge_p3 *);
extern void ge_p1p1_to_p2(ge_p2 *,const ge_p1p1 *);
extern void ge_add(ge_p1p1 *,const ge_p3 *,const ge_cached *);
extern void ge_scalarmult_base(ge_p3 *,const unsigned char *);
extern void ge_double_scalarmult_vartime(ge_p2 *,const unsigned char *,const ge_p3 *,const unsigned char *);
extern void ge_scalarmult_vartime(ge_p3 *,const unsigned char *,const ge_p3 *);
extern void ge_mul_l(ge_p3 *r, const ge_p3 *A);
/*
The set of scalars is \Z/l
where l = 2^252 + 27742317777372353535851937790883648493.
*/
#define sc_reduce crypto_core_curve25519_ref10_sc_reduce
#define sc_muladd crypto_core_curve25519_ref10_sc_muladd
extern void sc_reduce(unsigned char *);
extern void sc_muladd(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
#endif

Some files were not shown because too many files have changed in this diff Show More