react-native-quick-crypto 1.0.0-beta.20 → 1.0.0-beta.22

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 (913) hide show
  1. package/QuickCrypto.podspec +81 -8
  2. package/android/CMakeLists.txt +33 -1
  3. package/cpp/blake3/HybridBlake3.cpp +118 -0
  4. package/cpp/blake3/HybridBlake3.hpp +35 -0
  5. package/cpp/cipher/GCMCipher.cpp +68 -0
  6. package/cpp/cipher/GCMCipher.hpp +14 -0
  7. package/cpp/cipher/HybridCipherFactory.hpp +13 -0
  8. package/cpp/cipher/HybridRsaCipher.cpp +229 -0
  9. package/cpp/cipher/HybridRsaCipher.hpp +23 -0
  10. package/cpp/ec/HybridEcKeyPair.cpp +428 -0
  11. package/cpp/ec/HybridEcKeyPair.hpp +48 -0
  12. package/cpp/ed25519/HybridEdKeyPair.cpp +78 -4
  13. package/cpp/ed25519/HybridEdKeyPair.hpp +9 -2
  14. package/cpp/hash/HybridHash.cpp +37 -3
  15. package/cpp/hash/HybridHash.hpp +5 -3
  16. package/cpp/keys/HybridKeyObjectHandle.cpp +742 -0
  17. package/cpp/keys/HybridKeyObjectHandle.hpp +51 -0
  18. package/cpp/keys/KeyObjectData.cpp +226 -0
  19. package/cpp/keys/KeyObjectData.hpp +71 -0
  20. package/cpp/keys/node.h +5 -0
  21. package/cpp/rsa/HybridRsaKeyPair.cpp +154 -0
  22. package/cpp/rsa/HybridRsaKeyPair.hpp +43 -0
  23. package/cpp/utils/Macros.hpp +68 -0
  24. package/cpp/utils/Utils.hpp +27 -0
  25. package/cpp/utils/base64.h +309 -0
  26. package/deps/blake3/.cargo/config.toml +2 -0
  27. package/deps/blake3/.git-blame-ignore-revs +2 -0
  28. package/deps/blake3/.github/workflows/build_b3sum.py +38 -0
  29. package/deps/blake3/.github/workflows/ci.yml +491 -0
  30. package/deps/blake3/.github/workflows/tag.yml +43 -0
  31. package/deps/blake3/.github/workflows/upload_github_release_asset.py +73 -0
  32. package/deps/blake3/CONTRIBUTING.md +31 -0
  33. package/deps/blake3/Cargo.toml +135 -0
  34. package/deps/blake3/LICENSE_A2 +202 -0
  35. package/deps/blake3/LICENSE_A2LLVM +219 -0
  36. package/deps/blake3/LICENSE_CC0 +121 -0
  37. package/deps/blake3/README.md +229 -0
  38. package/deps/blake3/b3sum/Cargo.lock +513 -0
  39. package/deps/blake3/b3sum/Cargo.toml +26 -0
  40. package/deps/blake3/b3sum/README.md +72 -0
  41. package/deps/blake3/b3sum/src/main.rs +564 -0
  42. package/deps/blake3/b3sum/src/unit_tests.rs +235 -0
  43. package/deps/blake3/b3sum/tests/cli_tests.rs +680 -0
  44. package/deps/blake3/b3sum/what_does_check_do.md +176 -0
  45. package/deps/blake3/benches/bench.rs +623 -0
  46. package/deps/blake3/build.rs +389 -0
  47. package/deps/blake3/c/CMakeLists.txt +383 -0
  48. package/deps/blake3/c/CMakePresets.json +73 -0
  49. package/deps/blake3/c/Makefile.testing +82 -0
  50. package/deps/blake3/c/README.md +403 -0
  51. package/deps/blake3/c/blake3-config.cmake.in +14 -0
  52. package/deps/blake3/c/blake3.c +650 -0
  53. package/deps/blake3/c/blake3.h +86 -0
  54. package/deps/blake3/c/blake3_avx2.c +326 -0
  55. package/deps/blake3/c/blake3_avx2_x86-64_unix.S +1815 -0
  56. package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +1817 -0
  57. package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +1828 -0
  58. package/deps/blake3/c/blake3_avx512.c +1388 -0
  59. package/deps/blake3/c/blake3_avx512_x86-64_unix.S +4824 -0
  60. package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +2615 -0
  61. package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +2634 -0
  62. package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +32 -0
  63. package/deps/blake3/c/blake3_c_rust_bindings/README.md +4 -0
  64. package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +477 -0
  65. package/deps/blake3/c/blake3_c_rust_bindings/build.rs +253 -0
  66. package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +31 -0
  67. package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +333 -0
  68. package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +696 -0
  69. package/deps/blake3/c/blake3_dispatch.c +332 -0
  70. package/deps/blake3/c/blake3_impl.h +333 -0
  71. package/deps/blake3/c/blake3_neon.c +366 -0
  72. package/deps/blake3/c/blake3_portable.c +160 -0
  73. package/deps/blake3/c/blake3_sse2.c +566 -0
  74. package/deps/blake3/c/blake3_sse2_x86-64_unix.S +2291 -0
  75. package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +2332 -0
  76. package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +2350 -0
  77. package/deps/blake3/c/blake3_sse41.c +560 -0
  78. package/deps/blake3/c/blake3_sse41_x86-64_unix.S +2028 -0
  79. package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +2069 -0
  80. package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +2089 -0
  81. package/deps/blake3/c/blake3_tbb.cpp +37 -0
  82. package/deps/blake3/c/dependencies/CMakeLists.txt +3 -0
  83. package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +28 -0
  84. package/deps/blake3/c/example.c +36 -0
  85. package/deps/blake3/c/example_tbb.c +57 -0
  86. package/deps/blake3/c/libblake3.pc.in +12 -0
  87. package/deps/blake3/c/main.c +166 -0
  88. package/deps/blake3/c/test.py +97 -0
  89. package/deps/blake3/media/B3.svg +70 -0
  90. package/deps/blake3/media/BLAKE3.svg +85 -0
  91. package/deps/blake3/media/speed.svg +1474 -0
  92. package/deps/blake3/reference_impl/Cargo.toml +8 -0
  93. package/deps/blake3/reference_impl/README.md +14 -0
  94. package/deps/blake3/reference_impl/reference_impl.rs +374 -0
  95. package/deps/blake3/src/ffi_avx2.rs +65 -0
  96. package/deps/blake3/src/ffi_avx512.rs +169 -0
  97. package/deps/blake3/src/ffi_neon.rs +82 -0
  98. package/deps/blake3/src/ffi_sse2.rs +126 -0
  99. package/deps/blake3/src/ffi_sse41.rs +126 -0
  100. package/deps/blake3/src/guts.rs +60 -0
  101. package/deps/blake3/src/hazmat.rs +704 -0
  102. package/deps/blake3/src/io.rs +64 -0
  103. package/deps/blake3/src/join.rs +92 -0
  104. package/deps/blake3/src/lib.rs +1835 -0
  105. package/deps/blake3/src/platform.rs +587 -0
  106. package/deps/blake3/src/portable.rs +198 -0
  107. package/deps/blake3/src/rust_avx2.rs +474 -0
  108. package/deps/blake3/src/rust_sse2.rs +775 -0
  109. package/deps/blake3/src/rust_sse41.rs +766 -0
  110. package/deps/blake3/src/test.rs +1049 -0
  111. package/deps/blake3/src/traits.rs +227 -0
  112. package/deps/blake3/src/wasm32_simd.rs +794 -0
  113. package/deps/blake3/test_vectors/Cargo.toml +19 -0
  114. package/deps/blake3/test_vectors/cross_test.sh +25 -0
  115. package/deps/blake3/test_vectors/src/bin/generate.rs +4 -0
  116. package/deps/blake3/test_vectors/src/lib.rs +350 -0
  117. package/deps/blake3/test_vectors/test_vectors.json +217 -0
  118. package/deps/blake3/tools/compiler_version/Cargo.toml +7 -0
  119. package/deps/blake3/tools/compiler_version/build.rs +6 -0
  120. package/deps/blake3/tools/compiler_version/src/main.rs +27 -0
  121. package/deps/blake3/tools/instruction_set_support/Cargo.toml +6 -0
  122. package/deps/blake3/tools/instruction_set_support/src/main.rs +10 -0
  123. package/deps/blake3/tools/release.md +16 -0
  124. package/deps/ncrypto/ncrypto.cc +4679 -0
  125. package/deps/ncrypto/ncrypto.h +1625 -0
  126. package/lib/commonjs/blake3.js +98 -0
  127. package/lib/commonjs/blake3.js.map +1 -0
  128. package/lib/commonjs/ec.js +412 -0
  129. package/lib/commonjs/ec.js.map +1 -0
  130. package/lib/commonjs/ed.js +143 -0
  131. package/lib/commonjs/ed.js.map +1 -1
  132. package/lib/commonjs/expo-plugin/withXCode.js +3 -3
  133. package/lib/commonjs/hash.js +48 -1
  134. package/lib/commonjs/hash.js.map +1 -1
  135. package/lib/commonjs/index.js +54 -4
  136. package/lib/commonjs/index.js.map +1 -1
  137. package/lib/commonjs/keys/classes.js +111 -52
  138. package/lib/commonjs/keys/classes.js.map +1 -1
  139. package/lib/commonjs/keys/generateKeyPair.js +98 -144
  140. package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
  141. package/lib/commonjs/keys/index.js +27 -0
  142. package/lib/commonjs/keys/index.js.map +1 -1
  143. package/lib/commonjs/keys/utils.js +18 -13
  144. package/lib/commonjs/keys/utils.js.map +1 -1
  145. package/lib/commonjs/rsa.js +129 -0
  146. package/lib/commonjs/rsa.js.map +1 -0
  147. package/lib/commonjs/specs/blake3.nitro.js +6 -0
  148. package/lib/commonjs/specs/blake3.nitro.js.map +1 -0
  149. package/lib/commonjs/specs/ecKeyPair.nitro.js +6 -0
  150. package/lib/commonjs/specs/ecKeyPair.nitro.js.map +1 -0
  151. package/lib/commonjs/specs/rsaCipher.nitro.js +6 -0
  152. package/lib/commonjs/specs/rsaCipher.nitro.js.map +1 -0
  153. package/lib/commonjs/specs/rsaKeyPair.nitro.js +6 -0
  154. package/lib/commonjs/specs/rsaKeyPair.nitro.js.map +1 -0
  155. package/lib/commonjs/subtle.js +768 -0
  156. package/lib/commonjs/subtle.js.map +1 -0
  157. package/lib/commonjs/utils/conversion.js +26 -3
  158. package/lib/commonjs/utils/conversion.js.map +1 -1
  159. package/lib/commonjs/utils/hashnames.js +2 -1
  160. package/lib/commonjs/utils/hashnames.js.map +1 -1
  161. package/lib/commonjs/utils/index.js +11 -0
  162. package/lib/commonjs/utils/index.js.map +1 -1
  163. package/lib/commonjs/utils/noble.js +82 -0
  164. package/lib/commonjs/utils/noble.js.map +1 -0
  165. package/lib/commonjs/utils/types.js +28 -16
  166. package/lib/commonjs/utils/types.js.map +1 -1
  167. package/lib/commonjs/utils/validation.js +74 -1
  168. package/lib/commonjs/utils/validation.js.map +1 -1
  169. package/lib/module/blake3.js +90 -0
  170. package/lib/module/blake3.js.map +1 -0
  171. package/lib/module/ec.js +404 -0
  172. package/lib/module/ec.js.map +1 -0
  173. package/lib/module/ed.js +141 -0
  174. package/lib/module/ed.js.map +1 -1
  175. package/lib/module/expo-plugin/withXCode.js +3 -3
  176. package/lib/module/hash.js +47 -2
  177. package/lib/module/hash.js.map +1 -1
  178. package/lib/module/index.js +9 -1
  179. package/lib/module/index.js.map +1 -1
  180. package/lib/module/keys/classes.js +108 -49
  181. package/lib/module/keys/classes.js.map +1 -1
  182. package/lib/module/keys/generateKeyPair.js +91 -143
  183. package/lib/module/keys/generateKeyPair.js.map +1 -1
  184. package/lib/module/keys/index.js +9 -6
  185. package/lib/module/keys/index.js.map +1 -1
  186. package/lib/module/keys/utils.js +16 -12
  187. package/lib/module/keys/utils.js.map +1 -1
  188. package/lib/module/rsa.js +123 -0
  189. package/lib/module/rsa.js.map +1 -0
  190. package/lib/module/specs/blake3.nitro.js +4 -0
  191. package/lib/module/specs/blake3.nitro.js.map +1 -0
  192. package/lib/module/specs/ecKeyPair.nitro.js +4 -0
  193. package/lib/module/specs/ecKeyPair.nitro.js.map +1 -0
  194. package/lib/module/specs/rsaCipher.nitro.js +4 -0
  195. package/lib/module/specs/rsaCipher.nitro.js.map +1 -0
  196. package/lib/module/specs/rsaKeyPair.nitro.js +4 -0
  197. package/lib/module/specs/rsaKeyPair.nitro.js.map +1 -0
  198. package/lib/module/subtle.js +763 -0
  199. package/lib/module/subtle.js.map +1 -0
  200. package/lib/module/utils/conversion.js +8 -3
  201. package/lib/module/utils/conversion.js.map +1 -1
  202. package/lib/module/utils/hashnames.js +2 -1
  203. package/lib/module/utils/hashnames.js.map +1 -1
  204. package/lib/module/utils/index.js +1 -0
  205. package/lib/module/utils/index.js.map +1 -1
  206. package/lib/module/utils/noble.js +76 -0
  207. package/lib/module/utils/noble.js.map +1 -0
  208. package/lib/module/utils/types.js +26 -17
  209. package/lib/module/utils/types.js.map +1 -1
  210. package/lib/module/utils/validation.js +69 -1
  211. package/lib/module/utils/validation.js.map +1 -1
  212. package/lib/tsconfig.tsbuildinfo +1 -1
  213. package/lib/typescript/blake3.d.ts +33 -0
  214. package/lib/typescript/blake3.d.ts.map +1 -0
  215. package/lib/typescript/ec.d.ts +13 -0
  216. package/lib/typescript/ec.d.ts.map +1 -0
  217. package/lib/typescript/ed.d.ts +27 -1
  218. package/lib/typescript/ed.d.ts.map +1 -1
  219. package/lib/typescript/hash.d.ts +14 -1
  220. package/lib/typescript/hash.d.ts.map +1 -1
  221. package/lib/typescript/index.d.ts +45 -1
  222. package/lib/typescript/index.d.ts.map +1 -1
  223. package/lib/typescript/keys/classes.d.ts +49 -8
  224. package/lib/typescript/keys/classes.d.ts.map +1 -1
  225. package/lib/typescript/keys/generateKeyPair.d.ts +5 -0
  226. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
  227. package/lib/typescript/keys/index.d.ts +5 -2
  228. package/lib/typescript/keys/index.d.ts.map +1 -1
  229. package/lib/typescript/keys/utils.d.ts +3 -1
  230. package/lib/typescript/keys/utils.d.ts.map +1 -1
  231. package/lib/typescript/rsa.d.ts +10 -0
  232. package/lib/typescript/rsa.d.ts.map +1 -0
  233. package/lib/typescript/specs/blake3.nitro.d.ts +15 -0
  234. package/lib/typescript/specs/blake3.nitro.d.ts.map +1 -0
  235. package/lib/typescript/specs/ecKeyPair.nitro.d.ts +20 -0
  236. package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -0
  237. package/lib/typescript/specs/edKeyPair.nitro.d.ts +1 -0
  238. package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -1
  239. package/lib/typescript/specs/hash.nitro.d.ts +1 -0
  240. package/lib/typescript/specs/hash.nitro.d.ts.map +1 -1
  241. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -1
  242. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
  243. package/lib/typescript/specs/rsaCipher.nitro.d.ts +26 -0
  244. package/lib/typescript/specs/rsaCipher.nitro.d.ts.map +1 -0
  245. package/lib/typescript/specs/rsaKeyPair.nitro.d.ts +20 -0
  246. package/lib/typescript/specs/rsaKeyPair.nitro.d.ts.map +1 -0
  247. package/lib/typescript/subtle.d.ts +17 -0
  248. package/lib/typescript/subtle.d.ts.map +1 -0
  249. package/lib/typescript/utils/cipher.d.ts +1 -1
  250. package/lib/typescript/utils/conversion.d.ts +1 -0
  251. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  252. package/lib/typescript/utils/hashnames.d.ts +3 -1
  253. package/lib/typescript/utils/hashnames.d.ts.map +1 -1
  254. package/lib/typescript/utils/index.d.ts +1 -0
  255. package/lib/typescript/utils/index.d.ts.map +1 -1
  256. package/lib/typescript/utils/noble.d.ts +19 -0
  257. package/lib/typescript/utils/noble.d.ts.map +1 -0
  258. package/lib/typescript/utils/types.d.ts +102 -18
  259. package/lib/typescript/utils/types.d.ts.map +1 -1
  260. package/lib/typescript/utils/validation.d.ts +5 -0
  261. package/lib/typescript/utils/validation.d.ts.map +1 -1
  262. package/nitrogen/generated/.gitattributes +1 -1
  263. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +4 -0
  264. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +50 -0
  265. package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +2 -1
  266. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +50 -0
  267. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +104 -0
  268. package/nitrogen/generated/shared/c++/CipherArgs.hpp +4 -6
  269. package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +28 -0
  270. package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +76 -0
  271. package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.hpp +1 -1
  272. package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +1 -1
  273. package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +29 -0
  274. package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +77 -0
  275. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +1 -0
  276. package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +3 -2
  277. package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +1 -0
  278. package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +2 -1
  279. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +6 -6
  280. package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +1 -1
  281. package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +1 -1
  282. package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +22 -0
  283. package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +70 -0
  284. package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +29 -0
  285. package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +77 -0
  286. package/nitrogen/generated/shared/c++/JWK.hpp +15 -17
  287. package/nitrogen/generated/shared/c++/JWKkty.hpp +11 -13
  288. package/nitrogen/generated/shared/c++/JWKuse.hpp +7 -9
  289. package/nitrogen/generated/shared/c++/KFormatType.hpp +12 -14
  290. package/nitrogen/generated/shared/c++/KeyDetail.hpp +4 -6
  291. package/nitrogen/generated/shared/c++/KeyEncoding.hpp +13 -15
  292. package/nitrogen/generated/shared/c++/KeyObject.hpp +67 -0
  293. package/nitrogen/generated/shared/c++/KeyType.hpp +9 -11
  294. package/nitrogen/generated/shared/c++/KeyUsage.hpp +37 -23
  295. package/nitrogen/generated/shared/c++/NamedCurve.hpp +9 -11
  296. package/package.json +14 -11
  297. package/src/blake3.ts +123 -0
  298. package/src/ec.ts +534 -0
  299. package/src/ed.ts +179 -2
  300. package/src/expo-plugin/withXCode.ts +3 -3
  301. package/src/hash.ts +68 -2
  302. package/src/index.ts +8 -0
  303. package/src/keys/classes.ts +161 -55
  304. package/src/keys/generateKeyPair.ts +133 -134
  305. package/src/keys/index.ts +13 -3
  306. package/src/keys/utils.ts +24 -18
  307. package/src/rsa.ts +176 -0
  308. package/src/specs/blake3.nitro.ts +12 -0
  309. package/src/specs/ecKeyPair.nitro.ts +38 -0
  310. package/src/specs/edKeyPair.nitro.ts +2 -0
  311. package/src/specs/hash.nitro.ts +1 -0
  312. package/src/specs/keyObjectHandle.nitro.ts +1 -1
  313. package/src/specs/rsaCipher.nitro.ts +35 -0
  314. package/src/specs/rsaKeyPair.nitro.ts +33 -0
  315. package/src/subtle.ts +1119 -0
  316. package/src/utils/conversion.ts +10 -2
  317. package/src/utils/hashnames.ts +4 -2
  318. package/src/utils/index.ts +1 -0
  319. package/src/utils/noble.ts +85 -0
  320. package/src/utils/types.ts +148 -26
  321. package/src/utils/validation.ts +96 -1
  322. package/ios/libsodium-stable/.github/workflows/autocloser.yml +0 -12
  323. package/ios/libsodium-stable/.github/workflows/ci.yml +0 -180
  324. package/ios/libsodium-stable/.github/workflows/cifuzz.yml +0 -32
  325. package/ios/libsodium-stable/.github/workflows/codeql-analysis.yml +0 -48
  326. package/ios/libsodium-stable/.github/workflows/dotnet-core.yml +0 -388
  327. package/ios/libsodium-stable/AUTHORS +0 -144
  328. package/ios/libsodium-stable/CITATION.cff +0 -18
  329. package/ios/libsodium-stable/ChangeLog +0 -677
  330. package/ios/libsodium-stable/LICENSE +0 -18
  331. package/ios/libsodium-stable/Makefile.am +0 -23
  332. package/ios/libsodium-stable/README.markdown +0 -76
  333. package/ios/libsodium-stable/THANKS +0 -92
  334. package/ios/libsodium-stable/appveyor.yml +0 -24
  335. package/ios/libsodium-stable/autogen.sh +0 -117
  336. package/ios/libsodium-stable/azure-pipelines.yml +0 -122
  337. package/ios/libsodium-stable/build.zig +0 -281
  338. package/ios/libsodium-stable/builds/Makefile.am +0 -81
  339. package/ios/libsodium-stable/builds/msvc/build/buildall.bat +0 -18
  340. package/ios/libsodium-stable/builds/msvc/build/buildbase.bat +0 -132
  341. package/ios/libsodium-stable/builds/msvc/properties/ARM64.props +0 -23
  342. package/ios/libsodium-stable/builds/msvc/properties/Common.props +0 -21
  343. package/ios/libsodium-stable/builds/msvc/properties/DLL.props +0 -16
  344. package/ios/libsodium-stable/builds/msvc/properties/Debug.props +0 -29
  345. package/ios/libsodium-stable/builds/msvc/properties/DebugDEXE.props +0 -21
  346. package/ios/libsodium-stable/builds/msvc/properties/DebugDLL.props +0 -20
  347. package/ios/libsodium-stable/builds/msvc/properties/DebugLEXE.props +0 -20
  348. package/ios/libsodium-stable/builds/msvc/properties/DebugLIB.props +0 -21
  349. package/ios/libsodium-stable/builds/msvc/properties/DebugLTCG.props +0 -20
  350. package/ios/libsodium-stable/builds/msvc/properties/DebugSEXE.props +0 -21
  351. package/ios/libsodium-stable/builds/msvc/properties/EXE.props +0 -17
  352. package/ios/libsodium-stable/builds/msvc/properties/LIB.props +0 -16
  353. package/ios/libsodium-stable/builds/msvc/properties/LTCG.props +0 -13
  354. package/ios/libsodium-stable/builds/msvc/properties/Link.props +0 -21
  355. package/ios/libsodium-stable/builds/msvc/properties/Messages.props +0 -15
  356. package/ios/libsodium-stable/builds/msvc/properties/Output.props +0 -30
  357. package/ios/libsodium-stable/builds/msvc/properties/Release.props +0 -41
  358. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDEXE.props +0 -20
  359. package/ios/libsodium-stable/builds/msvc/properties/ReleaseDLL.props +0 -19
  360. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLEXE.props +0 -20
  361. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLIB.props +0 -19
  362. package/ios/libsodium-stable/builds/msvc/properties/ReleaseLTCG.props +0 -19
  363. package/ios/libsodium-stable/builds/msvc/properties/ReleaseSEXE.props +0 -20
  364. package/ios/libsodium-stable/builds/msvc/properties/Win32.props +0 -23
  365. package/ios/libsodium-stable/builds/msvc/properties/x64.props +0 -26
  366. package/ios/libsodium-stable/builds/msvc/resource.h +0 -14
  367. package/ios/libsodium-stable/builds/msvc/resource.rc +0 -65
  368. package/ios/libsodium-stable/builds/msvc/version.h +0 -33
  369. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.props +0 -48
  370. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj +0 -346
  371. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +0 -1088
  372. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium/libsodium.xml +0 -15
  373. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.props +0 -52
  374. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.import.xml +0 -17
  375. package/ios/libsodium-stable/builds/msvc/vs2010/libsodium.sln +0 -50
  376. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.props +0 -48
  377. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj +0 -346
  378. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +0 -1088
  379. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium/libsodium.xml +0 -15
  380. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.props +0 -52
  381. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.import.xml +0 -17
  382. package/ios/libsodium-stable/builds/msvc/vs2012/libsodium.sln +0 -50
  383. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.props +0 -48
  384. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj +0 -346
  385. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +0 -1088
  386. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium/libsodium.xml +0 -15
  387. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.props +0 -52
  388. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.import.xml +0 -17
  389. package/ios/libsodium-stable/builds/msvc/vs2013/libsodium.sln +0 -52
  390. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.props +0 -48
  391. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj +0 -346
  392. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +0 -1088
  393. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium/libsodium.xml +0 -15
  394. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.props +0 -52
  395. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.import.xml +0 -17
  396. package/ios/libsodium-stable/builds/msvc/vs2015/libsodium.sln +0 -52
  397. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.props +0 -48
  398. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj +0 -346
  399. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +0 -1088
  400. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium/libsodium.xml +0 -15
  401. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.props +0 -52
  402. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.import.xml +0 -17
  403. package/ios/libsodium-stable/builds/msvc/vs2017/libsodium.sln +0 -52
  404. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.props +0 -48
  405. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj +0 -370
  406. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +0 -1088
  407. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium/libsodium.xml +0 -15
  408. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.props +0 -52
  409. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.import.xml +0 -17
  410. package/ios/libsodium-stable/builds/msvc/vs2019/libsodium.sln +0 -52
  411. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.props +0 -48
  412. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj +0 -370
  413. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters +0 -1088
  414. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium/libsodium.xml +0 -15
  415. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.props +0 -52
  416. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.import.xml +0 -17
  417. package/ios/libsodium-stable/builds/msvc/vs2022/libsodium.sln +0 -70
  418. package/ios/libsodium-stable/ci/appveyor/libsodium.sln +0 -40
  419. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj +0 -594
  420. package/ios/libsodium-stable/ci/appveyor/libsodium.vcxproj.filters +0 -813
  421. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/process.bat +0 -5
  422. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/rep.vbs +0 -12
  423. package/ios/libsodium-stable/ci/appveyor/msvc-scripts/sodium.props +0 -29
  424. package/ios/libsodium-stable/configure.ac +0 -1004
  425. package/ios/libsodium-stable/contrib/Findsodium.cmake +0 -297
  426. package/ios/libsodium-stable/contrib/Makefile.am +0 -3
  427. package/ios/libsodium-stable/dist-build/Makefile.am +0 -14
  428. package/ios/libsodium-stable/dist-build/android-aar.sh +0 -194
  429. package/ios/libsodium-stable/dist-build/android-armv7-a.sh +0 -5
  430. package/ios/libsodium-stable/dist-build/android-armv8-a.sh +0 -5
  431. package/ios/libsodium-stable/dist-build/android-build.sh +0 -95
  432. package/ios/libsodium-stable/dist-build/android-x86.sh +0 -5
  433. package/ios/libsodium-stable/dist-build/android-x86_64.sh +0 -5
  434. package/ios/libsodium-stable/dist-build/apple-xcframework.sh +0 -628
  435. package/ios/libsodium-stable/dist-build/emscripten-symbols.def +0 -651
  436. package/ios/libsodium-stable/dist-build/emscripten.sh +0 -206
  437. package/ios/libsodium-stable/dist-build/generate-emscripten-symbols.sh +0 -59
  438. package/ios/libsodium-stable/dist-build/macos.sh +0 -26
  439. package/ios/libsodium-stable/dist-build/msys2-win32.sh +0 -18
  440. package/ios/libsodium-stable/dist-build/msys2-win64.sh +0 -18
  441. package/ios/libsodium-stable/dist-build/wasm32-wasi.sh +0 -45
  442. package/ios/libsodium-stable/lgtm.yml +0 -6
  443. package/ios/libsodium-stable/libsodium-uninstalled.pc.in +0 -7
  444. package/ios/libsodium-stable/libsodium.pc.in +0 -12
  445. package/ios/libsodium-stable/logo.png +0 -0
  446. package/ios/libsodium-stable/m4/ax_add_fortify_source.m4 +0 -119
  447. package/ios/libsodium-stable/m4/ax_check_catchable_abrt.m4 +0 -57
  448. package/ios/libsodium-stable/m4/ax_check_catchable_segv.m4 +0 -47
  449. package/ios/libsodium-stable/m4/ax_check_compile_flag.m4 +0 -55
  450. package/ios/libsodium-stable/m4/ax_check_define.m4 +0 -73
  451. package/ios/libsodium-stable/m4/ax_check_gnu_make.m4 +0 -95
  452. package/ios/libsodium-stable/m4/ax_check_link_flag.m4 +0 -75
  453. package/ios/libsodium-stable/m4/ax_pthread.m4 +0 -522
  454. package/ios/libsodium-stable/m4/ax_tls.m4 +0 -71
  455. package/ios/libsodium-stable/m4/ax_valgrind_check.m4 +0 -239
  456. package/ios/libsodium-stable/m4/ld-output-def.m4 +0 -29
  457. package/ios/libsodium-stable/packaging/dotnet-core/libsodium.pkgproj +0 -49
  458. package/ios/libsodium-stable/packaging/dotnet-core/test.cs +0 -43
  459. package/ios/libsodium-stable/packaging/nuget/package.bat +0 -13
  460. package/ios/libsodium-stable/packaging/nuget/package.config +0 -4
  461. package/ios/libsodium-stable/packaging/nuget/package.gsl +0 -260
  462. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj +0 -326
  463. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters +0 -23
  464. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.filters.tpl +0 -35
  465. package/ios/libsodium-stable/regen-msvc/libsodium.vcxproj.tpl +0 -37
  466. package/ios/libsodium-stable/regen-msvc/regen-msvc.py +0 -240
  467. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.filters.tpl +0 -23
  468. package/ios/libsodium-stable/regen-msvc/tl_libsodium.vcxproj.tpl +0 -332
  469. package/ios/libsodium-stable/src/Makefile.am +0 -3
  470. package/ios/libsodium-stable/src/libsodium/Makefile.am +0 -314
  471. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c +0 -159
  472. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.c +0 -70
  473. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.h +0 -8
  474. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c +0 -72
  475. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.h +0 -8
  476. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_common.h +0 -248
  477. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.c +0 -59
  478. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/aegis128l_soft.h +0 -8
  479. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis128l/implementations.h +0 -17
  480. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +0 -158
  481. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c +0 -65
  482. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_aesni.h +0 -8
  483. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c +0 -70
  484. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.h +0 -8
  485. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_common.h +0 -231
  486. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.c +0 -54
  487. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/aegis256_soft.h +0 -8
  488. package/ios/libsodium-stable/src/libsodium/crypto_aead/aegis256/implementations.h +0 -17
  489. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c +0 -157
  490. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +0 -1015
  491. package/ios/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +0 -1033
  492. package/ios/libsodium-stable/src/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c +0 -400
  493. package/ios/libsodium-stable/src/libsodium/crypto_aead/xchacha20poly1305/aead_xchacha20poly1305.c +0 -262
  494. package/ios/libsodium-stable/src/libsodium/crypto_auth/crypto_auth.c +0 -41
  495. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +0 -118
  496. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +0 -118
  497. package/ios/libsodium-stable/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +0 -93
  498. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box.c +0 -114
  499. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_easy.c +0 -115
  500. package/ios/libsodium-stable/src/libsodium/crypto_box/crypto_box_seal.c +0 -68
  501. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +0 -204
  502. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +0 -79
  503. package/ios/libsodium-stable/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +0 -156
  504. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ed25519.c +0 -225
  505. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/core_ristretto255.c +0 -156
  506. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +0 -2873
  507. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +0 -1344
  508. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +0 -40
  509. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +0 -40
  510. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +0 -220
  511. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +0 -1344
  512. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +0 -40
  513. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +0 -41
  514. package/ios/libsodium-stable/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +0 -116
  515. package/ios/libsodium-stable/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +0 -93
  516. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +0 -21
  517. package/ios/libsodium-stable/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +0 -95
  518. package/ios/libsodium-stable/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +0 -195
  519. package/ios/libsodium-stable/src/libsodium/crypto_core/softaes/softaes.c +0 -340
  520. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +0 -55
  521. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +0 -106
  522. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +0 -52
  523. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +0 -142
  524. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +0 -93
  525. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +0 -91
  526. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +0 -106
  527. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +0 -95
  528. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +0 -106
  529. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +0 -340
  530. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +0 -164
  531. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +0 -307
  532. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +0 -438
  533. package/ios/libsodium-stable/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +0 -116
  534. package/ios/libsodium-stable/src/libsodium/crypto_generichash/crypto_generichash.c +0 -91
  535. package/ios/libsodium-stable/src/libsodium/crypto_hash/crypto_hash.c +0 -20
  536. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +0 -256
  537. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha256/hash_sha256.c +0 -13
  538. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +0 -284
  539. package/ios/libsodium-stable/src/libsodium/crypto_hash/sha512/hash_sha512.c +0 -13
  540. package/ios/libsodium-stable/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +0 -52
  541. package/ios/libsodium-stable/src/libsodium/crypto_kdf/crypto_kdf.c +0 -49
  542. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha256.c +0 -123
  543. package/ios/libsodium-stable/src/libsodium/crypto_kdf/hkdf/kdf_hkdf_sha512.c +0 -123
  544. package/ios/libsodium-stable/src/libsodium/crypto_kx/crypto_kx.c +0 -143
  545. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +0 -71
  546. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +0 -124
  547. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +0 -12
  548. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +0 -235
  549. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +0 -221
  550. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +0 -90
  551. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +0 -21
  552. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +0 -957
  553. package/ios/libsodium-stable/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +0 -12
  554. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.c +0 -556
  555. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-core.h +0 -271
  556. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +0 -306
  557. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +0 -34
  558. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +0 -243
  559. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +0 -251
  560. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +0 -234
  561. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +0 -244
  562. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.c +0 -283
  563. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/argon2.h +0 -305
  564. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +0 -79
  565. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +0 -8
  566. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +0 -150
  567. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +0 -145
  568. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +0 -40
  569. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +0 -124
  570. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +0 -294
  571. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +0 -238
  572. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/crypto_pwhash.c +0 -212
  573. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +0 -268
  574. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +0 -92
  575. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +0 -318
  576. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +0 -96
  577. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +0 -45
  578. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +0 -301
  579. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +0 -112
  580. package/ios/libsodium-stable/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +0 -406
  581. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +0 -33
  582. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +0 -182
  583. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +0 -10
  584. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +0 -25
  585. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +0 -20
  586. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +0 -71
  587. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +0 -9
  588. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +0 -26
  589. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +0 -35
  590. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +0 -58
  591. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +0 -200
  592. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +0 -16
  593. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +0 -174
  594. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +0 -228
  595. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +0 -78
  596. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +0 -1442
  597. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +0 -18
  598. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +0 -8
  599. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +0 -16
  600. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +0 -60
  601. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +0 -11
  602. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +0 -121
  603. package/ios/libsodium-stable/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c +0 -63
  604. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox.c +0 -67
  605. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +0 -145
  606. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +0 -177
  607. package/ios/libsodium-stable/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +0 -89
  608. package/ios/libsodium-stable/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +0 -313
  609. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/crypto_shorthash.c +0 -34
  610. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +0 -71
  611. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +0 -24
  612. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +0 -77
  613. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +0 -11
  614. package/ios/libsodium-stable/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +0 -11
  615. package/ios/libsodium-stable/src/libsodium/crypto_sign/crypto_sign.c +0 -115
  616. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +0 -84
  617. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +0 -118
  618. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/open.c +0 -98
  619. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign.c +0 -128
  620. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +0 -18
  621. package/ios/libsodium-stable/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +0 -97
  622. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +0 -180
  623. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +0 -8
  624. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +0 -176
  625. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +0 -8
  626. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +0 -86
  627. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +0 -98
  628. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +0 -177
  629. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +0 -326
  630. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +0 -312
  631. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +0 -8
  632. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +0 -184
  633. package/ios/libsodium-stable/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +0 -22
  634. package/ios/libsodium-stable/src/libsodium/crypto_stream/crypto_stream.c +0 -49
  635. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +0 -120
  636. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +0 -8
  637. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +0 -100
  638. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +0 -16
  639. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +0 -965
  640. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +0 -31
  641. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +0 -8
  642. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +0 -134
  643. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +0 -8
  644. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +0 -128
  645. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +0 -8
  646. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +0 -195
  647. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +0 -207
  648. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +0 -547
  649. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +0 -477
  650. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +0 -106
  651. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +0 -26
  652. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +0 -106
  653. package/ios/libsodium-stable/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +0 -26
  654. package/ios/libsodium-stable/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +0 -69
  655. package/ios/libsodium-stable/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +0 -66
  656. package/ios/libsodium-stable/src/libsodium/crypto_verify/verify.c +0 -103
  657. package/ios/libsodium-stable/src/libsodium/include/Makefile.am +0 -76
  658. package/ios/libsodium-stable/src/libsodium/include/sodium/core.h +0 -28
  659. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis128l.h +0 -92
  660. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aegis256.h +0 -92
  661. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +0 -179
  662. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +0 -180
  663. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +0 -100
  664. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth.h +0 -46
  665. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +0 -70
  666. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +0 -68
  667. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +0 -65
  668. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box.h +0 -177
  669. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +0 -164
  670. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +0 -112
  671. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ed25519.h +0 -100
  672. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hchacha20.h +0 -36
  673. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_hsalsa20.h +0 -36
  674. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_ristretto255.h +0 -100
  675. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa20.h +0 -36
  676. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa2012.h +0 -36
  677. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_core_salsa208.h +0 -40
  678. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash.h +0 -84
  679. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_generichash_blake2b.h +0 -122
  680. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash.h +0 -40
  681. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha256.h +0 -60
  682. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_hash_sha512.h +0 -60
  683. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf.h +0 -53
  684. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_blake2b.h +0 -44
  685. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha256.h +0 -74
  686. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kdf_hkdf_sha512.h +0 -75
  687. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_kx.h +0 -66
  688. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth.h +0 -65
  689. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +0 -72
  690. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash.h +0 -147
  691. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +0 -122
  692. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +0 -122
  693. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +0 -120
  694. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult.h +0 -46
  695. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +0 -42
  696. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +0 -51
  697. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +0 -43
  698. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox.h +0 -93
  699. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +0 -70
  700. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +0 -69
  701. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +0 -108
  702. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash.h +0 -41
  703. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +0 -50
  704. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign.h +0 -107
  705. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_ed25519.h +0 -124
  706. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +0 -55
  707. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream.h +0 -59
  708. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_chacha20.h +0 -106
  709. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa20.h +0 -61
  710. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa2012.h +0 -53
  711. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_salsa208.h +0 -56
  712. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xchacha20.h +0 -61
  713. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +0 -61
  714. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_16.h +0 -23
  715. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_32.h +0 -23
  716. package/ios/libsodium-stable/src/libsodium/include/sodium/crypto_verify_64.h +0 -23
  717. package/ios/libsodium-stable/src/libsodium/include/sodium/export.h +0 -57
  718. package/ios/libsodium-stable/src/libsodium/include/sodium/private/asm_cet.h +0 -11
  719. package/ios/libsodium-stable/src/libsodium/include/sodium/private/chacha20_ietf_ext.h +0 -16
  720. package/ios/libsodium-stable/src/libsodium/include/sodium/private/common.h +0 -296
  721. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10.h +0 -142
  722. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +0 -1030
  723. package/ios/libsodium-stable/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +0 -508
  724. package/ios/libsodium-stable/src/libsodium/include/sodium/private/implementations.h +0 -13
  725. package/ios/libsodium-stable/src/libsodium/include/sodium/private/mutex.h +0 -7
  726. package/ios/libsodium-stable/src/libsodium/include/sodium/private/softaes.h +0 -56
  727. package/ios/libsodium-stable/src/libsodium/include/sodium/private/sse2_64_32.h +0 -50
  728. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes.h +0 -72
  729. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_internal_random.h +0 -22
  730. package/ios/libsodium-stable/src/libsodium/include/sodium/randombytes_sysrandom.h +0 -19
  731. package/ios/libsodium-stable/src/libsodium/include/sodium/runtime.h +0 -55
  732. package/ios/libsodium-stable/src/libsodium/include/sodium/utils.h +0 -179
  733. package/ios/libsodium-stable/src/libsodium/include/sodium/version.h.in +0 -33
  734. package/ios/libsodium-stable/src/libsodium/include/sodium.h +0 -75
  735. package/ios/libsodium-stable/src/libsodium/randombytes/internal/randombytes_internal_random.c +0 -648
  736. package/ios/libsodium-stable/src/libsodium/randombytes/randombytes.c +0 -200
  737. package/ios/libsodium-stable/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +0 -396
  738. package/ios/libsodium-stable/src/libsodium/sodium/codecs.c +0 -335
  739. package/ios/libsodium-stable/src/libsodium/sodium/core.c +0 -216
  740. package/ios/libsodium-stable/src/libsodium/sodium/runtime.c +0 -391
  741. package/ios/libsodium-stable/src/libsodium/sodium/utils.c +0 -809
  742. package/ios/libsodium-stable/src/libsodium/sodium/version.c +0 -30
  743. package/ios/libsodium-stable/test/Makefile.am +0 -5
  744. package/ios/libsodium-stable/test/constcheck.sh +0 -22
  745. package/ios/libsodium-stable/test/default/Makefile.am +0 -525
  746. package/ios/libsodium-stable/test/default/aead_aegis128l.c +0 -642
  747. package/ios/libsodium-stable/test/default/aead_aegis128l.exp +0 -1
  748. package/ios/libsodium-stable/test/default/aead_aegis256.c +0 -723
  749. package/ios/libsodium-stable/test/default/aead_aegis256.exp +0 -1
  750. package/ios/libsodium-stable/test/default/aead_aes256gcm.c +0 -3328
  751. package/ios/libsodium-stable/test/default/aead_aes256gcm.exp +0 -1
  752. package/ios/libsodium-stable/test/default/aead_aes256gcm2.c +0 -276
  753. package/ios/libsodium-stable/test/default/aead_aes256gcm2.exp +0 -1
  754. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.c +0 -372
  755. package/ios/libsodium-stable/test/default/aead_chacha20poly1305.exp +0 -63
  756. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.c +0 -1046
  757. package/ios/libsodium-stable/test/default/aead_chacha20poly13052.exp +0 -1
  758. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.c +0 -203
  759. package/ios/libsodium-stable/test/default/aead_xchacha20poly1305.exp +0 -51
  760. package/ios/libsodium-stable/test/default/auth.c +0 -141
  761. package/ios/libsodium-stable/test/default/auth.exp +0 -30
  762. package/ios/libsodium-stable/test/default/auth2.c +0 -34
  763. package/ios/libsodium-stable/test/default/auth2.exp +0 -4
  764. package/ios/libsodium-stable/test/default/auth3.c +0 -36
  765. package/ios/libsodium-stable/test/default/auth3.exp +0 -1
  766. package/ios/libsodium-stable/test/default/auth5.c +0 -41
  767. package/ios/libsodium-stable/test/default/auth5.exp +0 -0
  768. package/ios/libsodium-stable/test/default/auth6.c +0 -23
  769. package/ios/libsodium-stable/test/default/auth6.exp +0 -8
  770. package/ios/libsodium-stable/test/default/auth7.c +0 -41
  771. package/ios/libsodium-stable/test/default/auth7.exp +0 -0
  772. package/ios/libsodium-stable/test/default/box.c +0 -112
  773. package/ios/libsodium-stable/test/default/box.exp +0 -38
  774. package/ios/libsodium-stable/test/default/box2.c +0 -80
  775. package/ios/libsodium-stable/test/default/box2.exp +0 -34
  776. package/ios/libsodium-stable/test/default/box7.c +0 -50
  777. package/ios/libsodium-stable/test/default/box7.exp +0 -0
  778. package/ios/libsodium-stable/test/default/box8.c +0 -58
  779. package/ios/libsodium-stable/test/default/box8.exp +0 -0
  780. package/ios/libsodium-stable/test/default/box_easy.c +0 -72
  781. package/ios/libsodium-stable/test/default/box_easy.exp +0 -3
  782. package/ios/libsodium-stable/test/default/box_easy2.c +0 -149
  783. package/ios/libsodium-stable/test/default/box_easy2.exp +0 -7
  784. package/ios/libsodium-stable/test/default/box_seal.c +0 -165
  785. package/ios/libsodium-stable/test/default/box_seal.exp +0 -8
  786. package/ios/libsodium-stable/test/default/box_seed.c +0 -30
  787. package/ios/libsodium-stable/test/default/box_seed.exp +0 -8
  788. package/ios/libsodium-stable/test/default/chacha20.c +0 -186
  789. package/ios/libsodium-stable/test/default/chacha20.exp +0 -64
  790. package/ios/libsodium-stable/test/default/cmptest.h +0 -238
  791. package/ios/libsodium-stable/test/default/codecs.c +0 -251
  792. package/ios/libsodium-stable/test/default/codecs.exp +0 -30
  793. package/ios/libsodium-stable/test/default/core1.c +0 -41
  794. package/ios/libsodium-stable/test/default/core1.exp +0 -4
  795. package/ios/libsodium-stable/test/default/core2.c +0 -38
  796. package/ios/libsodium-stable/test/default/core2.exp +0 -4
  797. package/ios/libsodium-stable/test/default/core3.c +0 -115
  798. package/ios/libsodium-stable/test/default/core3.exp +0 -3
  799. package/ios/libsodium-stable/test/default/core4.c +0 -36
  800. package/ios/libsodium-stable/test/default/core4.exp +0 -8
  801. package/ios/libsodium-stable/test/default/core5.c +0 -33
  802. package/ios/libsodium-stable/test/default/core5.exp +0 -4
  803. package/ios/libsodium-stable/test/default/core6.c +0 -52
  804. package/ios/libsodium-stable/test/default/core6.exp +0 -4
  805. package/ios/libsodium-stable/test/default/core_ed25519.c +0 -545
  806. package/ios/libsodium-stable/test/default/core_ed25519.exp +0 -55
  807. package/ios/libsodium-stable/test/default/core_ristretto255.c +0 -271
  808. package/ios/libsodium-stable/test/default/core_ristretto255.exp +0 -8
  809. package/ios/libsodium-stable/test/default/ed25519_convert.c +0 -70
  810. package/ios/libsodium-stable/test/default/ed25519_convert.exp +0 -3
  811. package/ios/libsodium-stable/test/default/generichash.c +0 -1406
  812. package/ios/libsodium-stable/test/default/generichash.exp +0 -65
  813. package/ios/libsodium-stable/test/default/generichash2.c +0 -62
  814. package/ios/libsodium-stable/test/default/generichash2.exp +0 -64
  815. package/ios/libsodium-stable/test/default/generichash3.c +0 -176
  816. package/ios/libsodium-stable/test/default/generichash3.exp +0 -75
  817. package/ios/libsodium-stable/test/default/hash.c +0 -47
  818. package/ios/libsodium-stable/test/default/hash.exp +0 -4
  819. package/ios/libsodium-stable/test/default/hash3.c +0 -20
  820. package/ios/libsodium-stable/test/default/hash3.exp +0 -1
  821. package/ios/libsodium-stable/test/default/index.html.tpl +0 -98
  822. package/ios/libsodium-stable/test/default/kdf.c +0 -71
  823. package/ios/libsodium-stable/test/default/kdf.exp +0 -77
  824. package/ios/libsodium-stable/test/default/kdf_hkdf.c +0 -102
  825. package/ios/libsodium-stable/test/default/kdf_hkdf.exp +0 -205
  826. package/ios/libsodium-stable/test/default/keygen.c +0 -67
  827. package/ios/libsodium-stable/test/default/keygen.exp +0 -1
  828. package/ios/libsodium-stable/test/default/kx.c +0 -149
  829. package/ios/libsodium-stable/test/default/kx.exp +0 -7
  830. package/ios/libsodium-stable/test/default/metamorphic.c +0 -187
  831. package/ios/libsodium-stable/test/default/metamorphic.exp +0 -1
  832. package/ios/libsodium-stable/test/default/misuse.c +0 -187
  833. package/ios/libsodium-stable/test/default/misuse.exp +0 -0
  834. package/ios/libsodium-stable/test/default/onetimeauth.c +0 -63
  835. package/ios/libsodium-stable/test/default/onetimeauth.exp +0 -4
  836. package/ios/libsodium-stable/test/default/onetimeauth2.c +0 -33
  837. package/ios/libsodium-stable/test/default/onetimeauth2.exp +0 -1
  838. package/ios/libsodium-stable/test/default/onetimeauth7.c +0 -36
  839. package/ios/libsodium-stable/test/default/onetimeauth7.exp +0 -0
  840. package/ios/libsodium-stable/test/default/pre.js.inc +0 -22
  841. package/ios/libsodium-stable/test/default/pwhash_argon2i.c +0 -467
  842. package/ios/libsodium-stable/test/default/pwhash_argon2i.exp +0 -11
  843. package/ios/libsodium-stable/test/default/pwhash_argon2id.c +0 -517
  844. package/ios/libsodium-stable/test/default/pwhash_argon2id.exp +0 -14
  845. package/ios/libsodium-stable/test/default/pwhash_scrypt.c +0 -393
  846. package/ios/libsodium-stable/test/default/pwhash_scrypt.exp +0 -37
  847. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.c +0 -59
  848. package/ios/libsodium-stable/test/default/pwhash_scrypt_ll.exp +0 -15
  849. package/ios/libsodium-stable/test/default/randombytes.c +0 -164
  850. package/ios/libsodium-stable/test/default/randombytes.exp +0 -2
  851. package/ios/libsodium-stable/test/default/run.sh +0 -9
  852. package/ios/libsodium-stable/test/default/scalarmult.c +0 -77
  853. package/ios/libsodium-stable/test/default/scalarmult.exp +0 -5
  854. package/ios/libsodium-stable/test/default/scalarmult2.c +0 -22
  855. package/ios/libsodium-stable/test/default/scalarmult2.exp +0 -1
  856. package/ios/libsodium-stable/test/default/scalarmult5.c +0 -30
  857. package/ios/libsodium-stable/test/default/scalarmult5.exp +0 -1
  858. package/ios/libsodium-stable/test/default/scalarmult6.c +0 -54
  859. package/ios/libsodium-stable/test/default/scalarmult6.exp +0 -4
  860. package/ios/libsodium-stable/test/default/scalarmult7.c +0 -34
  861. package/ios/libsodium-stable/test/default/scalarmult7.exp +0 -1
  862. package/ios/libsodium-stable/test/default/scalarmult8.c +0 -580
  863. package/ios/libsodium-stable/test/default/scalarmult8.exp +0 -65
  864. package/ios/libsodium-stable/test/default/scalarmult_ed25519.c +0 -134
  865. package/ios/libsodium-stable/test/default/scalarmult_ed25519.exp +0 -1
  866. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.c +0 -51
  867. package/ios/libsodium-stable/test/default/scalarmult_ristretto255.exp +0 -18
  868. package/ios/libsodium-stable/test/default/secretbox.c +0 -84
  869. package/ios/libsodium-stable/test/default/secretbox.exp +0 -38
  870. package/ios/libsodium-stable/test/default/secretbox2.c +0 -55
  871. package/ios/libsodium-stable/test/default/secretbox2.exp +0 -17
  872. package/ios/libsodium-stable/test/default/secretbox7.c +0 -36
  873. package/ios/libsodium-stable/test/default/secretbox7.exp +0 -0
  874. package/ios/libsodium-stable/test/default/secretbox8.c +0 -41
  875. package/ios/libsodium-stable/test/default/secretbox8.exp +0 -0
  876. package/ios/libsodium-stable/test/default/secretbox_easy.c +0 -124
  877. package/ios/libsodium-stable/test/default/secretbox_easy.exp +0 -9
  878. package/ios/libsodium-stable/test/default/secretbox_easy2.c +0 -72
  879. package/ios/libsodium-stable/test/default/secretbox_easy2.exp +0 -5
  880. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.c +0 -329
  881. package/ios/libsodium-stable/test/default/secretstream_xchacha20poly1305.exp +0 -1
  882. package/ios/libsodium-stable/test/default/shorthash.c +0 -35
  883. package/ios/libsodium-stable/test/default/shorthash.exp +0 -64
  884. package/ios/libsodium-stable/test/default/sign.c +0 -1324
  885. package/ios/libsodium-stable/test/default/sign.exp +0 -5
  886. package/ios/libsodium-stable/test/default/siphashx24.c +0 -33
  887. package/ios/libsodium-stable/test/default/siphashx24.exp +0 -64
  888. package/ios/libsodium-stable/test/default/sodium_core.c +0 -43
  889. package/ios/libsodium-stable/test/default/sodium_core.exp +0 -1
  890. package/ios/libsodium-stable/test/default/sodium_utils.c +0 -224
  891. package/ios/libsodium-stable/test/default/sodium_utils.exp +0 -25
  892. package/ios/libsodium-stable/test/default/sodium_utils2.c +0 -120
  893. package/ios/libsodium-stable/test/default/sodium_utils2.exp +0 -3
  894. package/ios/libsodium-stable/test/default/sodium_utils3.c +0 -90
  895. package/ios/libsodium-stable/test/default/sodium_utils3.exp +0 -2
  896. package/ios/libsodium-stable/test/default/sodium_version.c +0 -18
  897. package/ios/libsodium-stable/test/default/sodium_version.exp +0 -3
  898. package/ios/libsodium-stable/test/default/stream.c +0 -84
  899. package/ios/libsodium-stable/test/default/stream.exp +0 -83
  900. package/ios/libsodium-stable/test/default/stream2.c +0 -59
  901. package/ios/libsodium-stable/test/default/stream2.exp +0 -2
  902. package/ios/libsodium-stable/test/default/stream3.c +0 -32
  903. package/ios/libsodium-stable/test/default/stream3.exp +0 -4
  904. package/ios/libsodium-stable/test/default/stream4.c +0 -51
  905. package/ios/libsodium-stable/test/default/stream4.exp +0 -17
  906. package/ios/libsodium-stable/test/default/verify1.c +0 -76
  907. package/ios/libsodium-stable/test/default/verify1.exp +0 -2
  908. package/ios/libsodium-stable/test/default/wasi-test-wrapper.sh +0 -98
  909. package/ios/libsodium-stable/test/default/wintest.bat +0 -61
  910. package/ios/libsodium-stable/test/default/xchacha20.c +0 -428
  911. package/ios/libsodium-stable/test/default/xchacha20.exp +0 -5
  912. package/ios/libsodium-stable/test/quirks/quirks.h +0 -34
  913. package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +0 -86
@@ -0,0 +1,229 @@
1
+ #include "HybridRsaCipher.hpp"
2
+ #include "../keys/HybridKeyObjectHandle.hpp"
3
+ #include "Utils.hpp"
4
+
5
+ #include <cstring>
6
+ #include <openssl/err.h>
7
+ #include <openssl/evp.h>
8
+ #include <openssl/rsa.h>
9
+
10
+ namespace margelo::nitro::crypto {
11
+
12
+ using margelo::nitro::NativeArrayBuffer;
13
+
14
+ // Helper to get OpenSSL digest from hash algorithm name
15
+ const EVP_MD* getDigestByName(const std::string& hashAlgorithm) {
16
+ if (hashAlgorithm == "SHA-1" || hashAlgorithm == "SHA1" || hashAlgorithm == "sha1" || hashAlgorithm == "sha-1") {
17
+ return EVP_sha1();
18
+ } else if (hashAlgorithm == "SHA-256" || hashAlgorithm == "SHA256" || hashAlgorithm == "sha256" || hashAlgorithm == "sha-256") {
19
+ return EVP_sha256();
20
+ } else if (hashAlgorithm == "SHA-384" || hashAlgorithm == "SHA384" || hashAlgorithm == "sha384" || hashAlgorithm == "sha-384") {
21
+ return EVP_sha384();
22
+ } else if (hashAlgorithm == "SHA-512" || hashAlgorithm == "SHA512" || hashAlgorithm == "sha512" || hashAlgorithm == "sha-512") {
23
+ return EVP_sha512();
24
+ }
25
+ throw std::runtime_error("Unsupported hash algorithm: " + hashAlgorithm);
26
+ }
27
+
28
+ std::shared_ptr<ArrayBuffer> HybridRsaCipher::encrypt(const std::shared_ptr<HybridKeyObjectHandleSpec>& keyHandle,
29
+ const std::shared_ptr<ArrayBuffer>& data, const std::string& hashAlgorithm,
30
+ const std::optional<std::shared_ptr<ArrayBuffer>>& label) {
31
+ // Get the EVP_PKEY from the key handle
32
+ auto keyHandleImpl = std::static_pointer_cast<HybridKeyObjectHandle>(keyHandle);
33
+ EVP_PKEY* pkey = keyHandleImpl->getKeyObjectData().GetAsymmetricKey().get();
34
+
35
+ if (!pkey) {
36
+ throw std::runtime_error("Invalid key for RSA encryption");
37
+ }
38
+
39
+ // Create context for encryption
40
+ EVP_PKEY_CTX* ctx = EVP_PKEY_CTX_new(pkey, nullptr);
41
+ if (!ctx) {
42
+ throw std::runtime_error("Failed to create EVP_PKEY_CTX");
43
+ }
44
+
45
+ // Initialize encryption
46
+ if (EVP_PKEY_encrypt_init(ctx) <= 0) {
47
+ EVP_PKEY_CTX_free(ctx);
48
+ unsigned long err = ERR_get_error();
49
+ char err_buf[256];
50
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
51
+ throw std::runtime_error("Failed to initialize encryption: " + std::string(err_buf));
52
+ }
53
+
54
+ // Set padding to OAEP
55
+ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0) {
56
+ EVP_PKEY_CTX_free(ctx);
57
+ throw std::runtime_error("Failed to set RSA OAEP padding");
58
+ }
59
+
60
+ // Set OAEP hash algorithm
61
+ const EVP_MD* md = getDigestByName(hashAlgorithm);
62
+ if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) <= 0) {
63
+ EVP_PKEY_CTX_free(ctx);
64
+ throw std::runtime_error("Failed to set OAEP hash algorithm");
65
+ }
66
+
67
+ // Set MGF1 hash (same as OAEP hash per WebCrypto spec)
68
+ if (EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) <= 0) {
69
+ EVP_PKEY_CTX_free(ctx);
70
+ throw std::runtime_error("Failed to set MGF1 hash algorithm");
71
+ }
72
+
73
+ // Set OAEP label if provided
74
+ if (label.has_value() && label.value()->size() > 0) {
75
+ auto native_label = ToNativeArrayBuffer(label.value());
76
+ // OpenSSL takes ownership of the label, so we need to allocate a copy
77
+ unsigned char* label_copy = (unsigned char*)OPENSSL_malloc(native_label->size());
78
+ if (!label_copy) {
79
+ EVP_PKEY_CTX_free(ctx);
80
+ throw std::runtime_error("Failed to allocate memory for label");
81
+ }
82
+ std::memcpy(label_copy, native_label->data(), native_label->size());
83
+
84
+ if (EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, label_copy, native_label->size()) <= 0) {
85
+ OPENSSL_free(label_copy);
86
+ EVP_PKEY_CTX_free(ctx);
87
+ throw std::runtime_error("Failed to set OAEP label");
88
+ }
89
+ }
90
+
91
+ // Get input data
92
+ auto native_data = ToNativeArrayBuffer(data);
93
+ const unsigned char* in = native_data->data();
94
+ size_t inlen = native_data->size();
95
+
96
+ // Determine output length
97
+ size_t outlen;
98
+ if (EVP_PKEY_encrypt(ctx, nullptr, &outlen, in, inlen) <= 0) {
99
+ EVP_PKEY_CTX_free(ctx);
100
+ unsigned long err = ERR_get_error();
101
+ char err_buf[256];
102
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
103
+ throw std::runtime_error("Failed to determine output length: " + std::string(err_buf));
104
+ }
105
+
106
+ // Allocate output buffer
107
+ auto out_buf = std::make_unique<uint8_t[]>(outlen);
108
+
109
+ // Perform encryption
110
+ if (EVP_PKEY_encrypt(ctx, out_buf.get(), &outlen, in, inlen) <= 0) {
111
+ EVP_PKEY_CTX_free(ctx);
112
+ unsigned long err = ERR_get_error();
113
+ char err_buf[256];
114
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
115
+ throw std::runtime_error("Encryption failed: " + std::string(err_buf));
116
+ }
117
+
118
+ EVP_PKEY_CTX_free(ctx);
119
+
120
+ // Create ArrayBuffer from result
121
+ uint8_t* raw_ptr = out_buf.get();
122
+ return std::make_shared<NativeArrayBuffer>(out_buf.release(), outlen, [raw_ptr]() { delete[] raw_ptr; });
123
+ }
124
+
125
+ std::shared_ptr<ArrayBuffer> HybridRsaCipher::decrypt(const std::shared_ptr<HybridKeyObjectHandleSpec>& keyHandle,
126
+ const std::shared_ptr<ArrayBuffer>& data, const std::string& hashAlgorithm,
127
+ const std::optional<std::shared_ptr<ArrayBuffer>>& label) {
128
+ // Get the EVP_PKEY from the key handle
129
+ auto keyHandleImpl = std::static_pointer_cast<HybridKeyObjectHandle>(keyHandle);
130
+ EVP_PKEY* pkey = keyHandleImpl->getKeyObjectData().GetAsymmetricKey().get();
131
+
132
+ if (!pkey) {
133
+ throw std::runtime_error("Invalid key for RSA decryption");
134
+ }
135
+
136
+ // Create context for decryption
137
+ EVP_PKEY_CTX* ctx = EVP_PKEY_CTX_new(pkey, nullptr);
138
+ if (!ctx) {
139
+ throw std::runtime_error("Failed to create EVP_PKEY_CTX");
140
+ }
141
+
142
+ // Initialize decryption
143
+ if (EVP_PKEY_decrypt_init(ctx) <= 0) {
144
+ EVP_PKEY_CTX_free(ctx);
145
+ unsigned long err = ERR_get_error();
146
+ char err_buf[256];
147
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
148
+ throw std::runtime_error("Failed to initialize decryption: " + std::string(err_buf));
149
+ }
150
+
151
+ // Set padding to OAEP
152
+ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0) {
153
+ EVP_PKEY_CTX_free(ctx);
154
+ throw std::runtime_error("Failed to set RSA OAEP padding");
155
+ }
156
+
157
+ // Set OAEP hash algorithm
158
+ const EVP_MD* md = getDigestByName(hashAlgorithm);
159
+ if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) <= 0) {
160
+ EVP_PKEY_CTX_free(ctx);
161
+ throw std::runtime_error("Failed to set OAEP hash algorithm");
162
+ }
163
+
164
+ // Set MGF1 hash (same as OAEP hash per WebCrypto spec)
165
+ if (EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) <= 0) {
166
+ EVP_PKEY_CTX_free(ctx);
167
+ throw std::runtime_error("Failed to set MGF1 hash algorithm");
168
+ }
169
+
170
+ // Set OAEP label if provided
171
+ if (label.has_value() && label.value()->size() > 0) {
172
+ auto native_label = ToNativeArrayBuffer(label.value());
173
+ // OpenSSL takes ownership of the label, so we need to allocate a copy
174
+ unsigned char* label_copy = (unsigned char*)OPENSSL_malloc(native_label->size());
175
+ if (!label_copy) {
176
+ EVP_PKEY_CTX_free(ctx);
177
+ throw std::runtime_error("Failed to allocate memory for label");
178
+ }
179
+ std::memcpy(label_copy, native_label->data(), native_label->size());
180
+
181
+ if (EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, label_copy, native_label->size()) <= 0) {
182
+ OPENSSL_free(label_copy);
183
+ EVP_PKEY_CTX_free(ctx);
184
+ throw std::runtime_error("Failed to set OAEP label");
185
+ }
186
+ }
187
+
188
+ // Get input data
189
+ auto native_data = ToNativeArrayBuffer(data);
190
+ const unsigned char* in = native_data->data();
191
+ size_t inlen = native_data->size();
192
+
193
+ // Determine output length
194
+ size_t outlen;
195
+ if (EVP_PKEY_decrypt(ctx, nullptr, &outlen, in, inlen) <= 0) {
196
+ EVP_PKEY_CTX_free(ctx);
197
+ unsigned long err = ERR_get_error();
198
+ char err_buf[256];
199
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
200
+ throw std::runtime_error("Failed to determine output length: " + std::string(err_buf));
201
+ }
202
+
203
+ // Allocate output buffer
204
+ auto out_buf = std::make_unique<uint8_t[]>(outlen);
205
+
206
+ // Perform decryption
207
+ if (EVP_PKEY_decrypt(ctx, out_buf.get(), &outlen, in, inlen) <= 0) {
208
+ EVP_PKEY_CTX_free(ctx);
209
+ unsigned long err = ERR_get_error();
210
+ char err_buf[256];
211
+ ERR_error_string_n(err, err_buf, sizeof(err_buf));
212
+ throw std::runtime_error("Decryption failed: " + std::string(err_buf));
213
+ }
214
+
215
+ EVP_PKEY_CTX_free(ctx);
216
+
217
+ // Create ArrayBuffer from result
218
+ uint8_t* raw_ptr = out_buf.get();
219
+ return std::make_shared<NativeArrayBuffer>(out_buf.release(), outlen, [raw_ptr]() { delete[] raw_ptr; });
220
+ }
221
+
222
+ void HybridRsaCipher::loadHybridMethods() {
223
+ registerHybrids(this, [](Prototype& prototype) {
224
+ prototype.registerHybridMethod("encrypt", &HybridRsaCipher::encrypt);
225
+ prototype.registerHybridMethod("decrypt", &HybridRsaCipher::decrypt);
226
+ });
227
+ }
228
+
229
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,23 @@
1
+ #pragma once
2
+
3
+ #include "HybridRsaCipherSpec.hpp"
4
+ #include <memory>
5
+
6
+ namespace margelo::nitro::crypto {
7
+
8
+ class HybridRsaCipher : public HybridRsaCipherSpec {
9
+ public:
10
+ HybridRsaCipher() : HybridObject(TAG) {}
11
+
12
+ std::shared_ptr<ArrayBuffer> encrypt(const std::shared_ptr<HybridKeyObjectHandleSpec>& keyHandle,
13
+ const std::shared_ptr<ArrayBuffer>& data, const std::string& hashAlgorithm,
14
+ const std::optional<std::shared_ptr<ArrayBuffer>>& label) override;
15
+
16
+ std::shared_ptr<ArrayBuffer> decrypt(const std::shared_ptr<HybridKeyObjectHandleSpec>& keyHandle,
17
+ const std::shared_ptr<ArrayBuffer>& data, const std::string& hashAlgorithm,
18
+ const std::optional<std::shared_ptr<ArrayBuffer>>& label) override;
19
+
20
+ void loadHybridMethods() override;
21
+ };
22
+
23
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,428 @@
1
+ #include <NitroModules/ArrayBuffer.hpp>
2
+ #include <NitroModules/Promise.hpp>
3
+ #include <memory>
4
+ #include <openssl/bio.h>
5
+ #include <openssl/buffer.h>
6
+ #include <openssl/ec.h>
7
+ #include <openssl/err.h>
8
+ #include <openssl/evp.h>
9
+ #include <openssl/obj_mac.h>
10
+ #include <openssl/pem.h>
11
+ #include <openssl/sha.h>
12
+ #include <stdexcept>
13
+ #include <string>
14
+
15
+ // OpenSSL EC parameter encoding constants
16
+ #ifndef OPENSSL_EC_EXPLICIT_CURVE
17
+ #define OPENSSL_EC_EXPLICIT_CURVE 0x000
18
+ #endif
19
+ #ifndef OPENSSL_EC_NAMED_CURVE
20
+ #define OPENSSL_EC_NAMED_CURVE 0x001
21
+ #endif
22
+
23
+ #include "HybridEcKeyPair.hpp"
24
+ #include "Utils.hpp"
25
+
26
+ namespace margelo::nitro::crypto {
27
+
28
+ std::shared_ptr<Promise<void>> HybridEcKeyPair::generateKeyPair() {
29
+ return Promise<void>::async([this]() { this->generateKeyPairSync(); });
30
+ }
31
+
32
+ void HybridEcKeyPair::generateKeyPairSync() {
33
+ if (this->curve.empty()) {
34
+ throw std::runtime_error("EC curve not set. Call setCurve() first.");
35
+ }
36
+
37
+ // Clean up existing key if any
38
+ if (this->pkey != nullptr) {
39
+ EVP_PKEY_free(this->pkey);
40
+ this->pkey = nullptr;
41
+ }
42
+
43
+ // Get curve NID from curve name
44
+ int curve_nid = GetCurveFromName(this->curve.c_str());
45
+ if (curve_nid == NID_undef) {
46
+ throw std::runtime_error("Invalid or unsupported curve: " + this->curve);
47
+ }
48
+
49
+ std::unique_ptr<EVP_PKEY_CTX, decltype(&EVP_PKEY_CTX_free)> key_ctx(nullptr, EVP_PKEY_CTX_free);
50
+
51
+ // Handle special curves (Ed25519, X25519, etc.)
52
+ switch (curve_nid) {
53
+ case EVP_PKEY_ED25519:
54
+ case EVP_PKEY_ED448:
55
+ case EVP_PKEY_X25519:
56
+ case EVP_PKEY_X448:
57
+ key_ctx.reset(EVP_PKEY_CTX_new_id(curve_nid, nullptr));
58
+ break;
59
+ default: {
60
+ // Standard EC curves
61
+ std::unique_ptr<EVP_PKEY_CTX, decltype(&EVP_PKEY_CTX_free)> param_ctx(EVP_PKEY_CTX_new_id(EVP_PKEY_EC, nullptr), EVP_PKEY_CTX_free);
62
+
63
+ if (!param_ctx) {
64
+ throw std::runtime_error("Failed to create parameter context");
65
+ }
66
+
67
+ if (EVP_PKEY_paramgen_init(param_ctx.get()) <= 0) {
68
+ throw std::runtime_error("Failed to initialize parameter generation");
69
+ }
70
+
71
+ if (EVP_PKEY_CTX_set_ec_paramgen_curve_nid(param_ctx.get(), curve_nid) <= 0) {
72
+ throw std::runtime_error("Failed to set curve NID");
73
+ }
74
+
75
+ if (EVP_PKEY_CTX_set_ec_param_enc(param_ctx.get(), OPENSSL_EC_NAMED_CURVE) <= 0) {
76
+ throw std::runtime_error("Failed to set parameter encoding");
77
+ }
78
+
79
+ EVP_PKEY* raw_params = nullptr;
80
+ if (EVP_PKEY_paramgen(param_ctx.get(), &raw_params) <= 0) {
81
+ throw std::runtime_error("Failed to generate parameters");
82
+ }
83
+
84
+ std::unique_ptr<EVP_PKEY, decltype(&EVP_PKEY_free)> key_params(raw_params, EVP_PKEY_free);
85
+ key_ctx.reset(EVP_PKEY_CTX_new(key_params.get(), nullptr));
86
+ break;
87
+ }
88
+ }
89
+
90
+ if (!key_ctx) {
91
+ throw std::runtime_error("Failed to create key generation context");
92
+ }
93
+
94
+ if (EVP_PKEY_keygen_init(key_ctx.get()) <= 0) {
95
+ throw std::runtime_error("Failed to initialize key generation");
96
+ }
97
+
98
+ EVP_PKEY* raw_pkey = nullptr;
99
+ if (EVP_PKEY_keygen(key_ctx.get(), &raw_pkey) <= 0) {
100
+ throw std::runtime_error("Failed to generate EC key pair");
101
+ }
102
+
103
+ this->pkey = raw_pkey;
104
+ }
105
+
106
+ KeyObject HybridEcKeyPair::importKey(const std::string& format, const std::shared_ptr<ArrayBuffer>& keyData,
107
+ const std::string& /* algorithm */, bool /* extractable */,
108
+ const std::vector<std::string>& /* keyUsages */) {
109
+ // Clean up any existing key
110
+ if (this->pkey != nullptr) {
111
+ EVP_PKEY_free(this->pkey);
112
+ this->pkey = nullptr;
113
+ }
114
+ // Reset curve state to avoid interference between different uses
115
+ this->curve.clear();
116
+
117
+ // Import key from DER format
118
+ if (format != "der") {
119
+ throw std::runtime_error("Only DER format is supported for key import");
120
+ }
121
+
122
+ const unsigned char* keyPtr = static_cast<const unsigned char*>(keyData->data());
123
+ size_t keyLen = keyData->size();
124
+
125
+ // Try to import as public key first (SPKI format)
126
+ EVP_PKEY* pkey = d2i_PUBKEY(nullptr, &keyPtr, keyLen);
127
+
128
+ if (!pkey) {
129
+ // Reset pointer and try as private key (PKCS8 format)
130
+ keyPtr = static_cast<const unsigned char*>(keyData->data());
131
+
132
+ // Try PKCS8 format for private keys
133
+ BIO* pkcs8_bio = BIO_new_mem_buf(keyData->data(), static_cast<int>(keyData->size()));
134
+ if (pkcs8_bio) {
135
+ PKCS8_PRIV_KEY_INFO* p8inf = d2i_PKCS8_PRIV_KEY_INFO_bio(pkcs8_bio, nullptr);
136
+ if (p8inf != nullptr) {
137
+ EVP_PKEY* pkcs8_pkey = EVP_PKCS82PKEY(p8inf);
138
+ PKCS8_PRIV_KEY_INFO_free(p8inf);
139
+ BIO_free(pkcs8_bio);
140
+ if (pkcs8_pkey != nullptr) {
141
+ this->pkey = pkcs8_pkey;
142
+ KeyObject keyObj;
143
+ return keyObj;
144
+ }
145
+ }
146
+ BIO_free(pkcs8_bio);
147
+ }
148
+
149
+ // Try to parse as SPKI (public key) with BIO
150
+ BIO* spki_bio = BIO_new_mem_buf(keyData->data(), static_cast<int>(keyData->size()));
151
+ if (spki_bio) {
152
+ EVP_PKEY* spki_pkey = d2i_PUBKEY_bio(spki_bio, nullptr);
153
+ BIO_free(spki_bio);
154
+ if (spki_pkey != nullptr) {
155
+ this->pkey = spki_pkey;
156
+ KeyObject keyObj;
157
+ return keyObj;
158
+ }
159
+ }
160
+
161
+ throw std::runtime_error("Failed to import EC key from DER data");
162
+ }
163
+
164
+ this->pkey = pkey;
165
+
166
+ // Return a placeholder KeyObject - this would need proper implementation
167
+ // For now, we just need the key imported into this->pkey for sign/verify
168
+ KeyObject keyObj;
169
+ return keyObj;
170
+ }
171
+
172
+ std::shared_ptr<ArrayBuffer> HybridEcKeyPair::exportKey(const KeyObject& key, const std::string& format) {
173
+ // Suppress unused parameter warning
174
+ (void)key;
175
+
176
+ if (!this->pkey) {
177
+ throw std::runtime_error("No key pair generated");
178
+ }
179
+
180
+ if (format == "der-spki") {
181
+ // Export public key in DER SPKI format
182
+ int len = i2d_PUBKEY(this->pkey, nullptr);
183
+ if (len <= 0) {
184
+ throw std::runtime_error("Failed to get public key DER length");
185
+ }
186
+
187
+ std::vector<unsigned char> derData(len);
188
+ unsigned char* ptr = derData.data();
189
+ i2d_PUBKEY(this->pkey, &ptr);
190
+ return ToNativeArrayBuffer(std::string(derData.begin(), derData.end()));
191
+ } else if (format == "der-pkcs8") {
192
+ // Export private key in DER PKCS8 format
193
+ BIO* bio = BIO_new(BIO_s_mem());
194
+ if (!bio) {
195
+ throw std::runtime_error("Failed to create BIO for private key export");
196
+ }
197
+
198
+ if (i2d_PKCS8PrivateKey_bio(bio, this->pkey, nullptr, nullptr, 0, nullptr, nullptr) != 1) {
199
+ BIO_free(bio);
200
+ throw std::runtime_error("Failed to export private key to DER PKCS8 format");
201
+ }
202
+
203
+ BUF_MEM* mem;
204
+ BIO_get_mem_ptr(bio, &mem);
205
+ std::string derData(mem->data, mem->length);
206
+ BIO_free(bio);
207
+
208
+ return ToNativeArrayBuffer(derData);
209
+ } else if (format == "pem-spki") {
210
+ // Export public key in PEM SPKI format
211
+ BIO* bio = BIO_new(BIO_s_mem());
212
+ if (!bio) {
213
+ throw std::runtime_error("Failed to create BIO for public key export");
214
+ }
215
+
216
+ if (PEM_write_bio_PUBKEY(bio, this->pkey) != 1) {
217
+ BIO_free(bio);
218
+ throw std::runtime_error("Failed to export public key to PEM SPKI format");
219
+ }
220
+
221
+ BUF_MEM* mem;
222
+ BIO_get_mem_ptr(bio, &mem);
223
+ std::string pemData(mem->data, mem->length);
224
+ BIO_free(bio);
225
+
226
+ return ToNativeArrayBuffer(pemData);
227
+ } else if (format == "pem-pkcs8") {
228
+ // Export private key in PEM PKCS8 format
229
+ BIO* bio = BIO_new(BIO_s_mem());
230
+ if (!bio) {
231
+ throw std::runtime_error("Failed to create BIO for private key export");
232
+ }
233
+
234
+ if (PEM_write_bio_PKCS8PrivateKey(bio, this->pkey, nullptr, nullptr, 0, nullptr, nullptr) != 1) {
235
+ BIO_free(bio);
236
+ throw std::runtime_error("Failed to export private key to PEM PKCS8 format");
237
+ }
238
+
239
+ BUF_MEM* mem;
240
+ BIO_get_mem_ptr(bio, &mem);
241
+ std::string pemData(mem->data, mem->length);
242
+ BIO_free(bio);
243
+
244
+ return ToNativeArrayBuffer(pemData);
245
+ }
246
+
247
+ throw std::runtime_error("Unsupported export format: " + format);
248
+ }
249
+
250
+ std::shared_ptr<ArrayBuffer> HybridEcKeyPair::getPublicKey() {
251
+ this->checkKeyPair();
252
+
253
+ // Export as DER format using direct OpenSSL calls
254
+ BIO* bio = BIO_new(BIO_s_mem());
255
+ if (!bio) {
256
+ throw std::runtime_error("Failed to create BIO for public key export");
257
+ }
258
+
259
+ if (i2d_PUBKEY_bio(bio, this->pkey) != 1) {
260
+ BIO_free(bio);
261
+ throw std::runtime_error("Failed to export public key to DER format");
262
+ }
263
+
264
+ BUF_MEM* mem;
265
+ BIO_get_mem_ptr(bio, &mem);
266
+
267
+ // Create a string from the DER data and use ToNativeArrayBuffer utility
268
+ std::string derData(mem->data, mem->length);
269
+ BIO_free(bio);
270
+
271
+ return ToNativeArrayBuffer(derData);
272
+ }
273
+
274
+ std::shared_ptr<ArrayBuffer> HybridEcKeyPair::getPrivateKey() {
275
+ if (this->pkey == nullptr) {
276
+ throw std::runtime_error("No private key available");
277
+ }
278
+
279
+ // Export private key in PKCS8 DER format
280
+ BIO* bio = BIO_new(BIO_s_mem());
281
+ if (i2d_PKCS8PrivateKey_bio(bio, this->pkey, nullptr, nullptr, 0, nullptr, nullptr) != 1) {
282
+ BIO_free(bio);
283
+ throw std::runtime_error("Failed to export private key");
284
+ }
285
+
286
+ BUF_MEM* mem;
287
+ BIO_get_mem_ptr(bio, &mem);
288
+ std::string derData(mem->data, mem->length);
289
+ BIO_free(bio);
290
+
291
+ return ToNativeArrayBuffer(derData);
292
+ }
293
+
294
+ void HybridEcKeyPair::setCurve(const std::string& curve) {
295
+ this->curve = curve;
296
+ }
297
+
298
+ int HybridEcKeyPair::GetCurveFromName(const char* name) {
299
+ // Handle NIST curve name mappings first
300
+ std::string curve_name(name);
301
+ if (curve_name == "P-256") {
302
+ return NID_X9_62_prime256v1;
303
+ } else if (curve_name == "P-384") {
304
+ return NID_secp384r1;
305
+ } else if (curve_name == "P-521") {
306
+ return NID_secp521r1;
307
+ } else if (curve_name == "secp256k1") {
308
+ return NID_secp256k1;
309
+ }
310
+
311
+ // Try standard OpenSSL name resolution
312
+ int nid = OBJ_txt2nid(name);
313
+ if (nid == NID_undef) {
314
+ // Try short names
315
+ nid = OBJ_sn2nid(name);
316
+ }
317
+ if (nid == NID_undef) {
318
+ // Try long names
319
+ nid = OBJ_ln2nid(name);
320
+ }
321
+ return nid;
322
+ }
323
+
324
+ std::shared_ptr<ArrayBuffer> HybridEcKeyPair::sign(const std::shared_ptr<ArrayBuffer>& data, const std::string& hashAlgorithm) {
325
+ this->checkKeyPair();
326
+
327
+ // Get the hash algorithm EVP_MD
328
+ const EVP_MD* md = nullptr;
329
+ if (hashAlgorithm == "SHA-256") {
330
+ md = EVP_sha256();
331
+ } else if (hashAlgorithm == "SHA-384") {
332
+ md = EVP_sha384();
333
+ } else if (hashAlgorithm == "SHA-512") {
334
+ md = EVP_sha512();
335
+ } else if (hashAlgorithm == "SHA-1") {
336
+ md = EVP_sha1();
337
+ } else {
338
+ throw std::runtime_error("Unsupported hash algorithm: " + hashAlgorithm);
339
+ }
340
+
341
+ // Create signing context
342
+ std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_free)> md_ctx(EVP_MD_CTX_new(), EVP_MD_CTX_free);
343
+ if (!md_ctx) {
344
+ throw std::runtime_error("Failed to create message digest context");
345
+ }
346
+
347
+ // Initialize signing
348
+ if (EVP_DigestSignInit(md_ctx.get(), nullptr, md, nullptr, this->pkey) <= 0) {
349
+ throw std::runtime_error("Failed to initialize ECDSA signing");
350
+ }
351
+
352
+ // Update with data
353
+ if (EVP_DigestSignUpdate(md_ctx.get(), data->data(), data->size()) <= 0) {
354
+ throw std::runtime_error("Failed to update ECDSA signing with data");
355
+ }
356
+
357
+ // Get signature length
358
+ size_t sig_len = 0;
359
+ if (EVP_DigestSignFinal(md_ctx.get(), nullptr, &sig_len) <= 0) {
360
+ throw std::runtime_error("Failed to get ECDSA signature length");
361
+ }
362
+
363
+ // Allocate signature buffer
364
+ std::vector<uint8_t> signature(sig_len);
365
+
366
+ // Get the actual signature
367
+ if (EVP_DigestSignFinal(md_ctx.get(), signature.data(), &sig_len) <= 0) {
368
+ throw std::runtime_error("Failed to generate ECDSA signature");
369
+ }
370
+
371
+ // Resize to actual signature length
372
+ signature.resize(sig_len);
373
+
374
+ // Convert to ArrayBuffer
375
+ return ToNativeArrayBuffer(std::string(signature.begin(), signature.end()));
376
+ }
377
+
378
+ bool HybridEcKeyPair::verify(const std::shared_ptr<ArrayBuffer>& data, const std::shared_ptr<ArrayBuffer>& signature,
379
+ const std::string& hashAlgorithm) {
380
+ this->checkKeyPair();
381
+
382
+ // Get the hash algorithm EVP_MD
383
+ const EVP_MD* md = nullptr;
384
+ if (hashAlgorithm == "SHA-256") {
385
+ md = EVP_sha256();
386
+ } else if (hashAlgorithm == "SHA-384") {
387
+ md = EVP_sha384();
388
+ } else if (hashAlgorithm == "SHA-512") {
389
+ md = EVP_sha512();
390
+ } else if (hashAlgorithm == "SHA-1") {
391
+ md = EVP_sha1();
392
+ } else {
393
+ throw std::runtime_error("Unsupported hash algorithm: " + hashAlgorithm);
394
+ }
395
+
396
+ // Create verification context
397
+ std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_free)> md_ctx(EVP_MD_CTX_new(), EVP_MD_CTX_free);
398
+ if (!md_ctx) {
399
+ throw std::runtime_error("Failed to create message digest context");
400
+ }
401
+
402
+ // Initialize verification
403
+ if (EVP_DigestVerifyInit(md_ctx.get(), nullptr, md, nullptr, this->pkey) <= 0) {
404
+ throw std::runtime_error("Failed to initialize ECDSA verification");
405
+ }
406
+
407
+ // Update with data
408
+ if (EVP_DigestVerifyUpdate(md_ctx.get(), data->data(), data->size()) <= 0) {
409
+ throw std::runtime_error("Failed to update ECDSA verification with data");
410
+ }
411
+
412
+ // Verify signature
413
+ int result = EVP_DigestVerifyFinal(md_ctx.get(), static_cast<const unsigned char*>(signature->data()), signature->size());
414
+
415
+ if (result < 0) {
416
+ throw std::runtime_error("ECDSA verification failed with error");
417
+ }
418
+
419
+ return result == 1;
420
+ }
421
+
422
+ void HybridEcKeyPair::checkKeyPair() {
423
+ if (this->pkey == nullptr) {
424
+ throw std::runtime_error("EC KeyPair not initialized");
425
+ }
426
+ }
427
+
428
+ } // namespace margelo::nitro::crypto