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,271 @@
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
+ #ifndef argon2_core_H
15
+ #define argon2_core_H
16
+
17
+ #include <string.h>
18
+
19
+ #include "argon2.h"
20
+
21
+ /*************************Argon2 internal
22
+ * constants**************************************************/
23
+
24
+ enum argon2_ctx_constants {
25
+ /* Version of the algorithm */
26
+ ARGON2_VERSION_NUMBER = 0x13,
27
+
28
+ /* Memory block size in bytes */
29
+ ARGON2_BLOCK_SIZE = 1024,
30
+ ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8,
31
+ ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16,
32
+ ARGON2_HWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 32,
33
+ ARGON2_512BIT_WORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 64,
34
+
35
+ /* Number of pseudo-random values generated by one call to Blake in Argon2i
36
+ to
37
+ generate reference block positions */
38
+ ARGON2_ADDRESSES_IN_BLOCK = 128,
39
+
40
+ /* Pre-hashing digest length and its extension*/
41
+ ARGON2_PREHASH_DIGEST_LENGTH = 64,
42
+ ARGON2_PREHASH_SEED_LENGTH = 72
43
+ };
44
+
45
+ /*************************Argon2 internal data
46
+ * types**************************************************/
47
+
48
+ /*
49
+ * Structure for the (1KB) memory block implemented as 128 64-bit words.
50
+ * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no
51
+ * bounds checking).
52
+ */
53
+ typedef struct block_ {
54
+ uint64_t v[ARGON2_QWORDS_IN_BLOCK];
55
+ } block;
56
+
57
+ typedef struct block_region_ {
58
+ void * base;
59
+ block *memory;
60
+ size_t size;
61
+ } block_region;
62
+
63
+ /*****************Functions that work with the block******************/
64
+
65
+ /* Initialize each byte of the block with @in */
66
+ static inline void
67
+ init_block_value(block *b, uint8_t in)
68
+ {
69
+ memset(b->v, in, sizeof(b->v));
70
+ }
71
+
72
+ /* Copy block @src to block @dst */
73
+ static inline void
74
+ copy_block(block *dst, const block *src)
75
+ {
76
+ memcpy(dst->v, src->v, sizeof(uint64_t) * ARGON2_QWORDS_IN_BLOCK);
77
+ }
78
+
79
+ /* XOR @src onto @dst bytewise */
80
+ static inline void
81
+ xor_block(block *dst, const block *src)
82
+ {
83
+ int i;
84
+ for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) {
85
+ dst->v[i] ^= src->v[i];
86
+ }
87
+ }
88
+
89
+ /*
90
+ * Argon2 instance: memory pointer, number of passes, amount of memory, type,
91
+ * and derived values.
92
+ * Used to evaluate the number and location of blocks to construct in each
93
+ * thread
94
+ */
95
+ typedef struct Argon2_instance_t {
96
+ block_region *region; /* Memory region pointer */
97
+ uint64_t *pseudo_rands;
98
+ uint32_t passes; /* Number of passes */
99
+ uint32_t current_pass;
100
+ uint32_t memory_blocks; /* Number of blocks in memory */
101
+ uint32_t segment_length;
102
+ uint32_t lane_length;
103
+ uint32_t lanes;
104
+ uint32_t threads;
105
+ argon2_type type;
106
+ int print_internals; /* whether to print the memory blocks */
107
+ } argon2_instance_t;
108
+
109
+ /*
110
+ * Argon2 position: where we construct the block right now. Used to distribute
111
+ * work between threads.
112
+ */
113
+ typedef struct Argon2_position_t {
114
+ uint32_t pass;
115
+ uint32_t lane;
116
+ uint8_t slice;
117
+ uint32_t index;
118
+ } argon2_position_t;
119
+
120
+ /*Struct that holds the inputs for thread handling FillSegment*/
121
+ typedef struct Argon2_thread_data {
122
+ argon2_instance_t *instance_ptr;
123
+ argon2_position_t pos;
124
+ } argon2_thread_data;
125
+
126
+ /*************************Argon2 core
127
+ * functions**************************************************/
128
+
129
+ /*
130
+ * Computes absolute position of reference block in the lane following a skewed
131
+ * distribution and using a pseudo-random value as input
132
+ * @param instance Pointer to the current instance
133
+ * @param position Pointer to the current position
134
+ * @param pseudo_rand 32-bit pseudo-random value used to determine the position
135
+ * @param same_lane Indicates if the block will be taken from the current lane.
136
+ * If so we can reference the current segment
137
+ * @pre All pointers must be valid
138
+ */
139
+ static uint32_t index_alpha(const argon2_instance_t *instance,
140
+ const argon2_position_t *position, uint32_t pseudo_rand,
141
+ int same_lane)
142
+ {
143
+ /*
144
+ * Pass 0:
145
+ * This lane : all already finished segments plus already constructed
146
+ * blocks in this segment
147
+ * Other lanes : all already finished segments
148
+ * Pass 1+:
149
+ * This lane : (SYNC_POINTS - 1) last segments plus already constructed
150
+ * blocks in this segment
151
+ * Other lanes : (SYNC_POINTS - 1) last segments
152
+ */
153
+ uint32_t reference_area_size;
154
+ uint64_t relative_position;
155
+ uint32_t start_position, absolute_position;
156
+
157
+ if (position->pass == 0) {
158
+ /* First pass */
159
+ if (position->slice == 0) {
160
+ /* First slice */
161
+ reference_area_size =
162
+ position->index - 1; /* all but the previous */
163
+ } else {
164
+ if (same_lane) {
165
+ /* The same lane => add current segment */
166
+ reference_area_size =
167
+ position->slice * instance->segment_length +
168
+ position->index - 1;
169
+ } else {
170
+ reference_area_size =
171
+ position->slice * instance->segment_length +
172
+ ((position->index == 0) ? (-1) : 0);
173
+ }
174
+ }
175
+ } else {
176
+ /* Second pass */
177
+ if (same_lane) {
178
+ reference_area_size = instance->lane_length -
179
+ instance->segment_length + position->index -
180
+ 1;
181
+ } else {
182
+ reference_area_size = instance->lane_length -
183
+ instance->segment_length +
184
+ ((position->index == 0) ? (-1) : 0);
185
+ }
186
+ }
187
+
188
+ /* 1.2.4. Mapping pseudo_rand to 0..<reference_area_size-1> and produce
189
+ * relative position */
190
+ relative_position = pseudo_rand;
191
+ relative_position = relative_position * relative_position >> 32;
192
+ relative_position = reference_area_size - 1 -
193
+ (reference_area_size * relative_position >> 32);
194
+
195
+ /* 1.2.5 Computing starting position */
196
+ start_position = 0;
197
+
198
+ if (position->pass != 0) {
199
+ start_position = (position->slice == ARGON2_SYNC_POINTS - 1)
200
+ ? 0
201
+ : (position->slice + 1) * instance->segment_length;
202
+ }
203
+
204
+ /* 1.2.6. Computing absolute position */
205
+ absolute_position = (start_position + relative_position) %
206
+ instance->lane_length; /* absolute position */
207
+ return absolute_position;
208
+ }
209
+
210
+ /*
211
+ * Function that validates all inputs against predefined restrictions and return
212
+ * an error code
213
+ * @param context Pointer to current Argon2 context
214
+ * @return ARGON2_OK if everything is all right, otherwise one of error codes
215
+ * (all defined in <argon2.h>
216
+ */
217
+ int argon2_validate_inputs(const argon2_context *context);
218
+
219
+ /*
220
+ * Function allocates memory, hashes the inputs with Blake, and creates first
221
+ * two blocks. Returns the pointer to the main memory with 2 blocks per lane
222
+ * initialized
223
+ * @param context Pointer to the Argon2 internal structure containing memory
224
+ * pointer, and parameters for time and space requirements.
225
+ * @param instance Current Argon2 instance
226
+ * @return Zero if successful, -1 if memory failed to allocate. @context->state
227
+ * will be modified if successful.
228
+ */
229
+ int argon2_initialize(argon2_instance_t *instance, argon2_context *context);
230
+
231
+ /*
232
+ * XORing the last block of each lane, hashing it, making the tag. Deallocates
233
+ * the memory.
234
+ * @param context Pointer to current Argon2 context (use only the out parameters
235
+ * from it)
236
+ * @param instance Pointer to current instance of Argon2
237
+ * @pre instance->state must point to necessary amount of memory
238
+ * @pre context->out must point to outlen bytes of memory
239
+ * @pre if context->free_cbk is not NULL, it should point to a function that
240
+ * deallocates memory
241
+ */
242
+ void argon2_finalize(const argon2_context *context,
243
+ argon2_instance_t *instance);
244
+
245
+ /*
246
+ * Function that fills the segment using previous segments also from other
247
+ * threads
248
+ * @param instance Pointer to the current instance
249
+ * @param position Current position
250
+ * @pre all block pointers must be valid
251
+ */
252
+ typedef void (*fill_segment_fn)(const argon2_instance_t *instance,
253
+ argon2_position_t position);
254
+ void argon2_fill_segment_avx512f(const argon2_instance_t *instance,
255
+ argon2_position_t position);
256
+ void argon2_fill_segment_avx2(const argon2_instance_t *instance,
257
+ argon2_position_t position);
258
+ void argon2_fill_segment_ssse3(const argon2_instance_t *instance,
259
+ argon2_position_t position);
260
+ void argon2_fill_segment_ref(const argon2_instance_t *instance,
261
+ argon2_position_t position);
262
+
263
+ /*
264
+ * Function that fills the entire memory t_cost times based on the first two
265
+ * blocks in each lane
266
+ * @param instance Pointer to the current instance
267
+ * @return Zero if successful, -1 if memory failed to allocate
268
+ */
269
+ void argon2_fill_memory_blocks(argon2_instance_t *instance, uint32_t pass);
270
+
271
+ #endif
@@ -0,0 +1,306 @@
1
+ #include "argon2-encoding.h"
2
+ #include "argon2-core.h"
3
+ #include "utils.h"
4
+ #include <limits.h>
5
+ #include <stdio.h>
6
+ #include <stdlib.h>
7
+ #include <string.h>
8
+
9
+ /*
10
+ * Example code for a decoder and encoder of "hash strings", with Argon2
11
+ * parameters.
12
+ *
13
+ * The code was originally written by Thomas Pornin <pornin@bolet.org>,
14
+ * to whom comments and remarks may be sent. It is released under what
15
+ * should amount to Public Domain or its closest equivalent; the
16
+ * following mantra is supposed to incarnate that fact with all the
17
+ * proper legal rituals:
18
+ *
19
+ * ---------------------------------------------------------------------
20
+ * This file is provided under the terms of Creative Commons CC0 1.0
21
+ * Public Domain Dedication. To the extent possible under law, the
22
+ * author (Thomas Pornin) has waived all copyright and related or
23
+ * neighboring rights to this file. This work is published from: Canada.
24
+ * ---------------------------------------------------------------------
25
+ *
26
+ * Copyright (c) 2015 Thomas Pornin
27
+ */
28
+
29
+ /* ==================================================================== */
30
+
31
+ /*
32
+ * Decode decimal integer from 'str'; the value is written in '*v'.
33
+ * Returned value is a pointer to the next non-decimal character in the
34
+ * string. If there is no digit at all, or the value encoding is not
35
+ * minimal (extra leading zeros), or the value does not fit in an
36
+ * 'unsigned long', then NULL is returned.
37
+ */
38
+ static const char *
39
+ decode_decimal(const char *str, unsigned long *v)
40
+ {
41
+ const char *orig;
42
+ unsigned long acc;
43
+
44
+ acc = 0;
45
+ for (orig = str;; str++) {
46
+ int c;
47
+
48
+ c = *str;
49
+ if (c < '0' || c > '9') {
50
+ break;
51
+ }
52
+ c -= '0';
53
+ if (acc > (ULONG_MAX / 10)) {
54
+ return NULL;
55
+ }
56
+ acc *= 10;
57
+ if ((unsigned long) c > (ULONG_MAX - acc)) {
58
+ return NULL;
59
+ }
60
+ acc += (unsigned long) c;
61
+ }
62
+ if (str == orig || (*orig == '0' && str != (orig + 1))) {
63
+ return NULL;
64
+ }
65
+ *v = acc;
66
+ return str;
67
+ }
68
+
69
+ /* ==================================================================== */
70
+ /*
71
+ * Code specific to Argon2.
72
+ *
73
+ * The code below applies the following format:
74
+ *
75
+ * $argon2<T>[$v=<num>]$m=<num>,t=<num>,p=<num>$<bin>$<bin>
76
+ *
77
+ * where <T> is either 'i', <num> is a decimal integer (positive, fits in an
78
+ * 'unsigned long') and <bin> is Base64-encoded data (no '=' padding characters,
79
+ * no newline or whitespace).
80
+ *
81
+ * The last two binary chunks (encoded in Base64) are, in that order,
82
+ * the salt and the output. Both are required. The binary salt length and the
83
+ * output length must be in the allowed ranges defined in argon2.h.
84
+ *
85
+ * The ctx struct must contain buffers large enough to hold the salt and pwd
86
+ * when it is fed into argon2_decode_string.
87
+ */
88
+
89
+ /*
90
+ * Decode an Argon2i hash string into the provided structure 'ctx'.
91
+ * Returned value is ARGON2_OK on success.
92
+ */
93
+ int
94
+ argon2_decode_string(argon2_context *ctx, const char *str, argon2_type type)
95
+ {
96
+ /* Prefix checking */
97
+ #define CC(prefix) \
98
+ do { \
99
+ size_t cc_len = strlen(prefix); \
100
+ if (strncmp(str, prefix, cc_len) != 0) { \
101
+ return ARGON2_DECODING_FAIL; \
102
+ } \
103
+ str += cc_len; \
104
+ } while ((void) 0, 0)
105
+
106
+ /* Optional prefix checking with supplied code */
107
+ #define CC_opt(prefix, code) \
108
+ do { \
109
+ size_t cc_len = strlen(prefix); \
110
+ if (strncmp(str, prefix, cc_len) == 0) { \
111
+ str += cc_len; \
112
+ { \
113
+ code; \
114
+ } \
115
+ } \
116
+ } while ((void) 0, 0)
117
+
118
+ /* Decoding prefix into decimal */
119
+ #define DECIMAL(x) \
120
+ do { \
121
+ unsigned long dec_x; \
122
+ str = decode_decimal(str, &dec_x); \
123
+ if (str == NULL) { \
124
+ return ARGON2_DECODING_FAIL; \
125
+ } \
126
+ (x) = dec_x; \
127
+ } while ((void) 0, 0)
128
+
129
+ /* Decoding prefix into uint32_t decimal */
130
+ #define DECIMAL_U32(x) \
131
+ do { \
132
+ unsigned long dec_x; \
133
+ str = decode_decimal(str, &dec_x); \
134
+ if (str == NULL || dec_x > UINT32_MAX) { \
135
+ return ARGON2_DECODING_FAIL; \
136
+ } \
137
+ (x) = (uint32_t)dec_x; \
138
+ } while ((void)0, 0)
139
+
140
+ /* Decoding base64 into a binary buffer */
141
+ #define BIN(buf, max_len, len) \
142
+ do { \
143
+ size_t bin_len = (max_len); \
144
+ const char *str_end; \
145
+ if (sodium_base642bin((buf), (max_len), str, strlen(str), NULL, \
146
+ &bin_len, &str_end, \
147
+ sodium_base64_VARIANT_ORIGINAL_NO_PADDING) != 0 || \
148
+ bin_len > UINT32_MAX) { \
149
+ return ARGON2_DECODING_FAIL; \
150
+ } \
151
+ (len) = (uint32_t) bin_len; \
152
+ str = str_end; \
153
+ } while ((void) 0, 0)
154
+
155
+ size_t maxsaltlen = ctx->saltlen;
156
+ size_t maxoutlen = ctx->outlen;
157
+ int validation_result;
158
+ uint32_t version = 0;
159
+
160
+ ctx->saltlen = 0;
161
+ ctx->outlen = 0;
162
+
163
+ if (type == Argon2_id) {
164
+ CC("$argon2id");
165
+ } else if (type == Argon2_i) {
166
+ CC("$argon2i");
167
+ } else {
168
+ return ARGON2_INCORRECT_TYPE;
169
+ }
170
+ CC("$v=");
171
+ DECIMAL_U32(version);
172
+ if (version != ARGON2_VERSION_NUMBER) {
173
+ return ARGON2_INCORRECT_TYPE;
174
+ }
175
+ CC("$m=");
176
+ DECIMAL_U32(ctx->m_cost);
177
+ if (ctx->m_cost > UINT32_MAX) {
178
+ return ARGON2_INCORRECT_TYPE;
179
+ }
180
+ CC(",t=");
181
+ DECIMAL_U32(ctx->t_cost);
182
+ if (ctx->t_cost > UINT32_MAX) {
183
+ return ARGON2_INCORRECT_TYPE;
184
+ }
185
+ CC(",p=");
186
+ DECIMAL_U32(ctx->lanes);
187
+ if (ctx->lanes > UINT32_MAX) {
188
+ return ARGON2_INCORRECT_TYPE;
189
+ }
190
+ ctx->threads = ctx->lanes;
191
+
192
+ CC("$");
193
+ BIN(ctx->salt, maxsaltlen, ctx->saltlen);
194
+ CC("$");
195
+ BIN(ctx->out, maxoutlen, ctx->outlen);
196
+ validation_result = argon2_validate_inputs(ctx);
197
+ if (validation_result != ARGON2_OK) {
198
+ return validation_result;
199
+ }
200
+ if (*str == 0) {
201
+ return ARGON2_OK;
202
+ }
203
+ return ARGON2_DECODING_FAIL;
204
+
205
+ #undef CC
206
+ #undef CC_opt
207
+ #undef DECIMAL
208
+ #undef BIN
209
+ }
210
+
211
+ #define U32_STR_MAXSIZE 11U
212
+
213
+ static void
214
+ u32_to_string(char *str, uint32_t x)
215
+ {
216
+ char tmp[U32_STR_MAXSIZE - 1U];
217
+ size_t i;
218
+
219
+ i = sizeof tmp;
220
+ do {
221
+ tmp[--i] = (x % (uint32_t) 10U) + '0';
222
+ x /= (uint32_t) 10U;
223
+ } while (x != 0U && i != 0U);
224
+ memcpy(str, &tmp[i], (sizeof tmp) - i);
225
+ str[(sizeof tmp) - i] = 0;
226
+ }
227
+
228
+ /*
229
+ * Encode an argon2i hash string into the provided buffer. 'dst_len'
230
+ * contains the size, in characters, of the 'dst' buffer; if 'dst_len'
231
+ * is less than the number of required characters (including the
232
+ * terminating 0), then this function returns 0.
233
+ *
234
+ * If pp->output_len is 0, then the hash string will be a salt string
235
+ * (no output). if pp->salt_len is also 0, then the string will be a
236
+ * parameter-only string (no salt and no output).
237
+ *
238
+ * On success, ARGON2_OK is returned.
239
+ */
240
+ int
241
+ argon2_encode_string(char *dst, size_t dst_len, argon2_context *ctx,
242
+ argon2_type type)
243
+ {
244
+ #define SS(str) \
245
+ do { \
246
+ size_t pp_len = strlen(str); \
247
+ if (pp_len >= dst_len) { \
248
+ return ARGON2_ENCODING_FAIL; \
249
+ } \
250
+ memcpy(dst, str, pp_len + 1); \
251
+ dst += pp_len; \
252
+ dst_len -= pp_len; \
253
+ } while ((void) 0, 0)
254
+
255
+ #define SX(x) \
256
+ do { \
257
+ char tmp[U32_STR_MAXSIZE]; \
258
+ u32_to_string(tmp, x); \
259
+ SS(tmp); \
260
+ } while ((void) 0, 0)
261
+
262
+ #define SB(buf, len) \
263
+ do { \
264
+ size_t sb_len; \
265
+ if (sodium_bin2base64(dst, dst_len, (buf), (len), \
266
+ sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == NULL) { \
267
+ return ARGON2_ENCODING_FAIL; \
268
+ } \
269
+ sb_len = strlen(dst); \
270
+ dst += sb_len; \
271
+ dst_len -= sb_len; \
272
+ } while ((void) 0, 0)
273
+
274
+ int validation_result;
275
+
276
+ switch (type) {
277
+ case Argon2_id:
278
+ SS("$argon2id$v="); break;
279
+ case Argon2_i:
280
+ SS("$argon2i$v="); break;
281
+ default:
282
+ return ARGON2_ENCODING_FAIL;
283
+ }
284
+ validation_result = argon2_validate_inputs(ctx);
285
+ if (validation_result != ARGON2_OK) {
286
+ return validation_result;
287
+ }
288
+ SX(ARGON2_VERSION_NUMBER);
289
+ SS("$m=");
290
+ SX(ctx->m_cost);
291
+ SS(",t=");
292
+ SX(ctx->t_cost);
293
+ SS(",p=");
294
+ SX(ctx->lanes);
295
+
296
+ SS("$");
297
+ SB(ctx->salt, ctx->saltlen);
298
+
299
+ SS("$");
300
+ SB(ctx->out, ctx->outlen);
301
+ return ARGON2_OK;
302
+
303
+ #undef SS
304
+ #undef SX
305
+ #undef SB
306
+ }
@@ -0,0 +1,34 @@
1
+ #ifndef argon2_encoding_H
2
+ #define argon2_encoding_H
3
+
4
+ #include "argon2.h"
5
+
6
+ /*
7
+ * encode an Argon2 hash string into the provided buffer. 'dst_len'
8
+ * contains the size, in characters, of the 'dst' buffer; if 'dst_len'
9
+ * is less than the number of required characters (including the
10
+ * terminating 0), then this function returns 0.
11
+ *
12
+ * if ctx->outlen is 0, then the hash string will be a salt string
13
+ * (no output). if ctx->saltlen is also 0, then the string will be a
14
+ * parameter-only string (no salt and no output).
15
+ *
16
+ * On success, ARGON2_OK is returned.
17
+ *
18
+ * No other parameters are checked
19
+ */
20
+ int argon2_encode_string(char *dst, size_t dst_len, argon2_context *ctx,
21
+ argon2_type type);
22
+
23
+ /*
24
+ * Decodes an Argon2 hash string into the provided structure 'ctx'.
25
+ * The fields ctx.saltlen, ctx.adlen, ctx.outlen set the maximal salt, ad, out
26
+ * length values
27
+ * that are allowed; invalid input string causes an error
28
+ *
29
+ * Returned value is ARGON2_OK on success.
30
+ */
31
+ int argon2_decode_string(argon2_context *ctx, const char *str,
32
+ argon2_type type);
33
+
34
+ #endif