rbnacl-libsodium 0.4.5a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +35 -0
  3. data/.gitmodules +3 -0
  4. data/CHANGES.md +3 -0
  5. data/Gemfile +6 -0
  6. data/LICENSE +21 -0
  7. data/README.md +23 -0
  8. data/Rakefile +1 -0
  9. data/ext/rbnacl/extconf.rb +30 -0
  10. data/lib/rbnacl/libsodium.rb +11 -0
  11. data/lib/rbnacl/libsodium/version.rb +5 -0
  12. data/rbnacl-libsodium.gemspec +25 -0
  13. data/vendor/libsodium/AUTHORS +101 -0
  14. data/vendor/libsodium/ChangeLog +68 -0
  15. data/vendor/libsodium/LICENSE +16 -0
  16. data/vendor/libsodium/Makefile.am +20 -0
  17. data/vendor/libsodium/README +1 -0
  18. data/vendor/libsodium/README.markdown +246 -0
  19. data/vendor/libsodium/THANKS +17 -0
  20. data/vendor/libsodium/autogen.sh +16 -0
  21. data/vendor/libsodium/configure.ac +405 -0
  22. data/vendor/libsodium/dist-build/android.sh +48 -0
  23. data/vendor/libsodium/dist-build/iphone.sh +16 -0
  24. data/vendor/libsodium/dist-build/msys.sh +9 -0
  25. data/vendor/libsodium/libsodium.pc.in +11 -0
  26. data/vendor/libsodium/libsodium.sln +38 -0
  27. data/vendor/libsodium/libsodium.vcxproj +508 -0
  28. data/vendor/libsodium/libsodium.vcxproj.filters +569 -0
  29. data/vendor/libsodium/logo.png +0 -0
  30. data/vendor/libsodium/m4/ax_check_compile_flag.m4 +73 -0
  31. data/vendor/libsodium/m4/ax_check_gnu_make.m4 +78 -0
  32. data/vendor/libsodium/m4/ax_check_link_flag.m4 +72 -0
  33. data/vendor/libsodium/m4/ld-output-def.m4 +29 -0
  34. data/vendor/libsodium/m4/pkg.m4 +214 -0
  35. data/vendor/libsodium/msvc-scripts/Makefile.am +4 -0
  36. data/vendor/libsodium/msvc-scripts/process.bat +8 -0
  37. data/vendor/libsodium/msvc-scripts/rep.vbs +12 -0
  38. data/vendor/libsodium/msvc-scripts/sodium.props +25 -0
  39. data/vendor/libsodium/src/Makefile.am +3 -0
  40. data/vendor/libsodium/src/libsodium/Makefile.am +232 -0
  41. data/vendor/libsodium/src/libsodium/crypto_auth/crypto_auth.c +34 -0
  42. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c +16 -0
  43. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/checksum +1 -0
  44. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/api.h +10 -0
  45. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c +83 -0
  46. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/verify_hmacsha256.c +9 -0
  47. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c +16 -0
  48. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/checksum +1 -0
  49. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/api.h +10 -0
  50. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c +86 -0
  51. data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c +9 -0
  52. data/vendor/libsodium/src/libsodium/crypto_auth/try.c +119 -0
  53. data/vendor/libsodium/src/libsodium/crypto_box/crypto_box.c +95 -0
  54. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c +41 -0
  55. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/checksum +1 -0
  56. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c +22 -0
  57. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h +19 -0
  58. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c +19 -0
  59. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c +27 -0
  60. data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c +12 -0
  61. data/vendor/libsodium/src/libsodium/crypto_box/try.c +195 -0
  62. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/checksum +1 -0
  63. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c +26 -0
  64. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h +11 -0
  65. data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c +108 -0
  66. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/checksum +1 -0
  67. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c +26 -0
  68. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h +11 -0
  69. data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c +134 -0
  70. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/checksum +1 -0
  71. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c +26 -0
  72. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h +11 -0
  73. data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c +134 -0
  74. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/checksum +1 -0
  75. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c +26 -0
  76. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h +11 -0
  77. data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c +134 -0
  78. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c +31 -0
  79. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h +4 -0
  80. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h +132 -0
  81. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +169 -0
  82. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +364 -0
  83. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2s-ref.c +355 -0
  84. data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c +61 -0
  85. data/vendor/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +84 -0
  86. data/vendor/libsodium/src/libsodium/crypto_hash/crypto_hash.c +9 -0
  87. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/checksum +1 -0
  88. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c +11 -0
  89. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/ref/api.h +8 -0
  90. data/vendor/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c +69 -0
  91. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/checksum +1 -0
  92. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c +11 -0
  93. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/ref/api.h +8 -0
  94. data/vendor/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c +71 -0
  95. data/vendor/libsodium/src/libsodium/crypto_hash/try.c +76 -0
  96. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/checksum +1 -0
  97. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c +16 -0
  98. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h +9 -0
  99. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c +212 -0
  100. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/checksum +1 -0
  101. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c +16 -0
  102. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h +9 -0
  103. data/vendor/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c +239 -0
  104. data/vendor/libsodium/src/libsodium/crypto_hashblocks/try.c +78 -0
  105. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +34 -0
  106. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h +8 -0
  107. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c +1661 -0
  108. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c +10 -0
  109. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h +8 -0
  110. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c +151 -0
  111. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h +772 -0
  112. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c +10 -0
  113. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +36 -0
  114. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c +16 -0
  115. data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c +152 -0
  116. data/vendor/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +34 -0
  117. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/checksum +1 -0
  118. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h +9 -0
  119. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c +13 -0
  120. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c +426 -0
  121. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h +8 -0
  122. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c +20 -0
  123. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c +268 -0
  124. data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519_api.c +14 -0
  125. data/vendor/libsodium/src/libsodium/crypto_scalarmult/try.c +125 -0
  126. data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c +48 -0
  127. data/vendor/libsodium/src/libsodium/crypto_secretbox/try.c +129 -0
  128. data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/checksum +1 -0
  129. data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h +12 -0
  130. data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c +35 -0
  131. data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c +26 -0
  132. data/vendor/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c +27 -0
  133. data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h +8 -0
  134. data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c +91 -0
  135. data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c +11 -0
  136. data/vendor/libsodium/src/libsodium/crypto_sign/crypto_sign.c +61 -0
  137. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/description +1 -0
  138. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h +14 -0
  139. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h +1344 -0
  140. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h +40 -0
  141. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h +1 -0
  142. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h +1 -0
  143. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h +56 -0
  144. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c +19 -0
  145. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c +19 -0
  146. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c +57 -0
  147. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c +63 -0
  148. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c +29 -0
  149. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c +73 -0
  150. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c +14 -0
  151. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c +16 -0
  152. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c +19 -0
  153. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c +253 -0
  154. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c +45 -0
  155. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c +13 -0
  156. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c +149 -0
  157. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c +160 -0
  158. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c +57 -0
  159. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c +119 -0
  160. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h +95 -0
  161. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c +11 -0
  162. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h +97 -0
  163. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c +96 -0
  164. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c +50 -0
  165. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c +11 -0
  166. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h +88 -0
  167. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c +11 -0
  168. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h +88 -0
  169. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c +12 -0
  170. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c +13 -0
  171. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c +8 -0
  172. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c +11 -0
  173. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h +73 -0
  174. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c +9 -0
  175. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c +12 -0
  176. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c +17 -0
  177. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c +12 -0
  178. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c +14 -0
  179. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c +8 -0
  180. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c +105 -0
  181. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c +11 -0
  182. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h +97 -0
  183. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c +14 -0
  184. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +31 -0
  185. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +40 -0
  186. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h +160 -0
  187. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h +160 -0
  188. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h +15 -0
  189. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c +368 -0
  190. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c +275 -0
  191. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +38 -0
  192. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h +1 -0
  193. data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c +26 -0
  194. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h +13 -0
  195. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h +54 -0
  196. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c +348 -0
  197. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h +34 -0
  198. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c +230 -0
  199. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h +51 -0
  200. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c +146 -0
  201. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c +102 -0
  202. data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c +21 -0
  203. data/vendor/libsodium/src/libsodium/crypto_sign/try.c +87 -0
  204. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/checksum +1 -0
  205. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +159 -0
  206. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h +14 -0
  207. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c +59 -0
  208. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h +788 -0
  209. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c +64 -0
  210. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h +28 -0
  211. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c +14 -0
  212. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h +47 -0
  213. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c +131 -0
  214. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c +28 -0
  215. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h +10 -0
  216. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +181 -0
  217. data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c +21 -0
  218. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table-be.h +274 -0
  219. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table-le.h +274 -0
  220. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table.h +56 -0
  221. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c +238 -0
  222. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256.h +171 -0
  223. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h +14 -0
  224. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h +27 -0
  225. data/vendor/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c +21 -0
  226. data/vendor/libsodium/src/libsodium/crypto_stream/crypto_stream.c +36 -0
  227. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h +1 -0
  228. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S +950 -0
  229. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/checksum +1 -0
  230. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h +8 -0
  231. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +55 -0
  232. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +58 -0
  233. data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20_api.c +16 -0
  234. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/checksum +1 -0
  235. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h +11 -0
  236. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c +51 -0
  237. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c +54 -0
  238. data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c +16 -0
  239. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/checksum +1 -0
  240. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h +10 -0
  241. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c +51 -0
  242. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c +54 -0
  243. data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c +16 -0
  244. data/vendor/libsodium/src/libsodium/crypto_stream/try.c +122 -0
  245. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/checksum +1 -0
  246. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h +11 -0
  247. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c +24 -0
  248. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c +25 -0
  249. data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c +16 -0
  250. data/vendor/libsodium/src/libsodium/crypto_verify/16/checksum +1 -0
  251. data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/api.h +2 -0
  252. data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c +24 -0
  253. data/vendor/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c +6 -0
  254. data/vendor/libsodium/src/libsodium/crypto_verify/32/checksum +1 -0
  255. data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/api.h +2 -0
  256. data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c +40 -0
  257. data/vendor/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c +6 -0
  258. data/vendor/libsodium/src/libsodium/crypto_verify/try.c +76 -0
  259. data/vendor/libsodium/src/libsodium/include/Makefile.am +63 -0
  260. data/vendor/libsodium/src/libsodium/include/sodium.h +48 -0
  261. data/vendor/libsodium/src/libsodium/include/sodium/core.h +18 -0
  262. data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth.h +36 -0
  263. data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +36 -0
  264. data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +36 -0
  265. data/vendor/libsodium/src/libsodium/include/sodium/crypto_box.h +83 -0
  266. data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +72 -0
  267. data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h +40 -0
  268. data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h +40 -0
  269. data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h +40 -0
  270. data/vendor/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h +40 -0
  271. data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash.h +70 -0
  272. data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +87 -0
  273. data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash.h +23 -0
  274. data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +29 -0
  275. data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +29 -0
  276. data/vendor/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h +32 -0
  277. data/vendor/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h +32 -0
  278. data/vendor/libsodium/src/libsodium/include/sodium/crypto_int32.h +8 -0
  279. data/vendor/libsodium/src/libsodium/include/sodium/crypto_int64.h +8 -0
  280. data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +37 -0
  281. data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +65 -0
  282. data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h +34 -0
  283. data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h +34 -0
  284. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +36 -0
  285. data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in +44 -0
  286. data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +47 -0
  287. data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +44 -0
  288. data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash.h +33 -0
  289. data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +29 -0
  290. data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign.h +61 -0
  291. data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h +52 -0
  292. data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +44 -0
  293. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream.h +46 -0
  294. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h +60 -0
  295. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h +61 -0
  296. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h.in +54 -0
  297. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h +43 -0
  298. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h +43 -0
  299. data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +44 -0
  300. data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint16.h +8 -0
  301. data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint32.h +8 -0
  302. data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint64.h +8 -0
  303. data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint8.h +8 -0
  304. data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_16.h +25 -0
  305. data/vendor/libsodium/src/libsodium/include/sodium/crypto_verify_32.h +25 -0
  306. data/vendor/libsodium/src/libsodium/include/sodium/export.h +32 -0
  307. data/vendor/libsodium/src/libsodium/include/sodium/randombytes.h +53 -0
  308. data/vendor/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h +45 -0
  309. data/vendor/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h +45 -0
  310. data/vendor/libsodium/src/libsodium/include/sodium/utils.h +36 -0
  311. data/vendor/libsodium/src/libsodium/include/sodium/version.h.in +29 -0
  312. data/vendor/libsodium/src/libsodium/randombytes/randombytes.c +63 -0
  313. data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +317 -0
  314. data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +212 -0
  315. data/vendor/libsodium/src/libsodium/sodium/compat.c +248 -0
  316. data/vendor/libsodium/src/libsodium/sodium/core.c +21 -0
  317. data/vendor/libsodium/src/libsodium/sodium/utils.c +94 -0
  318. data/vendor/libsodium/src/libsodium/sodium/version.c +20 -0
  319. data/vendor/libsodium/test/Makefile.am +5 -0
  320. data/vendor/libsodium/test/default/Makefile.am +277 -0
  321. data/vendor/libsodium/test/default/auth.c +21 -0
  322. data/vendor/libsodium/test/default/auth.exp +4 -0
  323. data/vendor/libsodium/test/default/auth2.c +36 -0
  324. data/vendor/libsodium/test/default/auth2.exp +4 -0
  325. data/vendor/libsodium/test/default/auth3.c +36 -0
  326. data/vendor/libsodium/test/default/auth3.exp +1 -0
  327. data/vendor/libsodium/test/default/auth5.c +37 -0
  328. data/vendor/libsodium/test/default/auth5.exp +0 -0
  329. data/vendor/libsodium/test/default/box.c +65 -0
  330. data/vendor/libsodium/test/default/box.exp +19 -0
  331. data/vendor/libsodium/test/default/box2.c +66 -0
  332. data/vendor/libsodium/test/default/box2.exp +17 -0
  333. data/vendor/libsodium/test/default/box7.c +37 -0
  334. data/vendor/libsodium/test/default/box7.exp +0 -0
  335. data/vendor/libsodium/test/default/box8.c +44 -0
  336. data/vendor/libsodium/test/default/box8.exp +0 -0
  337. data/vendor/libsodium/test/default/cmptest.h +51 -0
  338. data/vendor/libsodium/test/default/core1.c +32 -0
  339. data/vendor/libsodium/test/default/core1.exp +4 -0
  340. data/vendor/libsodium/test/default/core2.c +35 -0
  341. data/vendor/libsodium/test/default/core2.exp +4 -0
  342. data/vendor/libsodium/test/default/core3.c +42 -0
  343. data/vendor/libsodium/test/default/core3.exp +1 -0
  344. data/vendor/libsodium/test/default/core4.c +35 -0
  345. data/vendor/libsodium/test/default/core4.exp +8 -0
  346. data/vendor/libsodium/test/default/core5.c +34 -0
  347. data/vendor/libsodium/test/default/core5.exp +4 -0
  348. data/vendor/libsodium/test/default/core6.c +49 -0
  349. data/vendor/libsodium/test/default/core6.exp +4 -0
  350. data/vendor/libsodium/test/default/generichash.c +27 -0
  351. data/vendor/libsodium/test/default/generichash.exp +64 -0
  352. data/vendor/libsodium/test/default/generichash2.c +31 -0
  353. data/vendor/libsodium/test/default/generichash2.exp +64 -0
  354. data/vendor/libsodium/test/default/hash.c +16 -0
  355. data/vendor/libsodium/test/default/hash.exp +1 -0
  356. data/vendor/libsodium/test/default/hash2.exp +1 -0
  357. data/vendor/libsodium/test/default/hash3.c +16 -0
  358. data/vendor/libsodium/test/default/hash3.exp +1 -0
  359. data/vendor/libsodium/test/default/onetimeauth.c +44 -0
  360. data/vendor/libsodium/test/default/onetimeauth.exp +2 -0
  361. data/vendor/libsodium/test/default/onetimeauth2.c +42 -0
  362. data/vendor/libsodium/test/default/onetimeauth2.exp +1 -0
  363. data/vendor/libsodium/test/default/onetimeauth7.c +37 -0
  364. data/vendor/libsodium/test/default/onetimeauth7.exp +0 -0
  365. data/vendor/libsodium/test/default/pre.js +33 -0
  366. data/vendor/libsodium/test/default/randombytes.c +16 -0
  367. data/vendor/libsodium/test/default/scalarmult.c +25 -0
  368. data/vendor/libsodium/test/default/scalarmult.exp +4 -0
  369. data/vendor/libsodium/test/default/scalarmult2.c +25 -0
  370. data/vendor/libsodium/test/default/scalarmult2.exp +4 -0
  371. data/vendor/libsodium/test/default/scalarmult5.c +32 -0
  372. data/vendor/libsodium/test/default/scalarmult5.exp +4 -0
  373. data/vendor/libsodium/test/default/scalarmult6.c +32 -0
  374. data/vendor/libsodium/test/default/scalarmult6.exp +4 -0
  375. data/vendor/libsodium/test/default/scalarmult7.c +34 -0
  376. data/vendor/libsodium/test/default/scalarmult7.exp +1 -0
  377. data/vendor/libsodium/test/default/scalarmult8.c +34 -0
  378. data/vendor/libsodium/test/default/scalarmult8.exp +1 -0
  379. data/vendor/libsodium/test/default/secretbox.c +58 -0
  380. data/vendor/libsodium/test/default/secretbox.exp +19 -0
  381. data/vendor/libsodium/test/default/secretbox2.c +59 -0
  382. data/vendor/libsodium/test/default/secretbox2.exp +17 -0
  383. data/vendor/libsodium/test/default/secretbox7.c +33 -0
  384. data/vendor/libsodium/test/default/secretbox7.exp +0 -0
  385. data/vendor/libsodium/test/default/secretbox8.c +40 -0
  386. data/vendor/libsodium/test/default/secretbox8.exp +0 -0
  387. data/vendor/libsodium/test/default/shorthash.c +23 -0
  388. data/vendor/libsodium/test/default/shorthash.exp +64 -0
  389. data/vendor/libsodium/test/default/sodium_core.c +11 -0
  390. data/vendor/libsodium/test/default/sodium_core.exp +1 -0
  391. data/vendor/libsodium/test/default/sodium_utils.c +27 -0
  392. data/vendor/libsodium/test/default/sodium_utils.exp +6 -0
  393. data/vendor/libsodium/test/default/sodium_version.c +13 -0
  394. data/vendor/libsodium/test/default/sodium_version.exp +3 -0
  395. data/vendor/libsodium/test/default/stream.c +30 -0
  396. data/vendor/libsodium/test/default/stream.exp +1 -0
  397. data/vendor/libsodium/test/default/stream2.c +28 -0
  398. data/vendor/libsodium/test/default/stream2.exp +1 -0
  399. data/vendor/libsodium/test/default/stream3.c +30 -0
  400. data/vendor/libsodium/test/default/stream3.exp +4 -0
  401. data/vendor/libsodium/test/default/stream4.c +55 -0
  402. data/vendor/libsodium/test/default/stream4.exp +17 -0
  403. data/vendor/libsodium/test/default/stream5.c +29 -0
  404. data/vendor/libsodium/test/default/stream5.exp +1 -0
  405. data/vendor/libsodium/test/default/stream6.c +54 -0
  406. data/vendor/libsodium/test/default/stream6.exp +17 -0
  407. data/vendor/libsodium/test/default/wintest.bat +56 -0
  408. data/vendor/libsodium/test/quirks/windows/windows-quirks.h +18 -0
  409. metadata +500 -0
@@ -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
@@ -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
@@ -0,0 +1,3 @@
1
+ [submodule "vendor/libsodium"]
2
+ path = vendor/libsodium
3
+ url = git://github.com/jedisct1/libsodium.git
@@ -0,0 +1,3 @@
1
+ 0.4.5a (2014-05-13)
2
+ -------------------
3
+ * Initial release with libsodium 0.4.5
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rbnacl", github: 'cryptosphere/rbnacl'
4
+
5
+ # Specify your gem's dependencies in rbnacl-libsodium.gemspec
6
+ gemspec
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.
@@ -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`
@@ -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,5 @@
1
+ module RbNaCl
2
+ module Libsodium
3
+ VERSION = "0.4.5a"
4
+ end
5
+ end
@@ -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
+