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

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 (605) hide show
  1. package/android/CMakeLists.txt +2 -0
  2. package/cpp/cipher/ChaCha20Cipher.cpp +97 -0
  3. package/cpp/cipher/ChaCha20Cipher.hpp +25 -0
  4. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +170 -0
  5. package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +30 -0
  6. package/cpp/cipher/HybridCipherFactory.hpp +19 -1
  7. package/deps/fastpbkdf2/fastpbkdf2.c +5 -1
  8. package/lib/commonjs/cipher.js.map +1 -1
  9. package/lib/module/cipher.js.map +1 -1
  10. package/lib/tsconfig.tsbuildinfo +1 -1
  11. package/lib/typescript/cipher.d.ts +3 -1
  12. package/lib/typescript/cipher.d.ts.map +1 -1
  13. package/package.json +3 -3
  14. package/src/cipher.ts +7 -0
  15. package/ios/libsodium-stable/.github/workflows/autocloser.yml +0 -12
  16. package/ios/libsodium-stable/.github/workflows/ci.yml +0 -180
  17. package/ios/libsodium-stable/.github/workflows/cifuzz.yml +0 -32
  18. package/ios/libsodium-stable/.github/workflows/codeql-analysis.yml +0 -48
  19. package/ios/libsodium-stable/.github/workflows/dotnet-core.yml +0 -388
  20. package/ios/libsodium-stable/AUTHORS +0 -144
  21. package/ios/libsodium-stable/CITATION.cff +0 -18
  22. package/ios/libsodium-stable/ChangeLog +0 -658
  23. package/ios/libsodium-stable/LICENSE +0 -18
  24. package/ios/libsodium-stable/Makefile.am +0 -23
  25. package/ios/libsodium-stable/README.markdown +0 -76
  26. package/ios/libsodium-stable/THANKS +0 -92
  27. package/ios/libsodium-stable/appveyor.yml +0 -24
  28. package/ios/libsodium-stable/autogen.sh +0 -117
  29. package/ios/libsodium-stable/azure-pipelines.yml +0 -122
  30. package/ios/libsodium-stable/build.zig +0 -281
  31. package/ios/libsodium-stable/builds/Makefile.am +0 -81
  32. package/ios/libsodium-stable/builds/msvc/build/buildall.bat +0 -18
  33. package/ios/libsodium-stable/builds/msvc/build/buildbase.bat +0 -132
  34. package/ios/libsodium-stable/builds/msvc/properties/ARM64.props +0 -23
  35. package/ios/libsodium-stable/builds/msvc/properties/Common.props +0 -21
  36. package/ios/libsodium-stable/builds/msvc/properties/DLL.props +0 -16
  37. package/ios/libsodium-stable/builds/msvc/properties/Debug.props +0 -29
  38. package/ios/libsodium-stable/builds/msvc/properties/DebugDEXE.props +0 -21
  39. package/ios/libsodium-stable/builds/msvc/properties/DebugDLL.props +0 -20
  40. package/ios/libsodium-stable/builds/msvc/properties/DebugLEXE.props +0 -20
  41. package/ios/libsodium-stable/builds/msvc/properties/DebugLIB.props +0 -21
  42. package/ios/libsodium-stable/builds/msvc/properties/DebugLTCG.props +0 -20
  43. package/ios/libsodium-stable/builds/msvc/properties/DebugSEXE.props +0 -21
  44. package/ios/libsodium-stable/builds/msvc/properties/EXE.props +0 -17
  45. package/ios/libsodium-stable/builds/msvc/properties/LIB.props +0 -16
  46. package/ios/libsodium-stable/builds/msvc/properties/LTCG.props +0 -13
  47. package/ios/libsodium-stable/builds/msvc/properties/Link.props +0 -21
  48. package/ios/libsodium-stable/builds/msvc/properties/Messages.props +0 -15
  49. package/ios/libsodium-stable/builds/msvc/properties/Output.props +0 -30
  50. package/ios/libsodium-stable/builds/msvc/properties/Release.props +0 -41
  51. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDEXE.props +0 -20
  52. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDLL.props +0 -19
  53. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLEXE.props +0 -20
  54. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLIB.props +0 -19
  55. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLTCG.props +0 -19
  56. package/ios/libsodium-stable/builds/msvc/properties/ReleaseSEXE.props +0 -20
  57. package/ios/libsodium-stable/builds/msvc/properties/Win32.props +0 -23
  58. package/ios/libsodium-stable/builds/msvc/properties/x64.props +0 -26
  59. package/ios/libsodium-stable/builds/msvc/resource.h +0 -14
  60. package/ios/libsodium-stable/builds/msvc/resource.rc +0 -65
  61. package/ios/libsodium-stable/builds/msvc/version.h +0 -33
  62. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.props +0 -48
  63. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj +0 -346
  64. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +0 -1088
  65. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.xml +0 -15
  66. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.props +0 -52
  67. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.xml +0 -17
  68. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.sln +0 -50
  69. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.props +0 -48
  70. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj +0 -346
  71. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +0 -1088
  72. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.xml +0 -15
  73. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.props +0 -52
  74. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.xml +0 -17
  75. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.sln +0 -50
  76. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.props +0 -48
  77. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj +0 -346
  78. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +0 -1088
  79. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.xml +0 -15
  80. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.props +0 -52
  81. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.xml +0 -17
  82. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.sln +0 -52
  83. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.props +0 -48
  84. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj +0 -346
  85. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +0 -1088
  86. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.xml +0 -15
  87. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.props +0 -52
  88. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.xml +0 -17
  89. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.sln +0 -52
  90. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.props +0 -48
  91. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj +0 -346
  92. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +0 -1088
  93. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.xml +0 -15
  94. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.props +0 -52
  95. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.xml +0 -17
  96. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.sln +0 -52
  97. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.props +0 -48
  98. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj +0 -370
  99. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +0 -1088
  100. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.xml +0 -15
  101. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.props +0 -52
  102. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.xml +0 -17
  103. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.sln +0 -52
  104. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.props +0 -48
  105. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj +0 -370
  106. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters +0 -1088
  107. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.xml +0 -15
  108. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.props +0 -52
  109. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.xml +0 -17
  110. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.sln +0 -70
  111. package/ios/libsodium-stable/ci/appveyor/libsodium.sln +0 -40
  112. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj +0 -594
  113. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj.filters +0 -813
  114. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/process.bat +0 -5
  115. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/rep.vbs +0 -12
  116. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/sodium.props +0 -29
  117. package/ios/libsodium-stable/configure.ac +0 -1004
  118. package/ios/libsodium-stable/contrib/Findsodium.cmake +0 -297
  119. package/ios/libsodium-stable/contrib/Makefile.am +0 -3
  120. package/ios/libsodium-stable/dist-build/Makefile.am +0 -14
  121. package/ios/libsodium-stable/dist-build/android-aar.sh +0 -194
  122. package/ios/libsodium-stable/dist-build/android-armv7-a.sh +0 -5
  123. package/ios/libsodium-stable/dist-build/android-armv8-a.sh +0 -5
  124. package/ios/libsodium-stable/dist-build/android-build.sh +0 -95
  125. package/ios/libsodium-stable/dist-build/android-x86.sh +0 -5
  126. package/ios/libsodium-stable/dist-build/android-x86_64.sh +0 -5
  127. package/ios/libsodium-stable/dist-build/apple-xcframework.sh +0 -628
  128. package/ios/libsodium-stable/dist-build/emscripten-symbols.def +0 -651
  129. package/ios/libsodium-stable/dist-build/emscripten.sh +0 -206
  130. package/ios/libsodium-stable/dist-build/generate-emscripten-symbols.sh +0 -59
  131. package/ios/libsodium-stable/dist-build/macos.sh +0 -26
  132. package/ios/libsodium-stable/dist-build/msys2-win32.sh +0 -18
  133. package/ios/libsodium-stable/dist-build/msys2-win64.sh +0 -18
  134. package/ios/libsodium-stable/dist-build/wasm32-wasi.sh +0 -45
  135. package/ios/libsodium-stable/lgtm.yml +0 -6
  136. package/ios/libsodium-stable/libsodium-uninstalled.pc.in +0 -7
  137. package/ios/libsodium-stable/libsodium.pc.in +0 -12
  138. package/ios/libsodium-stable/logo.png +0 -0
  139. package/ios/libsodium-stable/m4/ax_add_fortify_source.m4 +0 -121
  140. package/ios/libsodium-stable/m4/ax_check_catchable_abrt.m4 +0 -57
  141. package/ios/libsodium-stable/m4/ax_check_catchable_segv.m4 +0 -47
  142. package/ios/libsodium-stable/m4/ax_check_compile_flag.m4 +0 -55
  143. package/ios/libsodium-stable/m4/ax_check_define.m4 +0 -73
  144. package/ios/libsodium-stable/m4/ax_check_gnu_make.m4 +0 -95
  145. package/ios/libsodium-stable/m4/ax_check_link_flag.m4 +0 -75
  146. package/ios/libsodium-stable/m4/ax_pthread.m4 +0 -522
  147. package/ios/libsodium-stable/m4/ax_tls.m4 +0 -71
  148. package/ios/libsodium-stable/m4/ax_valgrind_check.m4 +0 -241
  149. package/ios/libsodium-stable/m4/ld-output-def.m4 +0 -29
  150. package/ios/libsodium-stable/packaging/dotnet-core/libsodium.pkgproj +0 -49
  151. package/ios/libsodium-stable/packaging/dotnet-core/test.cs +0 -43
  152. package/ios/libsodium-stable/packaging/nuget/package.bat +0 -13
  153. package/ios/libsodium-stable/packaging/nuget/package.config +0 -4
  154. package/ios/libsodium-stable/packaging/nuget/package.gsl +0 -260
  155. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj +0 -326
  156. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters +0 -23
  157. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters.tpl +0 -35
  158. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.tpl +0 -37
  159. package/ios/libsodium-stable/regen-msvc/regen-msvc.py +0 -240
  160. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.filters.tpl +0 -23
  161. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.tpl +0 -332
  162. package/ios/libsodium-stable/src/Makefile.am +0 -3
  163. package/ios/libsodium-stable/src/libsodium/Makefile.am +0 -314
  164. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c +0 -159
  165. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.c +0 -70
  166. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.h +0 -8
  167. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c +0 -72
  168. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.h +0 -8
  169. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_common.h +0 -248
  170. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.c +0 -59
  171. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.h +0 -8
  172. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/implementations.h +0 -17
  173. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +0 -158
  174. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c +0 -65
  175. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.h +0 -8
  176. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c +0 -70
  177. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.h +0 -8
  178. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_common.h +0 -231
  179. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.c +0 -54
  180. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.h +0 -8
  181. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/implementations.h +0 -17
  182. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c +0 -157
  183. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +0 -1015
  184. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +0 -1032
  185. package/ios/libsodium-stable/src/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c +0 -400
  186. package/ios/libsodium-stable/src/libsodium/crypto_aead/xchacha20poly1305/aead_xchacha20poly1305.c +0 -262
  187. package/ios/libsodium-stable/src/libsodium/crypto_auth/crypto_auth.c +0 -41
  188. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +0 -118
  189. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +0 -118
  190. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +0 -93
  191. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box.c +0 -114
  192. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_easy.c +0 -115
  193. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_seal.c +0 -68
  194. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +0 -204
  195. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +0 -79
  196. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +0 -156
  197. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ed25519.c +0 -225
  198. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ristretto255.c +0 -156
  199. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +0 -2873
  200. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +0 -1344
  201. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +0 -40
  202. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +0 -40
  203. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +0 -220
  204. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +0 -1344
  205. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +0 -40
  206. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +0 -41
  207. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +0 -116
  208. package/ios/libsodium-stable/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +0 -93
  209. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +0 -21
  210. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +0 -95
  211. package/ios/libsodium-stable/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +0 -195
  212. package/ios/libsodium-stable/src/libsodium/crypto_core/softaes/softaes.c +0 -340
  213. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +0 -55
  214. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +0 -106
  215. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +0 -52
  216. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +0 -142
  217. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +0 -93
  218. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +0 -91
  219. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +0 -106
  220. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +0 -95
  221. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +0 -106
  222. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +0 -340
  223. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +0 -164
  224. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +0 -307
  225. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +0 -438
  226. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +0 -116
  227. package/ios/libsodium-stable/src/libsodium/crypto_generichash/crypto_generichash.c +0 -91
  228. package/ios/libsodium-stable/src/libsodium/crypto_hash/crypto_hash.c +0 -20
  229. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +0 -256
  230. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/hash_sha256.c +0 -13
  231. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +0 -284
  232. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/hash_sha512.c +0 -13
  233. package/ios/libsodium-stable/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +0 -52
  234. package/ios/libsodium-stable/src/libsodium/crypto_kdf/crypto_kdf.c +0 -49
  235. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha256.c +0 -123
  236. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha512.c +0 -123
  237. package/ios/libsodium-stable/src/libsodium/crypto_kx/crypto_kx.c +0 -143
  238. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +0 -71
  239. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +0 -124
  240. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +0 -12
  241. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +0 -235
  242. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +0 -221
  243. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +0 -90
  244. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +0 -21
  245. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +0 -957
  246. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +0 -12
  247. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.c +0 -556
  248. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.h +0 -271
  249. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +0 -306
  250. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +0 -34
  251. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +0 -243
  252. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +0 -251
  253. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +0 -234
  254. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +0 -244
  255. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.c +0 -283
  256. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.h +0 -305
  257. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +0 -79
  258. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +0 -8
  259. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +0 -150
  260. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +0 -145
  261. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +0 -40
  262. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +0 -124
  263. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +0 -294
  264. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +0 -238
  265. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/crypto_pwhash.c +0 -212
  266. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +0 -268
  267. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +0 -92
  268. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +0 -318
  269. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +0 -96
  270. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +0 -45
  271. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +0 -301
  272. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +0 -112
  273. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +0 -406
  274. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +0 -33
  275. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +0 -182
  276. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +0 -10
  277. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +0 -25
  278. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +0 -20
  279. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +0 -71
  280. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +0 -9
  281. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +0 -26
  282. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +0 -35
  283. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +0 -58
  284. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +0 -200
  285. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +0 -16
  286. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +0 -174
  287. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +0 -228
  288. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +0 -78
  289. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +0 -1442
  290. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +0 -18
  291. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +0 -8
  292. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +0 -16
  293. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +0 -60
  294. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +0 -11
  295. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +0 -121
  296. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c +0 -63
  297. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox.c +0 -67
  298. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +0 -145
  299. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +0 -177
  300. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +0 -89
  301. package/ios/libsodium-stable/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +0 -313
  302. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/crypto_shorthash.c +0 -34
  303. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +0 -71
  304. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +0 -24
  305. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +0 -77
  306. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +0 -11
  307. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +0 -11
  308. package/ios/libsodium-stable/src/libsodium/crypto_sign/crypto_sign.c +0 -115
  309. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +0 -84
  310. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +0 -118
  311. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/open.c +0 -98
  312. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign.c +0 -128
  313. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +0 -18
  314. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +0 -97
  315. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +0 -180
  316. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +0 -8
  317. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +0 -176
  318. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +0 -8
  319. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +0 -86
  320. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +0 -98
  321. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +0 -177
  322. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +0 -326
  323. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +0 -312
  324. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +0 -8
  325. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +0 -184
  326. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +0 -22
  327. package/ios/libsodium-stable/src/libsodium/crypto_stream/crypto_stream.c +0 -49
  328. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +0 -120
  329. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +0 -8
  330. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +0 -100
  331. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +0 -16
  332. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +0 -965
  333. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +0 -31
  334. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +0 -8
  335. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +0 -134
  336. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +0 -8
  337. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +0 -128
  338. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +0 -8
  339. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +0 -195
  340. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +0 -207
  341. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +0 -547
  342. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +0 -477
  343. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +0 -106
  344. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +0 -26
  345. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +0 -106
  346. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +0 -26
  347. package/ios/libsodium-stable/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +0 -69
  348. package/ios/libsodium-stable/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +0 -66
  349. package/ios/libsodium-stable/src/libsodium/crypto_verify/verify.c +0 -103
  350. package/ios/libsodium-stable/src/libsodium/include/Makefile.am +0 -76
  351. package/ios/libsodium-stable/src/libsodium/include/sodium/core.h +0 -28
  352. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis128l.h +0 -92
  353. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis256.h +0 -92
  354. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +0 -179
  355. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +0 -180
  356. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +0 -100
  357. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth.h +0 -46
  358. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +0 -70
  359. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +0 -68
  360. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +0 -65
  361. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box.h +0 -177
  362. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +0 -164
  363. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +0 -112
  364. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ed25519.h +0 -100
  365. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hchacha20.h +0 -36
  366. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hsalsa20.h +0 -36
  367. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ristretto255.h +0 -100
  368. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa20.h +0 -36
  369. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa2012.h +0 -36
  370. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa208.h +0 -40
  371. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash.h +0 -84
  372. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash_blake2b.h +0 -122
  373. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash.h +0 -40
  374. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha256.h +0 -60
  375. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha512.h +0 -60
  376. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf.h +0 -53
  377. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_blake2b.h +0 -44
  378. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha256.h +0 -74
  379. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha512.h +0 -75
  380. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kx.h +0 -66
  381. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth.h +0 -65
  382. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +0 -72
  383. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash.h +0 -147
  384. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +0 -122
  385. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +0 -122
  386. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +0 -120
  387. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult.h +0 -46
  388. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +0 -42
  389. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +0 -51
  390. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +0 -43
  391. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox.h +0 -93
  392. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +0 -70
  393. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +0 -69
  394. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +0 -108
  395. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash.h +0 -41
  396. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +0 -50
  397. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign.h +0 -107
  398. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_ed25519.h +0 -124
  399. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +0 -55
  400. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream.h +0 -59
  401. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_chacha20.h +0 -106
  402. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa20.h +0 -61
  403. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa2012.h +0 -53
  404. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa208.h +0 -56
  405. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xchacha20.h +0 -61
  406. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +0 -61
  407. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_16.h +0 -23
  408. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_32.h +0 -23
  409. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_64.h +0 -23
  410. package/ios/libsodium-stable/src/libsodium/include/sodium/export.h +0 -57
  411. package/ios/libsodium-stable/src/libsodium/include/sodium/private/asm_cet.h +0 -11
  412. package/ios/libsodium-stable/src/libsodium/include/sodium/private/chacha20_ietf_ext.h +0 -16
  413. package/ios/libsodium-stable/src/libsodium/include/sodium/private/common.h +0 -296
  414. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10.h +0 -142
  415. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +0 -1030
  416. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +0 -508
  417. package/ios/libsodium-stable/src/libsodium/include/sodium/private/implementations.h +0 -13
  418. package/ios/libsodium-stable/src/libsodium/include/sodium/private/mutex.h +0 -7
  419. package/ios/libsodium-stable/src/libsodium/include/sodium/private/softaes.h +0 -56
  420. package/ios/libsodium-stable/src/libsodium/include/sodium/private/sse2_64_32.h +0 -50
  421. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes.h +0 -72
  422. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_internal_random.h +0 -22
  423. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_sysrandom.h +0 -19
  424. package/ios/libsodium-stable/src/libsodium/include/sodium/runtime.h +0 -55
  425. package/ios/libsodium-stable/src/libsodium/include/sodium/utils.h +0 -179
  426. package/ios/libsodium-stable/src/libsodium/include/sodium/version.h.in +0 -33
  427. package/ios/libsodium-stable/src/libsodium/include/sodium.h +0 -75
  428. package/ios/libsodium-stable/src/libsodium/randombytes/internal/randombytes_internal_random.c +0 -646
  429. package/ios/libsodium-stable/src/libsodium/randombytes/randombytes.c +0 -200
  430. package/ios/libsodium-stable/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +0 -396
  431. package/ios/libsodium-stable/src/libsodium/sodium/codecs.c +0 -335
  432. package/ios/libsodium-stable/src/libsodium/sodium/core.c +0 -216
  433. package/ios/libsodium-stable/src/libsodium/sodium/runtime.c +0 -391
  434. package/ios/libsodium-stable/src/libsodium/sodium/utils.c +0 -809
  435. package/ios/libsodium-stable/src/libsodium/sodium/version.c +0 -30
  436. package/ios/libsodium-stable/test/Makefile.am +0 -5
  437. package/ios/libsodium-stable/test/constcheck.sh +0 -22
  438. package/ios/libsodium-stable/test/default/Makefile.am +0 -525
  439. package/ios/libsodium-stable/test/default/aead_aegis128l.c +0 -642
  440. package/ios/libsodium-stable/test/default/aead_aegis128l.exp +0 -1
  441. package/ios/libsodium-stable/test/default/aead_aegis256.c +0 -723
  442. package/ios/libsodium-stable/test/default/aead_aegis256.exp +0 -1
  443. package/ios/libsodium-stable/test/default/aead_aes256gcm.c +0 -3328
  444. package/ios/libsodium-stable/test/default/aead_aes256gcm.exp +0 -1
  445. package/ios/libsodium-stable/test/default/aead_aes256gcm2.c +0 -276
  446. package/ios/libsodium-stable/test/default/aead_aes256gcm2.exp +0 -1
  447. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.c +0 -372
  448. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.exp +0 -63
  449. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.c +0 -1046
  450. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.exp +0 -1
  451. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.c +0 -203
  452. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.exp +0 -51
  453. package/ios/libsodium-stable/test/default/auth.c +0 -141
  454. package/ios/libsodium-stable/test/default/auth.exp +0 -30
  455. package/ios/libsodium-stable/test/default/auth2.c +0 -34
  456. package/ios/libsodium-stable/test/default/auth2.exp +0 -4
  457. package/ios/libsodium-stable/test/default/auth3.c +0 -36
  458. package/ios/libsodium-stable/test/default/auth3.exp +0 -1
  459. package/ios/libsodium-stable/test/default/auth5.c +0 -41
  460. package/ios/libsodium-stable/test/default/auth5.exp +0 -0
  461. package/ios/libsodium-stable/test/default/auth6.c +0 -23
  462. package/ios/libsodium-stable/test/default/auth6.exp +0 -8
  463. package/ios/libsodium-stable/test/default/auth7.c +0 -41
  464. package/ios/libsodium-stable/test/default/auth7.exp +0 -0
  465. package/ios/libsodium-stable/test/default/box.c +0 -112
  466. package/ios/libsodium-stable/test/default/box.exp +0 -38
  467. package/ios/libsodium-stable/test/default/box2.c +0 -80
  468. package/ios/libsodium-stable/test/default/box2.exp +0 -34
  469. package/ios/libsodium-stable/test/default/box7.c +0 -50
  470. package/ios/libsodium-stable/test/default/box7.exp +0 -0
  471. package/ios/libsodium-stable/test/default/box8.c +0 -58
  472. package/ios/libsodium-stable/test/default/box8.exp +0 -0
  473. package/ios/libsodium-stable/test/default/box_easy.c +0 -72
  474. package/ios/libsodium-stable/test/default/box_easy.exp +0 -3
  475. package/ios/libsodium-stable/test/default/box_easy2.c +0 -149
  476. package/ios/libsodium-stable/test/default/box_easy2.exp +0 -7
  477. package/ios/libsodium-stable/test/default/box_seal.c +0 -165
  478. package/ios/libsodium-stable/test/default/box_seal.exp +0 -8
  479. package/ios/libsodium-stable/test/default/box_seed.c +0 -30
  480. package/ios/libsodium-stable/test/default/box_seed.exp +0 -8
  481. package/ios/libsodium-stable/test/default/chacha20.c +0 -186
  482. package/ios/libsodium-stable/test/default/chacha20.exp +0 -64
  483. package/ios/libsodium-stable/test/default/cmptest.h +0 -238
  484. package/ios/libsodium-stable/test/default/codecs.c +0 -251
  485. package/ios/libsodium-stable/test/default/codecs.exp +0 -30
  486. package/ios/libsodium-stable/test/default/core1.c +0 -41
  487. package/ios/libsodium-stable/test/default/core1.exp +0 -4
  488. package/ios/libsodium-stable/test/default/core2.c +0 -38
  489. package/ios/libsodium-stable/test/default/core2.exp +0 -4
  490. package/ios/libsodium-stable/test/default/core3.c +0 -115
  491. package/ios/libsodium-stable/test/default/core3.exp +0 -3
  492. package/ios/libsodium-stable/test/default/core4.c +0 -36
  493. package/ios/libsodium-stable/test/default/core4.exp +0 -8
  494. package/ios/libsodium-stable/test/default/core5.c +0 -33
  495. package/ios/libsodium-stable/test/default/core5.exp +0 -4
  496. package/ios/libsodium-stable/test/default/core6.c +0 -52
  497. package/ios/libsodium-stable/test/default/core6.exp +0 -4
  498. package/ios/libsodium-stable/test/default/core_ed25519.c +0 -545
  499. package/ios/libsodium-stable/test/default/core_ed25519.exp +0 -55
  500. package/ios/libsodium-stable/test/default/core_ristretto255.c +0 -271
  501. package/ios/libsodium-stable/test/default/core_ristretto255.exp +0 -8
  502. package/ios/libsodium-stable/test/default/ed25519_convert.c +0 -70
  503. package/ios/libsodium-stable/test/default/ed25519_convert.exp +0 -3
  504. package/ios/libsodium-stable/test/default/generichash.c +0 -1406
  505. package/ios/libsodium-stable/test/default/generichash.exp +0 -65
  506. package/ios/libsodium-stable/test/default/generichash2.c +0 -62
  507. package/ios/libsodium-stable/test/default/generichash2.exp +0 -64
  508. package/ios/libsodium-stable/test/default/generichash3.c +0 -176
  509. package/ios/libsodium-stable/test/default/generichash3.exp +0 -75
  510. package/ios/libsodium-stable/test/default/hash.c +0 -47
  511. package/ios/libsodium-stable/test/default/hash.exp +0 -4
  512. package/ios/libsodium-stable/test/default/hash3.c +0 -20
  513. package/ios/libsodium-stable/test/default/hash3.exp +0 -1
  514. package/ios/libsodium-stable/test/default/index.html.tpl +0 -98
  515. package/ios/libsodium-stable/test/default/kdf.c +0 -71
  516. package/ios/libsodium-stable/test/default/kdf.exp +0 -77
  517. package/ios/libsodium-stable/test/default/kdf_hkdf.c +0 -102
  518. package/ios/libsodium-stable/test/default/kdf_hkdf.exp +0 -205
  519. package/ios/libsodium-stable/test/default/keygen.c +0 -67
  520. package/ios/libsodium-stable/test/default/keygen.exp +0 -1
  521. package/ios/libsodium-stable/test/default/kx.c +0 -149
  522. package/ios/libsodium-stable/test/default/kx.exp +0 -7
  523. package/ios/libsodium-stable/test/default/metamorphic.c +0 -187
  524. package/ios/libsodium-stable/test/default/metamorphic.exp +0 -1
  525. package/ios/libsodium-stable/test/default/misuse.c +0 -187
  526. package/ios/libsodium-stable/test/default/misuse.exp +0 -0
  527. package/ios/libsodium-stable/test/default/onetimeauth.c +0 -63
  528. package/ios/libsodium-stable/test/default/onetimeauth.exp +0 -4
  529. package/ios/libsodium-stable/test/default/onetimeauth2.c +0 -33
  530. package/ios/libsodium-stable/test/default/onetimeauth2.exp +0 -1
  531. package/ios/libsodium-stable/test/default/onetimeauth7.c +0 -36
  532. package/ios/libsodium-stable/test/default/onetimeauth7.exp +0 -0
  533. package/ios/libsodium-stable/test/default/pre.js.inc +0 -22
  534. package/ios/libsodium-stable/test/default/pwhash_argon2i.c +0 -467
  535. package/ios/libsodium-stable/test/default/pwhash_argon2i.exp +0 -11
  536. package/ios/libsodium-stable/test/default/pwhash_argon2id.c +0 -517
  537. package/ios/libsodium-stable/test/default/pwhash_argon2id.exp +0 -14
  538. package/ios/libsodium-stable/test/default/pwhash_scrypt.c +0 -393
  539. package/ios/libsodium-stable/test/default/pwhash_scrypt.exp +0 -37
  540. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.c +0 -59
  541. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.exp +0 -15
  542. package/ios/libsodium-stable/test/default/randombytes.c +0 -164
  543. package/ios/libsodium-stable/test/default/randombytes.exp +0 -2
  544. package/ios/libsodium-stable/test/default/run.sh +0 -9
  545. package/ios/libsodium-stable/test/default/scalarmult.c +0 -77
  546. package/ios/libsodium-stable/test/default/scalarmult.exp +0 -5
  547. package/ios/libsodium-stable/test/default/scalarmult2.c +0 -22
  548. package/ios/libsodium-stable/test/default/scalarmult2.exp +0 -1
  549. package/ios/libsodium-stable/test/default/scalarmult5.c +0 -30
  550. package/ios/libsodium-stable/test/default/scalarmult5.exp +0 -1
  551. package/ios/libsodium-stable/test/default/scalarmult6.c +0 -54
  552. package/ios/libsodium-stable/test/default/scalarmult6.exp +0 -4
  553. package/ios/libsodium-stable/test/default/scalarmult7.c +0 -34
  554. package/ios/libsodium-stable/test/default/scalarmult7.exp +0 -1
  555. package/ios/libsodium-stable/test/default/scalarmult8.c +0 -580
  556. package/ios/libsodium-stable/test/default/scalarmult8.exp +0 -65
  557. package/ios/libsodium-stable/test/default/scalarmult_ed25519.c +0 -134
  558. package/ios/libsodium-stable/test/default/scalarmult_ed25519.exp +0 -1
  559. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.c +0 -51
  560. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.exp +0 -18
  561. package/ios/libsodium-stable/test/default/secretbox.c +0 -84
  562. package/ios/libsodium-stable/test/default/secretbox.exp +0 -38
  563. package/ios/libsodium-stable/test/default/secretbox2.c +0 -55
  564. package/ios/libsodium-stable/test/default/secretbox2.exp +0 -17
  565. package/ios/libsodium-stable/test/default/secretbox7.c +0 -36
  566. package/ios/libsodium-stable/test/default/secretbox7.exp +0 -0
  567. package/ios/libsodium-stable/test/default/secretbox8.c +0 -41
  568. package/ios/libsodium-stable/test/default/secretbox8.exp +0 -0
  569. package/ios/libsodium-stable/test/default/secretbox_easy.c +0 -124
  570. package/ios/libsodium-stable/test/default/secretbox_easy.exp +0 -9
  571. package/ios/libsodium-stable/test/default/secretbox_easy2.c +0 -72
  572. package/ios/libsodium-stable/test/default/secretbox_easy2.exp +0 -5
  573. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.c +0 -329
  574. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.exp +0 -1
  575. package/ios/libsodium-stable/test/default/shorthash.c +0 -35
  576. package/ios/libsodium-stable/test/default/shorthash.exp +0 -64
  577. package/ios/libsodium-stable/test/default/sign.c +0 -1324
  578. package/ios/libsodium-stable/test/default/sign.exp +0 -5
  579. package/ios/libsodium-stable/test/default/siphashx24.c +0 -33
  580. package/ios/libsodium-stable/test/default/siphashx24.exp +0 -64
  581. package/ios/libsodium-stable/test/default/sodium_core.c +0 -43
  582. package/ios/libsodium-stable/test/default/sodium_core.exp +0 -1
  583. package/ios/libsodium-stable/test/default/sodium_utils.c +0 -224
  584. package/ios/libsodium-stable/test/default/sodium_utils.exp +0 -25
  585. package/ios/libsodium-stable/test/default/sodium_utils2.c +0 -120
  586. package/ios/libsodium-stable/test/default/sodium_utils2.exp +0 -3
  587. package/ios/libsodium-stable/test/default/sodium_utils3.c +0 -90
  588. package/ios/libsodium-stable/test/default/sodium_utils3.exp +0 -2
  589. package/ios/libsodium-stable/test/default/sodium_version.c +0 -18
  590. package/ios/libsodium-stable/test/default/sodium_version.exp +0 -3
  591. package/ios/libsodium-stable/test/default/stream.c +0 -84
  592. package/ios/libsodium-stable/test/default/stream.exp +0 -83
  593. package/ios/libsodium-stable/test/default/stream2.c +0 -59
  594. package/ios/libsodium-stable/test/default/stream2.exp +0 -2
  595. package/ios/libsodium-stable/test/default/stream3.c +0 -32
  596. package/ios/libsodium-stable/test/default/stream3.exp +0 -4
  597. package/ios/libsodium-stable/test/default/stream4.c +0 -51
  598. package/ios/libsodium-stable/test/default/stream4.exp +0 -17
  599. package/ios/libsodium-stable/test/default/verify1.c +0 -76
  600. package/ios/libsodium-stable/test/default/verify1.exp +0 -2
  601. package/ios/libsodium-stable/test/default/wasi-test-wrapper.sh +0 -98
  602. package/ios/libsodium-stable/test/default/wintest.bat +0 -61
  603. package/ios/libsodium-stable/test/default/xchacha20.c +0 -428
  604. package/ios/libsodium-stable/test/default/xchacha20.exp +0 -5
  605. package/ios/libsodium-stable/test/quirks/quirks.h +0 -34
@@ -1,957 +0,0 @@
1
-
2
- #include <stdint.h>
3
- #include <string.h>
4
-
5
- #include "../onetimeauth_poly1305.h"
6
- #include "crypto_verify_16.h"
7
- #include "poly1305_sse2.h"
8
- #include "private/common.h"
9
- #include "utils.h"
10
-
11
- #if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H)
12
-
13
- # ifdef __clang__
14
- # pragma clang attribute push(__attribute__((target("sse2"))), apply_to = function)
15
- # elif defined(__GNUC__)
16
- # pragma GCC target("sse2")
17
- # endif
18
-
19
- # include <emmintrin.h>
20
- # include "private/sse2_64_32.h"
21
-
22
- typedef __m128i xmmi;
23
-
24
- # if defined(_MSC_VER)
25
- # define POLY1305_NOINLINE __declspec(noinline)
26
- # elif defined(__clang__) || defined(__GNUC__)
27
- # define POLY1305_NOINLINE __attribute__((noinline))
28
- # else
29
- # define POLY1305_NOINLINE
30
- # endif
31
-
32
- # define poly1305_block_size 32
33
-
34
- enum poly1305_state_flags_t {
35
- poly1305_started = 1,
36
- poly1305_final_shift8 = 4,
37
- poly1305_final_shift16 = 8,
38
- poly1305_final_r2_r = 16, /* use [r^2,r] for the final block */
39
- poly1305_final_r_1 = 32 /* use [r,1] for the final block */
40
- };
41
-
42
- typedef struct poly1305_state_internal_t {
43
- union {
44
- uint64_t h[3];
45
- uint32_t hh[10];
46
- } H; /* 40 bytes */
47
- uint32_t R[5]; /* 20 bytes */
48
- uint32_t R2[5]; /* 20 bytes */
49
- uint32_t R4[5]; /* 20 bytes */
50
- uint64_t pad[2]; /* 16 bytes */
51
- uint64_t flags; /* 8 bytes */
52
- unsigned long long leftover; /* 8 bytes */
53
- unsigned char buffer[poly1305_block_size]; /* 32 bytes */
54
- } poly1305_state_internal_t; /* 164 bytes total */
55
-
56
- /*
57
- * _mm_loadl_epi64() is turned into a simple MOVQ. So, unaligned accesses are
58
- * totally fine, even though this intrinsic requires a __m128i* input.
59
- * This confuses dynamic analysis, so force alignment, only in debug mode.
60
- */
61
- # ifdef DEBUG
62
- static xmmi
63
- _fakealign_mm_loadl_epi64(const void *m)
64
- {
65
- xmmi tmp;
66
- memcpy(&tmp, m, 8);
67
-
68
- return _mm_loadl_epi64(&tmp);
69
- }
70
- # define _mm_loadl_epi64(X) _fakealign_mm_loadl_epi64(X)
71
- #endif
72
-
73
- /* copy 0-31 bytes */
74
- static inline void
75
- poly1305_block_copy31(unsigned char *dst, const unsigned char *src,
76
- unsigned long long bytes)
77
- {
78
- if (bytes & 16) {
79
- _mm_store_si128((xmmi *) (void *) dst,
80
- _mm_loadu_si128((const xmmi *) (const void *) src));
81
- src += 16;
82
- dst += 16;
83
- }
84
- if (bytes & 8) {
85
- memcpy(dst, src, 8);
86
- src += 8;
87
- dst += 8;
88
- }
89
- if (bytes & 4) {
90
- memcpy(dst, src, 4);
91
- src += 4;
92
- dst += 4;
93
- }
94
- if (bytes & 2) {
95
- memcpy(dst, src, 2);
96
- src += 2;
97
- dst += 2;
98
- }
99
- if (bytes & 1) {
100
- *dst = *src;
101
- }
102
- }
103
-
104
- static POLY1305_NOINLINE void
105
- poly1305_init_ext(poly1305_state_internal_t *st, const unsigned char key[32],
106
- unsigned long long bytes)
107
- {
108
- uint32_t *R;
109
- uint128_t d[3];
110
- uint64_t r0, r1, r2;
111
- uint64_t rt0, rt1, rt2, st2, c;
112
- uint64_t t0, t1;
113
- unsigned long long i;
114
-
115
- if (!bytes) {
116
- bytes = ~(unsigned long long) 0;
117
- }
118
- /* H = 0 */
119
- _mm_storeu_si128((xmmi *) (void *) &st->H.hh[0], _mm_setzero_si128());
120
- _mm_storeu_si128((xmmi *) (void *) &st->H.hh[4], _mm_setzero_si128());
121
- _mm_storeu_si128((xmmi *) (void *) &st->H.hh[8], _mm_setzero_si128());
122
-
123
- /* clamp key */
124
- memcpy(&t0, key, 8);
125
- memcpy(&t1, key + 8, 8);
126
- r0 = t0 & 0xffc0fffffff;
127
- t0 >>= 44;
128
- t0 |= t1 << 20;
129
- r1 = t0 & 0xfffffc0ffff;
130
- t1 >>= 24;
131
- r2 = t1 & 0x00ffffffc0f;
132
-
133
- /* r^1 */
134
- R = st->R;
135
- R[0] = (uint32_t)(r0) &0x3ffffff;
136
- R[1] = (uint32_t)((r0 >> 26) | (r1 << 18)) & 0x3ffffff;
137
- R[2] = (uint32_t)((r1 >> 8)) & 0x3ffffff;
138
- R[3] = (uint32_t)((r1 >> 34) | (r2 << 10)) & 0x3ffffff;
139
- R[4] = (uint32_t)((r2 >> 16));
140
-
141
- /* save pad */
142
- memcpy(&st->pad[0], key + 16, 8);
143
- memcpy(&st->pad[1], key + 24, 8);
144
-
145
- rt0 = r0;
146
- rt1 = r1;
147
- rt2 = r2;
148
-
149
- /* r^2, r^4 */
150
- for (i = 0; i < 2; i++) {
151
- if (i == 0) {
152
- R = st->R2;
153
- if (bytes <= 16) {
154
- break;
155
- }
156
- } else if (i == 1) {
157
- R = st->R4;
158
- if (bytes < 96) {
159
- break;
160
- }
161
- }
162
- st2 = rt2 * (5 << 2);
163
-
164
- d[0] = ((uint128_t) rt0 * rt0) + ((uint128_t)(rt1 * 2) * st2);
165
- d[1] = ((uint128_t) rt2 * st2) + ((uint128_t)(rt0 * 2) * rt1);
166
- d[2] = ((uint128_t) rt1 * rt1) + ((uint128_t)(rt2 * 2) * rt0);
167
-
168
- rt0 = (uint64_t) d[0] & 0xfffffffffff;
169
- c = (uint64_t)(d[0] >> 44);
170
- d[1] += c;
171
-
172
- rt1 = (uint64_t) d[1] & 0xfffffffffff;
173
- c = (uint64_t)(d[1] >> 44);
174
- d[2] += c;
175
-
176
- rt2 = (uint64_t) d[2] & 0x3ffffffffff;
177
- c = (uint64_t)(d[2] >> 42);
178
- rt0 += c * 5;
179
- c = (rt0 >> 44);
180
- rt0 = rt0 & 0xfffffffffff;
181
- rt1 += c;
182
- c = (rt1 >> 44);
183
- rt1 = rt1 & 0xfffffffffff;
184
- rt2 += c; /* even if rt2 overflows, it will still fit in rp4 safely, and
185
- is safe to multiply with */
186
-
187
- R[0] = (uint32_t)(rt0) &0x3ffffff;
188
- R[1] = (uint32_t)((rt0 >> 26) | (rt1 << 18)) & 0x3ffffff;
189
- R[2] = (uint32_t)((rt1 >> 8)) & 0x3ffffff;
190
- R[3] = (uint32_t)((rt1 >> 34) | (rt2 << 10)) & 0x3ffffff;
191
- R[4] = (uint32_t)((rt2 >> 16));
192
- }
193
- st->flags = 0;
194
- st->leftover = 0U;
195
- }
196
-
197
- static volatile uint64_t optblocker_u64;
198
-
199
- static POLY1305_NOINLINE void
200
- poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m,
201
- unsigned long long bytes)
202
- {
203
- CRYPTO_ALIGN(64)
204
- xmmi HIBIT =
205
- _mm_shuffle_epi32(_mm_cvtsi32_si128(1 << 24), _MM_SHUFFLE(1, 0, 1, 0));
206
- const xmmi MMASK = _mm_shuffle_epi32(_mm_cvtsi32_si128((1 << 26) - 1),
207
- _MM_SHUFFLE(1, 0, 1, 0));
208
- const xmmi FIVE =
209
- _mm_shuffle_epi32(_mm_cvtsi32_si128(5), _MM_SHUFFLE(1, 0, 1, 0));
210
- xmmi H0, H1, H2, H3, H4;
211
- xmmi T0, T1, T2, T3, T4, T5, T6, T7, T8;
212
- xmmi M0, M1, M2, M3, M4;
213
- xmmi M5, M6, M7, M8;
214
- xmmi C1, C2;
215
- xmmi R20, R21, R22, R23, R24, S21, S22, S23, S24;
216
- xmmi R40, R41, R42, R43, R44, S41, S42, S43, S44;
217
-
218
- if (st->flags & poly1305_final_shift8) {
219
- HIBIT = _mm_srli_si128(HIBIT, 8);
220
- }
221
- if (st->flags & poly1305_final_shift16) {
222
- HIBIT = _mm_setzero_si128();
223
- }
224
- if (!(st->flags & poly1305_started)) {
225
- /* H = [Mx,My] */
226
- T5 = _mm_unpacklo_epi64(
227
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 0)),
228
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 16)));
229
- T6 = _mm_unpacklo_epi64(
230
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 8)),
231
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 24)));
232
- H0 = _mm_and_si128(MMASK, T5);
233
- H1 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26));
234
- T5 = _mm_or_si128(_mm_srli_epi64(T5, 52), _mm_slli_epi64(T6, 12));
235
- H2 = _mm_and_si128(MMASK, T5);
236
- H3 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26));
237
- H4 = _mm_srli_epi64(T6, 40);
238
- H4 = _mm_or_si128(H4, HIBIT);
239
- m += 32;
240
- bytes -= 32;
241
- st->flags |= poly1305_started;
242
- } else {
243
- T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->H.hh[0]);
244
- T1 = _mm_loadu_si128((const xmmi *) (const void *) &st->H.hh[4]);
245
- T2 = _mm_loadu_si128((const xmmi *) (const void *) &st->H.hh[8]);
246
- H0 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 0, 0));
247
- H1 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 2, 2));
248
- H2 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(1, 1, 0, 0));
249
- H3 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(3, 3, 2, 2));
250
- H4 = _mm_shuffle_epi32(T2, _MM_SHUFFLE(1, 1, 0, 0));
251
- }
252
- if (st->flags & (poly1305_final_r2_r | poly1305_final_r_1)) {
253
- if (st->flags & poly1305_final_r2_r) {
254
- /* use [r^2, r] */
255
- T2 = _mm_loadu_si128((const xmmi *) (const void *) &st->R[0]);
256
- T3 = _mm_cvtsi32_si128(st->R[4]);
257
- T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R2[0]);
258
- T1 = _mm_cvtsi32_si128(st->R2[4]);
259
- T4 = _mm_unpacklo_epi32(T0, T2);
260
- T5 = _mm_unpackhi_epi32(T0, T2);
261
- R24 = _mm_unpacklo_epi64(T1, T3);
262
- } else {
263
- /* use [r^1, 1] */
264
- T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R[0]);
265
- T1 = _mm_cvtsi32_si128(st->R[4]);
266
- T2 = _mm_cvtsi32_si128(1);
267
- T4 = _mm_unpacklo_epi32(T0, T2);
268
- T5 = _mm_unpackhi_epi32(T0, T2);
269
- R24 = T1;
270
- }
271
- R20 = _mm_shuffle_epi32(T4, _MM_SHUFFLE(1, 1, 0, 0));
272
- R21 = _mm_shuffle_epi32(T4, _MM_SHUFFLE(3, 3, 2, 2));
273
- R22 = _mm_shuffle_epi32(T5, _MM_SHUFFLE(1, 1, 0, 0));
274
- R23 = _mm_shuffle_epi32(T5, _MM_SHUFFLE(3, 3, 2, 2));
275
- } else {
276
- /* use [r^2, r^2] */
277
- T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R2[0]);
278
- T1 = _mm_cvtsi32_si128(st->R2[4]);
279
- R20 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(0, 0, 0, 0));
280
- R21 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 1, 1));
281
- R22 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(2, 2, 2, 2));
282
- R23 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 3, 3));
283
- R24 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(0, 0, 0, 0));
284
- }
285
- S21 = _mm_mul_epu32(R21, FIVE);
286
- S22 = _mm_mul_epu32(R22, FIVE);
287
- S23 = _mm_mul_epu32(R23, FIVE);
288
- S24 = _mm_mul_epu32(R24, FIVE);
289
-
290
- if (bytes >= 64) {
291
- T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R4[0]);
292
- T1 = _mm_cvtsi32_si128(st->R4[4]);
293
- R40 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(0, 0, 0, 0));
294
- R41 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 1, 1));
295
- R42 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(2, 2, 2, 2));
296
- R43 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 3, 3));
297
- R44 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(0, 0, 0, 0));
298
- S41 = _mm_mul_epu32(R41, FIVE);
299
- S42 = _mm_mul_epu32(R42, FIVE);
300
- S43 = _mm_mul_epu32(R43, FIVE);
301
- S44 = _mm_mul_epu32(R44, FIVE);
302
-
303
- while (bytes >= 64) {
304
- xmmi v00, v01, v02, v03, v04;
305
- xmmi v10, v11, v12, v13, v14;
306
- xmmi v20, v21, v22, v23, v24;
307
- xmmi v30, v31, v32, v33, v34;
308
- xmmi v40, v41, v42, v43, v44;
309
- xmmi T14, T15;
310
-
311
- /* H *= [r^4,r^4], preload [Mx,My] */
312
- T15 = S42;
313
- T0 = H4;
314
- T0 = _mm_mul_epu32(T0, S41);
315
- v01 = H3;
316
- v01 = _mm_mul_epu32(v01, T15);
317
- T14 = S43;
318
- T1 = H4;
319
- T1 = _mm_mul_epu32(T1, T15);
320
- v11 = H3;
321
- v11 = _mm_mul_epu32(v11, T14);
322
- T2 = H4;
323
- T2 = _mm_mul_epu32(T2, T14);
324
- T0 = _mm_add_epi64(T0, v01);
325
- T15 = S44;
326
- v02 = H2;
327
- v02 = _mm_mul_epu32(v02, T14);
328
- T3 = H4;
329
- T3 = _mm_mul_epu32(T3, T15);
330
- T1 = _mm_add_epi64(T1, v11);
331
- v03 = H1;
332
- v03 = _mm_mul_epu32(v03, T15);
333
- v12 = H2;
334
- v12 = _mm_mul_epu32(v12, T15);
335
- T0 = _mm_add_epi64(T0, v02);
336
- T14 = R40;
337
- v21 = H3;
338
- v21 = _mm_mul_epu32(v21, T15);
339
- v31 = H3;
340
- v31 = _mm_mul_epu32(v31, T14);
341
- T0 = _mm_add_epi64(T0, v03);
342
- T4 = H4;
343
- T4 = _mm_mul_epu32(T4, T14);
344
- T1 = _mm_add_epi64(T1, v12);
345
- v04 = H0;
346
- v04 = _mm_mul_epu32(v04, T14);
347
- T2 = _mm_add_epi64(T2, v21);
348
- v13 = H1;
349
- v13 = _mm_mul_epu32(v13, T14);
350
- T3 = _mm_add_epi64(T3, v31);
351
- T15 = R41;
352
- v22 = H2;
353
- v22 = _mm_mul_epu32(v22, T14);
354
- v32 = H2;
355
- v32 = _mm_mul_epu32(v32, T15);
356
- T0 = _mm_add_epi64(T0, v04);
357
- v41 = H3;
358
- v41 = _mm_mul_epu32(v41, T15);
359
- T1 = _mm_add_epi64(T1, v13);
360
- v14 = H0;
361
- v14 = _mm_mul_epu32(v14, T15);
362
- T2 = _mm_add_epi64(T2, v22);
363
- T14 = R42;
364
- T5 = _mm_unpacklo_epi64(
365
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 0)),
366
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 16)));
367
- v23 = H1;
368
- v23 = _mm_mul_epu32(v23, T15);
369
- T3 = _mm_add_epi64(T3, v32);
370
- v33 = H1;
371
- v33 = _mm_mul_epu32(v33, T14);
372
- T4 = _mm_add_epi64(T4, v41);
373
- v42 = H2;
374
- v42 = _mm_mul_epu32(v42, T14);
375
- T1 = _mm_add_epi64(T1, v14);
376
- T15 = R43;
377
- T6 = _mm_unpacklo_epi64(
378
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 8)),
379
- _mm_loadl_epi64((const xmmi *) (const void *) (m + 24)));
380
- v24 = H0;
381
- v24 = _mm_mul_epu32(v24, T14);
382
- T2 = _mm_add_epi64(T2, v23);
383
- v34 = H0;
384
- v34 = _mm_mul_epu32(v34, T15);
385
- T3 = _mm_add_epi64(T3, v33);
386
- M0 = _mm_and_si128(MMASK, T5);
387
- v43 = H1;
388
- v43 = _mm_mul_epu32(v43, T15);
389
- T4 = _mm_add_epi64(T4, v42);
390
- M1 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26));
391
- v44 = H0;
392
- v44 = _mm_mul_epu32(v44, R44);
393
- T2 = _mm_add_epi64(T2, v24);
394
- T5 = _mm_or_si128(_mm_srli_epi64(T5, 52), _mm_slli_epi64(T6, 12));
395
- T3 = _mm_add_epi64(T3, v34);
396
- M3 = _mm_and_si128(MMASK, _mm_srli_epi64(T6, 14));
397
- T4 = _mm_add_epi64(T4, v43);
398
- M2 = _mm_and_si128(MMASK, T5);
399
- T4 = _mm_add_epi64(T4, v44);
400
- M4 = _mm_or_si128(_mm_srli_epi64(T6, 40), HIBIT);
401
-
402
- /* H += [Mx',My'] */
403
- T5 = _mm_loadu_si128((const xmmi *) (const void *) (m + 32));
404
- T6 = _mm_loadu_si128((const xmmi *) (const void *) (m + 48));
405
- T7 = _mm_unpacklo_epi32(T5, T6);
406
- T8 = _mm_unpackhi_epi32(T5, T6);
407
- M5 = _mm_unpacklo_epi32(T7, _mm_setzero_si128());
408
- M6 = _mm_unpackhi_epi32(T7, _mm_setzero_si128());
409
- M7 = _mm_unpacklo_epi32(T8, _mm_setzero_si128());
410
- M8 = _mm_unpackhi_epi32(T8, _mm_setzero_si128());
411
- M6 = _mm_slli_epi64(M6, 6);
412
- M7 = _mm_slli_epi64(M7, 12);
413
- M8 = _mm_slli_epi64(M8, 18);
414
- T0 = _mm_add_epi64(T0, M5);
415
- T1 = _mm_add_epi64(T1, M6);
416
- T2 = _mm_add_epi64(T2, M7);
417
- T3 = _mm_add_epi64(T3, M8);
418
- T4 = _mm_add_epi64(T4, HIBIT);
419
-
420
- /* H += [Mx,My]*[r^2,r^2] */
421
- T15 = S22;
422
- v00 = M4;
423
- v00 = _mm_mul_epu32(v00, S21);
424
- v01 = M3;
425
- v01 = _mm_mul_epu32(v01, T15);
426
- T14 = S23;
427
- v10 = M4;
428
- v10 = _mm_mul_epu32(v10, T15);
429
- v11 = M3;
430
- v11 = _mm_mul_epu32(v11, T14);
431
- T0 = _mm_add_epi64(T0, v00);
432
- v20 = M4;
433
- v20 = _mm_mul_epu32(v20, T14);
434
- T0 = _mm_add_epi64(T0, v01);
435
- T15 = S24;
436
- v02 = M2;
437
- v02 = _mm_mul_epu32(v02, T14);
438
- T1 = _mm_add_epi64(T1, v10);
439
- v30 = M4;
440
- v30 = _mm_mul_epu32(v30, T15);
441
- T1 = _mm_add_epi64(T1, v11);
442
- v03 = M1;
443
- v03 = _mm_mul_epu32(v03, T15);
444
- T2 = _mm_add_epi64(T2, v20);
445
- v12 = M2;
446
- v12 = _mm_mul_epu32(v12, T15);
447
- T0 = _mm_add_epi64(T0, v02);
448
- T14 = R20;
449
- v21 = M3;
450
- v21 = _mm_mul_epu32(v21, T15);
451
- T3 = _mm_add_epi64(T3, v30);
452
- v31 = M3;
453
- v31 = _mm_mul_epu32(v31, T14);
454
- T0 = _mm_add_epi64(T0, v03);
455
- v40 = M4;
456
- v40 = _mm_mul_epu32(v40, T14);
457
- T1 = _mm_add_epi64(T1, v12);
458
- v04 = M0;
459
- v04 = _mm_mul_epu32(v04, T14);
460
- T2 = _mm_add_epi64(T2, v21);
461
- v13 = M1;
462
- v13 = _mm_mul_epu32(v13, T14);
463
- T3 = _mm_add_epi64(T3, v31);
464
- T15 = R21;
465
- v22 = M2;
466
- v22 = _mm_mul_epu32(v22, T14);
467
- T4 = _mm_add_epi64(T4, v40);
468
- v32 = M2;
469
- v32 = _mm_mul_epu32(v32, T15);
470
- T0 = _mm_add_epi64(T0, v04);
471
- v41 = M3;
472
- v41 = _mm_mul_epu32(v41, T15);
473
- T1 = _mm_add_epi64(T1, v13);
474
- v14 = M0;
475
- v14 = _mm_mul_epu32(v14, T15);
476
- T2 = _mm_add_epi64(T2, v22);
477
- T14 = R22;
478
- v23 = M1;
479
- v23 = _mm_mul_epu32(v23, T15);
480
- T3 = _mm_add_epi64(T3, v32);
481
- v33 = M1;
482
- v33 = _mm_mul_epu32(v33, T14);
483
- T4 = _mm_add_epi64(T4, v41);
484
- v42 = M2;
485
- v42 = _mm_mul_epu32(v42, T14);
486
- T1 = _mm_add_epi64(T1, v14);
487
- T15 = R23;
488
- v24 = M0;
489
- v24 = _mm_mul_epu32(v24, T14);
490
- T2 = _mm_add_epi64(T2, v23);
491
- v34 = M0;
492
- v34 = _mm_mul_epu32(v34, T15);
493
- T3 = _mm_add_epi64(T3, v33);
494
- v43 = M1;
495
- v43 = _mm_mul_epu32(v43, T15);
496
- T4 = _mm_add_epi64(T4, v42);
497
- v44 = M0;
498
- v44 = _mm_mul_epu32(v44, R24);
499
- T2 = _mm_add_epi64(T2, v24);
500
- T3 = _mm_add_epi64(T3, v34);
501
- T4 = _mm_add_epi64(T4, v43);
502
- T4 = _mm_add_epi64(T4, v44);
503
-
504
- /* reduce */
505
- C1 = _mm_srli_epi64(T0, 26);
506
- C2 = _mm_srli_epi64(T3, 26);
507
- T0 = _mm_and_si128(T0, MMASK);
508
- T3 = _mm_and_si128(T3, MMASK);
509
- T1 = _mm_add_epi64(T1, C1);
510
- T4 = _mm_add_epi64(T4, C2);
511
- C1 = _mm_srli_epi64(T1, 26);
512
- C2 = _mm_srli_epi64(T4, 26);
513
- T1 = _mm_and_si128(T1, MMASK);
514
- T4 = _mm_and_si128(T4, MMASK);
515
- T2 = _mm_add_epi64(T2, C1);
516
- T0 = _mm_add_epi64(T0, _mm_mul_epu32(C2, FIVE));
517
- C1 = _mm_srli_epi64(T2, 26);
518
- C2 = _mm_srli_epi64(T0, 26);
519
- T2 = _mm_and_si128(T2, MMASK);
520
- T0 = _mm_and_si128(T0, MMASK);
521
- T3 = _mm_add_epi64(T3, C1);
522
- T1 = _mm_add_epi64(T1, C2);
523
- C1 = _mm_srli_epi64(T3, 26);
524
- T3 = _mm_and_si128(T3, MMASK);
525
- T4 = _mm_add_epi64(T4, C1);
526
-
527
- /* Final: H = (H*[r^4,r^4] + [Mx,My]*[r^2,r^2] + [Mx',My']) */
528
- H0 = T0;
529
- H1 = T1;
530
- H2 = T2;
531
- H3 = T3;
532
- H4 = T4;
533
-
534
- m += 64;
535
- bytes -= 64;
536
- }
537
- }
538
-
539
- if (bytes >= 32) {
540
- xmmi v01, v02, v03, v04;
541
- xmmi v11, v12, v13, v14;
542
- xmmi v21, v22, v23, v24;
543
- xmmi v31, v32, v33, v34;
544
- xmmi v41, v42, v43, v44;
545
- xmmi T14, T15;
546
-
547
- /* H *= [r^2,r^2] */
548
- T15 = S22;
549
- T0 = H4;
550
- T0 = _mm_mul_epu32(T0, S21);
551
- v01 = H3;
552
- v01 = _mm_mul_epu32(v01, T15);
553
- T14 = S23;
554
- T1 = H4;
555
- T1 = _mm_mul_epu32(T1, T15);
556
- v11 = H3;
557
- v11 = _mm_mul_epu32(v11, T14);
558
- T2 = H4;
559
- T2 = _mm_mul_epu32(T2, T14);
560
- T0 = _mm_add_epi64(T0, v01);
561
- T15 = S24;
562
- v02 = H2;
563
- v02 = _mm_mul_epu32(v02, T14);
564
- T3 = H4;
565
- T3 = _mm_mul_epu32(T3, T15);
566
- T1 = _mm_add_epi64(T1, v11);
567
- v03 = H1;
568
- v03 = _mm_mul_epu32(v03, T15);
569
- v12 = H2;
570
- v12 = _mm_mul_epu32(v12, T15);
571
- T0 = _mm_add_epi64(T0, v02);
572
- T14 = R20;
573
- v21 = H3;
574
- v21 = _mm_mul_epu32(v21, T15);
575
- v31 = H3;
576
- v31 = _mm_mul_epu32(v31, T14);
577
- T0 = _mm_add_epi64(T0, v03);
578
- T4 = H4;
579
- T4 = _mm_mul_epu32(T4, T14);
580
- T1 = _mm_add_epi64(T1, v12);
581
- v04 = H0;
582
- v04 = _mm_mul_epu32(v04, T14);
583
- T2 = _mm_add_epi64(T2, v21);
584
- v13 = H1;
585
- v13 = _mm_mul_epu32(v13, T14);
586
- T3 = _mm_add_epi64(T3, v31);
587
- T15 = R21;
588
- v22 = H2;
589
- v22 = _mm_mul_epu32(v22, T14);
590
- v32 = H2;
591
- v32 = _mm_mul_epu32(v32, T15);
592
- T0 = _mm_add_epi64(T0, v04);
593
- v41 = H3;
594
- v41 = _mm_mul_epu32(v41, T15);
595
- T1 = _mm_add_epi64(T1, v13);
596
- v14 = H0;
597
- v14 = _mm_mul_epu32(v14, T15);
598
- T2 = _mm_add_epi64(T2, v22);
599
- T14 = R22;
600
- v23 = H1;
601
- v23 = _mm_mul_epu32(v23, T15);
602
- T3 = _mm_add_epi64(T3, v32);
603
- v33 = H1;
604
- v33 = _mm_mul_epu32(v33, T14);
605
- T4 = _mm_add_epi64(T4, v41);
606
- v42 = H2;
607
- v42 = _mm_mul_epu32(v42, T14);
608
- T1 = _mm_add_epi64(T1, v14);
609
- T15 = R23;
610
- v24 = H0;
611
- v24 = _mm_mul_epu32(v24, T14);
612
- T2 = _mm_add_epi64(T2, v23);
613
- v34 = H0;
614
- v34 = _mm_mul_epu32(v34, T15);
615
- T3 = _mm_add_epi64(T3, v33);
616
- v43 = H1;
617
- v43 = _mm_mul_epu32(v43, T15);
618
- T4 = _mm_add_epi64(T4, v42);
619
- v44 = H0;
620
- v44 = _mm_mul_epu32(v44, R24);
621
- T2 = _mm_add_epi64(T2, v24);
622
- T3 = _mm_add_epi64(T3, v34);
623
- T4 = _mm_add_epi64(T4, v43);
624
- T4 = _mm_add_epi64(T4, v44);
625
-
626
- /* H += [Mx,My] */
627
- if (m) {
628
- T5 = _mm_loadu_si128((const xmmi *) (const void *) (m + 0));
629
- T6 = _mm_loadu_si128((const xmmi *) (const void *) (m + 16));
630
- T7 = _mm_unpacklo_epi32(T5, T6);
631
- T8 = _mm_unpackhi_epi32(T5, T6);
632
- M0 = _mm_unpacklo_epi32(T7, _mm_setzero_si128());
633
- M1 = _mm_unpackhi_epi32(T7, _mm_setzero_si128());
634
- M2 = _mm_unpacklo_epi32(T8, _mm_setzero_si128());
635
- M3 = _mm_unpackhi_epi32(T8, _mm_setzero_si128());
636
- M1 = _mm_slli_epi64(M1, 6);
637
- M2 = _mm_slli_epi64(M2, 12);
638
- M3 = _mm_slli_epi64(M3, 18);
639
- T0 = _mm_add_epi64(T0, M0);
640
- T1 = _mm_add_epi64(T1, M1);
641
- T2 = _mm_add_epi64(T2, M2);
642
- T3 = _mm_add_epi64(T3, M3);
643
- T4 = _mm_add_epi64(T4, HIBIT);
644
- }
645
-
646
- /* reduce */
647
- C1 = _mm_srli_epi64(T0, 26);
648
- C2 = _mm_srli_epi64(T3, 26);
649
- T0 = _mm_and_si128(T0, MMASK);
650
- T3 = _mm_and_si128(T3, MMASK);
651
- T1 = _mm_add_epi64(T1, C1);
652
- T4 = _mm_add_epi64(T4, C2);
653
- C1 = _mm_srli_epi64(T1, 26);
654
- C2 = _mm_srli_epi64(T4, 26);
655
- T1 = _mm_and_si128(T1, MMASK);
656
- T4 = _mm_and_si128(T4, MMASK);
657
- T2 = _mm_add_epi64(T2, C1);
658
- T0 = _mm_add_epi64(T0, _mm_mul_epu32(C2, FIVE));
659
- C1 = _mm_srli_epi64(T2, 26);
660
- C2 = _mm_srli_epi64(T0, 26);
661
- T2 = _mm_and_si128(T2, MMASK);
662
- T0 = _mm_and_si128(T0, MMASK);
663
- T3 = _mm_add_epi64(T3, C1);
664
- T1 = _mm_add_epi64(T1, C2);
665
- C1 = _mm_srli_epi64(T3, 26);
666
- T3 = _mm_and_si128(T3, MMASK);
667
- T4 = _mm_add_epi64(T4, C1);
668
-
669
- /* H = (H*[r^2,r^2] + [Mx,My]) */
670
- H0 = T0;
671
- H1 = T1;
672
- H2 = T2;
673
- H3 = T3;
674
- H4 = T4;
675
- }
676
-
677
- if (m) {
678
- T0 = _mm_shuffle_epi32(H0, _MM_SHUFFLE(0, 0, 2, 0));
679
- T1 = _mm_shuffle_epi32(H1, _MM_SHUFFLE(0, 0, 2, 0));
680
- T2 = _mm_shuffle_epi32(H2, _MM_SHUFFLE(0, 0, 2, 0));
681
- T3 = _mm_shuffle_epi32(H3, _MM_SHUFFLE(0, 0, 2, 0));
682
- T4 = _mm_shuffle_epi32(H4, _MM_SHUFFLE(0, 0, 2, 0));
683
- T0 = _mm_unpacklo_epi64(T0, T1);
684
- T1 = _mm_unpacklo_epi64(T2, T3);
685
- _mm_storeu_si128((xmmi *) (void *) &st->H.hh[0], T0);
686
- _mm_storeu_si128((xmmi *) (void *) &st->H.hh[4], T1);
687
- _mm_storel_epi64((xmmi *) (void *) &st->H.hh[8], T4);
688
- } else {
689
- uint32_t t0, t1, t2, t3, t4, b;
690
- uint64_t h0, h1, h2, g0, g1, g2, c, nc;
691
-
692
- /* H = H[0]+H[1] */
693
- T0 = H0;
694
- T1 = H1;
695
- T2 = H2;
696
- T3 = H3;
697
- T4 = H4;
698
-
699
- T0 = _mm_add_epi64(T0, _mm_srli_si128(T0, 8));
700
- T1 = _mm_add_epi64(T1, _mm_srli_si128(T1, 8));
701
- T2 = _mm_add_epi64(T2, _mm_srli_si128(T2, 8));
702
- T3 = _mm_add_epi64(T3, _mm_srli_si128(T3, 8));
703
- T4 = _mm_add_epi64(T4, _mm_srli_si128(T4, 8));
704
-
705
- t0 = _mm_cvtsi128_si32(T0);
706
- b = (t0 >> 26);
707
- t0 &= 0x3ffffff;
708
- t1 = _mm_cvtsi128_si32(T1) + b;
709
- b = (t1 >> 26);
710
- t1 &= 0x3ffffff;
711
- t2 = _mm_cvtsi128_si32(T2) + b;
712
- b = (t2 >> 26);
713
- t2 &= 0x3ffffff;
714
- t3 = _mm_cvtsi128_si32(T3) + b;
715
- b = (t3 >> 26);
716
- t3 &= 0x3ffffff;
717
- t4 = _mm_cvtsi128_si32(T4) + b;
718
-
719
- /* everything except t4 is in range, so this is all safe */
720
- h0 = (((uint64_t) t0) | ((uint64_t) t1 << 26)) & 0xfffffffffffull;
721
- h1 = (((uint64_t) t1 >> 18) | ((uint64_t) t2 << 8) |
722
- ((uint64_t) t3 << 34)) &
723
- 0xfffffffffffull;
724
- h2 = (((uint64_t) t3 >> 10) | ((uint64_t) t4 << 16));
725
-
726
- c = (h2 >> 42);
727
- h2 &= 0x3ffffffffff;
728
- h0 += c * 5;
729
- c = (h0 >> 44);
730
- h0 &= 0xfffffffffff;
731
- h1 += c;
732
- c = (h1 >> 44);
733
- h1 &= 0xfffffffffff;
734
- h2 += c;
735
- c = (h2 >> 42);
736
- h2 &= 0x3ffffffffff;
737
- h0 += c * 5;
738
- c = (h0 >> 44);
739
- h0 &= 0xfffffffffff;
740
- h1 += c;
741
-
742
- g0 = h0 + 5;
743
- c = (g0 >> 44);
744
- g0 &= 0xfffffffffff;
745
- g1 = h1 + c;
746
- c = (g1 >> 44);
747
- g1 &= 0xfffffffffff;
748
- g2 = h2 + c - ((uint64_t) 1 << 42);
749
-
750
- c = (((g2 >> 61) ^ optblocker_u64) >> 2) - 1;
751
- nc = ~c;
752
- h0 = (h0 & nc) | (g0 & c);
753
- h1 = (h1 & nc) | (g1 & c);
754
- h2 = (h2 & nc) | (g2 & c);
755
-
756
- st->H.h[0] = h0;
757
- st->H.h[1] = h1;
758
- st->H.h[2] = h2;
759
- }
760
- }
761
-
762
- static void
763
- poly1305_update(poly1305_state_internal_t *st, const unsigned char *m,
764
- unsigned long long bytes)
765
- {
766
- unsigned long long i;
767
-
768
- /* handle leftover */
769
- if (st->leftover) {
770
- unsigned long long want = (poly1305_block_size - st->leftover);
771
-
772
- if (want > bytes) {
773
- want = bytes;
774
- }
775
- for (i = 0; i < want; i++) {
776
- st->buffer[st->leftover + i] = m[i];
777
- }
778
- bytes -= want;
779
- m += want;
780
- st->leftover += want;
781
- if (st->leftover < poly1305_block_size) {
782
- return;
783
- }
784
- poly1305_blocks(st, st->buffer, poly1305_block_size);
785
- st->leftover = 0;
786
- }
787
-
788
- /* process full blocks */
789
- if (bytes >= poly1305_block_size) {
790
- unsigned long long want = (bytes & ~(poly1305_block_size - 1));
791
-
792
- poly1305_blocks(st, m, want);
793
- m += want;
794
- bytes -= want;
795
- }
796
-
797
- /* store leftover */
798
- if (bytes) {
799
- for (i = 0; i < bytes; i++) {
800
- st->buffer[st->leftover + i] = m[i];
801
- }
802
- st->leftover += bytes;
803
- }
804
- }
805
-
806
- static POLY1305_NOINLINE void
807
- poly1305_finish_ext(poly1305_state_internal_t *st, const unsigned char *m,
808
- unsigned long long leftover, unsigned char mac[16])
809
- {
810
- uint64_t h0, h1, h2;
811
-
812
- if (leftover) {
813
- CRYPTO_ALIGN(16) unsigned char final[32] = { 0 };
814
-
815
- poly1305_block_copy31(final, m, leftover);
816
- if (leftover != 16) {
817
- final[leftover] = 1;
818
- }
819
- st->flags |=
820
- (leftover >= 16) ? poly1305_final_shift8 : poly1305_final_shift16;
821
- poly1305_blocks(st, final, 32);
822
- }
823
-
824
- if (st->flags & poly1305_started) {
825
- /* finalize, H *= [r^2,r], or H *= [r,1] */
826
- if (!leftover || (leftover > 16)) {
827
- st->flags |= poly1305_final_r2_r;
828
- } else {
829
- st->flags |= poly1305_final_r_1;
830
- }
831
- poly1305_blocks(st, NULL, 32);
832
- }
833
-
834
- h0 = st->H.h[0];
835
- h1 = st->H.h[1];
836
- h2 = st->H.h[2];
837
-
838
- /* pad */
839
- h0 = ((h0) | (h1 << 44));
840
- h1 = ((h1 >> 20) | (h2 << 24));
841
- #ifdef HAVE_AMD64_ASM
842
- __asm__ __volatile__(
843
- "addq %2, %0 ;\n"
844
- "adcq %3, %1 ;\n"
845
- : "+r"(h0), "+r"(h1)
846
- : "r"(st->pad[0]), "r"(st->pad[1])
847
- : "flags", "cc");
848
- #else
849
- {
850
- uint128_t h;
851
-
852
- memcpy(&h, &st->pad[0], 16);
853
- h += ((uint128_t) h1 << 64) | h0;
854
- h0 = (uint64_t) h;
855
- h1 = (uint64_t)(h >> 64);
856
- }
857
- #endif
858
- _mm_storeu_si128((xmmi *) (void *) st + 0, _mm_setzero_si128());
859
- _mm_storeu_si128((xmmi *) (void *) st + 1, _mm_setzero_si128());
860
- _mm_storeu_si128((xmmi *) (void *) st + 2, _mm_setzero_si128());
861
- _mm_storeu_si128((xmmi *) (void *) st + 3, _mm_setzero_si128());
862
- _mm_storeu_si128((xmmi *) (void *) st + 4, _mm_setzero_si128());
863
- _mm_storeu_si128((xmmi *) (void *) st + 5, _mm_setzero_si128());
864
- _mm_storeu_si128((xmmi *) (void *) st + 6, _mm_setzero_si128());
865
- _mm_storeu_si128((xmmi *) (void *) st + 7, _mm_setzero_si128());
866
-
867
- memcpy(&mac[0], &h0, 8);
868
- memcpy(&mac[8], &h1, 8);
869
-
870
- sodium_memzero((void *) st, sizeof *st);
871
- }
872
-
873
- static void
874
- poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16])
875
- {
876
- poly1305_finish_ext(st, st->buffer, st->leftover, mac);
877
- }
878
-
879
- static int
880
- crypto_onetimeauth_poly1305_sse2_init(crypto_onetimeauth_poly1305_state *state,
881
- const unsigned char *key)
882
- {
883
- COMPILER_ASSERT(sizeof(crypto_onetimeauth_poly1305_state) >=
884
- sizeof(poly1305_state_internal_t));
885
- poly1305_init_ext((poly1305_state_internal_t *) (void *) state, key, 0U);
886
-
887
- return 0;
888
- }
889
-
890
- static int
891
- crypto_onetimeauth_poly1305_sse2_update(
892
- crypto_onetimeauth_poly1305_state *state, const unsigned char *in,
893
- unsigned long long inlen)
894
- {
895
- poly1305_update((poly1305_state_internal_t *) (void *) state, in, inlen);
896
-
897
- return 0;
898
- }
899
-
900
- static int
901
- crypto_onetimeauth_poly1305_sse2_final(crypto_onetimeauth_poly1305_state *state,
902
- unsigned char *out)
903
- {
904
- poly1305_finish((poly1305_state_internal_t *) (void *) state, out);
905
-
906
- return 0;
907
- }
908
-
909
- static int
910
- crypto_onetimeauth_poly1305_sse2(unsigned char *out, const unsigned char *m,
911
- unsigned long long inlen,
912
- const unsigned char *key)
913
- {
914
- CRYPTO_ALIGN(64) poly1305_state_internal_t st;
915
- unsigned long long blocks;
916
-
917
- poly1305_init_ext(&st, key, inlen);
918
- blocks = inlen & ~31;
919
- if (blocks > 0) {
920
- poly1305_blocks(&st, m, blocks);
921
- m += blocks;
922
- inlen -= blocks;
923
- }
924
- poly1305_finish_ext(&st, m, inlen, out);
925
-
926
- return 0;
927
- }
928
-
929
- static int
930
- crypto_onetimeauth_poly1305_sse2_verify(const unsigned char *h,
931
- const unsigned char *in,
932
- unsigned long long inlen,
933
- const unsigned char *k)
934
- {
935
- unsigned char correct[16];
936
-
937
- crypto_onetimeauth_poly1305_sse2(correct, in, inlen, k);
938
-
939
- return crypto_verify_16(h, correct);
940
- }
941
-
942
- struct crypto_onetimeauth_poly1305_implementation
943
- crypto_onetimeauth_poly1305_sse2_implementation = {
944
- SODIUM_C99(.onetimeauth =) crypto_onetimeauth_poly1305_sse2,
945
- SODIUM_C99(.onetimeauth_verify =)
946
- crypto_onetimeauth_poly1305_sse2_verify,
947
- SODIUM_C99(.onetimeauth_init =) crypto_onetimeauth_poly1305_sse2_init,
948
- SODIUM_C99(.onetimeauth_update =)
949
- crypto_onetimeauth_poly1305_sse2_update,
950
- SODIUM_C99(.onetimeauth_final =) crypto_onetimeauth_poly1305_sse2_final
951
- };
952
-
953
- #ifdef __clang__
954
- # pragma clang attribute pop
955
- #endif
956
-
957
- #endif