rbnacl-libsodium 0.4.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rbnacl/libsodium/version.rb +1 -1
- data/vendor/libsodium/AUTHORS +14 -9
- data/vendor/libsodium/ChangeLog +26 -0
- data/vendor/libsodium/LICENSE +1 -1
- data/vendor/libsodium/Makefile.am +1 -0
- data/vendor/libsodium/README.markdown +185 -46
- data/vendor/libsodium/THANKS +10 -0
- data/vendor/libsodium/builds/msvc/properties/Common.props +21 -0
- data/vendor/libsodium/builds/msvc/properties/DLL.props +16 -0
- data/vendor/libsodium/builds/msvc/properties/Debug.props +29 -0
- data/vendor/libsodium/builds/msvc/properties/DebugDEXE.props +21 -0
- data/vendor/libsodium/builds/msvc/properties/DebugDLL.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/DebugLEXE.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/DebugLIB.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/DebugLTCG.props +19 -0
- data/vendor/libsodium/builds/msvc/properties/DebugSEXE.props +21 -0
- data/vendor/libsodium/builds/msvc/properties/EXE.props +17 -0
- data/vendor/libsodium/builds/msvc/properties/LIB.props +16 -0
- data/vendor/libsodium/builds/msvc/properties/LTCG.props +13 -0
- data/vendor/libsodium/builds/msvc/properties/Link.props +21 -0
- data/vendor/libsodium/builds/msvc/properties/Messages.props +15 -0
- data/vendor/libsodium/builds/msvc/properties/Output.props +30 -0
- data/vendor/libsodium/builds/msvc/properties/Release.props +41 -0
- data/vendor/libsodium/builds/msvc/properties/ReleaseDEXE.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/ReleaseDLL.props +19 -0
- data/vendor/libsodium/builds/msvc/properties/ReleaseLEXE.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/ReleaseLIB.props +19 -0
- data/vendor/libsodium/builds/msvc/properties/ReleaseLTCG.props +19 -0
- data/vendor/libsodium/builds/msvc/properties/ReleaseSEXE.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/Win32.props +20 -0
- data/vendor/libsodium/builds/msvc/properties/x64.props +23 -0
- data/vendor/libsodium/builds/msvc/resource.h +0 -0
- data/vendor/libsodium/builds/msvc/resource.rc +0 -0
- data/vendor/libsodium/builds/msvc/version.h +29 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium.import.props +52 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium.import.xml +17 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium.sln +79 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.props +43 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +345 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +1037 -0
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.xml +15 -0
- data/vendor/libsodium/builds/msvc/vs2010/test/test.props +37 -0
- data/vendor/libsodium/builds/msvc/vs2010/test/test.runner.bat +78 -0
- data/vendor/libsodium/builds/msvc/vs2010/test/test.vcxproj +220 -0
- data/vendor/libsodium/builds/msvc/vs2010/test/test.vcxproj.filters +168 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium.import.props +52 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium.import.xml +17 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium.sln +79 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.props +43 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +345 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +1037 -0
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.xml +15 -0
- data/vendor/libsodium/builds/msvc/vs2012/test/test.props +37 -0
- data/vendor/libsodium/builds/msvc/vs2012/test/test.runner.bat +78 -0
- data/vendor/libsodium/builds/msvc/vs2012/test/test.vcxproj +220 -0
- data/vendor/libsodium/builds/msvc/vs2012/test/test.vcxproj.filters +168 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium.import.props +52 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium.import.xml +17 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium.sln +81 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.props +43 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +345 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +1037 -0
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.xml +15 -0
- data/vendor/libsodium/builds/msvc/vs2013/test/test.props +37 -0
- data/vendor/libsodium/builds/msvc/vs2013/test/test.runner.bat +78 -0
- data/vendor/libsodium/builds/msvc/vs2013/test/test.vcxproj +220 -0
- data/vendor/libsodium/builds/msvc/vs2013/test/test.vcxproj.filters +168 -0
- data/vendor/libsodium/configure.ac +87 -68
- data/vendor/libsodium/dist-build/Makefile.am +10 -0
- data/vendor/libsodium/dist-build/android-arm.sh +3 -0
- data/vendor/libsodium/dist-build/android-armv7.sh +3 -0
- data/vendor/libsodium/dist-build/android-build.sh +37 -0
- data/vendor/libsodium/dist-build/android-mips.sh +3 -0
- data/vendor/libsodium/dist-build/android-x86.sh +3 -0
- data/vendor/libsodium/dist-build/emscripten.sh +13 -0
- data/vendor/libsodium/dist-build/{iphone.sh → ios.sh} +2 -2
- data/vendor/libsodium/dist-build/msys2-win32.sh +10 -0
- data/vendor/libsodium/dist-build/msys2-win64.sh +10 -0
- data/vendor/libsodium/libsodium.vcxproj +25 -13
- data/vendor/libsodium/libsodium.vcxproj.filters +60 -24
- data/vendor/libsodium/msvc-scripts/process.bat +3 -7
- data/vendor/libsodium/packaging/nuget/package.bat +13 -0
- data/vendor/libsodium/packaging/nuget/package.config +4 -0
- data/vendor/libsodium/packaging/nuget/package.gsl +255 -0
- data/vendor/libsodium/packaging/nuget/package.nuspec +93 -0
- data/vendor/libsodium/packaging/nuget/package.targets +128 -0
- data/vendor/libsodium/packaging/nuget/package.xml +22 -0
- data/vendor/libsodium/src/libsodium/Makefile.am +32 -20
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/{ref → cp}/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c +110 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/{ref → cp}/verify_hmacsha256.c +0 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512_api.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/api.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c +110 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c +10 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/{ref → cp}/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c +54 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/{ref → cp}/verify_hmacsha512256.c +2 -1
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +94 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c +15 -5
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h +0 -2
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +14 -6
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +95 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c +50 -3
- data/vendor/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +4 -10
- data/vendor/libsodium/src/libsodium/crypto_hash/crypto_hash.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/{ref → cp}/api.h +3 -1
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256.c +294 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/{ref → cp}/api.h +3 -1
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512.c +321 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c +51 -127
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +12 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +221 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +209 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c +1 -140
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/crypto_scrypt-common.c +250 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/crypto_scrypt.h +100 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/nosse/pwhash_scryptxsalsa208sha256_nosse.c +302 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/pbkdf2-sha256.c +94 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/pbkdf2-sha256.h +45 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/pwhash_scryptxsalsa208sha256.c +172 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/scrypt_platform.c +96 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/sse/pwhash_scryptxsalsa208sha256_sse.c +391 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptxsalsa208sha256/sysendian.h +146 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h +2 -2
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c +39 -9
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h +2 -2
- data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c +6 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +94 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c +6 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +5 -3
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +28 -18
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +14 -9
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +21 -21
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h +6 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +42 -42
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table-be.h +4 -4
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table-le.h +4 -4
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c +15 -14
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h +1 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S +153 -160
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h +2 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +9 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +9 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c +0 -5
- data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/api.h +2 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/verify_64.c +72 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/64/verify_64_api.c +6 -0
- data/vendor/libsodium/src/libsodium/include/Makefile.am +6 -7
- data/vendor/libsodium/src/libsodium/include/sodium.h +4 -3
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +31 -9
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +58 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +26 -9
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box.h +13 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +38 -24
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h +6 -11
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h +6 -11
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h +6 -11
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h +6 -11
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash.h +7 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +36 -16
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash.h +13 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +25 -7
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +25 -7
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +5 -5
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptxsalsa208sha256.h +48 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +31 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +17 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +21 -11
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +8 -7
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h +16 -17
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +18 -14
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h +18 -18
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h +19 -18
- data/vendor/libsodium/src/libsodium/include/sodium/{crypto_stream_salsa20.h.in → crypto_stream_salsa20.h} +8 -19
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h +8 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h +8 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +10 -11
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_16.h +1 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_32.h +1 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_64.h +22 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/runtime.h +27 -0
- data/vendor/libsodium/src/libsodium/include/sodium/utils.h +15 -3
- data/vendor/libsodium/src/libsodium/randombytes/randombytes.c +3 -1
- data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +18 -7
- data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +57 -9
- data/vendor/libsodium/src/libsodium/sodium/compat.c +62 -0
- data/vendor/libsodium/src/libsodium/sodium/core.c +2 -0
- data/vendor/libsodium/src/libsodium/sodium/runtime.c +134 -0
- data/vendor/libsodium/src/libsodium/sodium/utils.c +100 -8
- data/vendor/libsodium/test/default/Makefile.am +63 -3
- data/vendor/libsodium/test/default/auth6.c +21 -0
- data/vendor/libsodium/test/default/auth6.exp +8 -0
- data/vendor/libsodium/test/default/auth7.c +37 -0
- data/vendor/libsodium/test/default/auth7.exp +0 -0
- data/vendor/libsodium/test/default/box_easy.c +59 -0
- data/vendor/libsodium/test/default/box_easy.exp +19 -0
- data/vendor/libsodium/test/default/box_easy2.c +31 -0
- data/vendor/libsodium/test/default/box_easy2.exp +1 -0
- data/vendor/libsodium/test/default/cmptest.h +7 -1
- data/vendor/libsodium/test/default/generichash3.c +36 -0
- data/vendor/libsodium/test/default/generichash3.exp +64 -0
- data/vendor/libsodium/test/default/pwhash.c +59 -0
- data/vendor/libsodium/test/default/pwhash.exp +2 -0
- data/vendor/libsodium/test/default/scalarmult7.c +0 -2
- data/vendor/libsodium/test/default/scalarmult8.c +0 -2
- data/vendor/libsodium/test/default/secretbox_easy.c +51 -0
- data/vendor/libsodium/test/default/secretbox_easy.exp +19 -0
- data/vendor/libsodium/test/default/secretbox_easy2.c +27 -0
- data/vendor/libsodium/test/default/secretbox_easy2.exp +1 -0
- data/vendor/libsodium/test/default/sign.c +1106 -0
- data/vendor/libsodium/test/default/sign.exp +3 -0
- data/vendor/libsodium/test/default/sodium_utils.c +8 -0
- data/vendor/libsodium/test/default/sodium_utils.exp +2 -1
- data/vendor/libsodium/test/default/sodium_version.c +1 -1
- data/vendor/libsodium/test/default/verify1.c +34 -0
- data/vendor/libsodium/test/default/verify1.exp +6 -0
- metadata +138 -33
- data/vendor/libsodium/dist-build/android.sh +0 -48
- data/vendor/libsodium/dist-build/msys.sh +0 -9
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c +0 -83
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c +0 -86
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c +0 -69
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c +0 -71
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/checksum +0 -1
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c +0 -16
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h +0 -9
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c +0 -212
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/checksum +0 -1
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c +0 -16
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h +0 -9
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c +0 -239
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/try.c +0 -78
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h +0 -8
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c +0 -1661
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c +0 -10
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h +0 -772
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h +0 -32
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h +0 -32
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h +0 -34
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in +0 -44
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e8ed461ce769d0dba8b99e811c9400d20911e5ff
|
|
4
|
+
data.tar.gz: a9f739368935abb90deb0c22e672af7e1c9ff374
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0db842969dbfcda987cd1f842dbc61a62605b1b5bfab947f76b5b2c3964daa29389eed259a843114c9f9b821ee284587383f468d400d4788b6f61351e51597d9
|
|
7
|
+
data.tar.gz: 2c3c1d7df0e5f0cb72b7efe8d6c315237231ac0303e01225fc0fb8d11d0363fc3876c06bf88095f81e1ae7ccc920c979ebd473c2114a2dacba526f2458fc9a57
|
data/vendor/libsodium/AUTHORS
CHANGED
|
@@ -30,19 +30,19 @@ Daniel J. Bernstein
|
|
|
30
30
|
|
|
31
31
|
crypto_hash/sha256
|
|
32
32
|
------------------
|
|
33
|
-
|
|
33
|
+
Colin Percival
|
|
34
34
|
|
|
35
35
|
crypto_hash/sha512
|
|
36
36
|
------------------
|
|
37
|
-
|
|
37
|
+
Colin Percival
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
crypto_auth/hmacsha256
|
|
40
|
+
------------------
|
|
41
|
+
Colin Percival
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
crypto_auth/hmacsha512
|
|
44
|
+
------------------
|
|
45
|
+
Colin Percival
|
|
46
46
|
|
|
47
47
|
crypto_scalarmult/curve25519/ref
|
|
48
48
|
--------------------------------
|
|
@@ -98,4 +98,9 @@ Christian Winnerlein
|
|
|
98
98
|
|
|
99
99
|
crypto_onetimeauth/poly1305/donna
|
|
100
100
|
---------------------------------
|
|
101
|
-
Andrew "floodyberry"
|
|
101
|
+
Andrew "floodyberry" Moon.
|
|
102
|
+
|
|
103
|
+
crypto_pwhash/scryptxsalsa208sha256
|
|
104
|
+
--------------------------------
|
|
105
|
+
Colin Percival
|
|
106
|
+
Alexander Peslyak
|
data/vendor/libsodium/ChangeLog
CHANGED
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
|
|
2
|
+
* Version 0.5.0
|
|
3
|
+
- sodium_mlock()/sodium_munlock() have been introduced to lock pages
|
|
4
|
+
in memory before storing sensitive data, and to zero them before
|
|
5
|
+
unlocking them.
|
|
6
|
+
- High-level wrappers for crypto_box and crypto_secretbox
|
|
7
|
+
(crypto_box_easy and crypto_secretbox_easy) can be used to avoid
|
|
8
|
+
dealing with the specific memory layout regular functions depend on.
|
|
9
|
+
- crypto_pwhash_scryptxsalsa208sha256* functions have been added
|
|
10
|
+
to derive a key from a password, and for password storage.
|
|
11
|
+
- Salsa20 and ed25519 implementations now support overlapping
|
|
12
|
+
inputs/keys/outputs (changes imported from supercop-20140505).
|
|
13
|
+
- New build scripts for Visual Studio, Emscripten, different Android
|
|
14
|
+
architectures and msys2 are available.
|
|
15
|
+
- The poly1305-53 implementation has been replaced with Floodyberry's
|
|
16
|
+
poly1305-donna32 and poly1305-donna64 implementations.
|
|
17
|
+
- sodium_hex2bin() has been added to complement sodium_bin2hex().
|
|
18
|
+
- On OpenBSD and Bitrig, arc4random() is used instead of reading
|
|
19
|
+
/dev/urandom.
|
|
20
|
+
- crypto_auth_hmac_sha512() has been implemented.
|
|
21
|
+
- sha256 and sha512 now have a streaming interface.
|
|
22
|
+
- hmacsha256, hmacsha512 and hmacsha512256 now support keys of
|
|
23
|
+
arbitrary length, and have a streaming interface.
|
|
24
|
+
- crypto_verify_64() has been implemented.
|
|
25
|
+
- first-class Visual Studio build system, thanks to @evoskuil
|
|
26
|
+
- CPU features are now detected at runtime.
|
|
27
|
+
|
|
2
28
|
* Version 0.4.5
|
|
3
29
|
- Restore compatibility with OSX <= 10.6
|
|
4
30
|
|
data/vendor/libsodium/LICENSE
CHANGED
|
@@ -11,30 +11,15 @@ NaCl's goal is to provide all of the core operations needed to build
|
|
|
11
11
|
higher-level cryptographic tools.
|
|
12
12
|
|
|
13
13
|
Sodium is a portable, cross-compilable, installable, packageable
|
|
14
|
-
fork of NaCl, with a compatible API.
|
|
15
|
-
|
|
16
|
-
## Is it full of NSA backdoors?
|
|
17
|
-
|
|
18
|
-

|
|
19
|
-
|
|
20
|
-
The design of Sodium's primitives is completely free from NIST (and by
|
|
21
|
-
association, NSA) influence, with the following minor exceptions:
|
|
22
|
-
- The Poly1305 MAC, used for authenticating integrity of ciphertexts,
|
|
23
|
-
uses AES as a replaceable component,
|
|
24
|
-
- The Ed25519 digital signature algorithm uses SHA-512 for both key
|
|
25
|
-
derivation and computing message digests,
|
|
26
|
-
- APIs are provided to SHA-512 and SHA-512/256, but are replaceable by
|
|
27
|
-
the Blake2 hash function, which the Sodium library also provides.
|
|
14
|
+
fork of NaCl (based on the latest released upstream version [nacl-20110221](http://hyperelliptic.org/nacl/nacl-20110221.tar.bz2)), with a compatible API.
|
|
28
15
|
|
|
29
16
|
The design choices, particularly in regard to the Curve25519
|
|
30
17
|
Diffie-Hellman function, emphasize security (whereas NIST curves
|
|
31
18
|
emphasize "performance" at the cost of security), and "magic
|
|
32
|
-
constants" in NaCl/Sodium
|
|
33
|
-
security.
|
|
19
|
+
constants" in NaCl/Sodium have clear rationales.
|
|
34
20
|
|
|
35
21
|
The same cannot be said of NIST curves, where the specific origins of
|
|
36
|
-
certain constants are not described by the standards
|
|
37
|
-
subject to malicious influence by the NSA.
|
|
22
|
+
certain constants are not described by the standards.
|
|
38
23
|
|
|
39
24
|
And despite the emphasis on higher security, primitives are faster
|
|
40
25
|
across-the-board than most implementations of the NIST standards.
|
|
@@ -75,6 +60,39 @@ Integrity of source tarballs can currently be checked using PGP or
|
|
|
75
60
|
verified DNS queries (`dig +dnssec +short txt <file>.download.libsodium.org`
|
|
76
61
|
returns the SHA256 of any file available for download).
|
|
77
62
|
|
|
63
|
+
## Pre-built binaries
|
|
64
|
+
|
|
65
|
+
Pre-built libraries for Visual studio 2010, 2012 and 2013, both for
|
|
66
|
+
x86 and x64, are available for download at
|
|
67
|
+
https://download.libsodium.org/libsodium/releases/ , courtesy of
|
|
68
|
+
Samuel Neves (@sneves).
|
|
69
|
+
|
|
70
|
+
## Bindings for other languages
|
|
71
|
+
|
|
72
|
+
* C++: [sodiumpp](https://github.com/rubendv/sodiumpp)
|
|
73
|
+
* Erlang: [Erlang-NaCl](https://github.com/tonyg/erlang-nacl)
|
|
74
|
+
* Erlang: [Salt](https://github.com/freza/salt)
|
|
75
|
+
* Haskell: [Saltine](https://github.com/tel/saltine)
|
|
76
|
+
* Idris: [Idris-Sodium](https://github.com/edwinb/sodium-idris)
|
|
77
|
+
* Java: [Kalium](https://github.com/abstractj/kalium)
|
|
78
|
+
* Java JNI: [Kalium-JNI](https://github.com/joshjdevl/kalium-jni)
|
|
79
|
+
* Julia: [Sodium.jl](https://github.com/amitmurthy/Sodium.jl)
|
|
80
|
+
* LUA: [lua-sodium](https://github.com/morfoh/lua-sodium)
|
|
81
|
+
* .NET: [libsodium-net](https://github.com/adamcaudill/libsodium-net)
|
|
82
|
+
* NodeJS: [node-sodium](https://github.com/paixaop/node-sodium)
|
|
83
|
+
* Objective C: [NAChloride](https://github.com/gabriel/NAChloride)
|
|
84
|
+
* OCaml: [ocaml-sodium](https://github.com/dsheets/ocaml-sodium)
|
|
85
|
+
* Perl: [Crypto-Sodium](https://github.com/mgregoro/Crypt-Sodium)
|
|
86
|
+
* Pharo/Squeak: [Crypto-NaCl](http://www.eighty-twenty.org/index.cgi/tech/smalltalk/nacl-for-squeak-and-pharo-20130601.html)
|
|
87
|
+
* PHP: [PHP-Sodium](https://github.com/alethia7/php-sodium)
|
|
88
|
+
* PHP: [libsodium-php](https://github.com/jedisct1/libsodium-php)
|
|
89
|
+
* Python: [PyNaCl](https://github.com/dstufft/pynacl)
|
|
90
|
+
* Python: [PySodium](https://github.com/stef/pysodium)
|
|
91
|
+
* Racket: part of [CRESTaceans](https://github.com/mgorlick/CRESTaceans/tree/master/bindings/libsodium)
|
|
92
|
+
* Ruby: [RbNaCl](https://github.com/cryptosphere/rbnacl)
|
|
93
|
+
* Ruby: [Sodium](https://github.com/stouset/sodium)
|
|
94
|
+
* Rust: [Sodium Oxide](https://github.com/dnaq/sodiumoxide)
|
|
95
|
+
|
|
78
96
|
## Comparison with vanilla NaCl
|
|
79
97
|
|
|
80
98
|
Sodium does not ship C++ bindings. These might be part of a distinct
|
|
@@ -105,20 +123,19 @@ A convenience header includes everything you need to use the library:
|
|
|
105
123
|
|
|
106
124
|
#include <sodium.h>
|
|
107
125
|
|
|
108
|
-
This is not required, however, before any other libsodium
|
|
109
|
-
call:
|
|
126
|
+
This is not required, however, before any other libsodium functions, it
|
|
127
|
+
is recommended to call:
|
|
110
128
|
|
|
111
129
|
sodium_init();
|
|
112
130
|
|
|
113
131
|
This will pick optimized implementations of some primitives, if they
|
|
114
132
|
appear to work as expected after running some tests, and these will be
|
|
115
|
-
used for subsequent operations.
|
|
116
|
-
|
|
117
|
-
This function
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
accordingly (both around `sodium_init()` and around other functions).
|
|
133
|
+
used for subsequent operations.
|
|
134
|
+
It will also initialize the pseudorandom number generator.
|
|
135
|
+
This function should only be called once, and before performing any other
|
|
136
|
+
operations.
|
|
137
|
+
Doing so is required to ensure thread safety of all the functions provided by
|
|
138
|
+
the library.
|
|
122
139
|
|
|
123
140
|
Sodium also provides helper functions to generate random numbers,
|
|
124
141
|
leveraging `/dev/urandom` or `/dev/random` on *nix and the cryptographic
|
|
@@ -156,7 +173,7 @@ In addition, Sodium provides a function to securely wipe a memory
|
|
|
156
173
|
region:
|
|
157
174
|
|
|
158
175
|
void sodium_memzero(void * const pnt, const size_t size);
|
|
159
|
-
|
|
176
|
+
|
|
160
177
|
Warning: if a region has been allocated on the heap, you still have
|
|
161
178
|
to make sure that it can't get swapped to disk, possibly using
|
|
162
179
|
`mlock(2)`.
|
|
@@ -166,12 +183,90 @@ In order to compare memory zones in constant time, Sodium provides:
|
|
|
166
183
|
int sodium_memcmp(const void * const b1_, const void * const b2_,
|
|
167
184
|
size_t size);
|
|
168
185
|
|
|
186
|
+
`sodium_memcmp()` returns `0` if `size` bytes at `b1_` and `b2_` are
|
|
187
|
+
equal, another value if they are not. Unlike `memcmp()`,
|
|
188
|
+
`sodium_memcmp()` cannot be used to put `b1_` and `b2_` into a defined
|
|
189
|
+
order.
|
|
190
|
+
|
|
169
191
|
And a convenience function for converting a binary buffer to a
|
|
170
192
|
hexadecimal string:
|
|
171
193
|
|
|
172
194
|
char * sodium_bin2hex(char * const hex, const size_t hexlen,
|
|
173
195
|
const unsigned char *bin, const size_t binlen);
|
|
174
196
|
|
|
197
|
+
Sensitive data should not be swapped out to disk, especially if swap
|
|
198
|
+
partitions are not encrypted. Libsodium provides the `sodium_mlock()`
|
|
199
|
+
function to lock pages in memory before writing sensitive content to
|
|
200
|
+
them:
|
|
201
|
+
|
|
202
|
+
int sodium_mlock(void *addr, size_t len);
|
|
203
|
+
|
|
204
|
+
Once done with these pages, they can be unlocked with
|
|
205
|
+
`sodium_munlock()`. This function will zero the data before unlocking
|
|
206
|
+
the pages.
|
|
207
|
+
|
|
208
|
+
int sodium_munlock(void * addr, size_t len);
|
|
209
|
+
|
|
210
|
+
## Easy interfaces to `crypto_box` and `crypto_secretbox`
|
|
211
|
+
|
|
212
|
+
`crypto_box` and `crypto_secretbox` require prepending
|
|
213
|
+
`crypto_box_ZEROBYTES` or `crypto_secretbox_ZEROBYTE` extra bytes to the
|
|
214
|
+
message, and making sure that these are all zeros.
|
|
215
|
+
A similar padding is required to decrypt the ciphertext. And this
|
|
216
|
+
padding is actually larger than the MAC size,
|
|
217
|
+
`crypto_box_MACBYTES`/`crypto_secretbox_MACBYTES`.
|
|
218
|
+
|
|
219
|
+
This API, as defined by NaCl, can be confusing. And while using a
|
|
220
|
+
larger buffer and two pointers is not an issue for native C
|
|
221
|
+
applications, this might not be an option when another runtime is
|
|
222
|
+
controlling the allocations.
|
|
223
|
+
|
|
224
|
+
Libsodium provides an easy, higher-level interface to these operations.
|
|
225
|
+
|
|
226
|
+
int crypto_box_easy(unsigned char *c, const unsigned char *m,
|
|
227
|
+
unsigned long long mlen, const unsigned char *n,
|
|
228
|
+
const unsigned char *pk, const unsigned char *sk);
|
|
229
|
+
|
|
230
|
+
This function encrypts and authenticates a message `m` using the
|
|
231
|
+
sender's secret key `sk`, the receiver's public key `pk` and a nonce
|
|
232
|
+
`n`, which should be `crypto_box_NONCEBYTES` bytes long.
|
|
233
|
+
The ciphertext, including the MAC, will be copied to `c`, whose length
|
|
234
|
+
should be `len(m) + crypto_box_MACBYTES`, and that doesn't require to be
|
|
235
|
+
initialized.
|
|
236
|
+
|
|
237
|
+
int crypto_box_open_easy(unsigned char *m, const unsigned char *c,
|
|
238
|
+
unsigned long long clen, const unsigned char *n,
|
|
239
|
+
const unsigned char *pk, const unsigned char *sk);
|
|
240
|
+
|
|
241
|
+
This function verifies and decrypts a ciphertext `c` as returned by
|
|
242
|
+
`crypto_box_easy()`, whose length is `clen`, using the nonce `n`, the
|
|
243
|
+
receiver's secret key `sk`, and the sender's public key `pk`. The
|
|
244
|
+
message is stored to `m`, whose length should be at least `len(c) -
|
|
245
|
+
crypto_box_MACBYTES` and that doesn't require to be initialized.
|
|
246
|
+
|
|
247
|
+
Similarily, secret-key authenticated encryption provide "easy" wrappers:
|
|
248
|
+
|
|
249
|
+
int crypto_secretbox_easy(unsigned char *c, const unsigned char *m,
|
|
250
|
+
unsigned long long mlen, const unsigned char *n,
|
|
251
|
+
const unsigned char *k);
|
|
252
|
+
|
|
253
|
+
int crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c,
|
|
254
|
+
unsigned long long clen,
|
|
255
|
+
const unsigned char *n,
|
|
256
|
+
const unsigned char *k);
|
|
257
|
+
|
|
258
|
+
The length of the ciphertext, which will include the MAC, is
|
|
259
|
+
`len(m) + crypto_secretbox_MACBYTES`, and the length of the buffer for
|
|
260
|
+
the decrypted message doesn't have to be more than `len(c) -
|
|
261
|
+
crypto_secretbox_MACBYTES`.
|
|
262
|
+
|
|
263
|
+
The "easy" interface currently requires allocations and copying, which
|
|
264
|
+
makes it slower than using the traditional NaCl interface. This
|
|
265
|
+
shouldn't make any sensible difference in most use cases, and future
|
|
266
|
+
versions of the library may not require extra copy operations any
|
|
267
|
+
more. Unless speed is absolutely critical, you are welcome to use the
|
|
268
|
+
"easy" interface, especially if you are new to NaCl/Sodium.
|
|
269
|
+
|
|
175
270
|
## New operations
|
|
176
271
|
|
|
177
272
|
### crypto_shorthash
|
|
@@ -200,29 +295,74 @@ This hash function provides:
|
|
|
200
295
|
`crypto_generichash` is currently being implemented using
|
|
201
296
|
[Blake2](https://blake2.net/).
|
|
202
297
|
|
|
298
|
+
### crypto_pwhash (scrypt)
|
|
299
|
+
|
|
300
|
+
High-level functions for password hashing are not defined yet: they will
|
|
301
|
+
eventually be wrappers for the winning function of the ongoing
|
|
302
|
+
[Password Hashing Competition](https://password-hashing.net/).
|
|
303
|
+
|
|
304
|
+
Meanwhile, the [scrypt](http://www.tarsnap.com/scrypt.html) function is
|
|
305
|
+
available through explicitly-named functions, and will remain available
|
|
306
|
+
in the library even after the PHC.
|
|
307
|
+
|
|
308
|
+
int crypto_pwhash_scryptxsalsa208sha256(unsigned char *out,
|
|
309
|
+
unsigned long long outlen,
|
|
310
|
+
const char *passwd,
|
|
311
|
+
unsigned long long passwdlen,
|
|
312
|
+
const unsigned char *salt,
|
|
313
|
+
unsigned long long opslimit,
|
|
314
|
+
size_t memlimit);
|
|
315
|
+
|
|
316
|
+
This function derives `outlen` bytes from a password `passwd` and a
|
|
317
|
+
salt `salt` that has to be `crypto_pwhash_scryptxsalsa208sha256_SALTBYTES`
|
|
318
|
+
bytes long.
|
|
319
|
+
|
|
320
|
+
The function will use at most `memlimit` bytes of memory and `opslimit`
|
|
321
|
+
is the maximum number of iterations to perform. Making the function
|
|
322
|
+
memory-hard and CPU intensive by increasing these parameters might increase
|
|
323
|
+
security.
|
|
324
|
+
|
|
325
|
+
Although password storage was not the primary goal of the scrypt
|
|
326
|
+
function, it can still be used for this purpose:
|
|
327
|
+
|
|
328
|
+
int crypto_pwhash_scryptxsalsa208sha256_str
|
|
329
|
+
(char out[crypto_pwhash_scryptxsalsa208sha256_STRBYTES],
|
|
330
|
+
const char *passwd,
|
|
331
|
+
unsigned long long passwdlen,
|
|
332
|
+
unsigned long long opslimit,
|
|
333
|
+
size_t memlimit);
|
|
334
|
+
|
|
335
|
+
This function returns a `crypto_pwhash_scryptxsalsa208sha256_STRBYTES`
|
|
336
|
+
bytes C string (the length includes the final `\0`) suitable for storage.
|
|
337
|
+
The string is guaranteed to only include ASCII characters.
|
|
338
|
+
|
|
339
|
+
The function will use at most `memlimit` bytes of memory and `opslimit`
|
|
340
|
+
is the maximum number of iterations to perform. These parameters are
|
|
341
|
+
included in the output string, and do not need to be stored separately.
|
|
342
|
+
|
|
343
|
+
The function automatically generates a random salt, which is also
|
|
344
|
+
included in the output string.
|
|
345
|
+
|
|
346
|
+
int crypto_pwhash_scryptxsalsa208sha256_str_verify
|
|
347
|
+
(const char str[crypto_pwhash_scryptxsalsa208sha256_STRBYTES],
|
|
348
|
+
const char *passwd,
|
|
349
|
+
unsigned long long passwdlen);
|
|
350
|
+
|
|
351
|
+
This function verifies that hashing the plaintext password `passwd`
|
|
352
|
+
results in the stored hash value included in `str` when using the same
|
|
353
|
+
parameters.
|
|
354
|
+
|
|
355
|
+
`0` is returned if the passwords are matching, `-1` is they are not.
|
|
356
|
+
The plaintext password should be locked in memory using
|
|
357
|
+
`sodium_mlock()` and immediately zeroed out and unlocked after this
|
|
358
|
+
function returns, using `sodium_munlock()`.
|
|
359
|
+
|
|
203
360
|
## Constants available as functions
|
|
204
361
|
|
|
205
362
|
In addition to constants for key sizes, output sizes and block sizes,
|
|
206
363
|
Sodium provides these values through function calls, so that using
|
|
207
364
|
them from different languages is easier.
|
|
208
365
|
|
|
209
|
-
## Bindings for other languages
|
|
210
|
-
|
|
211
|
-
* Erlang: [Erlang-NaCl](https://github.com/tonyg/erlang-nacl)
|
|
212
|
-
* Haskell: [Saltine](https://github.com/tel/saltine)
|
|
213
|
-
* Java: [Kalium](https://github.com/abstractj/kalium)
|
|
214
|
-
* Java JNI: [Kalium-JNI](https://github.com/joshjdevl/kalium-jni)
|
|
215
|
-
* Julia: [Sodium.jl](https://github.com/amitmurthy/Sodium.jl)
|
|
216
|
-
* .NET: [libsodium-net](https://github.com/adamcaudill/libsodium-net)
|
|
217
|
-
* Ocaml: [ocaml-sodium](https://github.com/dsheets/ocaml-sodium)
|
|
218
|
-
* Pharo/Squeak: [Crypto-NaCl](http://www.eighty-twenty.org/index.cgi/tech/smalltalk/nacl-for-squeak-and-pharo-20130601.html)
|
|
219
|
-
* PHP: [PHP-Sodium](https://github.com/alethia7/php-sodium)
|
|
220
|
-
* Python: [PyNaCl](https://github.com/dstufft/pynacl)
|
|
221
|
-
* Python: [PySodium](https://github.com/stef/pysodium)
|
|
222
|
-
* Racket: part of [CRESTaceans](https://github.com/mgorlick/CRESTaceans/tree/master/bindings/libsodium)
|
|
223
|
-
* Ruby: [RbNaCl](https://github.com/cryptosphere/rbnacl)
|
|
224
|
-
* Ruby: [Sodium](https://github.com/stouset/sodium)
|
|
225
|
-
|
|
226
366
|
## CurveCP
|
|
227
367
|
|
|
228
368
|
CurveCP tools are part of a different project,
|
|
@@ -243,4 +383,3 @@ In order to join, just send a random mail to `sodium-subscribe` {at}
|
|
|
243
383
|
|
|
244
384
|
See the `COPYING` file for details, `AUTHORS` for designers and
|
|
245
385
|
implementors, and `THANKS` for contributors.
|
|
246
|
-
|
data/vendor/libsodium/THANKS
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
@alethia7
|
|
2
|
+
@dnaq
|
|
2
3
|
@joshjdevl
|
|
3
4
|
@neheb
|
|
4
5
|
Amit Murthy (@amitmurthy)
|
|
5
6
|
Bruno Oliveira (@abstractj)
|
|
7
|
+
Christian Wiese (@morfoh)
|
|
6
8
|
Chris Rebert (@cvrebert)
|
|
7
9
|
Donald Stufft (@dstufft)
|
|
8
10
|
Douglas Campos (@qmx)
|
|
11
|
+
Eric Voskuil (@evoskuil)
|
|
12
|
+
Gabriel Handford (@gabriel)
|
|
13
|
+
Jachym Holecek (@freza)
|
|
14
|
+
Jan de Muijnck-Hughes (@jfdm)
|
|
9
15
|
Jeroen Habraken (@VeXocide)
|
|
10
16
|
Joseph Abrahamson (@tel)
|
|
11
17
|
Kenneth Ballenegger (@kballenegger)
|
|
12
18
|
Michael Gorlick (@mgorlick)
|
|
19
|
+
Michael Gregorowicz (@mgregoro)
|
|
20
|
+
Pedro Paixao (@paixaop)
|
|
21
|
+
Ruben De Visscher (@rubendv)
|
|
13
22
|
Samuel Neves (@sneves)
|
|
14
23
|
Stefan Marsiske
|
|
15
24
|
Stephan Touset (@stouset)
|
|
25
|
+
Steve Gibson (@sggrc)
|
|
16
26
|
Tony Arcieri (@bascule)
|
|
17
27
|
Tony Garnock-Jones (@tonyg)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
|
|
4
|
+
<PropertyGroup>
|
|
5
|
+
<_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName>
|
|
6
|
+
<CharacterSet>Unicode</CharacterSet>
|
|
7
|
+
</PropertyGroup>
|
|
8
|
+
|
|
9
|
+
<ImportGroup Label="PropertySheets">
|
|
10
|
+
<Import Project="$(Platform).props" />
|
|
11
|
+
</ImportGroup>
|
|
12
|
+
|
|
13
|
+
<ItemDefinitionGroup>
|
|
14
|
+
<ClCompile>
|
|
15
|
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
16
|
+
<PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
17
|
+
<WarningLevel>Level3</WarningLevel>
|
|
18
|
+
</ClCompile>
|
|
19
|
+
</ItemDefinitionGroup>
|
|
20
|
+
|
|
21
|
+
</Project>
|