rbnacl-libsodium 0.4.5a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+