react-native-quick-crypto 1.0.0-beta.14 → 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 (632) 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/ed25519/HybridEdKeyPair.cpp +16 -1
  11. package/cpp/ed25519/HybridEdKeyPair.hpp +1 -0
  12. package/cpp/random/HybridRandom.cpp +2 -2
  13. package/cpp/utils/Utils.hpp +15 -0
  14. package/ios/libsodium-stable/.github/workflows/autocloser.yml +12 -0
  15. package/ios/libsodium-stable/.github/workflows/ci.yml +180 -0
  16. package/ios/libsodium-stable/.github/workflows/cifuzz.yml +32 -0
  17. package/ios/libsodium-stable/.github/workflows/codeql-analysis.yml +48 -0
  18. package/ios/libsodium-stable/.github/workflows/dotnet-core.yml +388 -0
  19. package/ios/libsodium-stable/AUTHORS +144 -0
  20. package/ios/libsodium-stable/CITATION.cff +18 -0
  21. package/ios/libsodium-stable/ChangeLog +658 -0
  22. package/ios/libsodium-stable/LICENSE +18 -0
  23. package/ios/libsodium-stable/Makefile.am +23 -0
  24. package/ios/libsodium-stable/README.markdown +76 -0
  25. package/ios/libsodium-stable/THANKS +92 -0
  26. package/ios/libsodium-stable/appveyor.yml +24 -0
  27. package/ios/libsodium-stable/autogen.sh +117 -0
  28. package/ios/libsodium-stable/azure-pipelines.yml +122 -0
  29. package/ios/libsodium-stable/build.zig +281 -0
  30. package/ios/libsodium-stable/builds/Makefile.am +81 -0
  31. package/ios/libsodium-stable/builds/msvc/build/buildall.bat +18 -0
  32. package/ios/libsodium-stable/builds/msvc/build/buildbase.bat +132 -0
  33. package/ios/libsodium-stable/builds/msvc/properties/ARM64.props +23 -0
  34. package/ios/libsodium-stable/builds/msvc/properties/Common.props +21 -0
  35. package/ios/libsodium-stable/builds/msvc/properties/DLL.props +16 -0
  36. package/ios/libsodium-stable/builds/msvc/properties/Debug.props +29 -0
  37. package/ios/libsodium-stable/builds/msvc/properties/DebugDEXE.props +21 -0
  38. package/ios/libsodium-stable/builds/msvc/properties/DebugDLL.props +20 -0
  39. package/ios/libsodium-stable/builds/msvc/properties/DebugLEXE.props +20 -0
  40. package/ios/libsodium-stable/builds/msvc/properties/DebugLIB.props +21 -0
  41. package/ios/libsodium-stable/builds/msvc/properties/DebugLTCG.props +20 -0
  42. package/ios/libsodium-stable/builds/msvc/properties/DebugSEXE.props +21 -0
  43. package/ios/libsodium-stable/builds/msvc/properties/EXE.props +17 -0
  44. package/ios/libsodium-stable/builds/msvc/properties/LIB.props +16 -0
  45. package/ios/libsodium-stable/builds/msvc/properties/LTCG.props +13 -0
  46. package/ios/libsodium-stable/builds/msvc/properties/Link.props +21 -0
  47. package/ios/libsodium-stable/builds/msvc/properties/Messages.props +15 -0
  48. package/ios/libsodium-stable/builds/msvc/properties/Output.props +30 -0
  49. package/ios/libsodium-stable/builds/msvc/properties/Release.props +41 -0
  50. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDEXE.props +20 -0
  51. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDLL.props +19 -0
  52. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLEXE.props +20 -0
  53. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLIB.props +19 -0
  54. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLTCG.props +19 -0
  55. package/ios/libsodium-stable/builds/msvc/properties/ReleaseSEXE.props +20 -0
  56. package/ios/libsodium-stable/builds/msvc/properties/Win32.props +23 -0
  57. package/ios/libsodium-stable/builds/msvc/properties/x64.props +26 -0
  58. package/ios/libsodium-stable/builds/msvc/resource.h +14 -0
  59. package/ios/libsodium-stable/builds/msvc/resource.rc +65 -0
  60. package/ios/libsodium-stable/builds/msvc/version.h +33 -0
  61. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.props +48 -0
  62. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj +346 -0
  63. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +1088 -0
  64. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.xml +15 -0
  65. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.props +52 -0
  66. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.xml +17 -0
  67. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.sln +50 -0
  68. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.props +48 -0
  69. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj +346 -0
  70. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +1088 -0
  71. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.xml +15 -0
  72. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.props +52 -0
  73. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.xml +17 -0
  74. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.sln +50 -0
  75. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.props +48 -0
  76. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj +346 -0
  77. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +1088 -0
  78. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.xml +15 -0
  79. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.props +52 -0
  80. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.xml +17 -0
  81. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.sln +52 -0
  82. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.props +48 -0
  83. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj +346 -0
  84. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +1088 -0
  85. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.xml +15 -0
  86. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.props +52 -0
  87. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.xml +17 -0
  88. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.sln +52 -0
  89. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.props +48 -0
  90. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj +346 -0
  91. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +1088 -0
  92. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.xml +15 -0
  93. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.props +52 -0
  94. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.xml +17 -0
  95. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.sln +52 -0
  96. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.props +48 -0
  97. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj +370 -0
  98. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +1088 -0
  99. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.xml +15 -0
  100. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.props +52 -0
  101. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.xml +17 -0
  102. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.sln +52 -0
  103. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.props +48 -0
  104. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj +370 -0
  105. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters +1088 -0
  106. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.xml +15 -0
  107. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.props +52 -0
  108. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.xml +17 -0
  109. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.sln +70 -0
  110. package/ios/libsodium-stable/ci/appveyor/libsodium.sln +40 -0
  111. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj +594 -0
  112. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj.filters +813 -0
  113. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/process.bat +5 -0
  114. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/rep.vbs +12 -0
  115. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/sodium.props +29 -0
  116. package/ios/libsodium-stable/configure.ac +1004 -0
  117. package/ios/libsodium-stable/contrib/Findsodium.cmake +297 -0
  118. package/ios/libsodium-stable/contrib/Makefile.am +3 -0
  119. package/ios/libsodium-stable/dist-build/Makefile.am +14 -0
  120. package/ios/libsodium-stable/dist-build/android-aar.sh +194 -0
  121. package/ios/libsodium-stable/dist-build/android-armv7-a.sh +5 -0
  122. package/ios/libsodium-stable/dist-build/android-armv8-a.sh +5 -0
  123. package/ios/libsodium-stable/dist-build/android-build.sh +95 -0
  124. package/ios/libsodium-stable/dist-build/android-x86.sh +5 -0
  125. package/ios/libsodium-stable/dist-build/android-x86_64.sh +5 -0
  126. package/ios/libsodium-stable/dist-build/apple-xcframework.sh +628 -0
  127. package/ios/libsodium-stable/dist-build/emscripten-symbols.def +651 -0
  128. package/ios/libsodium-stable/dist-build/emscripten.sh +206 -0
  129. package/ios/libsodium-stable/dist-build/generate-emscripten-symbols.sh +59 -0
  130. package/ios/libsodium-stable/dist-build/macos.sh +26 -0
  131. package/ios/libsodium-stable/dist-build/msys2-win32.sh +18 -0
  132. package/ios/libsodium-stable/dist-build/msys2-win64.sh +18 -0
  133. package/ios/libsodium-stable/dist-build/wasm32-wasi.sh +45 -0
  134. package/ios/libsodium-stable/lgtm.yml +6 -0
  135. package/ios/libsodium-stable/libsodium-uninstalled.pc.in +7 -0
  136. package/ios/libsodium-stable/libsodium.pc.in +12 -0
  137. package/ios/libsodium-stable/logo.png +0 -0
  138. package/ios/libsodium-stable/m4/ax_add_fortify_source.m4 +121 -0
  139. package/ios/libsodium-stable/m4/ax_check_catchable_abrt.m4 +57 -0
  140. package/ios/libsodium-stable/m4/ax_check_catchable_segv.m4 +47 -0
  141. package/ios/libsodium-stable/m4/ax_check_compile_flag.m4 +55 -0
  142. package/ios/libsodium-stable/m4/ax_check_define.m4 +73 -0
  143. package/ios/libsodium-stable/m4/ax_check_gnu_make.m4 +95 -0
  144. package/ios/libsodium-stable/m4/ax_check_link_flag.m4 +75 -0
  145. package/ios/libsodium-stable/m4/ax_pthread.m4 +522 -0
  146. package/ios/libsodium-stable/m4/ax_tls.m4 +71 -0
  147. package/ios/libsodium-stable/m4/ax_valgrind_check.m4 +241 -0
  148. package/ios/libsodium-stable/m4/ld-output-def.m4 +29 -0
  149. package/ios/libsodium-stable/packaging/dotnet-core/libsodium.pkgproj +49 -0
  150. package/ios/libsodium-stable/packaging/dotnet-core/test.cs +43 -0
  151. package/ios/libsodium-stable/packaging/nuget/package.bat +13 -0
  152. package/ios/libsodium-stable/packaging/nuget/package.config +4 -0
  153. package/ios/libsodium-stable/packaging/nuget/package.gsl +260 -0
  154. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj +326 -0
  155. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters +23 -0
  156. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters.tpl +35 -0
  157. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.tpl +37 -0
  158. package/ios/libsodium-stable/regen-msvc/regen-msvc.py +240 -0
  159. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.filters.tpl +23 -0
  160. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.tpl +332 -0
  161. package/ios/libsodium-stable/src/Makefile.am +3 -0
  162. package/ios/libsodium-stable/src/libsodium/Makefile.am +314 -0
  163. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c +159 -0
  164. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.c +70 -0
  165. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.h +8 -0
  166. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c +72 -0
  167. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.h +8 -0
  168. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_common.h +248 -0
  169. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.c +59 -0
  170. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.h +8 -0
  171. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/implementations.h +17 -0
  172. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +158 -0
  173. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c +65 -0
  174. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.h +8 -0
  175. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c +70 -0
  176. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.h +8 -0
  177. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_common.h +231 -0
  178. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.c +54 -0
  179. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.h +8 -0
  180. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/implementations.h +17 -0
  181. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c +157 -0
  182. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +1015 -0
  183. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +1032 -0
  184. package/ios/libsodium-stable/src/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c +400 -0
  185. package/ios/libsodium-stable/src/libsodium/crypto_aead/xchacha20poly1305/aead_xchacha20poly1305.c +262 -0
  186. package/ios/libsodium-stable/src/libsodium/crypto_auth/crypto_auth.c +41 -0
  187. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +118 -0
  188. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +118 -0
  189. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +93 -0
  190. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box.c +114 -0
  191. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_easy.c +115 -0
  192. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_seal.c +68 -0
  193. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +204 -0
  194. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +79 -0
  195. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +156 -0
  196. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ed25519.c +225 -0
  197. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ristretto255.c +156 -0
  198. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +2873 -0
  199. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +1344 -0
  200. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +40 -0
  201. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +40 -0
  202. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +220 -0
  203. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +1344 -0
  204. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +40 -0
  205. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +41 -0
  206. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +116 -0
  207. package/ios/libsodium-stable/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +93 -0
  208. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +21 -0
  209. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +95 -0
  210. package/ios/libsodium-stable/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +195 -0
  211. package/ios/libsodium-stable/src/libsodium/crypto_core/softaes/softaes.c +340 -0
  212. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +55 -0
  213. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +106 -0
  214. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +52 -0
  215. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +142 -0
  216. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +93 -0
  217. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +91 -0
  218. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +106 -0
  219. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +95 -0
  220. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +106 -0
  221. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +340 -0
  222. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +164 -0
  223. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +307 -0
  224. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +438 -0
  225. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +116 -0
  226. package/ios/libsodium-stable/src/libsodium/crypto_generichash/crypto_generichash.c +91 -0
  227. package/ios/libsodium-stable/src/libsodium/crypto_hash/crypto_hash.c +20 -0
  228. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +256 -0
  229. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/hash_sha256.c +13 -0
  230. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +284 -0
  231. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/hash_sha512.c +13 -0
  232. package/ios/libsodium-stable/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +52 -0
  233. package/ios/libsodium-stable/src/libsodium/crypto_kdf/crypto_kdf.c +49 -0
  234. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha256.c +123 -0
  235. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha512.c +123 -0
  236. package/ios/libsodium-stable/src/libsodium/crypto_kx/crypto_kx.c +143 -0
  237. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +71 -0
  238. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +124 -0
  239. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +12 -0
  240. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +235 -0
  241. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +221 -0
  242. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +90 -0
  243. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +21 -0
  244. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +957 -0
  245. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +12 -0
  246. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.c +556 -0
  247. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.h +271 -0
  248. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +306 -0
  249. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +34 -0
  250. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +243 -0
  251. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +251 -0
  252. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +234 -0
  253. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +244 -0
  254. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.c +283 -0
  255. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.h +305 -0
  256. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +79 -0
  257. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +8 -0
  258. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +150 -0
  259. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +145 -0
  260. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +40 -0
  261. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +124 -0
  262. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +294 -0
  263. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +238 -0
  264. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/crypto_pwhash.c +212 -0
  265. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +268 -0
  266. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +92 -0
  267. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +318 -0
  268. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +96 -0
  269. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +45 -0
  270. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +301 -0
  271. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +112 -0
  272. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +406 -0
  273. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +33 -0
  274. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +182 -0
  275. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +10 -0
  276. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +25 -0
  277. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +20 -0
  278. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +71 -0
  279. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +9 -0
  280. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +26 -0
  281. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +35 -0
  282. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +58 -0
  283. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +200 -0
  284. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +16 -0
  285. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +174 -0
  286. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +228 -0
  287. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +78 -0
  288. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +1442 -0
  289. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +18 -0
  290. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +8 -0
  291. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +16 -0
  292. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +60 -0
  293. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +11 -0
  294. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +121 -0
  295. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c +63 -0
  296. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox.c +67 -0
  297. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +145 -0
  298. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +177 -0
  299. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +89 -0
  300. package/ios/libsodium-stable/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +313 -0
  301. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/crypto_shorthash.c +34 -0
  302. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +71 -0
  303. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +24 -0
  304. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +77 -0
  305. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +11 -0
  306. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +11 -0
  307. package/ios/libsodium-stable/src/libsodium/crypto_sign/crypto_sign.c +115 -0
  308. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +84 -0
  309. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +118 -0
  310. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/open.c +98 -0
  311. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign.c +128 -0
  312. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +18 -0
  313. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +97 -0
  314. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +180 -0
  315. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +8 -0
  316. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +176 -0
  317. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +8 -0
  318. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +86 -0
  319. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +98 -0
  320. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +177 -0
  321. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +326 -0
  322. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +312 -0
  323. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +8 -0
  324. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +184 -0
  325. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +22 -0
  326. package/ios/libsodium-stable/src/libsodium/crypto_stream/crypto_stream.c +49 -0
  327. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +120 -0
  328. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +8 -0
  329. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +100 -0
  330. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +16 -0
  331. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +965 -0
  332. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +31 -0
  333. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +8 -0
  334. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +134 -0
  335. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +8 -0
  336. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +128 -0
  337. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +8 -0
  338. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +195 -0
  339. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +207 -0
  340. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +547 -0
  341. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +477 -0
  342. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +106 -0
  343. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +26 -0
  344. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +106 -0
  345. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +26 -0
  346. package/ios/libsodium-stable/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +69 -0
  347. package/ios/libsodium-stable/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +66 -0
  348. package/ios/libsodium-stable/src/libsodium/crypto_verify/verify.c +103 -0
  349. package/ios/libsodium-stable/src/libsodium/include/Makefile.am +76 -0
  350. package/ios/libsodium-stable/src/libsodium/include/sodium/core.h +28 -0
  351. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis128l.h +92 -0
  352. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis256.h +92 -0
  353. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +179 -0
  354. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +180 -0
  355. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +100 -0
  356. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth.h +46 -0
  357. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +70 -0
  358. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +68 -0
  359. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +65 -0
  360. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box.h +177 -0
  361. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +164 -0
  362. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +112 -0
  363. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ed25519.h +100 -0
  364. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hchacha20.h +36 -0
  365. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hsalsa20.h +36 -0
  366. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ristretto255.h +100 -0
  367. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa20.h +36 -0
  368. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa2012.h +36 -0
  369. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa208.h +40 -0
  370. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash.h +84 -0
  371. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash_blake2b.h +122 -0
  372. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash.h +40 -0
  373. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha256.h +60 -0
  374. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha512.h +60 -0
  375. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf.h +53 -0
  376. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_blake2b.h +44 -0
  377. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha256.h +74 -0
  378. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha512.h +75 -0
  379. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kx.h +66 -0
  380. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth.h +65 -0
  381. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +72 -0
  382. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash.h +147 -0
  383. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +122 -0
  384. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +122 -0
  385. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +120 -0
  386. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult.h +46 -0
  387. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +42 -0
  388. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +51 -0
  389. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +43 -0
  390. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox.h +93 -0
  391. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +70 -0
  392. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +69 -0
  393. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +108 -0
  394. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash.h +41 -0
  395. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +50 -0
  396. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign.h +107 -0
  397. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_ed25519.h +124 -0
  398. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +55 -0
  399. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream.h +59 -0
  400. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_chacha20.h +106 -0
  401. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa20.h +61 -0
  402. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa2012.h +53 -0
  403. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa208.h +56 -0
  404. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xchacha20.h +61 -0
  405. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +61 -0
  406. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_16.h +23 -0
  407. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_32.h +23 -0
  408. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_64.h +23 -0
  409. package/ios/libsodium-stable/src/libsodium/include/sodium/export.h +57 -0
  410. package/ios/libsodium-stable/src/libsodium/include/sodium/private/asm_cet.h +11 -0
  411. package/ios/libsodium-stable/src/libsodium/include/sodium/private/chacha20_ietf_ext.h +16 -0
  412. package/ios/libsodium-stable/src/libsodium/include/sodium/private/common.h +296 -0
  413. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10.h +142 -0
  414. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +1030 -0
  415. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +508 -0
  416. package/ios/libsodium-stable/src/libsodium/include/sodium/private/implementations.h +13 -0
  417. package/ios/libsodium-stable/src/libsodium/include/sodium/private/mutex.h +7 -0
  418. package/ios/libsodium-stable/src/libsodium/include/sodium/private/softaes.h +56 -0
  419. package/ios/libsodium-stable/src/libsodium/include/sodium/private/sse2_64_32.h +50 -0
  420. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes.h +72 -0
  421. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_internal_random.h +22 -0
  422. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_sysrandom.h +19 -0
  423. package/ios/libsodium-stable/src/libsodium/include/sodium/runtime.h +55 -0
  424. package/ios/libsodium-stable/src/libsodium/include/sodium/utils.h +179 -0
  425. package/ios/libsodium-stable/src/libsodium/include/sodium/version.h.in +33 -0
  426. package/ios/libsodium-stable/src/libsodium/include/sodium.h +75 -0
  427. package/ios/libsodium-stable/src/libsodium/randombytes/internal/randombytes_internal_random.c +646 -0
  428. package/ios/libsodium-stable/src/libsodium/randombytes/randombytes.c +200 -0
  429. package/ios/libsodium-stable/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +396 -0
  430. package/ios/libsodium-stable/src/libsodium/sodium/codecs.c +335 -0
  431. package/ios/libsodium-stable/src/libsodium/sodium/core.c +216 -0
  432. package/ios/libsodium-stable/src/libsodium/sodium/runtime.c +391 -0
  433. package/ios/libsodium-stable/src/libsodium/sodium/utils.c +809 -0
  434. package/ios/libsodium-stable/src/libsodium/sodium/version.c +30 -0
  435. package/ios/libsodium-stable/test/Makefile.am +5 -0
  436. package/ios/libsodium-stable/test/constcheck.sh +22 -0
  437. package/ios/libsodium-stable/test/default/Makefile.am +525 -0
  438. package/ios/libsodium-stable/test/default/aead_aegis128l.c +642 -0
  439. package/ios/libsodium-stable/test/default/aead_aegis128l.exp +1 -0
  440. package/ios/libsodium-stable/test/default/aead_aegis256.c +723 -0
  441. package/ios/libsodium-stable/test/default/aead_aegis256.exp +1 -0
  442. package/ios/libsodium-stable/test/default/aead_aes256gcm.c +3328 -0
  443. package/ios/libsodium-stable/test/default/aead_aes256gcm.exp +1 -0
  444. package/ios/libsodium-stable/test/default/aead_aes256gcm2.c +276 -0
  445. package/ios/libsodium-stable/test/default/aead_aes256gcm2.exp +1 -0
  446. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.c +372 -0
  447. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.exp +63 -0
  448. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.c +1046 -0
  449. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.exp +1 -0
  450. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.c +203 -0
  451. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.exp +51 -0
  452. package/ios/libsodium-stable/test/default/auth.c +141 -0
  453. package/ios/libsodium-stable/test/default/auth.exp +30 -0
  454. package/ios/libsodium-stable/test/default/auth2.c +34 -0
  455. package/ios/libsodium-stable/test/default/auth2.exp +4 -0
  456. package/ios/libsodium-stable/test/default/auth3.c +36 -0
  457. package/ios/libsodium-stable/test/default/auth3.exp +1 -0
  458. package/ios/libsodium-stable/test/default/auth5.c +41 -0
  459. package/ios/libsodium-stable/test/default/auth5.exp +0 -0
  460. package/ios/libsodium-stable/test/default/auth6.c +23 -0
  461. package/ios/libsodium-stable/test/default/auth6.exp +8 -0
  462. package/ios/libsodium-stable/test/default/auth7.c +41 -0
  463. package/ios/libsodium-stable/test/default/auth7.exp +0 -0
  464. package/ios/libsodium-stable/test/default/box.c +112 -0
  465. package/ios/libsodium-stable/test/default/box.exp +38 -0
  466. package/ios/libsodium-stable/test/default/box2.c +80 -0
  467. package/ios/libsodium-stable/test/default/box2.exp +34 -0
  468. package/ios/libsodium-stable/test/default/box7.c +50 -0
  469. package/ios/libsodium-stable/test/default/box7.exp +0 -0
  470. package/ios/libsodium-stable/test/default/box8.c +58 -0
  471. package/ios/libsodium-stable/test/default/box8.exp +0 -0
  472. package/ios/libsodium-stable/test/default/box_easy.c +72 -0
  473. package/ios/libsodium-stable/test/default/box_easy.exp +3 -0
  474. package/ios/libsodium-stable/test/default/box_easy2.c +149 -0
  475. package/ios/libsodium-stable/test/default/box_easy2.exp +7 -0
  476. package/ios/libsodium-stable/test/default/box_seal.c +165 -0
  477. package/ios/libsodium-stable/test/default/box_seal.exp +8 -0
  478. package/ios/libsodium-stable/test/default/box_seed.c +30 -0
  479. package/ios/libsodium-stable/test/default/box_seed.exp +8 -0
  480. package/ios/libsodium-stable/test/default/chacha20.c +186 -0
  481. package/ios/libsodium-stable/test/default/chacha20.exp +64 -0
  482. package/ios/libsodium-stable/test/default/cmptest.h +238 -0
  483. package/ios/libsodium-stable/test/default/codecs.c +251 -0
  484. package/ios/libsodium-stable/test/default/codecs.exp +30 -0
  485. package/ios/libsodium-stable/test/default/core1.c +41 -0
  486. package/ios/libsodium-stable/test/default/core1.exp +4 -0
  487. package/ios/libsodium-stable/test/default/core2.c +38 -0
  488. package/ios/libsodium-stable/test/default/core2.exp +4 -0
  489. package/ios/libsodium-stable/test/default/core3.c +115 -0
  490. package/ios/libsodium-stable/test/default/core3.exp +3 -0
  491. package/ios/libsodium-stable/test/default/core4.c +36 -0
  492. package/ios/libsodium-stable/test/default/core4.exp +8 -0
  493. package/ios/libsodium-stable/test/default/core5.c +33 -0
  494. package/ios/libsodium-stable/test/default/core5.exp +4 -0
  495. package/ios/libsodium-stable/test/default/core6.c +52 -0
  496. package/ios/libsodium-stable/test/default/core6.exp +4 -0
  497. package/ios/libsodium-stable/test/default/core_ed25519.c +545 -0
  498. package/ios/libsodium-stable/test/default/core_ed25519.exp +55 -0
  499. package/ios/libsodium-stable/test/default/core_ristretto255.c +271 -0
  500. package/ios/libsodium-stable/test/default/core_ristretto255.exp +8 -0
  501. package/ios/libsodium-stable/test/default/ed25519_convert.c +70 -0
  502. package/ios/libsodium-stable/test/default/ed25519_convert.exp +3 -0
  503. package/ios/libsodium-stable/test/default/generichash.c +1406 -0
  504. package/ios/libsodium-stable/test/default/generichash.exp +65 -0
  505. package/ios/libsodium-stable/test/default/generichash2.c +62 -0
  506. package/ios/libsodium-stable/test/default/generichash2.exp +64 -0
  507. package/ios/libsodium-stable/test/default/generichash3.c +176 -0
  508. package/ios/libsodium-stable/test/default/generichash3.exp +75 -0
  509. package/ios/libsodium-stable/test/default/hash.c +47 -0
  510. package/ios/libsodium-stable/test/default/hash.exp +4 -0
  511. package/ios/libsodium-stable/test/default/hash3.c +20 -0
  512. package/ios/libsodium-stable/test/default/hash3.exp +1 -0
  513. package/ios/libsodium-stable/test/default/index.html.tpl +98 -0
  514. package/ios/libsodium-stable/test/default/kdf.c +71 -0
  515. package/ios/libsodium-stable/test/default/kdf.exp +77 -0
  516. package/ios/libsodium-stable/test/default/kdf_hkdf.c +102 -0
  517. package/ios/libsodium-stable/test/default/kdf_hkdf.exp +205 -0
  518. package/ios/libsodium-stable/test/default/keygen.c +67 -0
  519. package/ios/libsodium-stable/test/default/keygen.exp +1 -0
  520. package/ios/libsodium-stable/test/default/kx.c +149 -0
  521. package/ios/libsodium-stable/test/default/kx.exp +7 -0
  522. package/ios/libsodium-stable/test/default/metamorphic.c +187 -0
  523. package/ios/libsodium-stable/test/default/metamorphic.exp +1 -0
  524. package/ios/libsodium-stable/test/default/misuse.c +187 -0
  525. package/ios/libsodium-stable/test/default/misuse.exp +0 -0
  526. package/ios/libsodium-stable/test/default/onetimeauth.c +63 -0
  527. package/ios/libsodium-stable/test/default/onetimeauth.exp +4 -0
  528. package/ios/libsodium-stable/test/default/onetimeauth2.c +33 -0
  529. package/ios/libsodium-stable/test/default/onetimeauth2.exp +1 -0
  530. package/ios/libsodium-stable/test/default/onetimeauth7.c +36 -0
  531. package/ios/libsodium-stable/test/default/onetimeauth7.exp +0 -0
  532. package/ios/libsodium-stable/test/default/pre.js.inc +22 -0
  533. package/ios/libsodium-stable/test/default/pwhash_argon2i.c +467 -0
  534. package/ios/libsodium-stable/test/default/pwhash_argon2i.exp +11 -0
  535. package/ios/libsodium-stable/test/default/pwhash_argon2id.c +517 -0
  536. package/ios/libsodium-stable/test/default/pwhash_argon2id.exp +14 -0
  537. package/ios/libsodium-stable/test/default/pwhash_scrypt.c +393 -0
  538. package/ios/libsodium-stable/test/default/pwhash_scrypt.exp +37 -0
  539. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.c +59 -0
  540. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.exp +15 -0
  541. package/ios/libsodium-stable/test/default/randombytes.c +164 -0
  542. package/ios/libsodium-stable/test/default/randombytes.exp +2 -0
  543. package/ios/libsodium-stable/test/default/run.sh +9 -0
  544. package/ios/libsodium-stable/test/default/scalarmult.c +77 -0
  545. package/ios/libsodium-stable/test/default/scalarmult.exp +5 -0
  546. package/ios/libsodium-stable/test/default/scalarmult2.c +22 -0
  547. package/ios/libsodium-stable/test/default/scalarmult2.exp +1 -0
  548. package/ios/libsodium-stable/test/default/scalarmult5.c +30 -0
  549. package/ios/libsodium-stable/test/default/scalarmult5.exp +1 -0
  550. package/ios/libsodium-stable/test/default/scalarmult6.c +54 -0
  551. package/ios/libsodium-stable/test/default/scalarmult6.exp +4 -0
  552. package/ios/libsodium-stable/test/default/scalarmult7.c +34 -0
  553. package/ios/libsodium-stable/test/default/scalarmult7.exp +1 -0
  554. package/ios/libsodium-stable/test/default/scalarmult8.c +580 -0
  555. package/ios/libsodium-stable/test/default/scalarmult8.exp +65 -0
  556. package/ios/libsodium-stable/test/default/scalarmult_ed25519.c +134 -0
  557. package/ios/libsodium-stable/test/default/scalarmult_ed25519.exp +1 -0
  558. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.c +51 -0
  559. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.exp +18 -0
  560. package/ios/libsodium-stable/test/default/secretbox.c +84 -0
  561. package/ios/libsodium-stable/test/default/secretbox.exp +38 -0
  562. package/ios/libsodium-stable/test/default/secretbox2.c +55 -0
  563. package/ios/libsodium-stable/test/default/secretbox2.exp +17 -0
  564. package/ios/libsodium-stable/test/default/secretbox7.c +36 -0
  565. package/ios/libsodium-stable/test/default/secretbox7.exp +0 -0
  566. package/ios/libsodium-stable/test/default/secretbox8.c +41 -0
  567. package/ios/libsodium-stable/test/default/secretbox8.exp +0 -0
  568. package/ios/libsodium-stable/test/default/secretbox_easy.c +124 -0
  569. package/ios/libsodium-stable/test/default/secretbox_easy.exp +9 -0
  570. package/ios/libsodium-stable/test/default/secretbox_easy2.c +72 -0
  571. package/ios/libsodium-stable/test/default/secretbox_easy2.exp +5 -0
  572. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.c +329 -0
  573. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.exp +1 -0
  574. package/ios/libsodium-stable/test/default/shorthash.c +35 -0
  575. package/ios/libsodium-stable/test/default/shorthash.exp +64 -0
  576. package/ios/libsodium-stable/test/default/sign.c +1324 -0
  577. package/ios/libsodium-stable/test/default/sign.exp +5 -0
  578. package/ios/libsodium-stable/test/default/siphashx24.c +33 -0
  579. package/ios/libsodium-stable/test/default/siphashx24.exp +64 -0
  580. package/ios/libsodium-stable/test/default/sodium_core.c +43 -0
  581. package/ios/libsodium-stable/test/default/sodium_core.exp +1 -0
  582. package/ios/libsodium-stable/test/default/sodium_utils.c +224 -0
  583. package/ios/libsodium-stable/test/default/sodium_utils.exp +25 -0
  584. package/ios/libsodium-stable/test/default/sodium_utils2.c +120 -0
  585. package/ios/libsodium-stable/test/default/sodium_utils2.exp +3 -0
  586. package/ios/libsodium-stable/test/default/sodium_utils3.c +90 -0
  587. package/ios/libsodium-stable/test/default/sodium_utils3.exp +2 -0
  588. package/ios/libsodium-stable/test/default/sodium_version.c +18 -0
  589. package/ios/libsodium-stable/test/default/sodium_version.exp +3 -0
  590. package/ios/libsodium-stable/test/default/stream.c +84 -0
  591. package/ios/libsodium-stable/test/default/stream.exp +83 -0
  592. package/ios/libsodium-stable/test/default/stream2.c +59 -0
  593. package/ios/libsodium-stable/test/default/stream2.exp +2 -0
  594. package/ios/libsodium-stable/test/default/stream3.c +32 -0
  595. package/ios/libsodium-stable/test/default/stream3.exp +4 -0
  596. package/ios/libsodium-stable/test/default/stream4.c +51 -0
  597. package/ios/libsodium-stable/test/default/stream4.exp +17 -0
  598. package/ios/libsodium-stable/test/default/verify1.c +76 -0
  599. package/ios/libsodium-stable/test/default/verify1.exp +2 -0
  600. package/ios/libsodium-stable/test/default/wasi-test-wrapper.sh +98 -0
  601. package/ios/libsodium-stable/test/default/wintest.bat +61 -0
  602. package/ios/libsodium-stable/test/default/xchacha20.c +428 -0
  603. package/ios/libsodium-stable/test/default/xchacha20.exp +5 -0
  604. package/ios/libsodium-stable/test/quirks/quirks.h +34 -0
  605. package/lib/commonjs/cipher.js +29 -6
  606. package/lib/commonjs/cipher.js.map +1 -1
  607. package/lib/commonjs/index.js +5 -5
  608. package/lib/commonjs/index.js.map +1 -1
  609. package/lib/commonjs/utils/conversion.js +18 -2
  610. package/lib/commonjs/utils/conversion.js.map +1 -1
  611. package/lib/commonjs/utils/types.js.map +1 -1
  612. package/lib/module/cipher.js +28 -5
  613. package/lib/module/cipher.js.map +1 -1
  614. package/lib/module/index.js +1 -1
  615. package/lib/module/index.js.map +1 -1
  616. package/lib/module/utils/conversion.js +18 -2
  617. package/lib/module/utils/conversion.js.map +1 -1
  618. package/lib/module/utils/types.js.map +1 -1
  619. package/lib/tsconfig.tsbuildinfo +1 -1
  620. package/lib/typescript/cipher.d.ts +14 -8
  621. package/lib/typescript/cipher.d.ts.map +1 -1
  622. package/lib/typescript/index.d.ts +11 -3
  623. package/lib/typescript/index.d.ts.map +1 -1
  624. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  625. package/lib/typescript/utils/types.d.ts +2 -2
  626. package/lib/typescript/utils/types.d.ts.map +1 -1
  627. package/package.json +3 -3
  628. package/src/cipher.ts +34 -9
  629. package/src/index.ts +1 -1
  630. package/src/utils/conversion.ts +23 -2
  631. package/src/utils/types.ts +2 -0
  632. package/lib/module/package.json +0 -1
@@ -0,0 +1,283 @@
1
+ /*
2
+ * Argon2 source code package
3
+ *
4
+ * Written by Daniel Dinu and Dmitry Khovratovich, 2015
5
+ *
6
+ * This work is licensed under a Creative Commons CC0 1.0 License/Waiver.
7
+ *
8
+ * You should have received a copy of the CC0 Public Domain Dedication along
9
+ * with
10
+ * this software. If not, see
11
+ * <http://creativecommons.org/publicdomain/zero/1.0/>.
12
+ */
13
+
14
+ #include <limits.h>
15
+ #include <stdint.h>
16
+ #include <stdio.h>
17
+ #include <stdlib.h>
18
+ #include <string.h>
19
+
20
+ #include "randombytes.h"
21
+ #include "utils.h"
22
+
23
+ #include "argon2-core.h"
24
+ #include "argon2-encoding.h"
25
+ #include "argon2.h"
26
+
27
+ int
28
+ argon2_ctx(argon2_context *context, argon2_type type)
29
+ {
30
+ /* 1. Validate all inputs */
31
+ int result = argon2_validate_inputs(context);
32
+ uint32_t memory_blocks, segment_length;
33
+ uint32_t pass;
34
+ argon2_instance_t instance;
35
+
36
+ if (ARGON2_OK != result) {
37
+ return result;
38
+ }
39
+
40
+ if (type != Argon2_id && type != Argon2_i) {
41
+ return ARGON2_INCORRECT_TYPE;
42
+ }
43
+
44
+ /* 2. Align memory size */
45
+ /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */
46
+ memory_blocks = context->m_cost;
47
+
48
+ if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) {
49
+ memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes;
50
+ }
51
+
52
+ segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS);
53
+ /* Ensure that all segments have equal length */
54
+ memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS);
55
+
56
+ instance.region = NULL;
57
+ instance.passes = context->t_cost;
58
+ instance.current_pass = ~ 0U;
59
+ instance.memory_blocks = memory_blocks;
60
+ instance.segment_length = segment_length;
61
+ instance.lane_length = segment_length * ARGON2_SYNC_POINTS;
62
+ instance.lanes = context->lanes;
63
+ instance.threads = context->threads;
64
+ instance.type = type;
65
+
66
+ /* 3. Initialization: Hashing inputs, allocating memory, filling first
67
+ * blocks
68
+ */
69
+ result = argon2_initialize(&instance, context);
70
+
71
+ if (ARGON2_OK != result) {
72
+ return result;
73
+ }
74
+
75
+ /* 4. Filling memory */
76
+ for (pass = 0; pass < instance.passes; pass++) {
77
+ argon2_fill_memory_blocks(&instance, pass);
78
+ }
79
+
80
+ /* 5. Finalization */
81
+ argon2_finalize(context, &instance);
82
+
83
+ return ARGON2_OK;
84
+ }
85
+
86
+ int
87
+ argon2_hash(const uint32_t t_cost, const uint32_t m_cost,
88
+ const uint32_t parallelism, const void *pwd, const size_t pwdlen,
89
+ const void *salt, const size_t saltlen, void *hash,
90
+ const size_t hashlen, char *encoded, const size_t encodedlen,
91
+ argon2_type type)
92
+ {
93
+ argon2_context context;
94
+ int result;
95
+ uint8_t *out;
96
+
97
+ if (hash != NULL) {
98
+ randombytes_buf(hash, hashlen);
99
+ }
100
+
101
+ if (pwdlen > ARGON2_MAX_PWD_LENGTH) {
102
+ return ARGON2_PWD_TOO_LONG;
103
+ }
104
+
105
+ if (hashlen > ARGON2_MAX_OUTLEN) {
106
+ return ARGON2_OUTPUT_TOO_LONG;
107
+ }
108
+
109
+ if (saltlen > ARGON2_MAX_SALT_LENGTH) {
110
+ return ARGON2_SALT_TOO_LONG;
111
+ }
112
+
113
+ out = (uint8_t *) malloc(hashlen);
114
+ if (!out) {
115
+ return ARGON2_MEMORY_ALLOCATION_ERROR;
116
+ }
117
+
118
+ context.out = (uint8_t *) out;
119
+ context.outlen = (uint32_t) hashlen;
120
+ context.pwd = (uint8_t *) pwd;
121
+ context.pwdlen = (uint32_t) pwdlen;
122
+ context.salt = (uint8_t *) salt;
123
+ context.saltlen = (uint32_t) saltlen;
124
+ context.secret = NULL;
125
+ context.secretlen = 0;
126
+ context.ad = NULL;
127
+ context.adlen = 0;
128
+ context.t_cost = t_cost;
129
+ context.m_cost = m_cost;
130
+ context.lanes = parallelism;
131
+ context.threads = parallelism;
132
+ context.flags = ARGON2_DEFAULT_FLAGS;
133
+
134
+ result = argon2_ctx(&context, type);
135
+
136
+ if (result != ARGON2_OK) {
137
+ sodium_memzero(out, hashlen);
138
+ free(out);
139
+ return result;
140
+ }
141
+
142
+ /* if encoding requested, write it */
143
+ if (encoded && encodedlen) {
144
+ if (argon2_encode_string(encoded, encodedlen,
145
+ &context, type) != ARGON2_OK) {
146
+ sodium_memzero(out, hashlen);
147
+ sodium_memzero(encoded, encodedlen);
148
+ free(out);
149
+ return ARGON2_ENCODING_FAIL;
150
+ }
151
+ }
152
+
153
+ /* if raw hash requested, write it */
154
+ if (hash) {
155
+ memcpy(hash, out, hashlen);
156
+ }
157
+
158
+ sodium_memzero(out, hashlen);
159
+ free(out);
160
+
161
+ return ARGON2_OK;
162
+ }
163
+
164
+ int
165
+ argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,
166
+ const uint32_t parallelism, const void *pwd,
167
+ const size_t pwdlen, const void *salt,
168
+ const size_t saltlen, const size_t hashlen, char *encoded,
169
+ const size_t encodedlen)
170
+ {
171
+ return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen,
172
+ NULL, hashlen, encoded, encodedlen, Argon2_i);
173
+ }
174
+
175
+ int
176
+ argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost,
177
+ const uint32_t parallelism, const void *pwd,
178
+ const size_t pwdlen, const void *salt, const size_t saltlen,
179
+ void *hash, const size_t hashlen)
180
+ {
181
+ return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen,
182
+ hash, hashlen, NULL, 0, Argon2_i);
183
+ }
184
+
185
+ int
186
+ argon2id_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,
187
+ const uint32_t parallelism, const void *pwd,
188
+ const size_t pwdlen, const void *salt,
189
+ const size_t saltlen, const size_t hashlen, char *encoded,
190
+ const size_t encodedlen)
191
+ {
192
+ return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen,
193
+ NULL, hashlen, encoded, encodedlen, Argon2_id);
194
+ }
195
+
196
+ int
197
+ argon2id_hash_raw(const uint32_t t_cost, const uint32_t m_cost,
198
+ const uint32_t parallelism, const void *pwd,
199
+ const size_t pwdlen, const void *salt, const size_t saltlen,
200
+ void *hash, const size_t hashlen)
201
+ {
202
+ return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen,
203
+ hash, hashlen, NULL, 0, Argon2_id);
204
+ }
205
+
206
+ int
207
+ argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen,
208
+ argon2_type type)
209
+ {
210
+ argon2_context ctx;
211
+ uint8_t *out;
212
+ int decode_result;
213
+ int ret;
214
+ size_t encoded_len;
215
+
216
+ memset(&ctx, 0, sizeof ctx);
217
+
218
+ ctx.pwd = NULL;
219
+ ctx.pwdlen = 0;
220
+ ctx.secret = NULL;
221
+ ctx.secretlen = 0;
222
+
223
+ /* max values, to be updated in argon2_decode_string */
224
+ encoded_len = strlen(encoded);
225
+ if (encoded_len > UINT32_MAX) {
226
+ return ARGON2_DECODING_LENGTH_FAIL;
227
+ }
228
+ ctx.adlen = (uint32_t) encoded_len;
229
+ ctx.saltlen = (uint32_t) encoded_len;
230
+ ctx.outlen = (uint32_t) encoded_len;
231
+
232
+ ctx.ad = (uint8_t *) malloc(ctx.adlen);
233
+ ctx.salt = (uint8_t *) malloc(ctx.saltlen);
234
+ ctx.out = (uint8_t *) malloc(ctx.outlen);
235
+ if (!ctx.out || !ctx.salt || !ctx.ad) {
236
+ free(ctx.ad);
237
+ free(ctx.salt);
238
+ free(ctx.out);
239
+ return ARGON2_MEMORY_ALLOCATION_ERROR;
240
+ }
241
+ out = (uint8_t *) malloc(ctx.outlen);
242
+ if (!out) {
243
+ free(ctx.ad);
244
+ free(ctx.salt);
245
+ free(ctx.out);
246
+ return ARGON2_MEMORY_ALLOCATION_ERROR;
247
+ }
248
+
249
+ decode_result = argon2_decode_string(&ctx, encoded, type);
250
+ if (decode_result != ARGON2_OK) {
251
+ free(ctx.ad);
252
+ free(ctx.salt);
253
+ free(ctx.out);
254
+ free(out);
255
+ return decode_result;
256
+ }
257
+
258
+ ret = argon2_hash(ctx.t_cost, ctx.m_cost, ctx.threads, pwd, pwdlen,
259
+ ctx.salt, ctx.saltlen, out, ctx.outlen, NULL, 0, type);
260
+
261
+ free(ctx.ad);
262
+ free(ctx.salt);
263
+
264
+ if (ret == ARGON2_OK && sodium_memcmp(out, ctx.out, ctx.outlen) != 0) {
265
+ ret = ARGON2_VERIFY_MISMATCH;
266
+ }
267
+ free(out);
268
+ free(ctx.out);
269
+
270
+ return ret;
271
+ }
272
+
273
+ int
274
+ argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen)
275
+ {
276
+ return argon2_verify(encoded, pwd, pwdlen, Argon2_i);
277
+ }
278
+
279
+ int
280
+ argon2id_verify(const char *encoded, const void *pwd, const size_t pwdlen)
281
+ {
282
+ return argon2_verify(encoded, pwd, pwdlen, Argon2_id);
283
+ }
@@ -0,0 +1,305 @@
1
+ /*
2
+ * Argon2 source code package
3
+ *
4
+ * Written by Daniel Dinu and Dmitry Khovratovich, 2015
5
+ *
6
+ * This work is licensed under a Creative Commons CC0 1.0 License/Waiver.
7
+ *
8
+ * You should have received a copy of the CC0 Public Domain Dedication along
9
+ * with this software. If not, see
10
+ * <http://creativecommons.org/publicdomain/zero/1.0/>.
11
+ */
12
+ #ifndef argon2_H
13
+ #define argon2_H
14
+
15
+ #include <limits.h>
16
+ #include <stddef.h>
17
+ #include <stdint.h>
18
+
19
+ /*
20
+ * Argon2 input parameter restrictions
21
+ */
22
+
23
+ /* Minimum and maximum number of lanes (degree of parallelism) */
24
+ #define ARGON2_MIN_LANES UINT32_C(1)
25
+ #define ARGON2_MAX_LANES UINT32_C(0xFFFFFF)
26
+
27
+ /* Minimum and maximum number of threads */
28
+ #define ARGON2_MIN_THREADS UINT32_C(1)
29
+ #define ARGON2_MAX_THREADS UINT32_C(0xFFFFFF)
30
+
31
+ /* Number of synchronization points between lanes per pass */
32
+ #define ARGON2_SYNC_POINTS UINT32_C(4)
33
+
34
+ /* Minimum and maximum digest size in bytes */
35
+ #define ARGON2_MIN_OUTLEN UINT32_C(16)
36
+ #define ARGON2_MAX_OUTLEN UINT32_C(0xFFFFFFFF)
37
+
38
+ /* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */
39
+ #define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */
40
+
41
+ #define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b))
42
+ /* Max memory size is half the addressing space, topping at 2^32 blocks (4 TB)
43
+ */
44
+ #define ARGON2_MAX_MEMORY_BITS \
45
+ ARGON2_MIN(UINT32_C(32), (sizeof(void *) * CHAR_BIT - 10 - 1))
46
+ #define ARGON2_MAX_MEMORY \
47
+ ARGON2_MIN(UINT32_C(0xFFFFFFFF), UINT64_C(1) << ARGON2_MAX_MEMORY_BITS)
48
+
49
+ /* Minimum and maximum number of passes */
50
+ #define ARGON2_MIN_TIME UINT32_C(1)
51
+ #define ARGON2_MAX_TIME UINT32_C(0xFFFFFFFF)
52
+
53
+ /* Minimum and maximum password length in bytes */
54
+ #define ARGON2_MIN_PWD_LENGTH UINT32_C(0)
55
+ #define ARGON2_MAX_PWD_LENGTH UINT32_C(0xFFFFFFFF)
56
+
57
+ /* Minimum and maximum associated data length in bytes */
58
+ #define ARGON2_MIN_AD_LENGTH UINT32_C(0)
59
+ #define ARGON2_MAX_AD_LENGTH UINT32_C(0xFFFFFFFF)
60
+
61
+ /* Minimum and maximum salt length in bytes */
62
+ #define ARGON2_MIN_SALT_LENGTH UINT32_C(8)
63
+ #define ARGON2_MAX_SALT_LENGTH UINT32_C(0xFFFFFFFF)
64
+
65
+ /* Minimum and maximum key length in bytes */
66
+ #define ARGON2_MIN_SECRET UINT32_C(0)
67
+ #define ARGON2_MAX_SECRET UINT32_C(0xFFFFFFFF)
68
+
69
+ #define ARGON2_FLAG_CLEAR_PASSWORD (UINT32_C(1) << 0)
70
+ #define ARGON2_FLAG_CLEAR_SECRET (UINT32_C(1) << 1)
71
+ #define ARGON2_FLAG_CLEAR_MEMORY (UINT32_C(1) << 2)
72
+ #define ARGON2_DEFAULT_FLAGS (UINT32_C(0))
73
+
74
+ /* Error codes */
75
+ typedef enum Argon2_ErrorCodes {
76
+ ARGON2_OK = 0,
77
+
78
+ ARGON2_OUTPUT_PTR_NULL = -1,
79
+
80
+ ARGON2_OUTPUT_TOO_SHORT = -2,
81
+ ARGON2_OUTPUT_TOO_LONG = -3,
82
+
83
+ ARGON2_PWD_TOO_SHORT = -4,
84
+ ARGON2_PWD_TOO_LONG = -5,
85
+
86
+ ARGON2_SALT_TOO_SHORT = -6,
87
+ ARGON2_SALT_TOO_LONG = -7,
88
+
89
+ ARGON2_AD_TOO_SHORT = -8,
90
+ ARGON2_AD_TOO_LONG = -9,
91
+
92
+ ARGON2_SECRET_TOO_SHORT = -10,
93
+ ARGON2_SECRET_TOO_LONG = -11,
94
+
95
+ ARGON2_TIME_TOO_SMALL = -12,
96
+ ARGON2_TIME_TOO_LARGE = -13,
97
+
98
+ ARGON2_MEMORY_TOO_LITTLE = -14,
99
+ ARGON2_MEMORY_TOO_MUCH = -15,
100
+
101
+ ARGON2_LANES_TOO_FEW = -16,
102
+ ARGON2_LANES_TOO_MANY = -17,
103
+
104
+ ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */
105
+ ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */
106
+ ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */
107
+ ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */
108
+
109
+ ARGON2_MEMORY_ALLOCATION_ERROR = -22,
110
+
111
+ ARGON2_FREE_MEMORY_CBK_NULL = -23,
112
+ ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24,
113
+
114
+ ARGON2_INCORRECT_PARAMETER = -25,
115
+ ARGON2_INCORRECT_TYPE = -26,
116
+
117
+ ARGON2_OUT_PTR_MISMATCH = -27,
118
+
119
+ ARGON2_THREADS_TOO_FEW = -28,
120
+ ARGON2_THREADS_TOO_MANY = -29,
121
+
122
+ ARGON2_MISSING_ARGS = -30,
123
+
124
+ ARGON2_ENCODING_FAIL = -31,
125
+
126
+ ARGON2_DECODING_FAIL = -32,
127
+
128
+ ARGON2_THREAD_FAIL = -33,
129
+
130
+ ARGON2_DECODING_LENGTH_FAIL = -34,
131
+
132
+ ARGON2_VERIFY_MISMATCH = -35
133
+ } argon2_error_codes;
134
+
135
+ /* Argon2 external data structures */
136
+
137
+ /*
138
+ * Context: structure to hold Argon2 inputs:
139
+ * output array and its length,
140
+ * password and its length,
141
+ * salt and its length,
142
+ * secret and its length,
143
+ * associated data and its length,
144
+ * number of passes, amount of used memory (in KBytes, can be rounded up a bit)
145
+ * number of parallel threads that will be run.
146
+ * All the parameters above affect the output hash value.
147
+ * Additionally, two function pointers can be provided to allocate and
148
+ * deallocate the memory (if NULL, memory will be allocated internally).
149
+ * Also, three flags indicate whether to erase password, secret as soon as they
150
+ * are pre-hashed (and thus not needed anymore), and the entire memory
151
+ *****
152
+ * Simplest situation: you have output array out[8], password is stored in
153
+ * pwd[32], salt is stored in salt[16], you do not have keys nor associated
154
+ *data.
155
+ * You need to spend 1 GB of RAM and you run 5 passes of Argon2 with 4 parallel
156
+ *lanes.
157
+ * You want to erase the password, but you're OK with last pass not being
158
+ *erased.
159
+ * You want to use the default memory allocator.
160
+ * Then you initialize:
161
+ * Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false).
162
+ */
163
+ typedef struct Argon2_Context {
164
+ uint8_t *out; /* output array */
165
+ uint32_t outlen; /* digest length */
166
+
167
+ uint8_t *pwd; /* password array */
168
+ uint32_t pwdlen; /* password length */
169
+
170
+ uint8_t *salt; /* salt array */
171
+ uint32_t saltlen; /* salt length */
172
+
173
+ uint8_t *secret; /* key array */
174
+ uint32_t secretlen; /* key length */
175
+
176
+ uint8_t *ad; /* associated data array */
177
+ uint32_t adlen; /* associated data length */
178
+
179
+ uint32_t t_cost; /* number of passes */
180
+ uint32_t m_cost; /* amount of memory requested (KB) */
181
+ uint32_t lanes; /* number of lanes */
182
+ uint32_t threads; /* maximum number of threads */
183
+
184
+ uint32_t flags; /* array of bool options */
185
+ } argon2_context;
186
+
187
+ /* Argon2 primitive type */
188
+ typedef enum Argon2_type { Argon2_i = 1, Argon2_id = 2 } argon2_type;
189
+
190
+ /*
191
+ * Function that performs memory-hard hashing with certain degree of parallelism
192
+ * @param context Pointer to the Argon2 internal structure
193
+ * @return Error code if smth is wrong, ARGON2_OK otherwise
194
+ */
195
+ int argon2_ctx(argon2_context *context, argon2_type type);
196
+
197
+ /**
198
+ * Hashes a password with Argon2i, producing an encoded hash
199
+ * @param t_cost Number of iterations
200
+ * @param m_cost Sets memory usage to m_cost kibibytes
201
+ * @param parallelism Number of threads and compute lanes
202
+ * @param pwd Pointer to password
203
+ * @param pwdlen Password size in bytes
204
+ * @param salt Pointer to salt
205
+ * @param saltlen Salt size in bytes
206
+ * @param hashlen Desired length of the hash in bytes
207
+ * @param encoded Buffer where to write the encoded hash
208
+ * @param encodedlen Size of the buffer (thus max size of the encoded hash)
209
+ * @pre Different parallelism levels will give different results
210
+ * @pre Returns ARGON2_OK if successful
211
+ */
212
+ int argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,
213
+ const uint32_t parallelism, const void *pwd,
214
+ const size_t pwdlen, const void *salt,
215
+ const size_t saltlen, const size_t hashlen,
216
+ char *encoded, const size_t encodedlen);
217
+
218
+ /**
219
+ * Hashes a password with Argon2id, producing an encoded hash
220
+ * @param t_cost Number of iterations
221
+ * @param m_cost Sets memory usage to m_cost kibibytes
222
+ * @param parallelism Number of threads and compute lanes
223
+ * @param pwd Pointer to password
224
+ * @param pwdlen Password size in bytes
225
+ * @param salt Pointer to salt
226
+ * @param saltlen Salt size in bytes
227
+ * @param hashlen Desired length of the hash in bytes
228
+ * @param encoded Buffer where to write the encoded hash
229
+ * @param encodedlen Size of the buffer (thus max size of the encoded hash)
230
+ * @pre Different parallelism levels will give different results
231
+ * @pre Returns ARGON2_OK if successful
232
+ */
233
+ int argon2id_hash_encoded(const uint32_t t_cost, const uint32_t m_cost,
234
+ const uint32_t parallelism, const void *pwd,
235
+ const size_t pwdlen, const void *salt,
236
+ const size_t saltlen, const size_t hashlen,
237
+ char *encoded, const size_t encodedlen);
238
+
239
+ /**
240
+ * Hashes a password with Argon2i, producing a raw hash
241
+ * @param t_cost Number of iterations
242
+ * @param m_cost Sets memory usage to m_cost kibibytes
243
+ * @param parallelism Number of threads and compute lanes
244
+ * @param pwd Pointer to password
245
+ * @param pwdlen Password size in bytes
246
+ * @param salt Pointer to salt
247
+ * @param saltlen Salt size in bytes
248
+ * @param hash Buffer where to write the raw hash
249
+ * @param hashlen Desired length of the hash in bytes
250
+ * @pre Different parallelism levels will give different results
251
+ * @pre Returns ARGON2_OK if successful
252
+ */
253
+ int argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost,
254
+ const uint32_t parallelism, const void *pwd,
255
+ const size_t pwdlen, const void *salt,
256
+ const size_t saltlen, void *hash, const size_t hashlen);
257
+
258
+ /**
259
+ * Hashes a password with Argon2id, producing a raw hash
260
+ * @param t_cost Number of iterations
261
+ * @param m_cost Sets memory usage to m_cost kibibytes
262
+ * @param parallelism Number of threads and compute lanes
263
+ * @param pwd Pointer to password
264
+ * @param pwdlen Password size in bytes
265
+ * @param salt Pointer to salt
266
+ * @param saltlen Salt size in bytes
267
+ * @param hash Buffer where to write the raw hash
268
+ * @param hashlen Desired length of the hash in bytes
269
+ * @pre Different parallelism levels will give different results
270
+ * @pre Returns ARGON2_OK if successful
271
+ */
272
+ int argon2id_hash_raw(const uint32_t t_cost, const uint32_t m_cost,
273
+ const uint32_t parallelism, const void *pwd,
274
+ const size_t pwdlen, const void *salt,
275
+ const size_t saltlen, void *hash, const size_t hashlen);
276
+
277
+ /* generic function underlying the above ones */
278
+ int argon2_hash(const uint32_t t_cost, const uint32_t m_cost,
279
+ const uint32_t parallelism, const void *pwd,
280
+ const size_t pwdlen, const void *salt, const size_t saltlen,
281
+ void *hash, const size_t hashlen, char *encoded,
282
+ const size_t encodedlen, argon2_type type);
283
+
284
+ /**
285
+ * Verifies a password against an encoded string
286
+ * Encoded string is restricted as in argon2_validate_inputs()
287
+ * @param encoded String encoding parameters, salt, hash
288
+ * @param pwd Pointer to password
289
+ * @pre Returns ARGON2_OK if successful
290
+ */
291
+ int argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen);
292
+
293
+ /**
294
+ * Verifies a password against an encoded string
295
+ * Encoded string is restricted as in argon2_validate_inputs()
296
+ * @param encoded String encoding parameters, salt, hash
297
+ * @param pwd Pointer to password
298
+ * @pre Returns ARGON2_OK if successful
299
+ */
300
+ int argon2id_verify(const char *encoded, const void *pwd, const size_t pwdlen);
301
+
302
+ /* generic function underlying the above ones */
303
+ int argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen,
304
+ argon2_type type);
305
+ #endif
@@ -0,0 +1,79 @@
1
+ #include <limits.h>
2
+ #include <stdint.h>
3
+ #include <stdlib.h>
4
+ #include <string.h>
5
+
6
+ #include "crypto_generichash_blake2b.h"
7
+ #include "private/common.h"
8
+ #include "utils.h"
9
+
10
+ #include "blake2b-long.h"
11
+
12
+ int
13
+ blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen)
14
+ {
15
+ uint8_t *out = (uint8_t *) pout;
16
+ crypto_generichash_blake2b_state blake_state;
17
+ uint8_t outlen_bytes[4 /* sizeof(uint32_t) */] = { 0 };
18
+ int ret = -1;
19
+
20
+ if (outlen > UINT32_MAX) {
21
+ goto fail; /* LCOV_EXCL_LINE */
22
+ }
23
+
24
+ /* Ensure little-endian byte order! */
25
+ STORE32_LE(outlen_bytes, (uint32_t) outlen);
26
+
27
+ #define TRY(statement) \
28
+ do { \
29
+ ret = statement; \
30
+ if (ret < 0) { \
31
+ goto fail; \
32
+ } \
33
+ } while ((void) 0, 0)
34
+
35
+ if (outlen <= crypto_generichash_blake2b_BYTES_MAX) {
36
+ TRY(crypto_generichash_blake2b_init(&blake_state, NULL, 0U, outlen));
37
+ TRY(crypto_generichash_blake2b_update(&blake_state, outlen_bytes,
38
+ sizeof(outlen_bytes)));
39
+ TRY(crypto_generichash_blake2b_update(
40
+ &blake_state, (const unsigned char *) in, inlen));
41
+ TRY(crypto_generichash_blake2b_final(&blake_state, out, outlen));
42
+ } else {
43
+ uint32_t toproduce;
44
+ uint8_t out_buffer[crypto_generichash_blake2b_BYTES_MAX];
45
+ uint8_t in_buffer[crypto_generichash_blake2b_BYTES_MAX];
46
+ TRY(crypto_generichash_blake2b_init(
47
+ &blake_state, NULL, 0U, crypto_generichash_blake2b_BYTES_MAX));
48
+ TRY(crypto_generichash_blake2b_update(&blake_state, outlen_bytes,
49
+ sizeof(outlen_bytes)));
50
+ TRY(crypto_generichash_blake2b_update(
51
+ &blake_state, (const unsigned char *) in, inlen));
52
+ TRY(crypto_generichash_blake2b_final(
53
+ &blake_state, out_buffer, crypto_generichash_blake2b_BYTES_MAX));
54
+ memcpy(out, out_buffer, crypto_generichash_blake2b_BYTES_MAX / 2);
55
+ out += crypto_generichash_blake2b_BYTES_MAX / 2;
56
+ toproduce =
57
+ (uint32_t) outlen - crypto_generichash_blake2b_BYTES_MAX / 2;
58
+
59
+ while (toproduce > crypto_generichash_blake2b_BYTES_MAX) {
60
+ memcpy(in_buffer, out_buffer, crypto_generichash_blake2b_BYTES_MAX);
61
+ TRY(crypto_generichash_blake2b(
62
+ out_buffer, crypto_generichash_blake2b_BYTES_MAX, in_buffer,
63
+ crypto_generichash_blake2b_BYTES_MAX, NULL, 0U));
64
+ memcpy(out, out_buffer, crypto_generichash_blake2b_BYTES_MAX / 2);
65
+ out += crypto_generichash_blake2b_BYTES_MAX / 2;
66
+ toproduce -= crypto_generichash_blake2b_BYTES_MAX / 2;
67
+ }
68
+
69
+ memcpy(in_buffer, out_buffer, crypto_generichash_blake2b_BYTES_MAX);
70
+ TRY(crypto_generichash_blake2b(out_buffer, toproduce, in_buffer,
71
+ crypto_generichash_blake2b_BYTES_MAX,
72
+ NULL, 0U));
73
+ memcpy(out, out_buffer, toproduce);
74
+ }
75
+ fail:
76
+ sodium_memzero(&blake_state, sizeof(blake_state));
77
+ return ret;
78
+ #undef TRY
79
+ }
@@ -0,0 +1,8 @@
1
+ #ifndef blake2b_long_H
2
+ #define blake2b_long_H
3
+
4
+ #include <stddef.h>
5
+
6
+ int blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen);
7
+
8
+ #endif