react-native-quick-crypto 1.0.19 → 1.1.1

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 (561) hide show
  1. package/QuickCrypto.podspec +12 -38
  2. package/README.md +2 -0
  3. package/android/CMakeLists.txt +3 -0
  4. package/android/build.gradle +5 -1
  5. package/cpp/argon2/HybridArgon2.cpp +10 -3
  6. package/cpp/blake3/HybridBlake3.cpp +5 -3
  7. package/cpp/cipher/CCMCipher.cpp +29 -16
  8. package/cpp/cipher/CCMCipher.hpp +2 -4
  9. package/cpp/cipher/ChaCha20Cipher.cpp +14 -18
  10. package/cpp/cipher/ChaCha20Cipher.hpp +2 -4
  11. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +34 -23
  12. package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +2 -4
  13. package/cpp/cipher/GCMCipher.cpp +14 -15
  14. package/cpp/cipher/HybridCipher.cpp +39 -36
  15. package/cpp/cipher/HybridCipher.hpp +17 -1
  16. package/cpp/cipher/HybridRsaCipher.cpp +74 -29
  17. package/cpp/cipher/OCBCipher.cpp +4 -3
  18. package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +14 -13
  19. package/cpp/cipher/XSalsa20Cipher.cpp +72 -6
  20. package/cpp/cipher/XSalsa20Cipher.hpp +25 -3
  21. package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +21 -25
  22. package/cpp/dh/HybridDiffieHellman.cpp +29 -0
  23. package/cpp/ec/HybridEcKeyPair.cpp +35 -33
  24. package/cpp/ec/HybridEcKeyPair.hpp +3 -7
  25. package/cpp/ecdh/HybridECDH.cpp +23 -0
  26. package/cpp/ed25519/HybridEdKeyPair.cpp +73 -117
  27. package/cpp/ed25519/HybridEdKeyPair.hpp +5 -9
  28. package/cpp/hash/HybridHash.cpp +5 -7
  29. package/cpp/hkdf/HybridHkdf.cpp +6 -4
  30. package/cpp/hmac/HybridHmac.cpp +4 -6
  31. package/cpp/kmac/HybridKmac.cpp +4 -4
  32. package/cpp/mldsa/HybridMlDsaKeyPair.cpp +37 -49
  33. package/cpp/mlkem/HybridMlKemKeyPair.cpp +39 -43
  34. package/cpp/pbkdf2/HybridPbkdf2.cpp +7 -8
  35. package/cpp/rsa/HybridRsaKeyPair.cpp +5 -8
  36. package/cpp/rsa/HybridRsaKeyPair.hpp +4 -7
  37. package/cpp/scrypt/HybridScrypt.cpp +6 -4
  38. package/cpp/sign/HybridSignHandle.cpp +25 -68
  39. package/cpp/sign/HybridVerifyHandle.cpp +23 -60
  40. package/cpp/utils/HybridUtils.cpp +213 -111
  41. package/cpp/utils/HybridUtils.hpp +9 -2
  42. package/cpp/utils/QuickCryptoUtils.hpp +72 -0
  43. package/deps/simdutf/LICENSE-APACHE +201 -0
  44. package/deps/simdutf/LICENSE-MIT +18 -0
  45. package/deps/simdutf/README.md +2782 -0
  46. package/deps/simdutf/include/simdutf/avx512.h +79 -0
  47. package/deps/simdutf/include/simdutf/base64_implementation.h +158 -0
  48. package/deps/simdutf/include/simdutf/base64_tables.h +887 -0
  49. package/deps/simdutf/include/simdutf/common_defs.h +186 -0
  50. package/deps/simdutf/include/simdutf/compiler_check.h +50 -0
  51. package/deps/simdutf/include/simdutf/constexpr_ptr.h +138 -0
  52. package/deps/simdutf/include/simdutf/encoding_types.h +189 -0
  53. package/deps/simdutf/include/simdutf/error.h +126 -0
  54. package/deps/simdutf/include/simdutf/implementation.h +7081 -0
  55. package/deps/simdutf/include/simdutf/internal/isadetection.h +325 -0
  56. package/deps/simdutf/include/simdutf/portability.h +285 -0
  57. package/deps/simdutf/include/simdutf/scalar/ascii.h +86 -0
  58. package/deps/simdutf/include/simdutf/scalar/atomic_util.h +105 -0
  59. package/deps/simdutf/include/simdutf/scalar/base64.h +911 -0
  60. package/deps/simdutf/include/simdutf/scalar/latin1.h +26 -0
  61. package/deps/simdutf/include/simdutf/scalar/latin1_to_utf16/latin1_to_utf16.h +52 -0
  62. package/deps/simdutf/include/simdutf/scalar/latin1_to_utf32/latin1_to_utf32.h +27 -0
  63. package/deps/simdutf/include/simdutf/scalar/latin1_to_utf8/latin1_to_utf8.h +191 -0
  64. package/deps/simdutf/include/simdutf/scalar/swap_bytes.h +35 -0
  65. package/deps/simdutf/include/simdutf/scalar/utf16.h +226 -0
  66. package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/utf16_to_latin1.h +108 -0
  67. package/deps/simdutf/include/simdutf/scalar/utf16_to_latin1/valid_utf16_to_latin1.h +40 -0
  68. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/utf16_to_utf32.h +86 -0
  69. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf32/valid_utf16_to_utf32.h +44 -0
  70. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/utf16_to_utf8.h +295 -0
  71. package/deps/simdutf/include/simdutf/scalar/utf16_to_utf8/valid_utf16_to_utf8.h +91 -0
  72. package/deps/simdutf/include/simdutf/scalar/utf32.h +82 -0
  73. package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/utf32_to_latin1.h +68 -0
  74. package/deps/simdutf/include/simdutf/scalar/utf32_to_latin1/valid_utf32_to_latin1.h +67 -0
  75. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/utf32_to_utf16.h +84 -0
  76. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf16/valid_utf32_to_utf16.h +44 -0
  77. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/utf32_to_utf8.h +142 -0
  78. package/deps/simdutf/include/simdutf/scalar/utf32_to_utf8/valid_utf32_to_utf8.h +72 -0
  79. package/deps/simdutf/include/simdutf/scalar/utf8.h +326 -0
  80. package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/utf8_to_latin1.h +225 -0
  81. package/deps/simdutf/include/simdutf/scalar/utf8_to_latin1/valid_utf8_to_latin1.h +87 -0
  82. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/utf8_to_utf16.h +342 -0
  83. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf16/valid_utf8_to_utf16.h +106 -0
  84. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/utf8_to_utf32.h +299 -0
  85. package/deps/simdutf/include/simdutf/scalar/utf8_to_utf32/valid_utf8_to_utf32.h +83 -0
  86. package/deps/simdutf/include/simdutf/simdutf_version.h +26 -0
  87. package/deps/simdutf/include/simdutf.h +26 -0
  88. package/deps/simdutf/include/simdutf_c.h +342 -0
  89. package/deps/simdutf/src/arm64/arm_base64.cpp +791 -0
  90. package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf16.cpp +24 -0
  91. package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf32.cpp +24 -0
  92. package/deps/simdutf/src/arm64/arm_convert_latin1_to_utf8.cpp +70 -0
  93. package/deps/simdutf/src/arm64/arm_convert_utf16_to_latin1.cpp +61 -0
  94. package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf32.cpp +185 -0
  95. package/deps/simdutf/src/arm64/arm_convert_utf16_to_utf8.cpp +780 -0
  96. package/deps/simdutf/src/arm64/arm_convert_utf32_to_latin1.cpp +60 -0
  97. package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf16.cpp +208 -0
  98. package/deps/simdutf/src/arm64/arm_convert_utf32_to_utf8.cpp +505 -0
  99. package/deps/simdutf/src/arm64/arm_convert_utf8_to_latin1.cpp +69 -0
  100. package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf16.cpp +313 -0
  101. package/deps/simdutf/src/arm64/arm_convert_utf8_to_utf32.cpp +179 -0
  102. package/deps/simdutf/src/arm64/arm_find.cpp +199 -0
  103. package/deps/simdutf/src/arm64/arm_utf16fix.cpp +185 -0
  104. package/deps/simdutf/src/arm64/arm_validate_utf16.cpp +165 -0
  105. package/deps/simdutf/src/arm64/arm_validate_utf32le.cpp +65 -0
  106. package/deps/simdutf/src/arm64/implementation.cpp +1442 -0
  107. package/deps/simdutf/src/encoding_types.cpp +67 -0
  108. package/deps/simdutf/src/error.cpp +3 -0
  109. package/deps/simdutf/src/fallback/implementation.cpp +589 -0
  110. package/deps/simdutf/src/generic/ascii_validation.h +50 -0
  111. package/deps/simdutf/src/generic/base64.h +233 -0
  112. package/deps/simdutf/src/generic/base64lengths.h +63 -0
  113. package/deps/simdutf/src/generic/buf_block_reader.h +109 -0
  114. package/deps/simdutf/src/generic/find.h +75 -0
  115. package/deps/simdutf/src/generic/utf16/change_endianness.h +24 -0
  116. package/deps/simdutf/src/generic/utf16/count_code_points_bytemask.h +58 -0
  117. package/deps/simdutf/src/generic/utf16/to_well_formed.h +93 -0
  118. package/deps/simdutf/src/generic/utf16/utf32_length_from_utf16.h +15 -0
  119. package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16.h +35 -0
  120. package/deps/simdutf/src/generic/utf16/utf8_length_from_utf16_bytemask.h +199 -0
  121. package/deps/simdutf/src/generic/utf16.h +73 -0
  122. package/deps/simdutf/src/generic/utf32.h +136 -0
  123. package/deps/simdutf/src/generic/utf8/utf16_length_from_utf8_bytemask.h +53 -0
  124. package/deps/simdutf/src/generic/utf8.h +92 -0
  125. package/deps/simdutf/src/generic/utf8_to_latin1/utf8_to_latin1.h +316 -0
  126. package/deps/simdutf/src/generic/utf8_to_latin1/valid_utf8_to_latin1.h +78 -0
  127. package/deps/simdutf/src/generic/utf8_to_utf16/utf8_to_utf16.h +332 -0
  128. package/deps/simdutf/src/generic/utf8_to_utf16/valid_utf8_to_utf16.h +74 -0
  129. package/deps/simdutf/src/generic/utf8_to_utf32/utf8_to_utf32.h +318 -0
  130. package/deps/simdutf/src/generic/utf8_to_utf32/valid_utf8_to_utf32.h +42 -0
  131. package/deps/simdutf/src/generic/utf8_validation/utf8_lookup4_algorithm.h +223 -0
  132. package/deps/simdutf/src/generic/utf8_validation/utf8_validator.h +84 -0
  133. package/deps/simdutf/src/generic/validate_utf16.h +164 -0
  134. package/deps/simdutf/src/generic/validate_utf32.h +99 -0
  135. package/deps/simdutf/src/haswell/avx2_base64.cpp +837 -0
  136. package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf16.cpp +28 -0
  137. package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf32.cpp +20 -0
  138. package/deps/simdutf/src/haswell/avx2_convert_latin1_to_utf8.cpp +83 -0
  139. package/deps/simdutf/src/haswell/avx2_convert_utf16_to_latin1.cpp +83 -0
  140. package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf32.cpp +210 -0
  141. package/deps/simdutf/src/haswell/avx2_convert_utf16_to_utf8.cpp +602 -0
  142. package/deps/simdutf/src/haswell/avx2_convert_utf32_to_latin1.cpp +116 -0
  143. package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf16.cpp +164 -0
  144. package/deps/simdutf/src/haswell/avx2_convert_utf32_to_utf8.cpp +569 -0
  145. package/deps/simdutf/src/haswell/avx2_convert_utf8_to_latin1.cpp +60 -0
  146. package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf16.cpp +195 -0
  147. package/deps/simdutf/src/haswell/avx2_convert_utf8_to_utf32.cpp +135 -0
  148. package/deps/simdutf/src/haswell/avx2_utf16fix.cpp +173 -0
  149. package/deps/simdutf/src/haswell/avx2_validate_utf16.cpp +17 -0
  150. package/deps/simdutf/src/haswell/implementation.cpp +1447 -0
  151. package/deps/simdutf/src/icelake/icelake_ascii_validation.inl.cpp +19 -0
  152. package/deps/simdutf/src/icelake/icelake_base64.inl.cpp +630 -0
  153. package/deps/simdutf/src/icelake/icelake_common.inl.cpp +37 -0
  154. package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf16.inl.cpp +36 -0
  155. package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf32.inl.cpp +23 -0
  156. package/deps/simdutf/src/icelake/icelake_convert_latin1_to_utf8.inl.cpp +107 -0
  157. package/deps/simdutf/src/icelake/icelake_convert_utf16_to_latin1.inl.cpp +103 -0
  158. package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf32.inl.cpp +136 -0
  159. package/deps/simdutf/src/icelake/icelake_convert_utf16_to_utf8.inl.cpp +206 -0
  160. package/deps/simdutf/src/icelake/icelake_convert_utf32_to_latin1.inl.cpp +74 -0
  161. package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf16.inl.cpp +338 -0
  162. package/deps/simdutf/src/icelake/icelake_convert_utf32_to_utf8.inl.cpp +574 -0
  163. package/deps/simdutf/src/icelake/icelake_convert_utf8_to_latin1.inl.cpp +104 -0
  164. package/deps/simdutf/src/icelake/icelake_convert_utf8_to_utf16.inl.cpp +75 -0
  165. package/deps/simdutf/src/icelake/icelake_convert_valid_utf8_to_latin1.inl.cpp +69 -0
  166. package/deps/simdutf/src/icelake/icelake_find.inl.cpp +146 -0
  167. package/deps/simdutf/src/icelake/icelake_from_utf8.inl.cpp +266 -0
  168. package/deps/simdutf/src/icelake/icelake_from_valid_utf8.inl.cpp +136 -0
  169. package/deps/simdutf/src/icelake/icelake_macros.inl.cpp +143 -0
  170. package/deps/simdutf/src/icelake/icelake_utf16fix.cpp +138 -0
  171. package/deps/simdutf/src/icelake/icelake_utf32_validation.inl.cpp +63 -0
  172. package/deps/simdutf/src/icelake/icelake_utf8_common.inl.cpp +753 -0
  173. package/deps/simdutf/src/icelake/icelake_utf8_length_from_utf16.inl.cpp +269 -0
  174. package/deps/simdutf/src/icelake/icelake_utf8_validation.inl.cpp +116 -0
  175. package/deps/simdutf/src/icelake/implementation.cpp +1903 -0
  176. package/deps/simdutf/src/implementation.cpp +2526 -0
  177. package/deps/simdutf/src/lasx/implementation.cpp +1531 -0
  178. package/deps/simdutf/src/lasx/lasx_base64.cpp +695 -0
  179. package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf16.cpp +76 -0
  180. package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf32.cpp +55 -0
  181. package/deps/simdutf/src/lasx/lasx_convert_latin1_to_utf8.cpp +65 -0
  182. package/deps/simdutf/src/lasx/lasx_convert_utf16_to_latin1.cpp +64 -0
  183. package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf32.cpp +183 -0
  184. package/deps/simdutf/src/lasx/lasx_convert_utf16_to_utf8.cpp +550 -0
  185. package/deps/simdutf/src/lasx/lasx_convert_utf32_to_latin1.cpp +73 -0
  186. package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf16.cpp +218 -0
  187. package/deps/simdutf/src/lasx/lasx_convert_utf32_to_utf8.cpp +589 -0
  188. package/deps/simdutf/src/lasx/lasx_convert_utf8_to_latin1.cpp +72 -0
  189. package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf16.cpp +296 -0
  190. package/deps/simdutf/src/lasx/lasx_convert_utf8_to_utf32.cpp +190 -0
  191. package/deps/simdutf/src/lasx/lasx_find.cpp +64 -0
  192. package/deps/simdutf/src/lasx/lasx_validate_utf16.cpp +13 -0
  193. package/deps/simdutf/src/lasx/lasx_validate_utf32le.cpp +84 -0
  194. package/deps/simdutf/src/lsx/implementation.cpp +1417 -0
  195. package/deps/simdutf/src/lsx/lsx_base64.cpp +675 -0
  196. package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf16.cpp +39 -0
  197. package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf32.cpp +27 -0
  198. package/deps/simdutf/src/lsx/lsx_convert_latin1_to_utf8.cpp +56 -0
  199. package/deps/simdutf/src/lsx/lsx_convert_utf16_to_latin1.cpp +64 -0
  200. package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf32.cpp +133 -0
  201. package/deps/simdutf/src/lsx/lsx_convert_utf16_to_utf8.cpp +518 -0
  202. package/deps/simdutf/src/lsx/lsx_convert_utf32_to_latin1.cpp +66 -0
  203. package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf16.cpp +155 -0
  204. package/deps/simdutf/src/lsx/lsx_convert_utf32_to_utf8.cpp +459 -0
  205. package/deps/simdutf/src/lsx/lsx_convert_utf8_to_latin1.cpp +75 -0
  206. package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf16.cpp +291 -0
  207. package/deps/simdutf/src/lsx/lsx_convert_utf8_to_utf32.cpp +179 -0
  208. package/deps/simdutf/src/lsx/lsx_find.cpp +60 -0
  209. package/deps/simdutf/src/lsx/lsx_validate_utf16.cpp +13 -0
  210. package/deps/simdutf/src/lsx/lsx_validate_utf32le.cpp +68 -0
  211. package/deps/simdutf/src/ppc64/implementation.cpp +992 -0
  212. package/deps/simdutf/src/ppc64/ppc64_base64.cpp +480 -0
  213. package/deps/simdutf/src/ppc64/ppc64_base64_internal_tests.cpp +401 -0
  214. package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf16.cpp +12 -0
  215. package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf32.cpp +12 -0
  216. package/deps/simdutf/src/ppc64/ppc64_convert_latin1_to_utf8.cpp +149 -0
  217. package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_latin1.cpp +67 -0
  218. package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf32.cpp +87 -0
  219. package/deps/simdutf/src/ppc64/ppc64_convert_utf16_to_utf8.cpp +296 -0
  220. package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_latin1.cpp +57 -0
  221. package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf16.cpp +117 -0
  222. package/deps/simdutf/src/ppc64/ppc64_convert_utf32_to_utf8.cpp +166 -0
  223. package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_latin1.cpp +69 -0
  224. package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf16.cpp +211 -0
  225. package/deps/simdutf/src/ppc64/ppc64_convert_utf8_to_utf32.cpp +153 -0
  226. package/deps/simdutf/src/ppc64/ppc64_utf16_to_utf8_tables.h +1011 -0
  227. package/deps/simdutf/src/ppc64/ppc64_utf8_length_from_latin1.cpp +37 -0
  228. package/deps/simdutf/src/ppc64/ppc64_validate_utf16.cpp +19 -0
  229. package/deps/simdutf/src/ppc64/templates.cpp +91 -0
  230. package/deps/simdutf/src/rvv/implementation.cpp +138 -0
  231. package/deps/simdutf/src/rvv/rvv_find.cpp +27 -0
  232. package/deps/simdutf/src/rvv/rvv_helpers.inl.cpp +23 -0
  233. package/deps/simdutf/src/rvv/rvv_latin1_to.inl.cpp +71 -0
  234. package/deps/simdutf/src/rvv/rvv_length_from.inl.cpp +164 -0
  235. package/deps/simdutf/src/rvv/rvv_utf16_to.inl.cpp +399 -0
  236. package/deps/simdutf/src/rvv/rvv_utf16fix.cpp +110 -0
  237. package/deps/simdutf/src/rvv/rvv_utf32_to.inl.cpp +307 -0
  238. package/deps/simdutf/src/rvv/rvv_utf8_to.inl.cpp +435 -0
  239. package/deps/simdutf/src/rvv/rvv_validate.inl.cpp +275 -0
  240. package/deps/simdutf/src/simdutf/arm64/begin.h +2 -0
  241. package/deps/simdutf/src/simdutf/arm64/bitmanipulation.h +34 -0
  242. package/deps/simdutf/src/simdutf/arm64/end.h +2 -0
  243. package/deps/simdutf/src/simdutf/arm64/implementation.h +307 -0
  244. package/deps/simdutf/src/simdutf/arm64/intrinsics.h +10 -0
  245. package/deps/simdutf/src/simdutf/arm64/simd.h +547 -0
  246. package/deps/simdutf/src/simdutf/arm64/simd16-inl.h +403 -0
  247. package/deps/simdutf/src/simdutf/arm64/simd32-inl.h +129 -0
  248. package/deps/simdutf/src/simdutf/arm64/simd64-inl.h +28 -0
  249. package/deps/simdutf/src/simdutf/arm64.h +43 -0
  250. package/deps/simdutf/src/simdutf/fallback/begin.h +1 -0
  251. package/deps/simdutf/src/simdutf/fallback/bitmanipulation.h +13 -0
  252. package/deps/simdutf/src/simdutf/fallback/end.h +1 -0
  253. package/deps/simdutf/src/simdutf/fallback/implementation.h +331 -0
  254. package/deps/simdutf/src/simdutf/fallback.h +42 -0
  255. package/deps/simdutf/src/simdutf/haswell/begin.h +15 -0
  256. package/deps/simdutf/src/simdutf/haswell/bitmanipulation.h +35 -0
  257. package/deps/simdutf/src/simdutf/haswell/end.h +13 -0
  258. package/deps/simdutf/src/simdutf/haswell/implementation.h +338 -0
  259. package/deps/simdutf/src/simdutf/haswell/intrinsics.h +67 -0
  260. package/deps/simdutf/src/simdutf/haswell/simd.h +363 -0
  261. package/deps/simdutf/src/simdutf/haswell/simd16-inl.h +261 -0
  262. package/deps/simdutf/src/simdutf/haswell/simd32-inl.h +111 -0
  263. package/deps/simdutf/src/simdutf/haswell/simd64-inl.h +34 -0
  264. package/deps/simdutf/src/simdutf/haswell.h +63 -0
  265. package/deps/simdutf/src/simdutf/icelake/begin.h +14 -0
  266. package/deps/simdutf/src/simdutf/icelake/bitmanipulation.h +44 -0
  267. package/deps/simdutf/src/simdutf/icelake/end.h +12 -0
  268. package/deps/simdutf/src/simdutf/icelake/implementation.h +346 -0
  269. package/deps/simdutf/src/simdutf/icelake/intrinsics.h +138 -0
  270. package/deps/simdutf/src/simdutf/icelake/simd.h +17 -0
  271. package/deps/simdutf/src/simdutf/icelake/simd16-inl.h +90 -0
  272. package/deps/simdutf/src/simdutf/icelake/simd32-inl.h +47 -0
  273. package/deps/simdutf/src/simdutf/icelake.h +81 -0
  274. package/deps/simdutf/src/simdutf/lasx/begin.h +8 -0
  275. package/deps/simdutf/src/simdutf/lasx/bitmanipulation.h +25 -0
  276. package/deps/simdutf/src/simdutf/lasx/end.h +8 -0
  277. package/deps/simdutf/src/simdutf/lasx/implementation.h +310 -0
  278. package/deps/simdutf/src/simdutf/lasx/intrinsics.h +319 -0
  279. package/deps/simdutf/src/simdutf/lasx/simd.h +551 -0
  280. package/deps/simdutf/src/simdutf/lasx/simd16-inl.h +234 -0
  281. package/deps/simdutf/src/simdutf/lasx/simd32-inl.h +74 -0
  282. package/deps/simdutf/src/simdutf/lasx/simd64-inl.h +52 -0
  283. package/deps/simdutf/src/simdutf/lasx.h +49 -0
  284. package/deps/simdutf/src/simdutf/lsx/begin.h +2 -0
  285. package/deps/simdutf/src/simdutf/lsx/bitmanipulation.h +25 -0
  286. package/deps/simdutf/src/simdutf/lsx/end.h +2 -0
  287. package/deps/simdutf/src/simdutf/lsx/implementation.h +309 -0
  288. package/deps/simdutf/src/simdutf/lsx/intrinsics.h +196 -0
  289. package/deps/simdutf/src/simdutf/lsx/simd.h +421 -0
  290. package/deps/simdutf/src/simdutf/lsx/simd16-inl.h +242 -0
  291. package/deps/simdutf/src/simdutf/lsx/simd32-inl.h +69 -0
  292. package/deps/simdutf/src/simdutf/lsx/simd64-inl.h +50 -0
  293. package/deps/simdutf/src/simdutf/lsx.h +52 -0
  294. package/deps/simdutf/src/simdutf/ppc64/begin.h +1 -0
  295. package/deps/simdutf/src/simdutf/ppc64/bitmanipulation.h +29 -0
  296. package/deps/simdutf/src/simdutf/ppc64/end.h +1 -0
  297. package/deps/simdutf/src/simdutf/ppc64/implementation.h +348 -0
  298. package/deps/simdutf/src/simdutf/ppc64/intrinsics.h +19 -0
  299. package/deps/simdutf/src/simdutf/ppc64/simd.h +177 -0
  300. package/deps/simdutf/src/simdutf/ppc64/simd16-inl.h +327 -0
  301. package/deps/simdutf/src/simdutf/ppc64/simd32-inl.h +247 -0
  302. package/deps/simdutf/src/simdutf/ppc64/simd8-inl.h +618 -0
  303. package/deps/simdutf/src/simdutf/ppc64.h +40 -0
  304. package/deps/simdutf/src/simdutf/rvv/begin.h +7 -0
  305. package/deps/simdutf/src/simdutf/rvv/end.h +7 -0
  306. package/deps/simdutf/src/simdutf/rvv/implementation.h +321 -0
  307. package/deps/simdutf/src/simdutf/rvv/intrinsics.h +131 -0
  308. package/deps/simdutf/src/simdutf/rvv.h +41 -0
  309. package/deps/simdutf/src/simdutf/westmere/begin.h +8 -0
  310. package/deps/simdutf/src/simdutf/westmere/bitmanipulation.h +37 -0
  311. package/deps/simdutf/src/simdutf/westmere/end.h +8 -0
  312. package/deps/simdutf/src/simdutf/westmere/implementation.h +338 -0
  313. package/deps/simdutf/src/simdutf/westmere/intrinsics.h +38 -0
  314. package/deps/simdutf/src/simdutf/westmere/simd.h +379 -0
  315. package/deps/simdutf/src/simdutf/westmere/simd16-inl.h +242 -0
  316. package/deps/simdutf/src/simdutf/westmere/simd32-inl.h +151 -0
  317. package/deps/simdutf/src/simdutf/westmere/simd64-inl.h +33 -0
  318. package/deps/simdutf/src/simdutf/westmere.h +59 -0
  319. package/deps/simdutf/src/simdutf.cpp +152 -0
  320. package/deps/simdutf/src/simdutf_c.cpp +525 -0
  321. package/deps/simdutf/src/tables/utf16_to_utf8_tables.h +768 -0
  322. package/deps/simdutf/src/tables/utf32_to_utf16_tables.h +53 -0
  323. package/deps/simdutf/src/tables/utf8_to_utf16_tables.h +826 -0
  324. package/deps/simdutf/src/westmere/implementation.cpp +1479 -0
  325. package/deps/simdutf/src/westmere/internal/loader.cpp +7 -0
  326. package/deps/simdutf/src/westmere/internal/write_v_u16_11bits_to_utf8.cpp +66 -0
  327. package/deps/simdutf/src/westmere/sse_base64.cpp +672 -0
  328. package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf16.cpp +21 -0
  329. package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf32.cpp +31 -0
  330. package/deps/simdutf/src/westmere/sse_convert_latin1_to_utf8.cpp +71 -0
  331. package/deps/simdutf/src/westmere/sse_convert_utf16_to_latin1.cpp +70 -0
  332. package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf32.cpp +206 -0
  333. package/deps/simdutf/src/westmere/sse_convert_utf16_to_utf8.cpp +504 -0
  334. package/deps/simdutf/src/westmere/sse_convert_utf32_to_latin1.cpp +82 -0
  335. package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf16.cpp +209 -0
  336. package/deps/simdutf/src/westmere/sse_convert_utf32_to_utf8.cpp +589 -0
  337. package/deps/simdutf/src/westmere/sse_convert_utf8_to_latin1.cpp +58 -0
  338. package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf16.cpp +197 -0
  339. package/deps/simdutf/src/westmere/sse_convert_utf8_to_utf32.cpp +141 -0
  340. package/deps/simdutf/src/westmere/sse_utf16fix.cpp +82 -0
  341. package/deps/simdutf/src/westmere/sse_validate_utf16.cpp +17 -0
  342. package/lib/commonjs/argon2.js +51 -2
  343. package/lib/commonjs/argon2.js.map +1 -1
  344. package/lib/commonjs/cipher.js +109 -11
  345. package/lib/commonjs/cipher.js.map +1 -1
  346. package/lib/commonjs/dsa.js +8 -2
  347. package/lib/commonjs/dsa.js.map +1 -1
  348. package/lib/commonjs/hash.js +15 -5
  349. package/lib/commonjs/hash.js.map +1 -1
  350. package/lib/commonjs/hkdf.js +33 -6
  351. package/lib/commonjs/hkdf.js.map +1 -1
  352. package/lib/commonjs/hmac.js +15 -5
  353. package/lib/commonjs/hmac.js.map +1 -1
  354. package/lib/commonjs/keys/publicCipher.js +10 -4
  355. package/lib/commonjs/keys/publicCipher.js.map +1 -1
  356. package/lib/commonjs/random.js +11 -2
  357. package/lib/commonjs/random.js.map +1 -1
  358. package/lib/commonjs/rsa.js +12 -5
  359. package/lib/commonjs/rsa.js.map +1 -1
  360. package/lib/commonjs/scrypt.js +47 -6
  361. package/lib/commonjs/scrypt.js.map +1 -1
  362. package/lib/commonjs/subtle.js +76 -5
  363. package/lib/commonjs/subtle.js.map +1 -1
  364. package/lib/commonjs/utils/cipher.js +18 -7
  365. package/lib/commonjs/utils/cipher.js.map +1 -1
  366. package/lib/commonjs/utils/conversion.js +33 -9
  367. package/lib/commonjs/utils/conversion.js.map +1 -1
  368. package/lib/commonjs/utils/timingSafeEqual.js +7 -2
  369. package/lib/commonjs/utils/timingSafeEqual.js.map +1 -1
  370. package/lib/commonjs/x509certificate.js +6 -6
  371. package/lib/commonjs/x509certificate.js.map +1 -1
  372. package/lib/module/argon2.js +51 -2
  373. package/lib/module/argon2.js.map +1 -1
  374. package/lib/module/cipher.js +109 -11
  375. package/lib/module/cipher.js.map +1 -1
  376. package/lib/module/dsa.js +8 -2
  377. package/lib/module/dsa.js.map +1 -1
  378. package/lib/module/hash.js +15 -5
  379. package/lib/module/hash.js.map +1 -1
  380. package/lib/module/hkdf.js +33 -6
  381. package/lib/module/hkdf.js.map +1 -1
  382. package/lib/module/hmac.js +15 -5
  383. package/lib/module/hmac.js.map +1 -1
  384. package/lib/module/keys/publicCipher.js +10 -4
  385. package/lib/module/keys/publicCipher.js.map +1 -1
  386. package/lib/module/random.js +11 -2
  387. package/lib/module/random.js.map +1 -1
  388. package/lib/module/rsa.js +11 -4
  389. package/lib/module/rsa.js.map +1 -1
  390. package/lib/module/scrypt.js +47 -6
  391. package/lib/module/scrypt.js.map +1 -1
  392. package/lib/module/subtle.js +76 -5
  393. package/lib/module/subtle.js.map +1 -1
  394. package/lib/module/utils/cipher.js +18 -7
  395. package/lib/module/utils/cipher.js.map +1 -1
  396. package/lib/module/utils/conversion.js +33 -9
  397. package/lib/module/utils/conversion.js.map +1 -1
  398. package/lib/module/utils/timingSafeEqual.js +8 -3
  399. package/lib/module/utils/timingSafeEqual.js.map +1 -1
  400. package/lib/module/x509certificate.js +6 -6
  401. package/lib/module/x509certificate.js.map +1 -1
  402. package/lib/typescript/argon2.d.ts.map +1 -1
  403. package/lib/typescript/cipher.d.ts +2 -2
  404. package/lib/typescript/cipher.d.ts.map +1 -1
  405. package/lib/typescript/dsa.d.ts.map +1 -1
  406. package/lib/typescript/hash.d.ts +2 -2
  407. package/lib/typescript/hash.d.ts.map +1 -1
  408. package/lib/typescript/hkdf.d.ts.map +1 -1
  409. package/lib/typescript/hmac.d.ts +2 -2
  410. package/lib/typescript/hmac.d.ts.map +1 -1
  411. package/lib/typescript/index.d.ts +1 -1
  412. package/lib/typescript/index.d.ts.map +1 -1
  413. package/lib/typescript/keys/publicCipher.d.ts.map +1 -1
  414. package/lib/typescript/random.d.ts.map +1 -1
  415. package/lib/typescript/rsa.d.ts.map +1 -1
  416. package/lib/typescript/scrypt.d.ts.map +1 -1
  417. package/lib/typescript/specs/utils.nitro.d.ts +0 -2
  418. package/lib/typescript/specs/utils.nitro.d.ts.map +1 -1
  419. package/lib/typescript/subtle.d.ts.map +1 -1
  420. package/lib/typescript/utils/cipher.d.ts +13 -1
  421. package/lib/typescript/utils/cipher.d.ts.map +1 -1
  422. package/lib/typescript/utils/conversion.d.ts +9 -6
  423. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  424. package/lib/typescript/utils/timingSafeEqual.d.ts.map +1 -1
  425. package/lib/typescript/x509certificate.d.ts.map +1 -1
  426. package/nitrogen/generated/shared/c++/HybridUtilsSpec.cpp +0 -2
  427. package/nitrogen/generated/shared/c++/HybridUtilsSpec.hpp +0 -3
  428. package/package.json +38 -6
  429. package/src/argon2.ts +80 -2
  430. package/src/cipher.ts +139 -15
  431. package/src/dsa.ts +11 -2
  432. package/src/hash.ts +17 -7
  433. package/src/hkdf.ts +44 -6
  434. package/src/hmac.ts +17 -7
  435. package/src/keys/publicCipher.ts +10 -4
  436. package/src/random.ts +11 -2
  437. package/src/rsa.ts +18 -4
  438. package/src/scrypt.ts +73 -6
  439. package/src/specs/utils.nitro.ts +0 -2
  440. package/src/subtle.ts +90 -8
  441. package/src/utils/cipher.ts +30 -8
  442. package/src/utils/conversion.ts +58 -20
  443. package/src/utils/timingSafeEqual.ts +8 -3
  444. package/src/x509certificate.ts +5 -6
  445. package/deps/blake3/.cargo/config.toml +0 -2
  446. package/deps/blake3/.git-blame-ignore-revs +0 -2
  447. package/deps/blake3/.github/workflows/build_b3sum.py +0 -38
  448. package/deps/blake3/.github/workflows/ci.yml +0 -491
  449. package/deps/blake3/.github/workflows/tag.yml +0 -43
  450. package/deps/blake3/.github/workflows/upload_github_release_asset.py +0 -73
  451. package/deps/blake3/CONTRIBUTING.md +0 -31
  452. package/deps/blake3/Cargo.toml +0 -135
  453. package/deps/blake3/b3sum/Cargo.lock +0 -513
  454. package/deps/blake3/b3sum/Cargo.toml +0 -26
  455. package/deps/blake3/b3sum/README.md +0 -72
  456. package/deps/blake3/b3sum/src/main.rs +0 -564
  457. package/deps/blake3/b3sum/src/unit_tests.rs +0 -235
  458. package/deps/blake3/b3sum/tests/cli_tests.rs +0 -680
  459. package/deps/blake3/b3sum/what_does_check_do.md +0 -176
  460. package/deps/blake3/benches/bench.rs +0 -623
  461. package/deps/blake3/build.rs +0 -389
  462. package/deps/blake3/c/CMakeLists.txt +0 -383
  463. package/deps/blake3/c/CMakePresets.json +0 -73
  464. package/deps/blake3/c/Makefile.testing +0 -82
  465. package/deps/blake3/c/blake3-config.cmake.in +0 -14
  466. package/deps/blake3/c/blake3_avx2.c +0 -326
  467. package/deps/blake3/c/blake3_avx2_x86-64_unix.S +0 -1815
  468. package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +0 -1817
  469. package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +0 -1828
  470. package/deps/blake3/c/blake3_avx512.c +0 -1388
  471. package/deps/blake3/c/blake3_avx512_x86-64_unix.S +0 -4824
  472. package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +0 -2615
  473. package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +0 -2634
  474. package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +0 -32
  475. package/deps/blake3/c/blake3_c_rust_bindings/README.md +0 -4
  476. package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +0 -477
  477. package/deps/blake3/c/blake3_c_rust_bindings/build.rs +0 -253
  478. package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +0 -31
  479. package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +0 -333
  480. package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +0 -696
  481. package/deps/blake3/c/blake3_sse2.c +0 -566
  482. package/deps/blake3/c/blake3_sse2_x86-64_unix.S +0 -2291
  483. package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +0 -2332
  484. package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +0 -2350
  485. package/deps/blake3/c/blake3_sse41.c +0 -560
  486. package/deps/blake3/c/blake3_sse41_x86-64_unix.S +0 -2028
  487. package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +0 -2069
  488. package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +0 -2089
  489. package/deps/blake3/c/blake3_tbb.cpp +0 -37
  490. package/deps/blake3/c/dependencies/CMakeLists.txt +0 -3
  491. package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +0 -28
  492. package/deps/blake3/c/example.c +0 -36
  493. package/deps/blake3/c/example_tbb.c +0 -57
  494. package/deps/blake3/c/libblake3.pc.in +0 -12
  495. package/deps/blake3/c/main.c +0 -166
  496. package/deps/blake3/c/test.py +0 -97
  497. package/deps/blake3/media/B3.svg +0 -70
  498. package/deps/blake3/media/BLAKE3.svg +0 -85
  499. package/deps/blake3/media/speed.svg +0 -1474
  500. package/deps/blake3/reference_impl/Cargo.toml +0 -8
  501. package/deps/blake3/reference_impl/README.md +0 -14
  502. package/deps/blake3/reference_impl/reference_impl.rs +0 -374
  503. package/deps/blake3/src/ffi_avx2.rs +0 -65
  504. package/deps/blake3/src/ffi_avx512.rs +0 -169
  505. package/deps/blake3/src/ffi_neon.rs +0 -82
  506. package/deps/blake3/src/ffi_sse2.rs +0 -126
  507. package/deps/blake3/src/ffi_sse41.rs +0 -126
  508. package/deps/blake3/src/guts.rs +0 -60
  509. package/deps/blake3/src/hazmat.rs +0 -704
  510. package/deps/blake3/src/io.rs +0 -64
  511. package/deps/blake3/src/join.rs +0 -92
  512. package/deps/blake3/src/lib.rs +0 -1835
  513. package/deps/blake3/src/platform.rs +0 -587
  514. package/deps/blake3/src/portable.rs +0 -198
  515. package/deps/blake3/src/rust_avx2.rs +0 -474
  516. package/deps/blake3/src/rust_sse2.rs +0 -775
  517. package/deps/blake3/src/rust_sse41.rs +0 -766
  518. package/deps/blake3/src/test.rs +0 -1049
  519. package/deps/blake3/src/traits.rs +0 -227
  520. package/deps/blake3/src/wasm32_simd.rs +0 -794
  521. package/deps/blake3/test_vectors/Cargo.toml +0 -19
  522. package/deps/blake3/test_vectors/cross_test.sh +0 -25
  523. package/deps/blake3/test_vectors/src/bin/generate.rs +0 -4
  524. package/deps/blake3/test_vectors/src/lib.rs +0 -350
  525. package/deps/blake3/test_vectors/test_vectors.json +0 -217
  526. package/deps/blake3/tools/compiler_version/Cargo.toml +0 -7
  527. package/deps/blake3/tools/compiler_version/build.rs +0 -6
  528. package/deps/blake3/tools/compiler_version/src/main.rs +0 -27
  529. package/deps/blake3/tools/instruction_set_support/Cargo.toml +0 -6
  530. package/deps/blake3/tools/instruction_set_support/src/main.rs +0 -10
  531. package/deps/blake3/tools/release.md +0 -16
  532. package/deps/ncrypto/.bazelignore +0 -4
  533. package/deps/ncrypto/.bazelrc +0 -1
  534. package/deps/ncrypto/.bazelversion +0 -1
  535. package/deps/ncrypto/.clang-format +0 -111
  536. package/deps/ncrypto/.github/workflows/bazel.yml +0 -58
  537. package/deps/ncrypto/.github/workflows/commitlint.yml +0 -16
  538. package/deps/ncrypto/.github/workflows/linter.yml +0 -38
  539. package/deps/ncrypto/.github/workflows/macos.yml +0 -43
  540. package/deps/ncrypto/.github/workflows/release-please.yml +0 -16
  541. package/deps/ncrypto/.github/workflows/ubuntu.yml +0 -128
  542. package/deps/ncrypto/.github/workflows/visual-studio.yml +0 -49
  543. package/deps/ncrypto/.python-version +0 -1
  544. package/deps/ncrypto/.release-please-manifest.json +0 -3
  545. package/deps/ncrypto/BUILD.bazel +0 -44
  546. package/deps/ncrypto/CHANGELOG.md +0 -37
  547. package/deps/ncrypto/CMakeLists.txt +0 -79
  548. package/deps/ncrypto/MODULE.bazel +0 -16
  549. package/deps/ncrypto/MODULE.bazel.lock +0 -461
  550. package/deps/ncrypto/cmake/CPM.cmake +0 -1225
  551. package/deps/ncrypto/cmake/ncrypto-flags.cmake +0 -17
  552. package/deps/ncrypto/ncrypto.pc.in +0 -10
  553. package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +0 -28
  554. package/deps/ncrypto/pyproject.toml +0 -38
  555. package/deps/ncrypto/release-please-config.json +0 -11
  556. package/deps/ncrypto/src/CMakeLists.txt +0 -40
  557. package/deps/ncrypto/tests/BUILD.bazel +0 -11
  558. package/deps/ncrypto/tests/CMakeLists.txt +0 -7
  559. package/deps/ncrypto/tests/basic.cpp +0 -856
  560. package/deps/ncrypto/tools/run-clang-format.sh +0 -42
  561. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","Buffer","binaryLikeToArrayBuffer","toAB","isStringOrBuffer","KFormatType","KeyEncoding","isCryptoKey","KeyObject","constants","preparePublicCipherKey","key","isEncrypt","keyObj","padding","oaepHash","oaepLabel","type","Error","cryptoKey","keyObject","data","isPem","includes","isPrivatePem","createKeyObject","PEM","PKCS8","DER","SPKI","options","result","keyHandle","publicEncrypt","buffer","rsaCipher","createHybridObject","paddingMode","RSA_PKCS1_OAEP_PADDING","hashAlgorithm","encrypted","encrypt","handle","from","error","message","publicDecrypt","RSA_PKCS1_PADDING","decrypted","preparePrivateCipherKey","privateEncrypt","privateDecrypt"],"sourceRoot":"../../../src","sources":["keys/publicCipher.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","Buffer","binaryLikeToArrayBuffer","toAB","isStringOrBuffer","KFormatType","KeyEncoding","isCryptoKey","KeyObject","constants","preparePublicCipherKey","key","isEncrypt","keyObj","padding","oaepHash","oaepLabel","type","Error","cryptoKey","keyObject","data","isPem","includes","isPrivatePem","createKeyObject","PEM","PKCS8","DER","SPKI","options","result","keyHandle","publicEncrypt","buffer","rsaCipher","createHybridObject","paddingMode","RSA_PKCS1_OAEP_PADDING","hashAlgorithm","encrypted","encrypt","handle","from","error","message","publicDecrypt","RSA_PKCS1_PADDING","decrypted","preparePrivateCipherKey","privateEncrypt","privateDecrypt"],"sourceRoot":"../../../src","sources":["keys/publicCipher.ts"],"mappings":"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","ignoreList":[]}
@@ -30,7 +30,16 @@ export function randomFill(buffer, ...rest) {
30
30
  size = viewLength - offset;
31
31
  }
32
32
  getNative();
33
- random.randomFill(abvToArrayBuffer(buffer), viewOffset + offset, size).then(res => {
33
+ const ab = abvToArrayBuffer(buffer);
34
+ const start = viewOffset + offset;
35
+ random.randomFill(ab, start, size).then(res => {
36
+ // The native async path operates on a copy of the underlying buffer to
37
+ // avoid races with JS-owned memory on the worker thread, so the
38
+ // randomized bytes live in `res`, not in the caller's buffer. Copy them
39
+ // back to preserve Node's in-place randomFill semantics.
40
+ if (res !== ab) {
41
+ new Uint8Array(ab, start, size).set(new Uint8Array(res, start, size));
42
+ }
34
43
  callback(null, res);
35
44
  }, e => {
36
45
  callback(e);
@@ -141,7 +150,7 @@ export function randomInt(arg1, arg2, callback) {
141
150
  if (x < randLimit) {
142
151
  const n = x % range + min;
143
152
  if (isSync) return n;
144
- process.nextTick(callback, undefined, n);
153
+ process.nextTick(callback, null, n);
145
154
  return;
146
155
  }
147
156
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","abvToArrayBuffer","NitroModules","random","getNative","createHybridObject","randomFill","buffer","rest","length","Error","callback","viewOffset","ArrayBuffer","isView","byteOffset","viewLength","byteLength","offset","size","then","res","e","randomFillSync","arrayBuffer","randomBytes","buf","undefined","error","from","rng","pseudoRandomBytes","prng","RAND_MAX","randomCache","randomCacheOffset","asyncCacheFillInProgress","asyncCachePendingTasks","randomInt","arg1","arg2","max","min","minNotSpecified","TypeError","isSync","Number","isSafeInteger","range","randLimit","x","readUIntBE","n","process","nextTick","push","asyncRefillRandomIntCache","err","tasks","errorReceiver","shift","splice","forEach","task","getRandomValues","data","byteToHex","i","toString","slice","randomUUID","toLowerCase"],"sourceRoot":"../../src","sources":["random.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","abvToArrayBuffer","NitroModules","random","getNative","createHybridObject","randomFill","buffer","rest","length","Error","callback","viewOffset","ArrayBuffer","isView","byteOffset","viewLength","byteLength","offset","size","ab","start","then","res","Uint8Array","set","e","randomFillSync","arrayBuffer","randomBytes","buf","undefined","error","from","rng","pseudoRandomBytes","prng","RAND_MAX","randomCache","randomCacheOffset","asyncCacheFillInProgress","asyncCachePendingTasks","randomInt","arg1","arg2","max","min","minNotSpecified","TypeError","isSync","Number","isSafeInteger","range","randLimit","x","readUIntBE","n","process","nextTick","push","asyncRefillRandomIntCache","err","tasks","errorReceiver","shift","splice","forEach","task","getRandomValues","data","byteToHex","i","toString","slice","randomUUID","toLowerCase"],"sourceRoot":"../../src","sources":["random.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/rsa.js CHANGED
@@ -27,6 +27,13 @@ export class Rsa {
27
27
  }
28
28
  }
29
29
 
30
+ // Modern best practice (NIST SP 800-131A Rev. 2, IETF RFC 8017): RSA keys
31
+ // shorter than 2048 bits are deprecated for both signing and encryption.
32
+ // 1024-bit moduli have been factored in academic settings; 768-bit keys
33
+ // have been factored on commodity hardware. Reject anything below 2048
34
+ // at the JS boundary so callers can't accidentally generate weak keys.
35
+ const RSA_MIN_MODULUS_LENGTH = 2048;
36
+
30
37
  // Node API
31
38
  export async function rsa_generateKeyPair(algorithm, extractable, keyUsages) {
32
39
  const {
@@ -37,8 +44,8 @@ export async function rsa_generateKeyPair(algorithm, extractable, keyUsages) {
37
44
  } = algorithm;
38
45
 
39
46
  // Validate parameters first
40
- if (!modulusLength || modulusLength < 256) {
41
- throw lazyDOMException('Invalid key length', 'OperationError');
47
+ if (!modulusLength || modulusLength < RSA_MIN_MODULUS_LENGTH) {
48
+ throw lazyDOMException(`RSA modulusLength must be at least ${RSA_MIN_MODULUS_LENGTH} bits ` + `(got ${modulusLength ?? 0})`, 'OperationError');
42
49
  }
43
50
  if (!publicExponent || publicExponent.length === 0) {
44
51
  throw lazyDOMException('Invalid public exponent', 'OperationError');
@@ -130,8 +137,8 @@ function rsa_prepareKeyGenParams(_type, options) {
130
137
  publicExponent,
131
138
  hash = 'sha256'
132
139
  } = options;
133
- if (!modulusLength || modulusLength < 256) {
134
- throw new Error('Invalid modulus length');
140
+ if (!modulusLength || modulusLength < RSA_MIN_MODULUS_LENGTH) {
141
+ throw new RangeError(`RSA modulusLength must be at least ${RSA_MIN_MODULUS_LENGTH} bits ` + `(got ${modulusLength ?? 0})`);
135
142
  }
136
143
  const pubExp = publicExponent || 65537;
137
144
  const pubExpBytes = new Uint8Array([pubExp >> 16 & 0xff, pubExp >> 8 & 0xff, pubExp & 0xff]);
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","Buffer","CryptoKey","KeyObject","getUsagesUnion","hasAnyNotIn","lazyDOMException","normalizeHashName","KFormatType","KeyEncoding","Rsa","constructor","modulusLength","publicExponent","hashAlgorithm","native","createHybridObject","setModulusLength","setPublicExponent","buffer","slice","byteOffset","byteLength","setHashAlgorithm","generateKeyPair","publicKey","getPublicKey","privateKey","getPrivateKey","generateKeyPairSync","rsa_generateKeyPair","algorithm","extractable","keyUsages","name","hash","length","hashName","normalizedHash","publicUsages","privateUsages","rsa","keyAlgorithm","publicKeyData","pub","createKeyObject","privateKeyData","priv","rsa_prepareKeyGenParams","_type","options","Error","pubExp","pubExpBytes","Uint8Array","rsa_formatKeyPairOutput","encoding","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","format","PEM","DER","keyEncoding","SPKI","PKCS1","exported","handle","exportKey","from","toString","PKCS8","rsa_generateKeyPairNode","type","rsa_generateKeyPairNodeSync"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","Buffer","CryptoKey","KeyObject","getUsagesUnion","hasAnyNotIn","lazyDOMException","normalizeHashName","KFormatType","KeyEncoding","Rsa","constructor","modulusLength","publicExponent","hashAlgorithm","native","createHybridObject","setModulusLength","setPublicExponent","buffer","slice","byteOffset","byteLength","setHashAlgorithm","generateKeyPair","publicKey","getPublicKey","privateKey","getPrivateKey","generateKeyPairSync","RSA_MIN_MODULUS_LENGTH","rsa_generateKeyPair","algorithm","extractable","keyUsages","name","hash","length","hashName","normalizedHash","publicUsages","privateUsages","rsa","keyAlgorithm","publicKeyData","pub","createKeyObject","privateKeyData","priv","rsa_prepareKeyGenParams","_type","options","Error","RangeError","pubExp","pubExpBytes","Uint8Array","rsa_formatKeyPairOutput","encoding","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","format","PEM","DER","keyEncoding","SPKI","PKCS1","exported","handle","exportKey","from","toString","PKCS8","rsa_generateKeyPairNode","type","rsa_generateKeyPairNodeSync"],"sourceRoot":"../../src","sources":["rsa.ts"],"mappings":"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","ignoreList":[]}
@@ -17,11 +17,56 @@ const defaults = {
17
17
  p: 1,
18
18
  maxmem: 32 * 1024 * 1024
19
19
  };
20
+
21
+ // RFC 7914 § 2: scrypt parameters
22
+ // N — CPU/memory cost; must be a power of 2 > 1.
23
+ // r — block size; positive integer.
24
+ // p — parallelization factor; positive integer.
25
+ // r * p must be < 2^30 (otherwise the spec output is undefined).
26
+ // The work buffer is 128 * r * N bytes, which must fit in maxmem.
27
+ const SCRYPT_MAX_RP = 1 << 30; // 2^30 per RFC 7914
28
+
29
+ function isPositiveInteger(value) {
30
+ return typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value) && value > 0;
31
+ }
32
+ function validateScryptParams(N, r, p, maxmem) {
33
+ if (!isPositiveInteger(N)) {
34
+ throw new RangeError(`Invalid scrypt cost (N): ${N}`);
35
+ }
36
+ // Power-of-two & > 1 check (RFC 7914 §6 step 1).
37
+ if (N <= 1 || (N & N - 1) !== 0) {
38
+ throw new RangeError(`Invalid scrypt cost (N): ${N} — must be a power of 2 greater than 1`);
39
+ }
40
+ if (!isPositiveInteger(r)) {
41
+ throw new RangeError(`Invalid scrypt blockSize (r): ${r}`);
42
+ }
43
+ if (!isPositiveInteger(p)) {
44
+ throw new RangeError(`Invalid scrypt parallelization (p): ${p}`);
45
+ }
46
+ if (r * p >= SCRYPT_MAX_RP) {
47
+ throw new RangeError(`Invalid scrypt parameters: r * p (${r * p}) must be < 2^30`);
48
+ }
49
+ if (!isPositiveInteger(maxmem)) {
50
+ throw new RangeError(`Invalid scrypt maxmem: ${maxmem}`);
51
+ }
52
+ // 128 * r * N is the minimum working memory. Reject early so we don't
53
+ // hand a doomed parameter set to native and OOM the device.
54
+ const required = 128 * r * N;
55
+ if (required > maxmem) {
56
+ throw new RangeError(`Invalid scrypt parameters: working memory ${required} bytes ` + `exceeds maxmem ${maxmem}`);
57
+ }
58
+ }
59
+ function validateScryptKeylen(keylen) {
60
+ if (typeof keylen !== 'number' || !Number.isFinite(keylen) || !Number.isInteger(keylen) || keylen < 0 || keylen > 0x7fff_ffff) {
61
+ throw new TypeError('Bad key length');
62
+ }
63
+ }
20
64
  function getScryptParams(options) {
21
65
  const N = options?.N ?? options?.cost ?? defaults.N;
22
66
  const r = options?.r ?? options?.blockSize ?? defaults.r;
23
67
  const p = options?.p ?? options?.parallelization ?? defaults.p;
24
68
  const maxmem = options?.maxmem ?? defaults.maxmem;
69
+ validateScryptParams(N, r, p, maxmem);
25
70
  return {
26
71
  N,
27
72
  r,
@@ -61,9 +106,7 @@ export function scrypt(password, salt, keylen, options, callback) {
61
106
  } = getScryptParams(opts);
62
107
  const sanitizedPassword = sanitizeInput(password, 'Password');
63
108
  const sanitizedSalt = sanitizeInput(salt, 'Salt');
64
- if (keylen < 0) {
65
- throw new TypeError('Bad key length');
66
- }
109
+ validateScryptKeylen(keylen);
67
110
  const nativeMod = getNative();
68
111
  nativeMod.deriveKey(sanitizedPassword, sanitizedSalt, N, r, p, maxmem, keylen).then(res => {
69
112
  cb(null, Buffer.from(res));
@@ -83,9 +126,7 @@ export function scryptSync(password, salt, keylen, options) {
83
126
  } = getScryptParams(options);
84
127
  const sanitizedPassword = sanitizeInput(password, 'Password');
85
128
  const sanitizedSalt = sanitizeInput(salt, 'Salt');
86
- if (keylen < 0) {
87
- throw new TypeError('Bad key length');
88
- }
129
+ validateScryptKeylen(keylen);
89
130
  const nativeMod = getNative();
90
131
  const result = nativeMod.deriveKeySync(sanitizedPassword, sanitizedSalt, N, r, p, maxmem, keylen);
91
132
  return Buffer.from(result);
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","native","getNative","createHybridObject","defaults","N","r","p","maxmem","getScryptParams","options","cost","blockSize","parallelization","validateCallback","callback","undefined","Error","sanitizeInput","input","name","scrypt","password","salt","keylen","cb","opts","sanitizedPassword","sanitizedSalt","TypeError","nativeMod","deriveKey","then","res","from","err","scryptSync","result","deriveKeySync"],"sourceRoot":"../../src","sources":["scrypt.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","native","getNative","createHybridObject","defaults","N","r","p","maxmem","SCRYPT_MAX_RP","isPositiveInteger","value","Number","isFinite","isInteger","validateScryptParams","RangeError","required","validateScryptKeylen","keylen","TypeError","getScryptParams","options","cost","blockSize","parallelization","validateCallback","callback","undefined","Error","sanitizeInput","input","name","scrypt","password","salt","cb","opts","sanitizedPassword","sanitizedSalt","nativeMod","deriveKey","then","res","from","err","scryptSync","result","deriveKeySync"],"sourceRoot":"../../src","sources":["scrypt.ts"],"mappings":"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","ignoreList":[]}
@@ -38,14 +38,69 @@ var CipherOrWrapMode = /*#__PURE__*/function (CipherOrWrapMode) {
38
38
  function hasAnyNotIn(usages, allowed) {
39
39
  return usages.some(usage => !allowed.includes(usage));
40
40
  }
41
+
42
+ // WebCrypto §18.4.4: algorithm name lookup is case-insensitive, but the
43
+ // canonical mixed-case form is preserved in the resulting `name` field
44
+ // (e.g. "aes-gcm" → "AES-GCM"). This map is built lazily on first call so
45
+ // the registry of canonical names below can stay declared after the
46
+ // function. Without this, callers who pass lowercase strings bypass the
47
+ // downstream `SUPPORTED_ALGORITHMS` set comparisons silently.
48
+ //
49
+ // The map's value type is `AnyAlgorithm` so callers can use the lookup
50
+ // result directly without re-asserting. The `as AnyAlgorithm` at insertion
51
+ // is the single contract boundary: every name in `SUPPORTED_ALGORITHMS` is
52
+ // already a member of `AnyAlgorithm` by construction.
53
+ let _canonicalAlgorithmNames = null;
54
+ function getCanonicalAlgorithmNames() {
55
+ if (_canonicalAlgorithmNames === null) {
56
+ const map = new Map();
57
+ for (const set of Object.values(SUPPORTED_ALGORITHMS)) {
58
+ if (!set) continue;
59
+ for (const name of set) {
60
+ map.set(name.toLowerCase(), name);
61
+ }
62
+ }
63
+ _canonicalAlgorithmNames = map;
64
+ }
65
+ return _canonicalAlgorithmNames;
66
+ }
41
67
  function normalizeAlgorithm(algorithm, _operation) {
68
+ const map = getCanonicalAlgorithmNames();
42
69
  if (typeof algorithm === 'string') {
43
70
  return {
44
- name: algorithm
71
+ name: map.get(algorithm.toLowerCase()) ?? algorithm
72
+ };
73
+ }
74
+ if (typeof algorithm.name === 'string') {
75
+ const canonical = map.get(algorithm.name.toLowerCase()) ?? algorithm.name;
76
+ return {
77
+ ...algorithm,
78
+ name: canonical
45
79
  };
46
80
  }
47
81
  return algorithm;
48
82
  }
83
+
84
+ // WebCrypto §25.7.6 (JWK import): if the JWK's `ext` member is present and
85
+ // false, the requested `extractable` parameter must also be false. If the
86
+ // JWK's `key_ops` member is present, every requested usage must appear in
87
+ // it. We centralize the check here so every importKey path that accepts
88
+ // `format === 'jwk'` can reuse it.
89
+ function validateJwkExtAndKeyOps(jwk, extractable, keyUsages) {
90
+ if (jwk.ext === false && extractable) {
91
+ throw lazyDOMException('JWK "ext" is false but extractable was requested', 'DataError');
92
+ }
93
+ if (jwk.key_ops !== undefined) {
94
+ if (!Array.isArray(jwk.key_ops)) {
95
+ throw lazyDOMException('JWK "key_ops" must be an array', 'DataError');
96
+ }
97
+ for (const usage of keyUsages) {
98
+ if (!jwk.key_ops.includes(usage)) {
99
+ throw lazyDOMException(`JWK "key_ops" does not include requested usage "${usage}"`, 'DataError');
100
+ }
101
+ }
102
+ }
103
+ }
49
104
  function getAlgorithmName(name, length) {
50
105
  switch (name) {
51
106
  case 'AES-CBC':
@@ -547,6 +602,7 @@ async function kmacImportKey(algorithm, format, data, extractable, keyUsages) {
547
602
  if (!jwk || typeof jwk !== 'object') {
548
603
  throw lazyDOMException('Invalid keyData', 'DataError');
549
604
  }
605
+ validateJwkExtAndKeyOps(jwk, extractable, keyUsages);
550
606
  if (jwk.kty !== 'oct') {
551
607
  throw lazyDOMException('Invalid JWK format for KMAC key', 'DataError');
552
608
  }
@@ -608,6 +664,7 @@ function rsaImportKey(format, data, algorithm, extractable, keyUsages) {
608
664
  if (jwk.kty !== 'RSA') {
609
665
  throw new Error('Invalid JWK format for RSA key');
610
666
  }
667
+ validateJwkExtAndKeyOps(jwk, extractable, keyUsages);
611
668
  const handle = NitroModules.createHybridObject('KeyObjectHandle');
612
669
  const keyType = handle.initJwk(jwk, undefined);
613
670
  if (keyType === undefined) {
@@ -675,6 +732,7 @@ async function hmacImportKey(algorithm, format, data, extractable, keyUsages) {
675
732
  if (!jwk || typeof jwk !== 'object') {
676
733
  throw new Error('Invalid keyData');
677
734
  }
735
+ validateJwkExtAndKeyOps(jwk, extractable, keyUsages);
678
736
  if (jwk.kty !== 'oct') {
679
737
  throw new Error('Invalid JWK format for HMAC key');
680
738
  }
@@ -737,6 +795,7 @@ async function aesImportKey(algorithm, format, data, extractable, keyUsages) {
737
795
  if (jwk.kty !== 'oct') {
738
796
  throw new Error('Invalid JWK format for AES key');
739
797
  }
798
+ validateJwkExtAndKeyOps(jwk, extractable, keyUsages);
740
799
  const handle = NitroModules.createHybridObject('KeyObjectHandle');
741
800
  const keyType = handle.initJwk(jwk, undefined);
742
801
  if (keyType === undefined || keyType !== 0) {
@@ -799,6 +858,7 @@ function edImportKey(format, data, algorithm, extractable, keyUsages) {
799
858
  keyObject = new PublicKeyObject(handle);
800
859
  } else if (format === 'jwk') {
801
860
  const jwkData = data;
861
+ validateJwkExtAndKeyOps(jwkData, extractable, keyUsages);
802
862
  const handle = NitroModules.createHybridObject('KeyObjectHandle');
803
863
  const keyType = handle.initJwk(jwkData);
804
864
  if (keyType === undefined) {
@@ -1117,6 +1177,13 @@ const hkdfImportKey = async (format, keyData, algorithm, extractable, keyUsages)
1117
1177
  const {
1118
1178
  name
1119
1179
  } = algorithm;
1180
+ // WebCrypto §28.7.6: HKDF keys are never extractable. The previous
1181
+ // implementation passed `extractable` through verbatim, allowing callers
1182
+ // to round-trip the input keying material via `exportKey` — defeating
1183
+ // the whole point of the deriveBits-only usage.
1184
+ if (extractable) {
1185
+ throw lazyDOMException(`${name} keys are not extractable`, 'SyntaxError');
1186
+ }
1120
1187
  if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
1121
1188
  throw new Error(`Unsupported key usage for a ${name} key`);
1122
1189
  }
@@ -1126,7 +1193,7 @@ const hkdfImportKey = async (format, keyData, algorithm, extractable, keyUsages)
1126
1193
  const keyObject = createSecretKey(keyData);
1127
1194
  return new CryptoKey(keyObject, {
1128
1195
  name
1129
- }, keyUsages, extractable);
1196
+ }, keyUsages, false);
1130
1197
  }
1131
1198
  default:
1132
1199
  throw new Error(`Unable to import ${name} key with format ${format}`);
@@ -1381,9 +1448,13 @@ export class Subtle {
1381
1448
  return asyncDigest(normalizedAlgorithm, data);
1382
1449
  }
1383
1450
  async deriveBits(algorithm, baseKey, length) {
1384
- // Allow either deriveBits OR deriveKey usage (WebCrypto spec allows both)
1385
- if (!baseKey.keyUsages.includes('deriveBits') && !baseKey.keyUsages.includes('deriveKey')) {
1386
- throw new Error('baseKey does not have deriveBits or deriveKey usage');
1451
+ // WebCrypto §SubtleCrypto.deriveBits step 11: throw InvalidAccessError
1452
+ // unless `baseKey.[[usages]]` contains "deriveBits" specifically. The
1453
+ // previous `deriveBits || deriveKey` accept-either branch silently
1454
+ // promoted deriveKey-only keys into deriveBits use, contradicting the
1455
+ // spec usage gate.
1456
+ if (!baseKey.keyUsages.includes('deriveBits')) {
1457
+ throw lazyDOMException('baseKey does not have deriveBits usage', 'InvalidAccessError');
1387
1458
  }
1388
1459
  if (baseKey.algorithm.name !== algorithm.name) throw new Error('Key algorithm mismatch');
1389
1460
  switch (algorithm.name) {