rbnacl-libsodium 0.4.5a
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +35 -0
- data/.gitmodules +3 -0
- data/CHANGES.md +3 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +23 -0
- data/Rakefile +1 -0
- data/ext/rbnacl/extconf.rb +30 -0
- data/lib/rbnacl/libsodium.rb +11 -0
- data/lib/rbnacl/libsodium/version.rb +5 -0
- data/rbnacl-libsodium.gemspec +25 -0
- data/vendor/libsodium/AUTHORS +101 -0
- data/vendor/libsodium/ChangeLog +68 -0
- data/vendor/libsodium/LICENSE +16 -0
- data/vendor/libsodium/Makefile.am +20 -0
- data/vendor/libsodium/README +1 -0
- data/vendor/libsodium/README.markdown +246 -0
- data/vendor/libsodium/THANKS +17 -0
- data/vendor/libsodium/autogen.sh +16 -0
- data/vendor/libsodium/configure.ac +405 -0
- data/vendor/libsodium/dist-build/android.sh +48 -0
- data/vendor/libsodium/dist-build/iphone.sh +16 -0
- data/vendor/libsodium/dist-build/msys.sh +9 -0
- data/vendor/libsodium/libsodium.pc.in +11 -0
- data/vendor/libsodium/libsodium.sln +38 -0
- data/vendor/libsodium/libsodium.vcxproj +508 -0
- data/vendor/libsodium/libsodium.vcxproj.filters +569 -0
- data/vendor/libsodium/logo.png +0 -0
- data/vendor/libsodium/m4/ax_check_compile_flag.m4 +73 -0
- data/vendor/libsodium/m4/ax_check_gnu_make.m4 +78 -0
- data/vendor/libsodium/m4/ax_check_link_flag.m4 +72 -0
- data/vendor/libsodium/m4/ld-output-def.m4 +29 -0
- data/vendor/libsodium/m4/pkg.m4 +214 -0
- data/vendor/libsodium/msvc-scripts/Makefile.am +4 -0
- data/vendor/libsodium/msvc-scripts/process.bat +8 -0
- data/vendor/libsodium/msvc-scripts/rep.vbs +12 -0
- data/vendor/libsodium/msvc-scripts/sodium.props +25 -0
- data/vendor/libsodium/src/Makefile.am +3 -0
- data/vendor/libsodium/src/libsodium/Makefile.am +232 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/crypto_auth.c +34 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/api.h +10 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c +83 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/verify_hmacsha256.c +9 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/api.h +10 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c +86 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c +9 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/try.c +119 -0
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box.c +95 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c +41 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c +22 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h +19 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c +19 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c +27 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c +12 -0
- data/vendor/libsodium/src/libsodium/crypto_box/try.c +195 -0
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c +26 -0
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c +108 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c +26 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c +134 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c +26 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c +134 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c +26 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c +134 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c +31 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h +4 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h +132 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +169 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +364 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2s-ref.c +355 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c +61 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +84 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/crypto_hash.c +9 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/ref/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c +69 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/ref/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c +71 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/try.c +76 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c +212 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c +239 -0
- data/vendor/libsodium/src/libsodium/crypto_hashblocks/try.c +78 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +34 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c +1661 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c +10 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c +151 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h +772 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c +10 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +36 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c +152 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +34 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c +13 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c +426 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c +20 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c +268 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519_api.c +14 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/try.c +125 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c +48 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/try.c +129 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h +12 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c +35 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c +26 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c +27 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c +91 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/crypto_sign.c +61 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/description +1 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h +14 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h +1344 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h +40 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h +1 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h +1 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h +56 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c +19 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c +19 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c +57 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c +63 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c +29 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c +73 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c +14 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c +19 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c +253 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c +45 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c +13 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c +149 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c +160 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c +57 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c +119 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h +95 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h +97 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c +96 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c +50 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h +88 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h +88 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c +12 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c +13 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c +8 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h +73 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c +9 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c +12 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c +17 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c +12 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c +14 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c +8 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c +105 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h +97 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c +14 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +31 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +40 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h +160 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h +160 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h +15 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c +368 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c +275 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +38 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h +1 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c +26 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h +13 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h +54 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c +348 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h +34 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c +230 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h +51 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c +146 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c +102 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c +21 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/try.c +87 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +159 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h +14 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c +59 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h +788 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c +64 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h +28 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c +14 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h +47 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c +131 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c +28 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h +10 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +181 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c +21 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table-be.h +274 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table-le.h +274 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table.h +56 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c +238 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256.h +171 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h +14 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h +27 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c +21 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/crypto_stream.c +36 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h +1 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S +950 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +55 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +58 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c +51 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c +54 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h +10 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c +51 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c +54 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/try.c +122 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c +24 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c +25 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c +16 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/16/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/api.h +2 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c +24 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c +6 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/32/checksum +1 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/api.h +2 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c +40 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c +6 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/try.c +76 -0
- data/vendor/libsodium/src/libsodium/include/Makefile.am +63 -0
- data/vendor/libsodium/src/libsodium/include/sodium.h +48 -0
- data/vendor/libsodium/src/libsodium/include/sodium/core.h +18 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth.h +36 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +36 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +36 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box.h +83 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +72 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h +40 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h +40 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h +40 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h +40 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash.h +70 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +87 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash.h +23 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +29 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +29 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h +32 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h +32 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_int32.h +8 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_int64.h +8 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +37 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +65 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h +34 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h +34 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +36 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in +44 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +47 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +44 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash.h +33 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +29 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign.h +61 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h +52 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +44 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream.h +46 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h +60 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h +61 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h.in +54 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h +43 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h +43 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +44 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint16.h +8 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint32.h +8 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint64.h +8 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint8.h +8 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_16.h +25 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_32.h +25 -0
- data/vendor/libsodium/src/libsodium/include/sodium/export.h +32 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes.h +53 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h +45 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h +45 -0
- data/vendor/libsodium/src/libsodium/include/sodium/utils.h +36 -0
- data/vendor/libsodium/src/libsodium/include/sodium/version.h.in +29 -0
- data/vendor/libsodium/src/libsodium/randombytes/randombytes.c +63 -0
- data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +317 -0
- data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +212 -0
- data/vendor/libsodium/src/libsodium/sodium/compat.c +248 -0
- data/vendor/libsodium/src/libsodium/sodium/core.c +21 -0
- data/vendor/libsodium/src/libsodium/sodium/utils.c +94 -0
- data/vendor/libsodium/src/libsodium/sodium/version.c +20 -0
- data/vendor/libsodium/test/Makefile.am +5 -0
- data/vendor/libsodium/test/default/Makefile.am +277 -0
- data/vendor/libsodium/test/default/auth.c +21 -0
- data/vendor/libsodium/test/default/auth.exp +4 -0
- data/vendor/libsodium/test/default/auth2.c +36 -0
- data/vendor/libsodium/test/default/auth2.exp +4 -0
- data/vendor/libsodium/test/default/auth3.c +36 -0
- data/vendor/libsodium/test/default/auth3.exp +1 -0
- data/vendor/libsodium/test/default/auth5.c +37 -0
- data/vendor/libsodium/test/default/auth5.exp +0 -0
- data/vendor/libsodium/test/default/box.c +65 -0
- data/vendor/libsodium/test/default/box.exp +19 -0
- data/vendor/libsodium/test/default/box2.c +66 -0
- data/vendor/libsodium/test/default/box2.exp +17 -0
- data/vendor/libsodium/test/default/box7.c +37 -0
- data/vendor/libsodium/test/default/box7.exp +0 -0
- data/vendor/libsodium/test/default/box8.c +44 -0
- data/vendor/libsodium/test/default/box8.exp +0 -0
- data/vendor/libsodium/test/default/cmptest.h +51 -0
- data/vendor/libsodium/test/default/core1.c +32 -0
- data/vendor/libsodium/test/default/core1.exp +4 -0
- data/vendor/libsodium/test/default/core2.c +35 -0
- data/vendor/libsodium/test/default/core2.exp +4 -0
- data/vendor/libsodium/test/default/core3.c +42 -0
- data/vendor/libsodium/test/default/core3.exp +1 -0
- data/vendor/libsodium/test/default/core4.c +35 -0
- data/vendor/libsodium/test/default/core4.exp +8 -0
- data/vendor/libsodium/test/default/core5.c +34 -0
- data/vendor/libsodium/test/default/core5.exp +4 -0
- data/vendor/libsodium/test/default/core6.c +49 -0
- data/vendor/libsodium/test/default/core6.exp +4 -0
- data/vendor/libsodium/test/default/generichash.c +27 -0
- data/vendor/libsodium/test/default/generichash.exp +64 -0
- data/vendor/libsodium/test/default/generichash2.c +31 -0
- data/vendor/libsodium/test/default/generichash2.exp +64 -0
- data/vendor/libsodium/test/default/hash.c +16 -0
- data/vendor/libsodium/test/default/hash.exp +1 -0
- data/vendor/libsodium/test/default/hash2.exp +1 -0
- data/vendor/libsodium/test/default/hash3.c +16 -0
- data/vendor/libsodium/test/default/hash3.exp +1 -0
- data/vendor/libsodium/test/default/onetimeauth.c +44 -0
- data/vendor/libsodium/test/default/onetimeauth.exp +2 -0
- data/vendor/libsodium/test/default/onetimeauth2.c +42 -0
- data/vendor/libsodium/test/default/onetimeauth2.exp +1 -0
- data/vendor/libsodium/test/default/onetimeauth7.c +37 -0
- data/vendor/libsodium/test/default/onetimeauth7.exp +0 -0
- data/vendor/libsodium/test/default/pre.js +33 -0
- data/vendor/libsodium/test/default/randombytes.c +16 -0
- data/vendor/libsodium/test/default/scalarmult.c +25 -0
- data/vendor/libsodium/test/default/scalarmult.exp +4 -0
- data/vendor/libsodium/test/default/scalarmult2.c +25 -0
- data/vendor/libsodium/test/default/scalarmult2.exp +4 -0
- data/vendor/libsodium/test/default/scalarmult5.c +32 -0
- data/vendor/libsodium/test/default/scalarmult5.exp +4 -0
- data/vendor/libsodium/test/default/scalarmult6.c +32 -0
- data/vendor/libsodium/test/default/scalarmult6.exp +4 -0
- data/vendor/libsodium/test/default/scalarmult7.c +34 -0
- data/vendor/libsodium/test/default/scalarmult7.exp +1 -0
- data/vendor/libsodium/test/default/scalarmult8.c +34 -0
- data/vendor/libsodium/test/default/scalarmult8.exp +1 -0
- data/vendor/libsodium/test/default/secretbox.c +58 -0
- data/vendor/libsodium/test/default/secretbox.exp +19 -0
- data/vendor/libsodium/test/default/secretbox2.c +59 -0
- data/vendor/libsodium/test/default/secretbox2.exp +17 -0
- data/vendor/libsodium/test/default/secretbox7.c +33 -0
- data/vendor/libsodium/test/default/secretbox7.exp +0 -0
- data/vendor/libsodium/test/default/secretbox8.c +40 -0
- data/vendor/libsodium/test/default/secretbox8.exp +0 -0
- data/vendor/libsodium/test/default/shorthash.c +23 -0
- data/vendor/libsodium/test/default/shorthash.exp +64 -0
- data/vendor/libsodium/test/default/sodium_core.c +11 -0
- data/vendor/libsodium/test/default/sodium_core.exp +1 -0
- data/vendor/libsodium/test/default/sodium_utils.c +27 -0
- data/vendor/libsodium/test/default/sodium_utils.exp +6 -0
- data/vendor/libsodium/test/default/sodium_version.c +13 -0
- data/vendor/libsodium/test/default/sodium_version.exp +3 -0
- data/vendor/libsodium/test/default/stream.c +30 -0
- data/vendor/libsodium/test/default/stream.exp +1 -0
- data/vendor/libsodium/test/default/stream2.c +28 -0
- data/vendor/libsodium/test/default/stream2.exp +1 -0
- data/vendor/libsodium/test/default/stream3.c +30 -0
- data/vendor/libsodium/test/default/stream3.exp +4 -0
- data/vendor/libsodium/test/default/stream4.c +55 -0
- data/vendor/libsodium/test/default/stream4.exp +17 -0
- data/vendor/libsodium/test/default/stream5.c +29 -0
- data/vendor/libsodium/test/default/stream5.exp +1 -0
- data/vendor/libsodium/test/default/stream6.c +54 -0
- data/vendor/libsodium/test/default/stream6.exp +17 -0
- data/vendor/libsodium/test/default/wintest.bat +56 -0
- data/vendor/libsodium/test/quirks/windows/windows-quirks.h +18 -0
- metadata +500 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 784ec2f6022dc23e3ca469082d9fff0011ee9668
|
4
|
+
data.tar.gz: 90b90426cdbf6b418e8fa6f8f19448b803ea36b3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 411b7c761dbdcbdc2270e481bef1f104a04e33cbfdcab2517cbaa5e4c8bf046c05fc428283edfcf5a69291678bf8d99a3801281ce352622f7fbe3c955114f299
|
7
|
+
data.tar.gz: f7dd983700e4e5e2a876d1c3316a0162b1d4c9a0ffdb7d513090903255fa56a322933acd0dad08b6eec0bb3357fded4149574486cd5759c314add227fd752977
|
data/.gitignore
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
/.config
|
4
|
+
/coverage/
|
5
|
+
/InstalledFiles
|
6
|
+
/pkg/
|
7
|
+
/spec/reports/
|
8
|
+
/test/tmp/
|
9
|
+
/test/version_tmp/
|
10
|
+
/tmp/
|
11
|
+
|
12
|
+
## Specific to RubyMotion:
|
13
|
+
.dat*
|
14
|
+
.repl_history
|
15
|
+
build/
|
16
|
+
|
17
|
+
## Documentation cache and generated files:
|
18
|
+
/.yardoc/
|
19
|
+
/_yardoc/
|
20
|
+
/doc/
|
21
|
+
/rdoc/
|
22
|
+
|
23
|
+
## Environment normalisation:
|
24
|
+
/.bundle/
|
25
|
+
/lib/bundler/man/
|
26
|
+
|
27
|
+
# for a library or gem, you might want to ignore these files since the code is
|
28
|
+
# intended to run in multiple environments; otherwise, check them in:
|
29
|
+
Gemfile.lock
|
30
|
+
# .ruby-version
|
31
|
+
# .ruby-gemset
|
32
|
+
|
33
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
34
|
+
.rvmrc
|
35
|
+
/vendor/gems
|
data/.gitmodules
ADDED
data/CHANGES.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2014 Cryptosphere
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# RbNaCl::Libsodium
|
2
|
+
|
3
|
+
RbNaCl + libsodium packaged as a gem
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'rbnacl-libsodium'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install rbnacl-libsodium
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
require 'rbnacl/libsodium'
|
22
|
+
|
23
|
+
will tweak search path allowing `rbnacl` to find bundled `libsodium`
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,30 @@
|
|
1
|
+
def sys(cmd)
|
2
|
+
puts " -- #{cmd}"
|
3
|
+
unless ret = system(cmd)
|
4
|
+
raise "ERROR: '#{cmd}' failed"
|
5
|
+
end
|
6
|
+
ret
|
7
|
+
end
|
8
|
+
|
9
|
+
mkfl = <<MAKEFILE
|
10
|
+
install:
|
11
|
+
\t@echo "Nothing to do"
|
12
|
+
|
13
|
+
clean:
|
14
|
+
\t@echo "Nothing to do"
|
15
|
+
MAKEFILE
|
16
|
+
|
17
|
+
CWD = File.expand_path(File.dirname(__FILE__))
|
18
|
+
LIBSODIUM_DIR = File.expand_path(File.join(CWD, '..', '..', 'vendor', 'libsodium'))
|
19
|
+
MAKE = ENV['MAKE'] || ENV['make'] || "make"
|
20
|
+
|
21
|
+
Dir.chdir(LIBSODIUM_DIR) do
|
22
|
+
sys("./autogen.sh")
|
23
|
+
sys("./configure --prefix=#{LIBSODIUM_DIR}/dist")
|
24
|
+
sys(MAKE)
|
25
|
+
sys("#{MAKE} install")
|
26
|
+
end
|
27
|
+
|
28
|
+
File.open("Makefile", "w") do |f|
|
29
|
+
f.write(mkfl)
|
30
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "rbnacl/libsodium/version"
|
2
|
+
|
3
|
+
module RbNaCl
|
4
|
+
module Libsodium
|
5
|
+
sodiumlib_dir = File.expand_path(File.join(File.dirname(__FILE__), "../../vendor/libsodium/dist/lib/"))
|
6
|
+
sodiumlib_filename = RUBY_DESCRIPTION =~ /darwin/ ? "libsodium.dylib" : "libsodium.so"
|
7
|
+
::RBNACL_LIBSODIUM_GEM_LIB_PATH = File.join(sodiumlib_dir, sodiumlib_filename)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
require "rbnacl"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rbnacl/libsodium/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "rbnacl-libsodium"
|
8
|
+
spec.version = RbNaCl::Libsodium::VERSION
|
9
|
+
spec.authors = ["Artiom Di"]
|
10
|
+
spec.date = Time.now.strftime('%Y-%m-%d')
|
11
|
+
spec.email = ["kron82@gmail.com"]
|
12
|
+
spec.summary = %q{rbnacl with bundled libsodium}
|
13
|
+
spec.homepage = "https://github.com/cryptosphere/rbnacl-libsodium"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.files += Dir.glob("vendor/libsodium/**/*")
|
18
|
+
spec.require_paths = ["lib"]
|
19
|
+
|
20
|
+
spec.extensions = ['ext/rbnacl/extconf.rb']
|
21
|
+
|
22
|
+
spec.add_runtime_dependency "rbnacl", "~> 3.0", ">= 3.0.1"
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
24
|
+
spec.add_development_dependency "rake"
|
25
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
Designers
|
2
|
+
=========
|
3
|
+
|
4
|
+
crypto_sign/ed25519
|
5
|
+
-------------------
|
6
|
+
Daniel J. Bernstein
|
7
|
+
Niels Duif
|
8
|
+
Tanja Lange
|
9
|
+
Peter Schwabe
|
10
|
+
Bo-Yin Yang
|
11
|
+
|
12
|
+
Implementors
|
13
|
+
============
|
14
|
+
|
15
|
+
crypto_core/hsalsa20
|
16
|
+
--------------------
|
17
|
+
Daniel J. Bernstein
|
18
|
+
|
19
|
+
crypto_core/salsa20
|
20
|
+
--------------------
|
21
|
+
Daniel J. Bernstein
|
22
|
+
|
23
|
+
crypto_core/salsa2012
|
24
|
+
-------------------
|
25
|
+
Daniel J. Bernstein
|
26
|
+
|
27
|
+
crypto_core/salsa208
|
28
|
+
---------------------
|
29
|
+
Daniel J. Bernstein
|
30
|
+
|
31
|
+
crypto_hash/sha256
|
32
|
+
------------------
|
33
|
+
Daniel J. Bernstein (wrapper around crypto_hashblocks/sha256)
|
34
|
+
|
35
|
+
crypto_hash/sha512
|
36
|
+
------------------
|
37
|
+
Daniel J. Bernstein (wrapper around crypto_hashblocks/sha512)
|
38
|
+
|
39
|
+
crypto_hashblocks/sha256
|
40
|
+
------------------------
|
41
|
+
Daniel J. Bernstein
|
42
|
+
|
43
|
+
crypto_hashblocks/sha512
|
44
|
+
------------------------
|
45
|
+
Daniel J. Bernstein
|
46
|
+
|
47
|
+
crypto_scalarmult/curve25519/ref
|
48
|
+
--------------------------------
|
49
|
+
Matthew Dempsky (Mochi Media)
|
50
|
+
|
51
|
+
crypto_scalarmult/curve25519/donna_c64
|
52
|
+
--------------------------------------
|
53
|
+
Adam Langley (Google)
|
54
|
+
|
55
|
+
crypto_sign/ed25519
|
56
|
+
-------------------
|
57
|
+
Daniel J. Bernstein
|
58
|
+
Niels Duif
|
59
|
+
Tanja Lange
|
60
|
+
lead: Peter Schwabe
|
61
|
+
Bo-Yin Yang
|
62
|
+
|
63
|
+
crypto_stream/aes128ctr
|
64
|
+
-----------------------
|
65
|
+
Daniel J. Bernstein
|
66
|
+
|
67
|
+
crypto_stream/aes256estream
|
68
|
+
---------------------------
|
69
|
+
Hongjun Wu
|
70
|
+
|
71
|
+
crypto_stream/salsa20
|
72
|
+
---------------------
|
73
|
+
Daniel J. Bernstein
|
74
|
+
|
75
|
+
crypto_stream/salsa2012
|
76
|
+
-----------------------
|
77
|
+
Daniel J. Bernstein
|
78
|
+
|
79
|
+
crypto_stream/salsa208
|
80
|
+
----------------------
|
81
|
+
Daniel J. Bernstein
|
82
|
+
|
83
|
+
crypto_stream/xsalsa20
|
84
|
+
----------------------
|
85
|
+
Daniel J. Bernstein
|
86
|
+
|
87
|
+
crypto_shorthash/siphash24
|
88
|
+
--------------------------
|
89
|
+
Jean-Philippe Aumasson
|
90
|
+
Daniel J. Bernstein
|
91
|
+
|
92
|
+
crypto_generichash/blake2b
|
93
|
+
--------------------------
|
94
|
+
Jean-Philippe Aumasson
|
95
|
+
Samuel Neves
|
96
|
+
Zooko Wilcox-O'Hearn
|
97
|
+
Christian Winnerlein
|
98
|
+
|
99
|
+
crypto_onetimeauth/poly1305/donna
|
100
|
+
---------------------------------
|
101
|
+
Andrew "floodyberry" M.
|
@@ -0,0 +1,68 @@
|
|
1
|
+
|
2
|
+
* Version 0.4.5
|
3
|
+
- Restore compatibility with OSX <= 10.6
|
4
|
+
|
5
|
+
* Version 0.4.4
|
6
|
+
- Visual Studio is officially supported (VC 2010 & VC 2013)
|
7
|
+
- mingw64 is now supported
|
8
|
+
- big-endian architectures are now supported as well
|
9
|
+
- The donna_c64 implementation of curve25519_donna_c64 now handles
|
10
|
+
non-canonical points like the ref implementation
|
11
|
+
- Missing scalarmult_curve25519 and stream_salsa20 constants are now exported
|
12
|
+
- A crypto_onetimeauth_poly1305_ref() wrapper has been added
|
13
|
+
|
14
|
+
* Version 0.4.3
|
15
|
+
- crypto_sign_seedbytes() and crypto_sign_SEEDBYTES were added.
|
16
|
+
- crypto_onetimeauth_poly1305_implementation_name() was added.
|
17
|
+
- poly1305-ref has been replaced by a faster implementation,
|
18
|
+
Floodyberry's poly1305-donna-unrolled.
|
19
|
+
- Stackmarkings have been added to assembly code, for Hardened Gentoo.
|
20
|
+
- pkg-config can now be used in order to retrieve compilations flags for
|
21
|
+
using libsodium.
|
22
|
+
- crypto_stream_aes256estream_*() can now deal with unaligned input
|
23
|
+
on platforms that require word alignment.
|
24
|
+
- portability improvements.
|
25
|
+
|
26
|
+
* Version 0.4.2
|
27
|
+
- All NaCl constants are now also exposed as functions.
|
28
|
+
- The Android and iOS cross-compilation script have been improved.
|
29
|
+
- libsodium can now be cross-compiled to Windows from Linux.
|
30
|
+
- libsodium can now be compiled with emscripten.
|
31
|
+
- New convenience function (prototyped in utils.h): sodium_bin2hex().
|
32
|
+
|
33
|
+
* Version 0.4.1
|
34
|
+
- sodium_version_*() functions were not exported in version 0.4. They
|
35
|
+
are now visible as intended.
|
36
|
+
- sodium_init() now calls randombytes_stir().
|
37
|
+
- optimized assembly version of salsa20 is now used on amd64.
|
38
|
+
- further cleanups and enhanced compatibility with non-C99 compilers.
|
39
|
+
|
40
|
+
* Version 0.4
|
41
|
+
- Most constants and operations are now available as actual functions
|
42
|
+
instead of macros, making it easier to use from other languages.
|
43
|
+
- New operation: crypto_generichash, featuring a variable key size, a
|
44
|
+
variable output size, and a streaming API. Currently implemented using
|
45
|
+
Blake2b.
|
46
|
+
- The package can be compiled in a separate directory.
|
47
|
+
- aes128ctr functions are exported.
|
48
|
+
- Optimized versions of curve25519 (curve25519_donna_c64), poly1305
|
49
|
+
(poly1305_53) and ed25519 (ed25519_ref10) are available. Optionally calling
|
50
|
+
sodium_init() once before using the library makes it pick the fastest
|
51
|
+
implementation.
|
52
|
+
- New convenience function: sodium_memzero() in order to securely
|
53
|
+
wipe a memory area.
|
54
|
+
- A whole bunch of cleanups and portability enhancements.
|
55
|
+
- On Windows, a .REF file is generated along with the shared library,
|
56
|
+
for use with Visual Studio. The installation path for these has become
|
57
|
+
$prefix/bin as expected by MingW.
|
58
|
+
|
59
|
+
* Version 0.3
|
60
|
+
- The crypto_shorthash operation has been added, implemented using
|
61
|
+
SipHash-2-4.
|
62
|
+
|
63
|
+
* Version 0.2
|
64
|
+
- crypto_sign_seed_keypair() has been added
|
65
|
+
|
66
|
+
* Version 0.1
|
67
|
+
- Initial release.
|
68
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (c) 2013
|
3
|
+
* Frank Denis <j at pureftpd dot org>
|
4
|
+
*
|
5
|
+
* Permission to use, copy, modify, and distribute this software for any
|
6
|
+
* purpose with or without fee is hereby granted, provided that the above
|
7
|
+
* copyright notice and this permission notice appear in all copies.
|
8
|
+
*
|
9
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
10
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
11
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
12
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
13
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
14
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
15
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
16
|
+
*/
|
@@ -0,0 +1,20 @@
|
|
1
|
+
ACLOCAL_AMFLAGS = -I m4
|
2
|
+
|
3
|
+
EXTRA_DIST = \
|
4
|
+
autogen.sh \
|
5
|
+
libsodium.sln \
|
6
|
+
libsodium.vcxproj \
|
7
|
+
libsodium.vcxproj.filters \
|
8
|
+
LICENSE \
|
9
|
+
README.markdown \
|
10
|
+
THANKS
|
11
|
+
|
12
|
+
SUBDIRS = \
|
13
|
+
msvc-scripts \
|
14
|
+
src \
|
15
|
+
test
|
16
|
+
|
17
|
+
if HAVE_PKG_CONFIG
|
18
|
+
pkgconfigdir = $(libdir)/pkgconfig
|
19
|
+
pkgconfig_DATA = @PACKAGE_NAME@.pc
|
20
|
+
endif
|
@@ -0,0 +1 @@
|
|
1
|
+
See README.markdown
|
@@ -0,0 +1,246 @@
|
|
1
|
+
[![Build Status](https://travis-ci.org/jedisct1/libsodium.png?branch=master)](https://travis-ci.org/jedisct1/libsodium?branch=master)
|
2
|
+
|
3
|
+
![libsodium](https://raw.github.com/jedisct1/libsodium/master/logo.png)
|
4
|
+
============
|
5
|
+
|
6
|
+
[NaCl](http://nacl.cr.yp.to/) (pronounced "salt") is a new easy-to-use
|
7
|
+
high-speed software library for network communication, encryption,
|
8
|
+
decryption, signatures, etc.
|
9
|
+
|
10
|
+
NaCl's goal is to provide all of the core operations needed to build
|
11
|
+
higher-level cryptographic tools.
|
12
|
+
|
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
|
+
![No NIST](http://i.imgur.com/HSxeAmp.png)
|
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.
|
28
|
+
|
29
|
+
The design choices, particularly in regard to the Curve25519
|
30
|
+
Diffie-Hellman function, emphasize security (whereas NIST curves
|
31
|
+
emphasize "performance" at the cost of security), and "magic
|
32
|
+
constants" in NaCl/Sodium are picked by theorems designed to maximize
|
33
|
+
security.
|
34
|
+
|
35
|
+
The same cannot be said of NIST curves, where the specific origins of
|
36
|
+
certain constants are not described by the standards and may be
|
37
|
+
subject to malicious influence by the NSA.
|
38
|
+
|
39
|
+
And despite the emphasis on higher security, primitives are faster
|
40
|
+
across-the-board than most implementations of the NIST standards.
|
41
|
+
|
42
|
+
## Portability
|
43
|
+
|
44
|
+
In order to pick the fastest working implementation of each primitive,
|
45
|
+
NaCl performs tests and benchmarks at compile-time. Unfortunately, the
|
46
|
+
resulting library is not guaranteed to work on different hardware.
|
47
|
+
|
48
|
+
Sodium performs tests at run-time, so that the same binary package can
|
49
|
+
still run everywhere.
|
50
|
+
|
51
|
+
Sodium is tested on a variety of compilers and operating systems,
|
52
|
+
including Windows (with MingW or Visual Studio, x86 and x64), iOS and Android.
|
53
|
+
|
54
|
+
## Installation
|
55
|
+
|
56
|
+
Sodium is a shared library with a machine-independent set of
|
57
|
+
headers, so that it can easily be used by 3rd party projects.
|
58
|
+
|
59
|
+
The library is built using autotools, making it easy to package.
|
60
|
+
|
61
|
+
Installation is trivial, and both compilation and testing can take
|
62
|
+
advantage of multiple CPU cores.
|
63
|
+
|
64
|
+
Download a
|
65
|
+
[tarball of libsodium](https://download.libsodium.org/libsodium/releases/),
|
66
|
+
then follow the ritual:
|
67
|
+
|
68
|
+
./configure
|
69
|
+
make && make check && make install
|
70
|
+
|
71
|
+
Pre-compiled Win32 packages are available for download at the same
|
72
|
+
location.
|
73
|
+
|
74
|
+
Integrity of source tarballs can currently be checked using PGP or
|
75
|
+
verified DNS queries (`dig +dnssec +short txt <file>.download.libsodium.org`
|
76
|
+
returns the SHA256 of any file available for download).
|
77
|
+
|
78
|
+
## Comparison with vanilla NaCl
|
79
|
+
|
80
|
+
Sodium does not ship C++ bindings. These might be part of a distinct
|
81
|
+
package.
|
82
|
+
|
83
|
+
The default public-key signature system in NaCl was a prototype that
|
84
|
+
shouldn't be used any more.
|
85
|
+
|
86
|
+
Sodium ships with the SUPERCOP reference implementation of
|
87
|
+
[Ed25519](http://ed25519.cr.yp.to/), and uses this system by default
|
88
|
+
for `crypto_sign*` operations.
|
89
|
+
|
90
|
+
For backward compatibility, the previous system is still compiled in,
|
91
|
+
as `crypto_sign_edwards25519sha512batch*`.
|
92
|
+
|
93
|
+
## Additional features
|
94
|
+
|
95
|
+
The Sodium library provides some convenience functions in order to retrieve
|
96
|
+
the current version of the package and of the shared library:
|
97
|
+
|
98
|
+
const char *sodium_version_string(void);
|
99
|
+
const int sodium_library_version_major(void);
|
100
|
+
const int sodium_library_version_minor(void);
|
101
|
+
|
102
|
+
Headers are installed in `${prefix}/include/sodium`.
|
103
|
+
|
104
|
+
A convenience header includes everything you need to use the library:
|
105
|
+
|
106
|
+
#include <sodium.h>
|
107
|
+
|
108
|
+
This is not required, however, before any other libsodium function, you can
|
109
|
+
call:
|
110
|
+
|
111
|
+
sodium_init();
|
112
|
+
|
113
|
+
This will pick optimized implementations of some primitives, if they
|
114
|
+
appear to work as expected after running some tests, and these will be
|
115
|
+
used for subsequent operations. It only need to be called once.
|
116
|
+
|
117
|
+
This function is not thread-safe. No other Sodium functions should be
|
118
|
+
called until it successfully returns. In a multithreading environment,
|
119
|
+
if, for some reason, you really need to call `sodium_init()` while some
|
120
|
+
other Sodium functions may be running in different threads, add locks
|
121
|
+
accordingly (both around `sodium_init()` and around other functions).
|
122
|
+
|
123
|
+
Sodium also provides helper functions to generate random numbers,
|
124
|
+
leveraging `/dev/urandom` or `/dev/random` on *nix and the cryptographic
|
125
|
+
service provider on Windows. The interface is similar to
|
126
|
+
`arc4random(3)`. It is `fork(2)`-safe but not thread-safe. This holds
|
127
|
+
true for `crypto_sign_keypair()` and `crypto_box_keypair()` as well.
|
128
|
+
|
129
|
+
uint32_t randombytes_random(void);
|
130
|
+
|
131
|
+
Return a random 32-bit unsigned value.
|
132
|
+
|
133
|
+
void randombytes_stir(void);
|
134
|
+
|
135
|
+
Generate a new key for the pseudorandom number generator. The file
|
136
|
+
descriptor for the entropy source is kept open, so that the generator
|
137
|
+
can be reseeded even in a chroot() jail.
|
138
|
+
|
139
|
+
uint32_t randombytes_uniform(const uint32_t upper_bound);
|
140
|
+
|
141
|
+
Return a value between 0 and upper_bound using a uniform distribution.
|
142
|
+
|
143
|
+
void randombytes_buf(void * const buf, const size_t size);
|
144
|
+
|
145
|
+
Fill the buffer `buf` with `size` random bytes.
|
146
|
+
|
147
|
+
int randombytes_close(void);
|
148
|
+
|
149
|
+
Close the file descriptor or the handle for the cryptographic service
|
150
|
+
provider.
|
151
|
+
|
152
|
+
A custom implementation of these functions can be registered with
|
153
|
+
`randombytes_set_implementation()`.
|
154
|
+
|
155
|
+
In addition, Sodium provides a function to securely wipe a memory
|
156
|
+
region:
|
157
|
+
|
158
|
+
void sodium_memzero(void * const pnt, const size_t size);
|
159
|
+
|
160
|
+
Warning: if a region has been allocated on the heap, you still have
|
161
|
+
to make sure that it can't get swapped to disk, possibly using
|
162
|
+
`mlock(2)`.
|
163
|
+
|
164
|
+
In order to compare memory zones in constant time, Sodium provides:
|
165
|
+
|
166
|
+
int sodium_memcmp(const void * const b1_, const void * const b2_,
|
167
|
+
size_t size);
|
168
|
+
|
169
|
+
And a convenience function for converting a binary buffer to a
|
170
|
+
hexadecimal string:
|
171
|
+
|
172
|
+
char * sodium_bin2hex(char * const hex, const size_t hexlen,
|
173
|
+
const unsigned char *bin, const size_t binlen);
|
174
|
+
|
175
|
+
## New operations
|
176
|
+
|
177
|
+
### crypto_shorthash
|
178
|
+
|
179
|
+
A lot of applications and programming language implementations have
|
180
|
+
been recently found to be vulnerable to denial-of-service attacks when
|
181
|
+
a hash function with weak security guarantees, like Murmurhash 3, was
|
182
|
+
used to construct a hash table.
|
183
|
+
|
184
|
+
In order to address this, Sodium provides the “shorthash” function,
|
185
|
+
currently implemented using SipHash-2-4. This very fast hash function
|
186
|
+
outputs short, but unpredictable (without knowing the secret key)
|
187
|
+
values suitable for picking a list in a hash table for a given key.
|
188
|
+
|
189
|
+
See `crypto_shorthash.h` for details.
|
190
|
+
|
191
|
+
### crypto_generichash
|
192
|
+
|
193
|
+
This hash function provides:
|
194
|
+
|
195
|
+
* A variable output length (up to `crypto_generichash_BYTES_MAX` bytes)
|
196
|
+
* A variable key length (from no key at all to
|
197
|
+
`crypto_generichash_KEYBYTES_MAX` bytes)
|
198
|
+
* A simple interface as well as a streaming interface.
|
199
|
+
|
200
|
+
`crypto_generichash` is currently being implemented using
|
201
|
+
[Blake2](https://blake2.net/).
|
202
|
+
|
203
|
+
## Constants available as functions
|
204
|
+
|
205
|
+
In addition to constants for key sizes, output sizes and block sizes,
|
206
|
+
Sodium provides these values through function calls, so that using
|
207
|
+
them from different languages is easier.
|
208
|
+
|
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
|
+
## CurveCP
|
227
|
+
|
228
|
+
CurveCP tools are part of a different project,
|
229
|
+
[libchloride](https://github.com/jedisct1/libchloride).
|
230
|
+
If you are interested in an embeddable CurveCP implementation, take a
|
231
|
+
look at [libcurvecpr](https://github.com/impl/libcurvecpr).
|
232
|
+
|
233
|
+
## Mailing list
|
234
|
+
|
235
|
+
A mailing-list is available to discuss libsodium.
|
236
|
+
|
237
|
+
In order to join, just send a random mail to `sodium-subscribe` {at}
|
238
|
+
`pureftpd`{dot}`org`.
|
239
|
+
|
240
|
+
## License
|
241
|
+
|
242
|
+
[ISC license](http://en.wikipedia.org/wiki/ISC_license).
|
243
|
+
|
244
|
+
See the `COPYING` file for details, `AUTHORS` for designers and
|
245
|
+
implementors, and `THANKS` for contributors.
|
246
|
+
|