react-native-quick-crypto 1.0.0-beta.15 → 1.0.0-beta.16

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 (618) hide show
  1. package/QuickCrypto.podspec +66 -7
  2. package/README.md +7 -3
  3. package/android/CMakeLists.txt +16 -6
  4. package/android/build.gradle +9 -1
  5. package/cpp/cipher/HybridCipher.cpp +0 -1
  6. package/cpp/cipher/HybridCipher.hpp +0 -1
  7. package/cpp/cipher/HybridCipherFactory.hpp +43 -28
  8. package/cpp/cipher/XSalsa20Cipher.cpp +61 -0
  9. package/cpp/cipher/XSalsa20Cipher.hpp +33 -0
  10. package/cpp/random/HybridRandom.cpp +2 -2
  11. package/cpp/utils/Utils.hpp +15 -0
  12. package/ios/libsodium-stable/.github/workflows/autocloser.yml +12 -0
  13. package/ios/libsodium-stable/.github/workflows/ci.yml +180 -0
  14. package/ios/libsodium-stable/.github/workflows/cifuzz.yml +32 -0
  15. package/ios/libsodium-stable/.github/workflows/codeql-analysis.yml +48 -0
  16. package/ios/libsodium-stable/.github/workflows/dotnet-core.yml +388 -0
  17. package/ios/libsodium-stable/AUTHORS +144 -0
  18. package/ios/libsodium-stable/CITATION.cff +18 -0
  19. package/ios/libsodium-stable/ChangeLog +658 -0
  20. package/ios/libsodium-stable/LICENSE +18 -0
  21. package/ios/libsodium-stable/Makefile.am +23 -0
  22. package/ios/libsodium-stable/README.markdown +76 -0
  23. package/ios/libsodium-stable/THANKS +92 -0
  24. package/ios/libsodium-stable/appveyor.yml +24 -0
  25. package/ios/libsodium-stable/autogen.sh +117 -0
  26. package/ios/libsodium-stable/azure-pipelines.yml +122 -0
  27. package/ios/libsodium-stable/build.zig +281 -0
  28. package/ios/libsodium-stable/builds/Makefile.am +81 -0
  29. package/ios/libsodium-stable/builds/msvc/build/buildall.bat +18 -0
  30. package/ios/libsodium-stable/builds/msvc/build/buildbase.bat +132 -0
  31. package/ios/libsodium-stable/builds/msvc/properties/ARM64.props +23 -0
  32. package/ios/libsodium-stable/builds/msvc/properties/Common.props +21 -0
  33. package/ios/libsodium-stable/builds/msvc/properties/DLL.props +16 -0
  34. package/ios/libsodium-stable/builds/msvc/properties/Debug.props +29 -0
  35. package/ios/libsodium-stable/builds/msvc/properties/DebugDEXE.props +21 -0
  36. package/ios/libsodium-stable/builds/msvc/properties/DebugDLL.props +20 -0
  37. package/ios/libsodium-stable/builds/msvc/properties/DebugLEXE.props +20 -0
  38. package/ios/libsodium-stable/builds/msvc/properties/DebugLIB.props +21 -0
  39. package/ios/libsodium-stable/builds/msvc/properties/DebugLTCG.props +20 -0
  40. package/ios/libsodium-stable/builds/msvc/properties/DebugSEXE.props +21 -0
  41. package/ios/libsodium-stable/builds/msvc/properties/EXE.props +17 -0
  42. package/ios/libsodium-stable/builds/msvc/properties/LIB.props +16 -0
  43. package/ios/libsodium-stable/builds/msvc/properties/LTCG.props +13 -0
  44. package/ios/libsodium-stable/builds/msvc/properties/Link.props +21 -0
  45. package/ios/libsodium-stable/builds/msvc/properties/Messages.props +15 -0
  46. package/ios/libsodium-stable/builds/msvc/properties/Output.props +30 -0
  47. package/ios/libsodium-stable/builds/msvc/properties/Release.props +41 -0
  48. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDEXE.props +20 -0
  49. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDLL.props +19 -0
  50. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLEXE.props +20 -0
  51. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLIB.props +19 -0
  52. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLTCG.props +19 -0
  53. package/ios/libsodium-stable/builds/msvc/properties/ReleaseSEXE.props +20 -0
  54. package/ios/libsodium-stable/builds/msvc/properties/Win32.props +23 -0
  55. package/ios/libsodium-stable/builds/msvc/properties/x64.props +26 -0
  56. package/ios/libsodium-stable/builds/msvc/resource.h +14 -0
  57. package/ios/libsodium-stable/builds/msvc/resource.rc +65 -0
  58. package/ios/libsodium-stable/builds/msvc/version.h +33 -0
  59. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.props +48 -0
  60. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj +346 -0
  61. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +1088 -0
  62. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.xml +15 -0
  63. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.props +52 -0
  64. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.xml +17 -0
  65. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.sln +50 -0
  66. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.props +48 -0
  67. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj +346 -0
  68. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +1088 -0
  69. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.xml +15 -0
  70. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.props +52 -0
  71. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.xml +17 -0
  72. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.sln +50 -0
  73. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.props +48 -0
  74. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj +346 -0
  75. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +1088 -0
  76. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.xml +15 -0
  77. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.props +52 -0
  78. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.xml +17 -0
  79. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.sln +52 -0
  80. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.props +48 -0
  81. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj +346 -0
  82. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +1088 -0
  83. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.xml +15 -0
  84. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.props +52 -0
  85. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.xml +17 -0
  86. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.sln +52 -0
  87. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.props +48 -0
  88. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj +346 -0
  89. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +1088 -0
  90. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.xml +15 -0
  91. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.props +52 -0
  92. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.xml +17 -0
  93. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.sln +52 -0
  94. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.props +48 -0
  95. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj +370 -0
  96. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +1088 -0
  97. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.xml +15 -0
  98. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.props +52 -0
  99. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.xml +17 -0
  100. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.sln +52 -0
  101. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.props +48 -0
  102. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj +370 -0
  103. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters +1088 -0
  104. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.xml +15 -0
  105. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.props +52 -0
  106. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.xml +17 -0
  107. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.sln +70 -0
  108. package/ios/libsodium-stable/ci/appveyor/libsodium.sln +40 -0
  109. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj +594 -0
  110. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj.filters +813 -0
  111. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/process.bat +5 -0
  112. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/rep.vbs +12 -0
  113. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/sodium.props +29 -0
  114. package/ios/libsodium-stable/configure.ac +1004 -0
  115. package/ios/libsodium-stable/contrib/Findsodium.cmake +297 -0
  116. package/ios/libsodium-stable/contrib/Makefile.am +3 -0
  117. package/ios/libsodium-stable/dist-build/Makefile.am +14 -0
  118. package/ios/libsodium-stable/dist-build/android-aar.sh +194 -0
  119. package/ios/libsodium-stable/dist-build/android-armv7-a.sh +5 -0
  120. package/ios/libsodium-stable/dist-build/android-armv8-a.sh +5 -0
  121. package/ios/libsodium-stable/dist-build/android-build.sh +95 -0
  122. package/ios/libsodium-stable/dist-build/android-x86.sh +5 -0
  123. package/ios/libsodium-stable/dist-build/android-x86_64.sh +5 -0
  124. package/ios/libsodium-stable/dist-build/apple-xcframework.sh +628 -0
  125. package/ios/libsodium-stable/dist-build/emscripten-symbols.def +651 -0
  126. package/ios/libsodium-stable/dist-build/emscripten.sh +206 -0
  127. package/ios/libsodium-stable/dist-build/generate-emscripten-symbols.sh +59 -0
  128. package/ios/libsodium-stable/dist-build/macos.sh +26 -0
  129. package/ios/libsodium-stable/dist-build/msys2-win32.sh +18 -0
  130. package/ios/libsodium-stable/dist-build/msys2-win64.sh +18 -0
  131. package/ios/libsodium-stable/dist-build/wasm32-wasi.sh +45 -0
  132. package/ios/libsodium-stable/lgtm.yml +6 -0
  133. package/ios/libsodium-stable/libsodium-uninstalled.pc.in +7 -0
  134. package/ios/libsodium-stable/libsodium.pc.in +12 -0
  135. package/ios/libsodium-stable/logo.png +0 -0
  136. package/ios/libsodium-stable/m4/ax_add_fortify_source.m4 +121 -0
  137. package/ios/libsodium-stable/m4/ax_check_catchable_abrt.m4 +57 -0
  138. package/ios/libsodium-stable/m4/ax_check_catchable_segv.m4 +47 -0
  139. package/ios/libsodium-stable/m4/ax_check_compile_flag.m4 +55 -0
  140. package/ios/libsodium-stable/m4/ax_check_define.m4 +73 -0
  141. package/ios/libsodium-stable/m4/ax_check_gnu_make.m4 +95 -0
  142. package/ios/libsodium-stable/m4/ax_check_link_flag.m4 +75 -0
  143. package/ios/libsodium-stable/m4/ax_pthread.m4 +522 -0
  144. package/ios/libsodium-stable/m4/ax_tls.m4 +71 -0
  145. package/ios/libsodium-stable/m4/ax_valgrind_check.m4 +241 -0
  146. package/ios/libsodium-stable/m4/ld-output-def.m4 +29 -0
  147. package/ios/libsodium-stable/packaging/dotnet-core/libsodium.pkgproj +49 -0
  148. package/ios/libsodium-stable/packaging/dotnet-core/test.cs +43 -0
  149. package/ios/libsodium-stable/packaging/nuget/package.bat +13 -0
  150. package/ios/libsodium-stable/packaging/nuget/package.config +4 -0
  151. package/ios/libsodium-stable/packaging/nuget/package.gsl +260 -0
  152. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj +326 -0
  153. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters +23 -0
  154. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters.tpl +35 -0
  155. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.tpl +37 -0
  156. package/ios/libsodium-stable/regen-msvc/regen-msvc.py +240 -0
  157. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.filters.tpl +23 -0
  158. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.tpl +332 -0
  159. package/ios/libsodium-stable/src/Makefile.am +3 -0
  160. package/ios/libsodium-stable/src/libsodium/Makefile.am +314 -0
  161. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c +159 -0
  162. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.c +70 -0
  163. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.h +8 -0
  164. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c +72 -0
  165. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.h +8 -0
  166. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_common.h +248 -0
  167. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.c +59 -0
  168. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.h +8 -0
  169. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/implementations.h +17 -0
  170. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +158 -0
  171. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c +65 -0
  172. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.h +8 -0
  173. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c +70 -0
  174. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.h +8 -0
  175. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_common.h +231 -0
  176. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.c +54 -0
  177. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.h +8 -0
  178. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/implementations.h +17 -0
  179. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c +157 -0
  180. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +1015 -0
  181. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +1032 -0
  182. package/ios/libsodium-stable/src/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c +400 -0
  183. package/ios/libsodium-stable/src/libsodium/crypto_aead/xchacha20poly1305/aead_xchacha20poly1305.c +262 -0
  184. package/ios/libsodium-stable/src/libsodium/crypto_auth/crypto_auth.c +41 -0
  185. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +118 -0
  186. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +118 -0
  187. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +93 -0
  188. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box.c +114 -0
  189. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_easy.c +115 -0
  190. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_seal.c +68 -0
  191. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +204 -0
  192. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +79 -0
  193. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +156 -0
  194. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ed25519.c +225 -0
  195. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ristretto255.c +156 -0
  196. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +2873 -0
  197. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +1344 -0
  198. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +40 -0
  199. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +40 -0
  200. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +220 -0
  201. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +1344 -0
  202. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +40 -0
  203. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +41 -0
  204. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +116 -0
  205. package/ios/libsodium-stable/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +93 -0
  206. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +21 -0
  207. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +95 -0
  208. package/ios/libsodium-stable/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +195 -0
  209. package/ios/libsodium-stable/src/libsodium/crypto_core/softaes/softaes.c +340 -0
  210. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +55 -0
  211. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +106 -0
  212. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +52 -0
  213. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +142 -0
  214. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +93 -0
  215. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +91 -0
  216. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +106 -0
  217. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +95 -0
  218. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +106 -0
  219. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +340 -0
  220. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +164 -0
  221. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +307 -0
  222. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +438 -0
  223. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +116 -0
  224. package/ios/libsodium-stable/src/libsodium/crypto_generichash/crypto_generichash.c +91 -0
  225. package/ios/libsodium-stable/src/libsodium/crypto_hash/crypto_hash.c +20 -0
  226. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +256 -0
  227. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/hash_sha256.c +13 -0
  228. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +284 -0
  229. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/hash_sha512.c +13 -0
  230. package/ios/libsodium-stable/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +52 -0
  231. package/ios/libsodium-stable/src/libsodium/crypto_kdf/crypto_kdf.c +49 -0
  232. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha256.c +123 -0
  233. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha512.c +123 -0
  234. package/ios/libsodium-stable/src/libsodium/crypto_kx/crypto_kx.c +143 -0
  235. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +71 -0
  236. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +124 -0
  237. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +12 -0
  238. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +235 -0
  239. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +221 -0
  240. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +90 -0
  241. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +21 -0
  242. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +957 -0
  243. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +12 -0
  244. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.c +556 -0
  245. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.h +271 -0
  246. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +306 -0
  247. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +34 -0
  248. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +243 -0
  249. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +251 -0
  250. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +234 -0
  251. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +244 -0
  252. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.c +283 -0
  253. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.h +305 -0
  254. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +79 -0
  255. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +8 -0
  256. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +150 -0
  257. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +145 -0
  258. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +40 -0
  259. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +124 -0
  260. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +294 -0
  261. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +238 -0
  262. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/crypto_pwhash.c +212 -0
  263. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +268 -0
  264. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +92 -0
  265. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +318 -0
  266. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +96 -0
  267. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +45 -0
  268. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +301 -0
  269. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +112 -0
  270. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +406 -0
  271. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +33 -0
  272. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +182 -0
  273. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +10 -0
  274. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +25 -0
  275. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +20 -0
  276. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +71 -0
  277. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +9 -0
  278. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +26 -0
  279. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +35 -0
  280. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +58 -0
  281. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +200 -0
  282. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +16 -0
  283. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +174 -0
  284. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +228 -0
  285. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +78 -0
  286. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +1442 -0
  287. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +18 -0
  288. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +8 -0
  289. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +16 -0
  290. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +60 -0
  291. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +11 -0
  292. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +121 -0
  293. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c +63 -0
  294. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox.c +67 -0
  295. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +145 -0
  296. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +177 -0
  297. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +89 -0
  298. package/ios/libsodium-stable/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +313 -0
  299. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/crypto_shorthash.c +34 -0
  300. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +71 -0
  301. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +24 -0
  302. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +77 -0
  303. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +11 -0
  304. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +11 -0
  305. package/ios/libsodium-stable/src/libsodium/crypto_sign/crypto_sign.c +115 -0
  306. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +84 -0
  307. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +118 -0
  308. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/open.c +98 -0
  309. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign.c +128 -0
  310. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +18 -0
  311. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +97 -0
  312. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +180 -0
  313. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +8 -0
  314. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +176 -0
  315. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +8 -0
  316. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +86 -0
  317. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +98 -0
  318. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +177 -0
  319. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +326 -0
  320. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +312 -0
  321. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +8 -0
  322. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +184 -0
  323. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +22 -0
  324. package/ios/libsodium-stable/src/libsodium/crypto_stream/crypto_stream.c +49 -0
  325. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +120 -0
  326. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +8 -0
  327. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +100 -0
  328. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +16 -0
  329. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +965 -0
  330. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +31 -0
  331. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +8 -0
  332. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +134 -0
  333. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +8 -0
  334. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +128 -0
  335. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +8 -0
  336. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +195 -0
  337. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +207 -0
  338. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +547 -0
  339. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +477 -0
  340. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +106 -0
  341. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +26 -0
  342. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +106 -0
  343. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +26 -0
  344. package/ios/libsodium-stable/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +69 -0
  345. package/ios/libsodium-stable/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +66 -0
  346. package/ios/libsodium-stable/src/libsodium/crypto_verify/verify.c +103 -0
  347. package/ios/libsodium-stable/src/libsodium/include/Makefile.am +76 -0
  348. package/ios/libsodium-stable/src/libsodium/include/sodium/core.h +28 -0
  349. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis128l.h +92 -0
  350. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis256.h +92 -0
  351. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +179 -0
  352. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +180 -0
  353. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +100 -0
  354. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth.h +46 -0
  355. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +70 -0
  356. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +68 -0
  357. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +65 -0
  358. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box.h +177 -0
  359. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +164 -0
  360. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +112 -0
  361. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ed25519.h +100 -0
  362. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hchacha20.h +36 -0
  363. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hsalsa20.h +36 -0
  364. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ristretto255.h +100 -0
  365. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa20.h +36 -0
  366. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa2012.h +36 -0
  367. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa208.h +40 -0
  368. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash.h +84 -0
  369. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash_blake2b.h +122 -0
  370. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash.h +40 -0
  371. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha256.h +60 -0
  372. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha512.h +60 -0
  373. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf.h +53 -0
  374. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_blake2b.h +44 -0
  375. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha256.h +74 -0
  376. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha512.h +75 -0
  377. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kx.h +66 -0
  378. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth.h +65 -0
  379. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +72 -0
  380. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash.h +147 -0
  381. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +122 -0
  382. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +122 -0
  383. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +120 -0
  384. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult.h +46 -0
  385. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +42 -0
  386. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +51 -0
  387. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +43 -0
  388. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox.h +93 -0
  389. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +70 -0
  390. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +69 -0
  391. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +108 -0
  392. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash.h +41 -0
  393. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +50 -0
  394. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign.h +107 -0
  395. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_ed25519.h +124 -0
  396. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +55 -0
  397. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream.h +59 -0
  398. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_chacha20.h +106 -0
  399. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa20.h +61 -0
  400. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa2012.h +53 -0
  401. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa208.h +56 -0
  402. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xchacha20.h +61 -0
  403. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +61 -0
  404. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_16.h +23 -0
  405. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_32.h +23 -0
  406. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_64.h +23 -0
  407. package/ios/libsodium-stable/src/libsodium/include/sodium/export.h +57 -0
  408. package/ios/libsodium-stable/src/libsodium/include/sodium/private/asm_cet.h +11 -0
  409. package/ios/libsodium-stable/src/libsodium/include/sodium/private/chacha20_ietf_ext.h +16 -0
  410. package/ios/libsodium-stable/src/libsodium/include/sodium/private/common.h +296 -0
  411. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10.h +142 -0
  412. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +1030 -0
  413. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +508 -0
  414. package/ios/libsodium-stable/src/libsodium/include/sodium/private/implementations.h +13 -0
  415. package/ios/libsodium-stable/src/libsodium/include/sodium/private/mutex.h +7 -0
  416. package/ios/libsodium-stable/src/libsodium/include/sodium/private/softaes.h +56 -0
  417. package/ios/libsodium-stable/src/libsodium/include/sodium/private/sse2_64_32.h +50 -0
  418. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes.h +72 -0
  419. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_internal_random.h +22 -0
  420. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_sysrandom.h +19 -0
  421. package/ios/libsodium-stable/src/libsodium/include/sodium/runtime.h +55 -0
  422. package/ios/libsodium-stable/src/libsodium/include/sodium/utils.h +179 -0
  423. package/ios/libsodium-stable/src/libsodium/include/sodium/version.h.in +33 -0
  424. package/ios/libsodium-stable/src/libsodium/include/sodium.h +75 -0
  425. package/ios/libsodium-stable/src/libsodium/randombytes/internal/randombytes_internal_random.c +646 -0
  426. package/ios/libsodium-stable/src/libsodium/randombytes/randombytes.c +200 -0
  427. package/ios/libsodium-stable/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +396 -0
  428. package/ios/libsodium-stable/src/libsodium/sodium/codecs.c +335 -0
  429. package/ios/libsodium-stable/src/libsodium/sodium/core.c +216 -0
  430. package/ios/libsodium-stable/src/libsodium/sodium/runtime.c +391 -0
  431. package/ios/libsodium-stable/src/libsodium/sodium/utils.c +809 -0
  432. package/ios/libsodium-stable/src/libsodium/sodium/version.c +30 -0
  433. package/ios/libsodium-stable/test/Makefile.am +5 -0
  434. package/ios/libsodium-stable/test/constcheck.sh +22 -0
  435. package/ios/libsodium-stable/test/default/Makefile.am +525 -0
  436. package/ios/libsodium-stable/test/default/aead_aegis128l.c +642 -0
  437. package/ios/libsodium-stable/test/default/aead_aegis128l.exp +1 -0
  438. package/ios/libsodium-stable/test/default/aead_aegis256.c +723 -0
  439. package/ios/libsodium-stable/test/default/aead_aegis256.exp +1 -0
  440. package/ios/libsodium-stable/test/default/aead_aes256gcm.c +3328 -0
  441. package/ios/libsodium-stable/test/default/aead_aes256gcm.exp +1 -0
  442. package/ios/libsodium-stable/test/default/aead_aes256gcm2.c +276 -0
  443. package/ios/libsodium-stable/test/default/aead_aes256gcm2.exp +1 -0
  444. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.c +372 -0
  445. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.exp +63 -0
  446. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.c +1046 -0
  447. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.exp +1 -0
  448. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.c +203 -0
  449. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.exp +51 -0
  450. package/ios/libsodium-stable/test/default/auth.c +141 -0
  451. package/ios/libsodium-stable/test/default/auth.exp +30 -0
  452. package/ios/libsodium-stable/test/default/auth2.c +34 -0
  453. package/ios/libsodium-stable/test/default/auth2.exp +4 -0
  454. package/ios/libsodium-stable/test/default/auth3.c +36 -0
  455. package/ios/libsodium-stable/test/default/auth3.exp +1 -0
  456. package/ios/libsodium-stable/test/default/auth5.c +41 -0
  457. package/ios/libsodium-stable/test/default/auth5.exp +0 -0
  458. package/ios/libsodium-stable/test/default/auth6.c +23 -0
  459. package/ios/libsodium-stable/test/default/auth6.exp +8 -0
  460. package/ios/libsodium-stable/test/default/auth7.c +41 -0
  461. package/ios/libsodium-stable/test/default/auth7.exp +0 -0
  462. package/ios/libsodium-stable/test/default/box.c +112 -0
  463. package/ios/libsodium-stable/test/default/box.exp +38 -0
  464. package/ios/libsodium-stable/test/default/box2.c +80 -0
  465. package/ios/libsodium-stable/test/default/box2.exp +34 -0
  466. package/ios/libsodium-stable/test/default/box7.c +50 -0
  467. package/ios/libsodium-stable/test/default/box7.exp +0 -0
  468. package/ios/libsodium-stable/test/default/box8.c +58 -0
  469. package/ios/libsodium-stable/test/default/box8.exp +0 -0
  470. package/ios/libsodium-stable/test/default/box_easy.c +72 -0
  471. package/ios/libsodium-stable/test/default/box_easy.exp +3 -0
  472. package/ios/libsodium-stable/test/default/box_easy2.c +149 -0
  473. package/ios/libsodium-stable/test/default/box_easy2.exp +7 -0
  474. package/ios/libsodium-stable/test/default/box_seal.c +165 -0
  475. package/ios/libsodium-stable/test/default/box_seal.exp +8 -0
  476. package/ios/libsodium-stable/test/default/box_seed.c +30 -0
  477. package/ios/libsodium-stable/test/default/box_seed.exp +8 -0
  478. package/ios/libsodium-stable/test/default/chacha20.c +186 -0
  479. package/ios/libsodium-stable/test/default/chacha20.exp +64 -0
  480. package/ios/libsodium-stable/test/default/cmptest.h +238 -0
  481. package/ios/libsodium-stable/test/default/codecs.c +251 -0
  482. package/ios/libsodium-stable/test/default/codecs.exp +30 -0
  483. package/ios/libsodium-stable/test/default/core1.c +41 -0
  484. package/ios/libsodium-stable/test/default/core1.exp +4 -0
  485. package/ios/libsodium-stable/test/default/core2.c +38 -0
  486. package/ios/libsodium-stable/test/default/core2.exp +4 -0
  487. package/ios/libsodium-stable/test/default/core3.c +115 -0
  488. package/ios/libsodium-stable/test/default/core3.exp +3 -0
  489. package/ios/libsodium-stable/test/default/core4.c +36 -0
  490. package/ios/libsodium-stable/test/default/core4.exp +8 -0
  491. package/ios/libsodium-stable/test/default/core5.c +33 -0
  492. package/ios/libsodium-stable/test/default/core5.exp +4 -0
  493. package/ios/libsodium-stable/test/default/core6.c +52 -0
  494. package/ios/libsodium-stable/test/default/core6.exp +4 -0
  495. package/ios/libsodium-stable/test/default/core_ed25519.c +545 -0
  496. package/ios/libsodium-stable/test/default/core_ed25519.exp +55 -0
  497. package/ios/libsodium-stable/test/default/core_ristretto255.c +271 -0
  498. package/ios/libsodium-stable/test/default/core_ristretto255.exp +8 -0
  499. package/ios/libsodium-stable/test/default/ed25519_convert.c +70 -0
  500. package/ios/libsodium-stable/test/default/ed25519_convert.exp +3 -0
  501. package/ios/libsodium-stable/test/default/generichash.c +1406 -0
  502. package/ios/libsodium-stable/test/default/generichash.exp +65 -0
  503. package/ios/libsodium-stable/test/default/generichash2.c +62 -0
  504. package/ios/libsodium-stable/test/default/generichash2.exp +64 -0
  505. package/ios/libsodium-stable/test/default/generichash3.c +176 -0
  506. package/ios/libsodium-stable/test/default/generichash3.exp +75 -0
  507. package/ios/libsodium-stable/test/default/hash.c +47 -0
  508. package/ios/libsodium-stable/test/default/hash.exp +4 -0
  509. package/ios/libsodium-stable/test/default/hash3.c +20 -0
  510. package/ios/libsodium-stable/test/default/hash3.exp +1 -0
  511. package/ios/libsodium-stable/test/default/index.html.tpl +98 -0
  512. package/ios/libsodium-stable/test/default/kdf.c +71 -0
  513. package/ios/libsodium-stable/test/default/kdf.exp +77 -0
  514. package/ios/libsodium-stable/test/default/kdf_hkdf.c +102 -0
  515. package/ios/libsodium-stable/test/default/kdf_hkdf.exp +205 -0
  516. package/ios/libsodium-stable/test/default/keygen.c +67 -0
  517. package/ios/libsodium-stable/test/default/keygen.exp +1 -0
  518. package/ios/libsodium-stable/test/default/kx.c +149 -0
  519. package/ios/libsodium-stable/test/default/kx.exp +7 -0
  520. package/ios/libsodium-stable/test/default/metamorphic.c +187 -0
  521. package/ios/libsodium-stable/test/default/metamorphic.exp +1 -0
  522. package/ios/libsodium-stable/test/default/misuse.c +187 -0
  523. package/ios/libsodium-stable/test/default/misuse.exp +0 -0
  524. package/ios/libsodium-stable/test/default/onetimeauth.c +63 -0
  525. package/ios/libsodium-stable/test/default/onetimeauth.exp +4 -0
  526. package/ios/libsodium-stable/test/default/onetimeauth2.c +33 -0
  527. package/ios/libsodium-stable/test/default/onetimeauth2.exp +1 -0
  528. package/ios/libsodium-stable/test/default/onetimeauth7.c +36 -0
  529. package/ios/libsodium-stable/test/default/onetimeauth7.exp +0 -0
  530. package/ios/libsodium-stable/test/default/pre.js.inc +22 -0
  531. package/ios/libsodium-stable/test/default/pwhash_argon2i.c +467 -0
  532. package/ios/libsodium-stable/test/default/pwhash_argon2i.exp +11 -0
  533. package/ios/libsodium-stable/test/default/pwhash_argon2id.c +517 -0
  534. package/ios/libsodium-stable/test/default/pwhash_argon2id.exp +14 -0
  535. package/ios/libsodium-stable/test/default/pwhash_scrypt.c +393 -0
  536. package/ios/libsodium-stable/test/default/pwhash_scrypt.exp +37 -0
  537. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.c +59 -0
  538. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.exp +15 -0
  539. package/ios/libsodium-stable/test/default/randombytes.c +164 -0
  540. package/ios/libsodium-stable/test/default/randombytes.exp +2 -0
  541. package/ios/libsodium-stable/test/default/run.sh +9 -0
  542. package/ios/libsodium-stable/test/default/scalarmult.c +77 -0
  543. package/ios/libsodium-stable/test/default/scalarmult.exp +5 -0
  544. package/ios/libsodium-stable/test/default/scalarmult2.c +22 -0
  545. package/ios/libsodium-stable/test/default/scalarmult2.exp +1 -0
  546. package/ios/libsodium-stable/test/default/scalarmult5.c +30 -0
  547. package/ios/libsodium-stable/test/default/scalarmult5.exp +1 -0
  548. package/ios/libsodium-stable/test/default/scalarmult6.c +54 -0
  549. package/ios/libsodium-stable/test/default/scalarmult6.exp +4 -0
  550. package/ios/libsodium-stable/test/default/scalarmult7.c +34 -0
  551. package/ios/libsodium-stable/test/default/scalarmult7.exp +1 -0
  552. package/ios/libsodium-stable/test/default/scalarmult8.c +580 -0
  553. package/ios/libsodium-stable/test/default/scalarmult8.exp +65 -0
  554. package/ios/libsodium-stable/test/default/scalarmult_ed25519.c +134 -0
  555. package/ios/libsodium-stable/test/default/scalarmult_ed25519.exp +1 -0
  556. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.c +51 -0
  557. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.exp +18 -0
  558. package/ios/libsodium-stable/test/default/secretbox.c +84 -0
  559. package/ios/libsodium-stable/test/default/secretbox.exp +38 -0
  560. package/ios/libsodium-stable/test/default/secretbox2.c +55 -0
  561. package/ios/libsodium-stable/test/default/secretbox2.exp +17 -0
  562. package/ios/libsodium-stable/test/default/secretbox7.c +36 -0
  563. package/ios/libsodium-stable/test/default/secretbox7.exp +0 -0
  564. package/ios/libsodium-stable/test/default/secretbox8.c +41 -0
  565. package/ios/libsodium-stable/test/default/secretbox8.exp +0 -0
  566. package/ios/libsodium-stable/test/default/secretbox_easy.c +124 -0
  567. package/ios/libsodium-stable/test/default/secretbox_easy.exp +9 -0
  568. package/ios/libsodium-stable/test/default/secretbox_easy2.c +72 -0
  569. package/ios/libsodium-stable/test/default/secretbox_easy2.exp +5 -0
  570. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.c +329 -0
  571. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.exp +1 -0
  572. package/ios/libsodium-stable/test/default/shorthash.c +35 -0
  573. package/ios/libsodium-stable/test/default/shorthash.exp +64 -0
  574. package/ios/libsodium-stable/test/default/sign.c +1324 -0
  575. package/ios/libsodium-stable/test/default/sign.exp +5 -0
  576. package/ios/libsodium-stable/test/default/siphashx24.c +33 -0
  577. package/ios/libsodium-stable/test/default/siphashx24.exp +64 -0
  578. package/ios/libsodium-stable/test/default/sodium_core.c +43 -0
  579. package/ios/libsodium-stable/test/default/sodium_core.exp +1 -0
  580. package/ios/libsodium-stable/test/default/sodium_utils.c +224 -0
  581. package/ios/libsodium-stable/test/default/sodium_utils.exp +25 -0
  582. package/ios/libsodium-stable/test/default/sodium_utils2.c +120 -0
  583. package/ios/libsodium-stable/test/default/sodium_utils2.exp +3 -0
  584. package/ios/libsodium-stable/test/default/sodium_utils3.c +90 -0
  585. package/ios/libsodium-stable/test/default/sodium_utils3.exp +2 -0
  586. package/ios/libsodium-stable/test/default/sodium_version.c +18 -0
  587. package/ios/libsodium-stable/test/default/sodium_version.exp +3 -0
  588. package/ios/libsodium-stable/test/default/stream.c +84 -0
  589. package/ios/libsodium-stable/test/default/stream.exp +83 -0
  590. package/ios/libsodium-stable/test/default/stream2.c +59 -0
  591. package/ios/libsodium-stable/test/default/stream2.exp +2 -0
  592. package/ios/libsodium-stable/test/default/stream3.c +32 -0
  593. package/ios/libsodium-stable/test/default/stream3.exp +4 -0
  594. package/ios/libsodium-stable/test/default/stream4.c +51 -0
  595. package/ios/libsodium-stable/test/default/stream4.exp +17 -0
  596. package/ios/libsodium-stable/test/default/verify1.c +76 -0
  597. package/ios/libsodium-stable/test/default/verify1.exp +2 -0
  598. package/ios/libsodium-stable/test/default/wasi-test-wrapper.sh +98 -0
  599. package/ios/libsodium-stable/test/default/wintest.bat +61 -0
  600. package/ios/libsodium-stable/test/default/xchacha20.c +428 -0
  601. package/ios/libsodium-stable/test/default/xchacha20.exp +5 -0
  602. package/ios/libsodium-stable/test/quirks/quirks.h +34 -0
  603. package/lib/commonjs/cipher.js +29 -6
  604. package/lib/commonjs/cipher.js.map +1 -1
  605. package/lib/commonjs/index.js +5 -5
  606. package/lib/commonjs/index.js.map +1 -1
  607. package/lib/module/cipher.js +28 -5
  608. package/lib/module/cipher.js.map +1 -1
  609. package/lib/module/index.js +1 -1
  610. package/lib/module/index.js.map +1 -1
  611. package/lib/tsconfig.tsbuildinfo +1 -1
  612. package/lib/typescript/cipher.d.ts +14 -8
  613. package/lib/typescript/cipher.d.ts.map +1 -1
  614. package/lib/typescript/index.d.ts +11 -3
  615. package/lib/typescript/index.d.ts.map +1 -1
  616. package/package.json +1 -1
  617. package/src/cipher.ts +34 -9
  618. package/src/index.ts +1 -1
@@ -0,0 +1,212 @@
1
+
2
+ #include <errno.h>
3
+ #include <string.h>
4
+
5
+ #include "core.h"
6
+ #include "crypto_pwhash.h"
7
+
8
+ int
9
+ crypto_pwhash_alg_argon2i13(void)
10
+ {
11
+ return crypto_pwhash_ALG_ARGON2I13;
12
+ }
13
+
14
+ int
15
+ crypto_pwhash_alg_argon2id13(void)
16
+ {
17
+ return crypto_pwhash_ALG_ARGON2ID13;
18
+ }
19
+
20
+ int
21
+ crypto_pwhash_alg_default(void)
22
+ {
23
+ return crypto_pwhash_ALG_DEFAULT;
24
+ }
25
+
26
+ size_t
27
+ crypto_pwhash_bytes_min(void)
28
+ {
29
+ return crypto_pwhash_BYTES_MIN;
30
+ }
31
+
32
+ size_t
33
+ crypto_pwhash_bytes_max(void)
34
+ {
35
+ return crypto_pwhash_BYTES_MAX;
36
+ }
37
+
38
+ size_t
39
+ crypto_pwhash_passwd_min(void)
40
+ {
41
+ return crypto_pwhash_PASSWD_MIN;
42
+ }
43
+
44
+ size_t
45
+ crypto_pwhash_passwd_max(void)
46
+ {
47
+ return crypto_pwhash_PASSWD_MAX;
48
+ }
49
+
50
+ size_t
51
+ crypto_pwhash_saltbytes(void)
52
+ {
53
+ return crypto_pwhash_SALTBYTES;
54
+ }
55
+
56
+ size_t
57
+ crypto_pwhash_strbytes(void)
58
+ {
59
+ return crypto_pwhash_STRBYTES;
60
+ }
61
+
62
+ const char *
63
+ crypto_pwhash_strprefix(void)
64
+ {
65
+ return crypto_pwhash_STRPREFIX;
66
+ }
67
+
68
+ size_t
69
+ crypto_pwhash_opslimit_min(void)
70
+ {
71
+ return crypto_pwhash_OPSLIMIT_MIN;
72
+ }
73
+
74
+ size_t
75
+ crypto_pwhash_opslimit_max(void)
76
+ {
77
+ return crypto_pwhash_OPSLIMIT_MAX;
78
+ }
79
+
80
+ size_t
81
+ crypto_pwhash_memlimit_min(void)
82
+ {
83
+ return crypto_pwhash_MEMLIMIT_MIN;
84
+ }
85
+
86
+ size_t
87
+ crypto_pwhash_memlimit_max(void)
88
+ {
89
+ return crypto_pwhash_MEMLIMIT_MAX;
90
+ }
91
+
92
+ size_t
93
+ crypto_pwhash_opslimit_interactive(void)
94
+ {
95
+ return crypto_pwhash_OPSLIMIT_INTERACTIVE;
96
+ }
97
+
98
+ size_t
99
+ crypto_pwhash_memlimit_interactive(void)
100
+ {
101
+ return crypto_pwhash_MEMLIMIT_INTERACTIVE;
102
+ }
103
+
104
+ size_t
105
+ crypto_pwhash_opslimit_moderate(void)
106
+ {
107
+ return crypto_pwhash_OPSLIMIT_MODERATE;
108
+ }
109
+
110
+ size_t
111
+ crypto_pwhash_memlimit_moderate(void)
112
+ {
113
+ return crypto_pwhash_MEMLIMIT_MODERATE;
114
+ }
115
+
116
+ size_t
117
+ crypto_pwhash_opslimit_sensitive(void)
118
+ {
119
+ return crypto_pwhash_OPSLIMIT_SENSITIVE;
120
+ }
121
+
122
+ size_t
123
+ crypto_pwhash_memlimit_sensitive(void)
124
+ {
125
+ return crypto_pwhash_MEMLIMIT_SENSITIVE;
126
+ }
127
+
128
+ int
129
+ crypto_pwhash(unsigned char * const out, unsigned long long outlen,
130
+ const char * const passwd, unsigned long long passwdlen,
131
+ const unsigned char * const salt,
132
+ unsigned long long opslimit, size_t memlimit, int alg)
133
+ {
134
+ switch (alg) {
135
+ case crypto_pwhash_ALG_ARGON2I13:
136
+ return crypto_pwhash_argon2i(out, outlen, passwd, passwdlen, salt,
137
+ opslimit, memlimit, alg);
138
+ case crypto_pwhash_ALG_ARGON2ID13:
139
+ return crypto_pwhash_argon2id(out, outlen, passwd, passwdlen, salt,
140
+ opslimit, memlimit, alg);
141
+ default:
142
+ errno = EINVAL;
143
+ return -1;
144
+ }
145
+ }
146
+
147
+ int
148
+ crypto_pwhash_str(char out[crypto_pwhash_STRBYTES],
149
+ const char * const passwd, unsigned long long passwdlen,
150
+ unsigned long long opslimit, size_t memlimit)
151
+ {
152
+ return crypto_pwhash_argon2id_str(out, passwd, passwdlen,
153
+ opslimit, memlimit);
154
+ }
155
+
156
+ int
157
+ crypto_pwhash_str_alg(char out[crypto_pwhash_STRBYTES],
158
+ const char * const passwd, unsigned long long passwdlen,
159
+ unsigned long long opslimit, size_t memlimit, int alg)
160
+ {
161
+ switch (alg) {
162
+ case crypto_pwhash_ALG_ARGON2I13:
163
+ return crypto_pwhash_argon2i_str(out, passwd, passwdlen,
164
+ opslimit, memlimit);
165
+ case crypto_pwhash_ALG_ARGON2ID13:
166
+ return crypto_pwhash_argon2id_str(out, passwd, passwdlen,
167
+ opslimit, memlimit);
168
+ }
169
+ sodium_misuse();
170
+ /* NOTREACHED */
171
+ return -1;
172
+ }
173
+
174
+ int
175
+ crypto_pwhash_str_verify(const char * str,
176
+ const char * const passwd,
177
+ unsigned long long passwdlen)
178
+ {
179
+ if (strncmp(str, crypto_pwhash_argon2id_STRPREFIX,
180
+ sizeof crypto_pwhash_argon2id_STRPREFIX - 1) == 0) {
181
+ return crypto_pwhash_argon2id_str_verify(str, passwd, passwdlen);
182
+ }
183
+ if (strncmp(str, crypto_pwhash_argon2i_STRPREFIX,
184
+ sizeof crypto_pwhash_argon2i_STRPREFIX - 1) == 0) {
185
+ return crypto_pwhash_argon2i_str_verify(str, passwd, passwdlen);
186
+ }
187
+ errno = EINVAL;
188
+
189
+ return -1;
190
+ }
191
+
192
+ int
193
+ crypto_pwhash_str_needs_rehash(const char * str,
194
+ unsigned long long opslimit, size_t memlimit)
195
+ {
196
+ if (strncmp(str, crypto_pwhash_argon2id_STRPREFIX,
197
+ sizeof crypto_pwhash_argon2id_STRPREFIX - 1) == 0) {
198
+ return crypto_pwhash_argon2id_str_needs_rehash(str, opslimit, memlimit);
199
+ }
200
+ if (strncmp(str, crypto_pwhash_argon2i_STRPREFIX,
201
+ sizeof crypto_pwhash_argon2i_STRPREFIX - 1) == 0) {
202
+ return crypto_pwhash_argon2i_str_needs_rehash(str, opslimit, memlimit);
203
+ }
204
+ errno = EINVAL;
205
+
206
+ return -1;
207
+ }
208
+
209
+ const char *
210
+ crypto_pwhash_primitive(void) {
211
+ return crypto_pwhash_PRIMITIVE;
212
+ }
@@ -0,0 +1,268 @@
1
+ /*-
2
+ * Copyright 2013 Alexander Peslyak
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted.
7
+ *
8
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
9
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
10
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
11
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
12
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
13
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
14
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
15
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
16
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
17
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
18
+ * SUCH DAMAGE.
19
+ */
20
+
21
+ #include <stdint.h>
22
+ #include <string.h>
23
+
24
+ #include "crypto_pwhash_scryptsalsa208sha256.h"
25
+ #include "crypto_scrypt.h"
26
+ #include "private/common.h"
27
+ #include "randombytes.h"
28
+ #include "runtime.h"
29
+ #include "utils.h"
30
+
31
+ static const char *const itoa64 =
32
+ "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
33
+
34
+ static uint8_t *
35
+ encode64_uint32(uint8_t *dst, size_t dstlen, uint32_t src, uint32_t srcbits)
36
+ {
37
+ uint32_t bit;
38
+
39
+ for (bit = 0; bit < srcbits; bit += 6) {
40
+ if (dstlen < 1) {
41
+ return NULL; /* LCOV_EXCL_LINE */
42
+ }
43
+ *dst++ = itoa64[src & 0x3f];
44
+ dstlen--;
45
+ src >>= 6;
46
+ }
47
+ return dst;
48
+ }
49
+
50
+ static uint8_t *
51
+ encode64(uint8_t *dst, size_t dstlen, const uint8_t *src, size_t srclen)
52
+ {
53
+ size_t i;
54
+
55
+ for (i = 0; i < srclen;) {
56
+ uint8_t *dnext;
57
+ uint32_t value = 0, bits = 0;
58
+
59
+ do {
60
+ value |= (uint32_t) src[i++] << bits;
61
+ bits += 8;
62
+ } while (bits < 24 && i < srclen);
63
+
64
+ dnext = encode64_uint32(dst, dstlen, value, bits);
65
+ if (!dnext) {
66
+ return NULL; /* LCOV_EXCL_LINE */
67
+ }
68
+ dstlen -= dnext - dst;
69
+ dst = dnext;
70
+ }
71
+ return dst;
72
+ }
73
+
74
+ static int
75
+ decode64_one(uint32_t *dst, uint8_t src)
76
+ {
77
+ const char *ptr = strchr(itoa64, src);
78
+
79
+ if (ptr) {
80
+ *dst = (uint32_t)(ptr - itoa64);
81
+ return 0;
82
+ }
83
+ *dst = 0;
84
+
85
+ return -1;
86
+ }
87
+
88
+ static const uint8_t *
89
+ decode64_uint32(uint32_t *dst, uint32_t dstbits, const uint8_t *src)
90
+ {
91
+ uint32_t bit;
92
+ uint32_t value;
93
+
94
+ value = 0;
95
+ for (bit = 0; bit < dstbits; bit += 6) {
96
+ uint32_t one;
97
+ if (decode64_one(&one, *src)) {
98
+ *dst = 0;
99
+ return NULL;
100
+ }
101
+ src++;
102
+ value |= one << bit;
103
+ }
104
+ *dst = value;
105
+
106
+ return src;
107
+ }
108
+
109
+ const uint8_t *
110
+ escrypt_parse_setting(const uint8_t *setting,
111
+ uint32_t *N_log2_p, uint32_t *r_p, uint32_t *p_p)
112
+ {
113
+ const uint8_t *src;
114
+
115
+ if (setting[0] != '$' || setting[1] != '7' || setting[2] != '$') {
116
+ return NULL;
117
+ }
118
+ src = setting + 3;
119
+
120
+ if (decode64_one(N_log2_p, *src)) {
121
+ return NULL;
122
+ }
123
+ src++;
124
+
125
+ src = decode64_uint32(r_p, 30, src);
126
+ if (!src) {
127
+ return NULL;
128
+ }
129
+
130
+ src = decode64_uint32(p_p, 30, src);
131
+ if (!src) {
132
+ return NULL;
133
+ }
134
+ return src;
135
+ }
136
+
137
+ uint8_t *
138
+ escrypt_r(escrypt_local_t *local, const uint8_t *passwd, size_t passwdlen,
139
+ const uint8_t *setting, uint8_t *buf, size_t buflen)
140
+ {
141
+ uint8_t hash[crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES];
142
+ escrypt_kdf_t escrypt_kdf;
143
+ const uint8_t *src;
144
+ const uint8_t *salt;
145
+ uint8_t *dst;
146
+ size_t prefixlen;
147
+ size_t saltlen;
148
+ size_t need;
149
+ uint64_t N;
150
+ uint32_t N_log2;
151
+ uint32_t r;
152
+ uint32_t p;
153
+
154
+ if (buf != NULL) {
155
+ randombytes_buf(buf, buflen);
156
+ }
157
+
158
+ src = escrypt_parse_setting(setting, &N_log2, &r, &p);
159
+ if (!src) {
160
+ return NULL;
161
+ }
162
+ N = (uint64_t) 1 << N_log2;
163
+ prefixlen = src - setting;
164
+
165
+ salt = src;
166
+ src = (const uint8_t *) strrchr((const char *) salt, '$');
167
+ if (src) {
168
+ saltlen = src - salt;
169
+ } else {
170
+ saltlen = strlen((const char *) salt);
171
+ }
172
+ need = prefixlen + saltlen + 1 +
173
+ crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED + 1;
174
+ if (need > buflen || need < saltlen) {
175
+ return NULL;
176
+ }
177
+ #ifdef HAVE_EMMINTRIN_H
178
+ escrypt_kdf =
179
+ sodium_runtime_has_sse2() ? escrypt_kdf_sse : escrypt_kdf_nosse;
180
+ #else
181
+ escrypt_kdf = escrypt_kdf_nosse;
182
+ #endif
183
+ if (escrypt_kdf(local, passwd, passwdlen, salt, saltlen, N, r, p, hash,
184
+ sizeof(hash))) {
185
+ return NULL;
186
+ }
187
+ dst = buf;
188
+ memcpy(dst, setting, prefixlen + saltlen);
189
+ dst += prefixlen + saltlen;
190
+ *dst++ = '$';
191
+
192
+ dst = encode64(dst, buflen - (dst - buf), hash, sizeof(hash));
193
+ sodium_memzero(hash, sizeof hash);
194
+ if (!dst || dst >= buf + buflen) {
195
+ return NULL; /* Can't happen LCOV_EXCL_LINE */
196
+ }
197
+ *dst = 0; /* NUL termination */
198
+
199
+ return buf;
200
+ }
201
+
202
+ uint8_t *
203
+ escrypt_gensalt_r(uint32_t N_log2, uint32_t r, uint32_t p, const uint8_t *src,
204
+ size_t srclen, uint8_t *buf, size_t buflen)
205
+ {
206
+ uint8_t *dst;
207
+ size_t prefixlen =
208
+ (sizeof "$7$" - 1U) + (1U /* N_log2 */) + (5U /* r */) + (5U /* p */);
209
+ size_t saltlen = BYTES2CHARS(srclen);
210
+ size_t need;
211
+
212
+ need = prefixlen + saltlen + 1;
213
+ if (need > buflen || need < saltlen || saltlen < srclen) {
214
+ return NULL; /* LCOV_EXCL_LINE */
215
+ }
216
+ if (N_log2 > 63 || ((uint64_t) r * (uint64_t) p >= (1U << 30))) {
217
+ return NULL; /* LCOV_EXCL_LINE */
218
+ }
219
+ dst = buf;
220
+ *dst++ = '$';
221
+ *dst++ = '7';
222
+ *dst++ = '$';
223
+
224
+ *dst++ = itoa64[N_log2];
225
+
226
+ dst = encode64_uint32(dst, buflen - (dst - buf), r, 30);
227
+ if (!dst) {
228
+ return NULL; /* Can't happen LCOV_EXCL_LINE */
229
+ }
230
+ dst = encode64_uint32(dst, buflen - (dst - buf), p, 30);
231
+ if (!dst) {
232
+ return NULL; /* Can't happen LCOV_EXCL_LINE */
233
+ }
234
+ dst = encode64(dst, buflen - (dst - buf), src, srclen);
235
+ if (!dst || dst >= buf + buflen) {
236
+ return NULL; /* Can't happen LCOV_EXCL_LINE */
237
+ }
238
+ *dst = 0; /* NUL termination */
239
+
240
+ return buf;
241
+ }
242
+
243
+ int
244
+ crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t *passwd, size_t passwdlen,
245
+ const uint8_t *salt, size_t saltlen,
246
+ uint64_t N, uint32_t r, uint32_t p,
247
+ uint8_t *buf, size_t buflen)
248
+ {
249
+ escrypt_kdf_t escrypt_kdf;
250
+ escrypt_local_t local;
251
+ int retval;
252
+
253
+ if (escrypt_init_local(&local)) {
254
+ return -1; /* LCOV_EXCL_LINE */
255
+ }
256
+ #if defined(HAVE_EMMINTRIN_H)
257
+ escrypt_kdf =
258
+ sodium_runtime_has_sse2() ? escrypt_kdf_sse : escrypt_kdf_nosse;
259
+ #else
260
+ escrypt_kdf = escrypt_kdf_nosse;
261
+ #endif
262
+ retval = escrypt_kdf(&local, passwd, passwdlen, salt, saltlen, N, r, p, buf,
263
+ buflen);
264
+ if (escrypt_free_local(&local)) {
265
+ return -1; /* LCOV_EXCL_LINE */
266
+ }
267
+ return retval;
268
+ }
@@ -0,0 +1,92 @@
1
+ /*-
2
+ * Copyright 2009 Colin Percival
3
+ * Copyright 2013 Alexander Peslyak
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions
8
+ * are met:
9
+ * 1. Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * 2. Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25
+ * SUCH DAMAGE.
26
+ *
27
+ * This file was originally written by Colin Percival as part of the Tarsnap
28
+ * online backup system.
29
+ */
30
+ #ifndef crypto_scrypt_H
31
+ #define crypto_scrypt_H
32
+
33
+ #include <limits.h>
34
+ #include <stddef.h>
35
+ #include <stdint.h>
36
+
37
+ #define crypto_pwhash_scryptsalsa208sha256_STRPREFIXBYTES 14
38
+ #define crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES 57
39
+ #define crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES 32
40
+ #define crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES_ENCODED 43
41
+ #define crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES 32
42
+ #define crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED 43
43
+
44
+ #define BYTES2CHARS(bytes) ((((bytes) *8) + 5) / 6)
45
+
46
+ typedef struct {
47
+ void * base, *aligned;
48
+ size_t size;
49
+ } escrypt_region_t;
50
+
51
+ typedef union {
52
+ uint64_t d[8];
53
+ uint32_t w[16];
54
+ } escrypt_block_t;
55
+
56
+ typedef escrypt_region_t escrypt_local_t;
57
+
58
+ int escrypt_init_local(escrypt_local_t *__local);
59
+
60
+ int escrypt_free_local(escrypt_local_t *__local);
61
+
62
+ void *escrypt_alloc_region(escrypt_region_t *region, size_t size);
63
+ int escrypt_free_region(escrypt_region_t *region);
64
+
65
+ typedef int (*escrypt_kdf_t)(escrypt_local_t *__local, const uint8_t *__passwd,
66
+ size_t __passwdlen, const uint8_t *__salt,
67
+ size_t __saltlen, uint64_t __N, uint32_t __r,
68
+ uint32_t __p, uint8_t *__buf, size_t __buflen);
69
+
70
+ int escrypt_kdf_nosse(escrypt_local_t *__local, const uint8_t *__passwd,
71
+ size_t __passwdlen, const uint8_t *__salt,
72
+ size_t __saltlen, uint64_t __N, uint32_t __r,
73
+ uint32_t __p, uint8_t *__buf, size_t __buflen);
74
+
75
+ int escrypt_kdf_sse(escrypt_local_t *__local, const uint8_t *__passwd,
76
+ size_t __passwdlen, const uint8_t *__salt,
77
+ size_t __saltlen, uint64_t __N, uint32_t __r,
78
+ uint32_t __p, uint8_t *__buf, size_t __buflen);
79
+
80
+ uint8_t *escrypt_r(escrypt_local_t *__local, const uint8_t *__passwd,
81
+ size_t __passwdlen, const uint8_t *__setting,
82
+ uint8_t *__buf, size_t __buflen);
83
+
84
+ uint8_t *escrypt_gensalt_r(uint32_t __N_log2, uint32_t __r, uint32_t __p,
85
+ const uint8_t *__src, size_t __srclen,
86
+ uint8_t *__buf, size_t __buflen);
87
+
88
+ const uint8_t *escrypt_parse_setting(const uint8_t *setting,
89
+ uint32_t *N_log2_p, uint32_t *r_p,
90
+ uint32_t *p_p);
91
+
92
+ #endif /* !_CRYPTO_SCRYPT_H_ */