xypriss 1.0.1 → 1.1.0

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 (570) hide show
  1. package/README.md +187 -84
  2. package/dist/cjs/ServerFactory.js +1 -1
  3. package/dist/cjs/cache/SecureCacheAdapter.js +2 -2
  4. package/dist/cjs/cluster/cluster-manager.js +1 -1
  5. package/dist/cjs/cluster/index.js +30 -30
  6. package/dist/cjs/cluster/modules/AutoScaler.js +2 -2
  7. package/dist/cjs/cluster/modules/ClusterPersistenceManager.js +3 -3
  8. package/dist/cjs/cluster/modules/HealthMonitor.js +2 -2
  9. package/dist/cjs/cluster/modules/IPCManager.js +2 -2
  10. package/dist/cjs/cluster/modules/MetricsCollector.js +1 -1
  11. package/dist/cjs/cluster/modules/WorkerManager.js +2 -2
  12. package/dist/cjs/encryption/EncryptionService.js +12 -12
  13. package/dist/cjs/encryption/EncryptionService.js.map +1 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/middleware/safe-json-middleware.js +1 -1
  16. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +727 -0
  17. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
  18. package/dist/cjs/mods/security/src/algorithms/registry.js +83 -0
  19. package/dist/cjs/mods/security/src/algorithms/registry.js.map +1 -0
  20. package/dist/cjs/mods/security/src/components/attestation.js +1065 -0
  21. package/dist/cjs/mods/security/src/components/attestation.js.map +1 -0
  22. package/dist/cjs/mods/security/src/components/cache/FastLRU.js +323 -0
  23. package/dist/cjs/mods/security/src/components/cache/FastLRU.js.map +1 -0
  24. package/dist/cjs/mods/security/src/components/cache/UFSIMC.js +1131 -0
  25. package/dist/cjs/mods/security/src/components/cache/UFSIMC.js.map +1 -0
  26. package/dist/cjs/mods/security/src/components/cache/cacheSys.js +624 -0
  27. package/dist/cjs/mods/security/src/components/cache/cacheSys.js.map +1 -0
  28. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +136 -0
  29. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
  30. package/dist/cjs/mods/security/src/components/cache/config/cache.config.js +39 -0
  31. package/dist/cjs/mods/security/src/components/cache/config/cache.config.js.map +1 -0
  32. package/dist/cjs/mods/security/src/components/cache/index.js +459 -0
  33. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -0
  34. package/dist/cjs/mods/security/src/components/cache/useCache.js +243 -0
  35. package/dist/cjs/mods/security/src/components/cache/useCache.js.map +1 -0
  36. package/dist/cjs/mods/security/src/components/canary-tokens.js +351 -0
  37. package/dist/cjs/mods/security/src/components/canary-tokens.js.map +1 -0
  38. package/dist/cjs/mods/security/src/components/entropy-augmentation.js +478 -0
  39. package/dist/cjs/mods/security/src/components/entropy-augmentation.js.map +1 -0
  40. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +338 -0
  41. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
  42. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +536 -0
  43. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
  44. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +631 -0
  45. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
  46. package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js +18 -0
  47. package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
  48. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js +356 -0
  49. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
  50. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js +520 -0
  51. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
  52. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js +246 -0
  53. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
  54. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js +189 -0
  55. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
  56. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js +107 -0
  57. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
  58. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js +105 -0
  59. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
  60. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js +127 -0
  61. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
  62. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js +93 -0
  63. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
  64. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js +147 -0
  65. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
  66. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js +102 -0
  67. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
  68. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js +159 -0
  69. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
  70. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js +125 -0
  71. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
  72. package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js +370 -0
  73. package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
  74. package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js +402 -0
  75. package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
  76. package/dist/cjs/mods/security/src/components/fortified-function/index.js +172 -0
  77. package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -0
  78. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js +240 -0
  79. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
  80. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js +188 -0
  81. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
  82. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +253 -0
  83. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
  84. package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js +350 -0
  85. package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
  86. package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js +693 -0
  87. package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
  88. package/dist/cjs/mods/security/src/components/fortified-function/types/types.js +16 -0
  89. package/dist/cjs/mods/security/src/components/fortified-function/types/types.js.map +1 -0
  90. package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js +68 -0
  91. package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
  92. package/dist/cjs/mods/security/src/components/memory-hard.js +922 -0
  93. package/dist/cjs/mods/security/src/components/memory-hard.js.map +1 -0
  94. package/dist/cjs/mods/security/src/components/post-quantum.js +323 -0
  95. package/dist/cjs/mods/security/src/components/post-quantum.js.map +1 -0
  96. package/dist/cjs/mods/security/src/components/runtime-verification.js +645 -0
  97. package/dist/cjs/mods/security/src/components/runtime-verification.js.map +1 -0
  98. package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js +1572 -0
  99. package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
  100. package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +330 -0
  101. package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
  102. package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js +270 -0
  103. package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
  104. package/dist/cjs/mods/security/src/components/secure-array/index.js +66 -0
  105. package/dist/cjs/mods/security/src/components/secure-array/index.js.map +1 -0
  106. package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js +331 -0
  107. package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
  108. package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +390 -0
  109. package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
  110. package/dist/cjs/mods/security/src/components/secure-array/types/index.js +87 -0
  111. package/dist/cjs/mods/security/src/components/secure-array/types/index.js.map +1 -0
  112. package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js +80 -0
  113. package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
  114. package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js +275 -0
  115. package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
  116. package/dist/cjs/mods/security/src/components/secure-memory.js +906 -0
  117. package/dist/cjs/mods/security/src/components/secure-memory.js.map +1 -0
  118. package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js +1605 -0
  119. package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
  120. package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js +362 -0
  121. package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
  122. package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js +206 -0
  123. package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
  124. package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js +197 -0
  125. package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
  126. package/dist/cjs/mods/security/src/components/secure-object/index.js +67 -0
  127. package/dist/cjs/mods/security/src/components/secure-object/index.js.map +1 -0
  128. package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js +183 -0
  129. package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
  130. package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js +197 -0
  131. package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
  132. package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js +64 -0
  133. package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
  134. package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js +239 -0
  135. package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
  136. package/dist/cjs/mods/security/src/components/secure-serialization.js +772 -0
  137. package/dist/cjs/mods/security/src/components/secure-serialization.js.map +1 -0
  138. package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +308 -0
  139. package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
  140. package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js +335 -0
  141. package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
  142. package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js +245 -0
  143. package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
  144. package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js +205 -0
  145. package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
  146. package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js +788 -0
  147. package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
  148. package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js +319 -0
  149. package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
  150. package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js +221 -0
  151. package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
  152. package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js +234 -0
  153. package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
  154. package/dist/cjs/mods/security/src/components/secure-string/types/index.js +41 -0
  155. package/dist/cjs/mods/security/src/components/secure-string/types/index.js.map +1 -0
  156. package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js +334 -0
  157. package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
  158. package/dist/cjs/mods/security/src/components/side-channel.js +146 -0
  159. package/dist/cjs/mods/security/src/components/side-channel.js.map +1 -0
  160. package/dist/cjs/mods/security/src/components/tamper-evident-logging.js +391 -0
  161. package/dist/cjs/mods/security/src/components/tamper-evident-logging.js.map +1 -0
  162. package/dist/cjs/mods/security/src/const/buffer.const.js +15 -0
  163. package/dist/cjs/mods/security/src/const/buffer.const.js.map +1 -0
  164. package/dist/cjs/mods/security/src/core/crypto.js +722 -0
  165. package/dist/cjs/mods/security/src/core/crypto.js.map +1 -0
  166. package/dist/cjs/mods/security/src/core/hash/hash-advanced.js +388 -0
  167. package/dist/cjs/mods/security/src/core/hash/hash-advanced.js.map +1 -0
  168. package/dist/cjs/mods/security/src/core/hash/hash-core.js +376 -0
  169. package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -0
  170. package/dist/cjs/mods/security/src/core/hash/hash-entropy.js +307 -0
  171. package/dist/cjs/mods/security/src/core/hash/hash-entropy.js.map +1 -0
  172. package/dist/cjs/mods/security/src/core/hash/hash-security.js +372 -0
  173. package/dist/cjs/mods/security/src/core/hash/hash-security.js.map +1 -0
  174. package/dist/cjs/mods/security/src/core/hash/hash-types.js +16 -0
  175. package/dist/cjs/mods/security/src/core/hash/hash-types.js.map +1 -0
  176. package/dist/cjs/mods/security/src/core/hash/hash-utils.js +328 -0
  177. package/dist/cjs/mods/security/src/core/hash/hash-utils.js.map +1 -0
  178. package/dist/cjs/mods/security/src/core/hash/hash-validator.js +312 -0
  179. package/dist/cjs/mods/security/src/core/hash/hash-validator.js.map +1 -0
  180. package/dist/cjs/mods/security/src/core/hash.js +25 -0
  181. package/dist/cjs/mods/security/src/core/hash.js.map +1 -0
  182. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +135 -0
  183. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
  184. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +293 -0
  185. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
  186. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +317 -0
  187. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
  188. package/dist/cjs/mods/security/src/core/keys/keys-core.js +201 -0
  189. package/dist/cjs/mods/security/src/core/keys/keys-core.js.map +1 -0
  190. package/dist/cjs/mods/security/src/core/keys/keys-logger.js +234 -0
  191. package/dist/cjs/mods/security/src/core/keys/keys-logger.js.map +1 -0
  192. package/dist/cjs/mods/security/src/core/keys/keys-types.js +65 -0
  193. package/dist/cjs/mods/security/src/core/keys/keys-types.js.map +1 -0
  194. package/dist/cjs/mods/security/src/core/keys/keys-utils.js +322 -0
  195. package/dist/cjs/mods/security/src/core/keys/keys-utils.js.map +1 -0
  196. package/dist/cjs/mods/security/src/core/keys.js +136 -0
  197. package/dist/cjs/mods/security/src/core/keys.js.map +1 -0
  198. package/dist/cjs/mods/security/src/core/password/index.js +122 -0
  199. package/dist/cjs/mods/security/src/core/password/index.js.map +1 -0
  200. package/dist/cjs/mods/security/src/core/password/password-algorithms.js +397 -0
  201. package/dist/cjs/mods/security/src/core/password/password-algorithms.js.map +1 -0
  202. package/dist/cjs/mods/security/src/core/password/password-core.js +294 -0
  203. package/dist/cjs/mods/security/src/core/password/password-core.js.map +1 -0
  204. package/dist/cjs/mods/security/src/core/password/password-generator.js +365 -0
  205. package/dist/cjs/mods/security/src/core/password/password-generator.js.map +1 -0
  206. package/dist/cjs/mods/security/src/core/password/password-migration.js +237 -0
  207. package/dist/cjs/mods/security/src/core/password/password-migration.js.map +1 -0
  208. package/dist/cjs/mods/security/src/core/password/password-security.js +534 -0
  209. package/dist/cjs/mods/security/src/core/password/password-security.js.map +1 -0
  210. package/dist/cjs/mods/security/src/core/password/password-types.js +39 -0
  211. package/dist/cjs/mods/security/src/core/password/password-types.js.map +1 -0
  212. package/dist/cjs/mods/security/src/core/password/password-utils.js +651 -0
  213. package/dist/cjs/mods/security/src/core/password/password-utils.js.map +1 -0
  214. package/dist/cjs/mods/security/src/core/password/swlist.js +1122 -0
  215. package/dist/cjs/mods/security/src/core/password/swlist.js.map +1 -0
  216. package/dist/cjs/mods/security/src/core/random/random-core.js +328 -0
  217. package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -0
  218. package/dist/cjs/mods/security/src/core/random/random-crypto.js +339 -0
  219. package/dist/cjs/mods/security/src/core/random/random-crypto.js.map +1 -0
  220. package/dist/cjs/mods/security/src/core/random/random-entropy.js +388 -0
  221. package/dist/cjs/mods/security/src/core/random/random-entropy.js.map +1 -0
  222. package/dist/cjs/mods/security/src/core/random/random-generators.js +344 -0
  223. package/dist/cjs/mods/security/src/core/random/random-generators.js.map +1 -0
  224. package/dist/cjs/mods/security/src/core/random/random-sources.js +426 -0
  225. package/dist/cjs/mods/security/src/core/random/random-sources.js.map +1 -0
  226. package/dist/cjs/mods/security/src/core/random/random-tokens.js +309 -0
  227. package/dist/cjs/mods/security/src/core/random/random-tokens.js.map +1 -0
  228. package/dist/cjs/mods/security/src/core/random/random-types.js +36 -0
  229. package/dist/cjs/mods/security/src/core/random/random-types.js.map +1 -0
  230. package/dist/cjs/mods/security/src/core/validators.js +200 -0
  231. package/dist/cjs/mods/security/src/core/validators.js.map +1 -0
  232. package/dist/cjs/mods/security/src/helpers/Uint8Array.js +335 -0
  233. package/dist/cjs/mods/security/src/helpers/Uint8Array.js.map +1 -0
  234. package/dist/cjs/mods/security/src/helpers/createEnu.js +27 -0
  235. package/dist/cjs/mods/security/src/helpers/createEnu.js.map +1 -0
  236. package/dist/cjs/mods/security/src/index.js +417 -0
  237. package/dist/cjs/mods/security/src/index.js.map +1 -0
  238. package/dist/cjs/mods/security/src/types/global.js +51 -0
  239. package/dist/cjs/mods/security/src/types/global.js.map +1 -0
  240. package/dist/cjs/mods/security/src/types/secure-mem.type.js +100 -0
  241. package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -0
  242. package/dist/cjs/mods/security/src/types/secure-memory.js +20 -0
  243. package/dist/cjs/mods/security/src/types/secure-memory.js.map +1 -0
  244. package/dist/cjs/mods/security/src/types.js +63 -0
  245. package/dist/cjs/mods/security/src/types.js.map +1 -0
  246. package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js +71 -0
  247. package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
  248. package/dist/cjs/mods/security/src/utils/constants.js +111 -0
  249. package/dist/cjs/mods/security/src/utils/constants.js.map +1 -0
  250. package/dist/cjs/mods/security/src/utils/dataConverter.js +74 -0
  251. package/dist/cjs/mods/security/src/utils/dataConverter.js.map +1 -0
  252. package/dist/cjs/mods/security/src/utils/encoding.js +290 -0
  253. package/dist/cjs/mods/security/src/utils/encoding.js.map +1 -0
  254. package/dist/cjs/mods/security/src/utils/errorHandler.js +140 -0
  255. package/dist/cjs/mods/security/src/utils/errorHandler.js.map +1 -0
  256. package/dist/cjs/mods/security/src/utils/memory/config-manager.js +282 -0
  257. package/dist/cjs/mods/security/src/utils/memory/config-manager.js.map +1 -0
  258. package/dist/cjs/mods/security/src/utils/memory/event-manager.js +277 -0
  259. package/dist/cjs/mods/security/src/utils/memory/event-manager.js.map +1 -0
  260. package/dist/cjs/mods/security/src/utils/memory/index.js +162 -0
  261. package/dist/cjs/mods/security/src/utils/memory/index.js.map +1 -0
  262. package/dist/cjs/mods/security/src/utils/memory/memory-manager.js +888 -0
  263. package/dist/cjs/mods/security/src/utils/memory/memory-manager.js.map +1 -0
  264. package/dist/cjs/mods/security/src/utils/memory/memory-pool.js +356 -0
  265. package/dist/cjs/mods/security/src/utils/memory/memory-pool.js.map +1 -0
  266. package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js +376 -0
  267. package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
  268. package/dist/cjs/mods/security/src/utils/memory/types.js +56 -0
  269. package/dist/cjs/mods/security/src/utils/memory/types.js.map +1 -0
  270. package/dist/cjs/mods/security/src/utils/patterns.js +127 -0
  271. package/dist/cjs/mods/security/src/utils/patterns.js.map +1 -0
  272. package/dist/cjs/mods/security/src/utils/performanceMonitor.js +249 -0
  273. package/dist/cjs/mods/security/src/utils/performanceMonitor.js.map +1 -0
  274. package/dist/cjs/mods/security/src/utils/stats.js +182 -0
  275. package/dist/cjs/mods/security/src/utils/stats.js.map +1 -0
  276. package/dist/cjs/security-middleware.js +15 -15
  277. package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
  278. package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
  279. package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
  280. package/dist/cjs/server/optimization/RequestPreCompiler.js +1 -1
  281. package/dist/cjs/server/plugins/PluginRegistry.js +1 -1
  282. package/dist/cjs/server/plugins/core/CachePlugin.js +7 -7
  283. package/dist/cjs/server/plugins/core/PerformancePlugin.js +2 -2
  284. package/dist/cjs/server/plugins/core/SecurityPlugin.js +10 -10
  285. package/dist/cjs/smart-routes.js +1 -1
  286. package/dist/esm/ServerFactory.js +1 -1
  287. package/dist/esm/cache/SecureCacheAdapter.js +2 -2
  288. package/dist/esm/cluster/cluster-manager.js +1 -1
  289. package/dist/esm/cluster/index.js +30 -30
  290. package/dist/esm/cluster/modules/AutoScaler.js +2 -2
  291. package/dist/esm/cluster/modules/ClusterPersistenceManager.js +3 -3
  292. package/dist/esm/cluster/modules/HealthMonitor.js +2 -2
  293. package/dist/esm/cluster/modules/IPCManager.js +2 -2
  294. package/dist/esm/cluster/modules/MetricsCollector.js +1 -1
  295. package/dist/esm/cluster/modules/WorkerManager.js +2 -2
  296. package/dist/esm/encryption/EncryptionService.js +12 -12
  297. package/dist/esm/encryption/EncryptionService.js.map +1 -1
  298. package/dist/esm/index.js +1 -1
  299. package/dist/esm/middleware/safe-json-middleware.js +1 -1
  300. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +705 -0
  301. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
  302. package/dist/esm/mods/security/src/algorithms/registry.js +81 -0
  303. package/dist/esm/mods/security/src/algorithms/registry.js.map +1 -0
  304. package/dist/esm/mods/security/src/components/attestation.js +1059 -0
  305. package/dist/esm/mods/security/src/components/attestation.js.map +1 -0
  306. package/dist/esm/mods/security/src/components/cache/FastLRU.js +320 -0
  307. package/dist/esm/mods/security/src/components/cache/FastLRU.js.map +1 -0
  308. package/dist/esm/mods/security/src/components/cache/UFSIMC.js +1109 -0
  309. package/dist/esm/mods/security/src/components/cache/UFSIMC.js.map +1 -0
  310. package/dist/esm/mods/security/src/components/cache/cacheSys.js +622 -0
  311. package/dist/esm/mods/security/src/components/cache/cacheSys.js.map +1 -0
  312. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +111 -0
  313. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
  314. package/dist/esm/mods/security/src/components/cache/config/cache.config.js +36 -0
  315. package/dist/esm/mods/security/src/components/cache/config/cache.config.js.map +1 -0
  316. package/dist/esm/mods/security/src/components/cache/index.js +449 -0
  317. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -0
  318. package/dist/esm/mods/security/src/components/cache/useCache.js +240 -0
  319. package/dist/esm/mods/security/src/components/cache/useCache.js.map +1 -0
  320. package/dist/esm/mods/security/src/components/canary-tokens.js +346 -0
  321. package/dist/esm/mods/security/src/components/canary-tokens.js.map +1 -0
  322. package/dist/esm/mods/security/src/components/entropy-augmentation.js +476 -0
  323. package/dist/esm/mods/security/src/components/entropy-augmentation.js.map +1 -0
  324. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +336 -0
  325. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
  326. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +534 -0
  327. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
  328. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +629 -0
  329. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
  330. package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js +11 -0
  331. package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
  332. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js +351 -0
  333. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
  334. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js +518 -0
  335. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
  336. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js +243 -0
  337. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
  338. package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js +187 -0
  339. package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
  340. package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js +105 -0
  341. package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
  342. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js +103 -0
  343. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
  344. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js +125 -0
  345. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
  346. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js +91 -0
  347. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
  348. package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js +145 -0
  349. package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
  350. package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js +100 -0
  351. package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
  352. package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js +157 -0
  353. package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
  354. package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js +123 -0
  355. package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
  356. package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js +368 -0
  357. package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
  358. package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js +400 -0
  359. package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
  360. package/dist/esm/mods/security/src/components/fortified-function/index.js +165 -0
  361. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -0
  362. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js +238 -0
  363. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
  364. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js +186 -0
  365. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
  366. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +251 -0
  367. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
  368. package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js +344 -0
  369. package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
  370. package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js +691 -0
  371. package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
  372. package/dist/esm/mods/security/src/components/fortified-function/types/types.js +14 -0
  373. package/dist/esm/mods/security/src/components/fortified-function/types/types.js.map +1 -0
  374. package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js +66 -0
  375. package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
  376. package/dist/esm/mods/security/src/components/memory-hard.js +919 -0
  377. package/dist/esm/mods/security/src/components/memory-hard.js.map +1 -0
  378. package/dist/esm/mods/security/src/components/post-quantum.js +316 -0
  379. package/dist/esm/mods/security/src/components/post-quantum.js.map +1 -0
  380. package/dist/esm/mods/security/src/components/runtime-verification.js +643 -0
  381. package/dist/esm/mods/security/src/components/runtime-verification.js.map +1 -0
  382. package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js +1570 -0
  383. package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
  384. package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +328 -0
  385. package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
  386. package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js +268 -0
  387. package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
  388. package/dist/esm/mods/security/src/components/secure-array/index.js +61 -0
  389. package/dist/esm/mods/security/src/components/secure-array/index.js.map +1 -0
  390. package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js +329 -0
  391. package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
  392. package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +388 -0
  393. package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
  394. package/dist/esm/mods/security/src/components/secure-array/types/index.js +84 -0
  395. package/dist/esm/mods/security/src/components/secure-array/types/index.js.map +1 -0
  396. package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js +78 -0
  397. package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
  398. package/dist/esm/mods/security/src/components/secure-array/utils/validation.js +273 -0
  399. package/dist/esm/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
  400. package/dist/esm/mods/security/src/components/secure-memory.js +884 -0
  401. package/dist/esm/mods/security/src/components/secure-memory.js.map +1 -0
  402. package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js +1603 -0
  403. package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
  404. package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js +360 -0
  405. package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
  406. package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js +203 -0
  407. package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
  408. package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js +195 -0
  409. package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
  410. package/dist/esm/mods/security/src/components/secure-object/index.js +63 -0
  411. package/dist/esm/mods/security/src/components/secure-object/index.js.map +1 -0
  412. package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js +181 -0
  413. package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
  414. package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js +195 -0
  415. package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
  416. package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js +62 -0
  417. package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
  418. package/dist/esm/mods/security/src/components/secure-object/utils/validation.js +237 -0
  419. package/dist/esm/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
  420. package/dist/esm/mods/security/src/components/secure-serialization.js +769 -0
  421. package/dist/esm/mods/security/src/components/secure-serialization.js.map +1 -0
  422. package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +306 -0
  423. package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
  424. package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js +333 -0
  425. package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
  426. package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js +243 -0
  427. package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
  428. package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js +203 -0
  429. package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
  430. package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js +786 -0
  431. package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
  432. package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js +298 -0
  433. package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
  434. package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js +219 -0
  435. package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
  436. package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js +232 -0
  437. package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
  438. package/dist/esm/mods/security/src/components/secure-string/types/index.js +37 -0
  439. package/dist/esm/mods/security/src/components/secure-string/types/index.js.map +1 -0
  440. package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js +332 -0
  441. package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
  442. package/dist/esm/mods/security/src/components/side-channel.js +142 -0
  443. package/dist/esm/mods/security/src/components/side-channel.js.map +1 -0
  444. package/dist/esm/mods/security/src/components/tamper-evident-logging.js +389 -0
  445. package/dist/esm/mods/security/src/components/tamper-evident-logging.js.map +1 -0
  446. package/dist/esm/mods/security/src/const/buffer.const.js +13 -0
  447. package/dist/esm/mods/security/src/const/buffer.const.js.map +1 -0
  448. package/dist/esm/mods/security/src/core/crypto.js +720 -0
  449. package/dist/esm/mods/security/src/core/crypto.js.map +1 -0
  450. package/dist/esm/mods/security/src/core/hash/hash-advanced.js +367 -0
  451. package/dist/esm/mods/security/src/core/hash/hash-advanced.js.map +1 -0
  452. package/dist/esm/mods/security/src/core/hash/hash-core.js +355 -0
  453. package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -0
  454. package/dist/esm/mods/security/src/core/hash/hash-entropy.js +286 -0
  455. package/dist/esm/mods/security/src/core/hash/hash-entropy.js.map +1 -0
  456. package/dist/esm/mods/security/src/core/hash/hash-security.js +351 -0
  457. package/dist/esm/mods/security/src/core/hash/hash-security.js.map +1 -0
  458. package/dist/esm/mods/security/src/core/hash/hash-types.js +16 -0
  459. package/dist/esm/mods/security/src/core/hash/hash-types.js.map +1 -0
  460. package/dist/esm/mods/security/src/core/hash/hash-utils.js +307 -0
  461. package/dist/esm/mods/security/src/core/hash/hash-utils.js.map +1 -0
  462. package/dist/esm/mods/security/src/core/hash/hash-validator.js +310 -0
  463. package/dist/esm/mods/security/src/core/hash/hash-validator.js.map +1 -0
  464. package/dist/esm/mods/security/src/core/hash.js +9 -0
  465. package/dist/esm/mods/security/src/core/hash.js.map +1 -0
  466. package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +133 -0
  467. package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
  468. package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +272 -0
  469. package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
  470. package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +296 -0
  471. package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
  472. package/dist/esm/mods/security/src/core/keys/keys-core.js +199 -0
  473. package/dist/esm/mods/security/src/core/keys/keys-core.js.map +1 -0
  474. package/dist/esm/mods/security/src/core/keys/keys-logger.js +231 -0
  475. package/dist/esm/mods/security/src/core/keys/keys-logger.js.map +1 -0
  476. package/dist/esm/mods/security/src/core/keys/keys-types.js +63 -0
  477. package/dist/esm/mods/security/src/core/keys/keys-types.js.map +1 -0
  478. package/dist/esm/mods/security/src/core/keys/keys-utils.js +316 -0
  479. package/dist/esm/mods/security/src/core/keys/keys-utils.js.map +1 -0
  480. package/dist/esm/mods/security/src/core/keys.js +134 -0
  481. package/dist/esm/mods/security/src/core/keys.js.map +1 -0
  482. package/dist/esm/mods/security/src/core/password/index.js +110 -0
  483. package/dist/esm/mods/security/src/core/password/index.js.map +1 -0
  484. package/dist/esm/mods/security/src/core/password/password-algorithms.js +395 -0
  485. package/dist/esm/mods/security/src/core/password/password-algorithms.js.map +1 -0
  486. package/dist/esm/mods/security/src/core/password/password-core.js +292 -0
  487. package/dist/esm/mods/security/src/core/password/password-core.js.map +1 -0
  488. package/dist/esm/mods/security/src/core/password/password-generator.js +363 -0
  489. package/dist/esm/mods/security/src/core/password/password-generator.js.map +1 -0
  490. package/dist/esm/mods/security/src/core/password/password-migration.js +235 -0
  491. package/dist/esm/mods/security/src/core/password/password-migration.js.map +1 -0
  492. package/dist/esm/mods/security/src/core/password/password-security.js +532 -0
  493. package/dist/esm/mods/security/src/core/password/password-security.js.map +1 -0
  494. package/dist/esm/mods/security/src/core/password/password-types.js +34 -0
  495. package/dist/esm/mods/security/src/core/password/password-types.js.map +1 -0
  496. package/dist/esm/mods/security/src/core/password/password-utils.js +630 -0
  497. package/dist/esm/mods/security/src/core/password/password-utils.js.map +1 -0
  498. package/dist/esm/mods/security/src/core/password/swlist.js +1120 -0
  499. package/dist/esm/mods/security/src/core/password/swlist.js.map +1 -0
  500. package/dist/esm/mods/security/src/core/random/random-core.js +326 -0
  501. package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -0
  502. package/dist/esm/mods/security/src/core/random/random-crypto.js +337 -0
  503. package/dist/esm/mods/security/src/core/random/random-crypto.js.map +1 -0
  504. package/dist/esm/mods/security/src/core/random/random-entropy.js +367 -0
  505. package/dist/esm/mods/security/src/core/random/random-entropy.js.map +1 -0
  506. package/dist/esm/mods/security/src/core/random/random-generators.js +323 -0
  507. package/dist/esm/mods/security/src/core/random/random-generators.js.map +1 -0
  508. package/dist/esm/mods/security/src/core/random/random-sources.js +405 -0
  509. package/dist/esm/mods/security/src/core/random/random-sources.js.map +1 -0
  510. package/dist/esm/mods/security/src/core/random/random-tokens.js +307 -0
  511. package/dist/esm/mods/security/src/core/random/random-tokens.js.map +1 -0
  512. package/dist/esm/mods/security/src/core/random/random-types.js +27 -0
  513. package/dist/esm/mods/security/src/core/random/random-types.js.map +1 -0
  514. package/dist/esm/mods/security/src/core/validators.js +198 -0
  515. package/dist/esm/mods/security/src/core/validators.js.map +1 -0
  516. package/dist/esm/mods/security/src/helpers/Uint8Array.js +333 -0
  517. package/dist/esm/mods/security/src/helpers/Uint8Array.js.map +1 -0
  518. package/dist/esm/mods/security/src/helpers/createEnu.js +25 -0
  519. package/dist/esm/mods/security/src/helpers/createEnu.js.map +1 -0
  520. package/dist/esm/mods/security/src/index.js +373 -0
  521. package/dist/esm/mods/security/src/index.js.map +1 -0
  522. package/dist/esm/mods/security/src/types/global.js +49 -0
  523. package/dist/esm/mods/security/src/types/global.js.map +1 -0
  524. package/dist/esm/mods/security/src/types/secure-mem.type.js +96 -0
  525. package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -0
  526. package/dist/esm/mods/security/src/types/secure-memory.js +20 -0
  527. package/dist/esm/mods/security/src/types/secure-memory.js.map +1 -0
  528. package/dist/esm/mods/security/src/types.js +63 -0
  529. package/dist/esm/mods/security/src/types.js.map +1 -0
  530. package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js +69 -0
  531. package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
  532. package/dist/esm/mods/security/src/utils/constants.js +105 -0
  533. package/dist/esm/mods/security/src/utils/constants.js.map +1 -0
  534. package/dist/esm/mods/security/src/utils/dataConverter.js +72 -0
  535. package/dist/esm/mods/security/src/utils/dataConverter.js.map +1 -0
  536. package/dist/esm/mods/security/src/utils/encoding.js +279 -0
  537. package/dist/esm/mods/security/src/utils/encoding.js.map +1 -0
  538. package/dist/esm/mods/security/src/utils/errorHandler.js +137 -0
  539. package/dist/esm/mods/security/src/utils/errorHandler.js.map +1 -0
  540. package/dist/esm/mods/security/src/utils/memory/config-manager.js +280 -0
  541. package/dist/esm/mods/security/src/utils/memory/config-manager.js.map +1 -0
  542. package/dist/esm/mods/security/src/utils/memory/event-manager.js +275 -0
  543. package/dist/esm/mods/security/src/utils/memory/event-manager.js.map +1 -0
  544. package/dist/esm/mods/security/src/utils/memory/index.js +141 -0
  545. package/dist/esm/mods/security/src/utils/memory/index.js.map +1 -0
  546. package/dist/esm/mods/security/src/utils/memory/memory-manager.js +886 -0
  547. package/dist/esm/mods/security/src/utils/memory/memory-manager.js.map +1 -0
  548. package/dist/esm/mods/security/src/utils/memory/memory-pool.js +354 -0
  549. package/dist/esm/mods/security/src/utils/memory/memory-pool.js.map +1 -0
  550. package/dist/esm/mods/security/src/utils/memory/reference-tracker.js +374 -0
  551. package/dist/esm/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
  552. package/dist/esm/mods/security/src/utils/memory/types.js +56 -0
  553. package/dist/esm/mods/security/src/utils/memory/types.js.map +1 -0
  554. package/dist/esm/mods/security/src/utils/patterns.js +124 -0
  555. package/dist/esm/mods/security/src/utils/patterns.js.map +1 -0
  556. package/dist/esm/mods/security/src/utils/performanceMonitor.js +246 -0
  557. package/dist/esm/mods/security/src/utils/performanceMonitor.js.map +1 -0
  558. package/dist/esm/mods/security/src/utils/stats.js +180 -0
  559. package/dist/esm/mods/security/src/utils/stats.js.map +1 -0
  560. package/dist/esm/security-middleware.js +15 -15
  561. package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
  562. package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
  563. package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
  564. package/dist/esm/server/optimization/RequestPreCompiler.js +1 -1
  565. package/dist/esm/server/plugins/PluginRegistry.js +1 -1
  566. package/dist/esm/server/plugins/core/CachePlugin.js +7 -7
  567. package/dist/esm/server/plugins/core/PerformancePlugin.js +2 -2
  568. package/dist/esm/server/plugins/core/SecurityPlugin.js +10 -10
  569. package/dist/esm/smart-routes.js +1 -1
  570. package/package.json +2 -2
@@ -0,0 +1,134 @@
1
+ import { OptimizedKeys } from './keys/keys-core.js';
2
+ import './keys/keys-logger.js';
3
+ import './keys/keys-types.js';
4
+ import './keys/keys-utils.js';
5
+ import 'crypto';
6
+ import './keys/algorithms/mods/PBKDF2Algo.js';
7
+
8
+ /**
9
+ * Legacy Keys implementation for key derivation and management.
10
+ * This class provides a backward-compatible interface for key derivation while leveraging
11
+ * the modern, optimized key derivation infrastructure. It serves as a facade to the {@link OptimizedKeys} class,
12
+ * simplifying interaction with cryptographic key operations and providing environment insights.
13
+ *
14
+ * @remarks
15
+ * - This class ensures compatibility with legacy systems while delegating core functionality to {@link OptimizedKeys}.
16
+ * - All methods are static, allowing direct usage without instantiation.
17
+ * - Designed to be thread-safe and efficient by reusing a singleton instance of {@link OptimizedKeys}.
18
+ *
19
+ * @public
20
+ */
21
+ /**
22
+ * ### Cryptographic Key Management
23
+ *
24
+ * Advanced key generation, derivation, and management utilities for
25
+ * symmetric and asymmetric cryptographic operations.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * import { Keys } from "xypriss-security";
30
+ *
31
+ * // Generate encryption key
32
+ * const encryptionKey = Keys.generateEncryptionKey(256);
33
+ *
34
+ * // Derive key from password
35
+ * const derivedKey = await Keys.deriveKey("password", "salt");
36
+ * ```
37
+ */
38
+ class Keys {
39
+ /**
40
+ * Derives a cryptographic key from the provided input using specified options.
41
+ * This method delegates to the optimized key derivation system, ensuring high performance
42
+ * and adherence to cryptographic best practices.
43
+ *
44
+ * @param input - The input data for key derivation, either a password (string) or raw bytes (Uint8Array).
45
+ * @param options - Optional configuration for key derivation, including algorithm, iterations, and other parameters.
46
+ * If omitted, default values are applied based on the underlying {@link OptimizedKeys} implementation.
47
+ * @returns A hexadecimal string representing the derived cryptographic key.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const key = Keys.deriveKey('myPassword', { algorithm: 'PBKDF2', iterations: 100000 });
52
+ * console.log(key); // Outputs: "a1b2c3d4e5f6..."
53
+ * ```
54
+ *
55
+ * @remarks
56
+ * - Throws an invalid input error if the input format is invalid or unsupported.
57
+ * - The output length depends on the algorithm and options specified.
58
+ * - For security, ensure the input is securely handled to prevent leakage.
59
+ *
60
+ * @public
61
+ */
62
+ static deriveKey(input, options = {}) {
63
+ return OptimizedKeys.getInstance().deriveKey(input, options);
64
+ }
65
+ /**
66
+ * Retrieves performance metrics for key derivation operations.
67
+ * Offers detailed insights into the efficiency and resource usage of the underlying
68
+ * optimized key derivation system.
69
+ *
70
+ * @returns An object containing performance metrics, such as derivation time (ms) and memory usage (MB).
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const metrics = Keys.getMetrics();
75
+ * console.log(metrics); // Outputs: { derivationTimeMs: 10, memoryUsedMb: 2.5, operationsCount: 100, ... }
76
+ * ```
77
+ *
78
+ * @remarks
79
+ * - Metrics are aggregated from the {@link OptimizedKeys} instance and may include vendor-specific data.
80
+ * - Useful for debugging and optimizing key derivation processes in performance-critical applications.
81
+ *
82
+ * @public
83
+ */
84
+ static getMetrics() {
85
+ return OptimizedKeys.getInstance().getMetrics();
86
+ }
87
+ /**
88
+ * Retrieves information about the current runtime environment.
89
+ * Includes details about such the as platform, supported cryptographic algorithms,
90
+ * and other environment-specific data relevant to key derivation.
91
+ *
92
+ * @returns An object containing environment-specific information, such as platform type and cryptographic capabilities.
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const envInfo = Keys.getEnvironmentInfo();
97
+ * console.log('envInfo); // Outputs: ' { platform: 'Node.js', cryptoSupport: ['PBKDF2', 'Argon2'], version: '18.x', ... }
98
+ * ```
99
+ *
100
+ * @remarks
101
+ * - The exact structure of the returned object may vary depending on the runtime environment.
102
+ * - Useful for feature detection and compatibility checks in cross-platform applications.
103
+ *
104
+ * @public
105
+ */
106
+ static getEnvironmentInfo() {
107
+ return OptimizedKeys.getInstance().getEnvironmentInfo();
108
+ }
109
+ /**
110
+ * Recommends an optimal key derivation algorithm based on the current runtime environment.
111
+ * Evaluates the environment to suggest a secure algorithm and performant algorithm, prioritizing security.
112
+ * security.
113
+ *
114
+ * @returns A string indicating the recommended key derivation algorithm (e.g., 'PBKDF2', 'Argon2').
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * const algorithm = Keys.getRecommendedAlgorithm();
119
+ * console.log(algorithm); // Outputs: 'Argon2'
120
+ * ```
121
+ *
122
+ * @remarks
123
+ * - The recommendation is based on factors like CPU architecture, memory availability, and cryptographic library support.
124
+ * - The recommended algorithm may differ across environments (e.g., browser vs. server).
125
+ *
126
+ * @public
127
+ */
128
+ static getRecommendedAlgorithm() {
129
+ return OptimizedKeys.getInstance().getRecommendedAlgorithm();
130
+ }
131
+ }
132
+
133
+ export { Keys };
134
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sources":["../../../../../../mods/security/src/core/keys.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;;;;;;;;AAYG;AAKH;;;;;;;;;;;;;;;;AAgBG;MACU,IAAI,CAAA;AACb;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,IAAA,OAAO,SAAS,CACnB,KAA0B,EAC1B,UAAgC,EAAE,EAAA;QAElC,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAChE;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,OAAO,UAAU,GAAA;AACpB,QAAA,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;KACnD;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,OAAO,kBAAkB,GAAA;AAC5B,QAAA,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,CAAC;KAC3D;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,OAAO,uBAAuB,GAAA;AACjC,QAAA,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC,uBAAuB,EAAE,CAAC;KAChE;AACJ;;;;"}
@@ -0,0 +1,110 @@
1
+ import { PasswordManager } from './password-core.js';
2
+ import '../random/random-types.js';
3
+ import '../random/random-sources.js';
4
+ import 'crypto';
5
+ import 'nehonix-uri-processor';
6
+ import '../../utils/memory/index.js';
7
+ import '../../types.js';
8
+ export { PasswordAlgorithm, PasswordSecurityLevel } from './password-types.js';
9
+ import '../hash/hash-core.js';
10
+ import '../hash/hash-types.js';
11
+ import '../hash/hash-security.js';
12
+ import '../hash/hash-advanced.js';
13
+ import '../../algorithms/hash-algorithms.js';
14
+ import 'argon2';
15
+ import 'child_process';
16
+ import '../../types/secure-memory.js';
17
+ import 'https';
18
+ import '../../components/runtime-verification.js';
19
+ import '../../components/tamper-evident-logging.js';
20
+
21
+ /* ---------------------------------------------------------------------------------------------
22
+ * Copyright (c) NEHONIX INC. All rights reserved.
23
+ * Licensed under the MIT License. See LICENSE in the project root for license information.
24
+ * -------------------------------------------------------------------------------------------
25
+ */
26
+ /**
27
+ * XyPrissSecurity Password Management Module => FPMM
28
+ *
29
+ * Modular, military-grade password management system
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * import { PasswordManager } from "xypriss-security/core/password";
34
+ *
35
+ * // Create password manager instance
36
+ * const pm = PasswordManager.getInstance();
37
+ *
38
+ * // Hash a password
39
+ * const hash = await pm.hash("mySecurePassword123!");
40
+ *
41
+ * // Verify a password
42
+ * const result = await pm.verify("mySecurePassword123!", hash);
43
+ * console.log(result.isValid); // true
44
+ *
45
+ * // Generate secure password
46
+ * const generated = pm.generatePassword({ length: 16, minStrengthScore: 90 });
47
+ * console.log(generated.password);
48
+ *
49
+ * // Migrate from bcrypt
50
+ * const migration = await pm.migrate("password", bcryptHash);
51
+ * if (migration.migrated) {
52
+ * console.log("Successfully migrated to XyPrissSecurity!");
53
+ * }
54
+ * ```
55
+ */
56
+ PasswordManager.getInstance();
57
+ /**
58
+ * Get default password policy
59
+ */
60
+ function getDefaultPasswordPolicy() {
61
+ return {
62
+ minLength: 8,
63
+ maxLength: 128,
64
+ requireUppercase: true,
65
+ requireLowercase: true,
66
+ requireNumbers: true,
67
+ requireSymbols: true,
68
+ minStrengthScore: 70,
69
+ forbiddenPatterns: [
70
+ /^[0-9]+$/, // All numbers
71
+ /^[a-zA-Z]+$/, // All letters
72
+ /^(.)\1{2,}$/, // Repeated characters
73
+ /^(qwerty|asdfgh|zxcvbn)/i, // Keyboard patterns
74
+ /^(password|admin|user)/i, // Common words
75
+ ],
76
+ forbiddenWords: [
77
+ "password",
78
+ "admin",
79
+ "user",
80
+ "login",
81
+ "welcome",
82
+ "123456",
83
+ "qwerty",
84
+ "abc123",
85
+ "password123",
86
+ ],
87
+ };
88
+ }
89
+ /**
90
+ * Get recommended security configuration
91
+ */
92
+ function getRecommendedConfig() {
93
+ return {
94
+ defaultAlgorithm: "argon2id",
95
+ defaultSecurityLevel: "high",
96
+ timingSafeVerification: true,
97
+ secureMemoryWipe: true,
98
+ enableMigration: true,
99
+ policy: getDefaultPasswordPolicy(),
100
+ };
101
+ }
102
+ // ===== DEFAULT INSTANCE =====
103
+ /**
104
+ * Default password manager instance
105
+ * Ready to use out of the box
106
+ */
107
+ PasswordManager.getInstance(getRecommendedConfig());
108
+
109
+ export { PasswordManager, getDefaultPasswordPolicy, getRecommendedConfig };
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../mods/security/src/core/password/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;AAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AAgBe,eAAe,CAAC,WAAW,GAAG;AAyFhD;;AAEG;SACa,wBAAwB,GAAA;IACpC,OAAO;AACH,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,iBAAiB,EAAE;AACf,YAAA,UAAU;AACV,YAAA,aAAa;AACb,YAAA,aAAa;AACb,YAAA,0BAA0B;AAC1B,YAAA,yBAAyB;AAC5B,SAAA;AACD,QAAA,cAAc,EAAE;YACZ,UAAU;YACV,OAAO;YACP,MAAM;YACN,OAAO;YACP,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,aAAa;AAChB,SAAA;KACJ,CAAC;AACN,CAAC;AAED;;AAEG;SACa,oBAAoB,GAAA;IAChC,OAAO;AACH,QAAA,gBAAgB,EAAE,UAAiB;AACnC,QAAA,oBAAoB,EAAE,MAAa;AACnC,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,wBAAwB,EAAE;KACrC,CAAC;AACN,CAAC;AA8HD;AAEA;;;AAGG;AACmC,eAAe,CAAC,WAAW,CAC7D,oBAAoB,EAAE;;;;"}
@@ -0,0 +1,395 @@
1
+ import { Hash } from '../hash/hash-core.js';
2
+ import { HashStrength } from '../hash/hash-types.js';
3
+ import 'crypto';
4
+ import '../hash/hash-security.js';
5
+ import '../hash/hash-advanced.js';
6
+ import '../../algorithms/hash-algorithms.js';
7
+ import { SecureRandom } from '../random/random-core.js';
8
+ import '../random/random-types.js';
9
+ import '../random/random-sources.js';
10
+ import 'nehonix-uri-processor';
11
+ import '../../utils/memory/index.js';
12
+ import { HashAlgorithm } from '../../types.js';
13
+ import { constantTimeEqual } from '../../components/side-channel.js';
14
+ import 'argon2';
15
+ import 'child_process';
16
+ import '../../types/secure-memory.js';
17
+ import 'https';
18
+ import '../../components/runtime-verification.js';
19
+ import '../../components/tamper-evident-logging.js';
20
+ import { PasswordAlgorithm } from './password-types.js';
21
+
22
+ /**
23
+ * 🔐 Password Algorithms Module
24
+ *
25
+ * Implements various password hashing algorithms with security optimizations
26
+ */
27
+ /**
28
+ * Password hashing algorithms implementation
29
+ */
30
+ class PasswordAlgorithms {
31
+ constructor(config) {
32
+ this.config = config;
33
+ }
34
+ /**
35
+ * Update configuration
36
+ */
37
+ updateConfig(config) {
38
+ this.config = config;
39
+ }
40
+ /**
41
+ * Hash password using specified algorithm
42
+ */
43
+ async hash(password, salt, options) {
44
+ switch (options.algorithm) {
45
+ case PasswordAlgorithm.ARGON2ID:
46
+ return this.hashWithArgon2(password, salt, options, "id");
47
+ case PasswordAlgorithm.ARGON2I:
48
+ return this.hashWithArgon2(password, salt, options, "i");
49
+ case PasswordAlgorithm.ARGON2D:
50
+ return this.hashWithArgon2(password, salt, options, "d");
51
+ case PasswordAlgorithm.SCRYPT:
52
+ return this.hashWithScrypt(password, salt, options);
53
+ case PasswordAlgorithm.PBKDF2_SHA512:
54
+ return this.hashWithPBKDF2(password, salt, options);
55
+ case PasswordAlgorithm.BCRYPT_PLUS:
56
+ return this.hashWithBcryptPlus(password, salt, options);
57
+ case PasswordAlgorithm.MILITARY:
58
+ return this.hashWithMilitary(password, salt, options);
59
+ default:
60
+ throw new Error(`Unsupported algorithm: ${options.algorithm}`);
61
+ }
62
+ }
63
+ /**
64
+ * Verify password using specified algorithm
65
+ */
66
+ async verify(password, hash, salt, metadata) {
67
+ const options = {
68
+ algorithm: metadata.algorithm,
69
+ securityLevel: metadata.securityLevel,
70
+ iterations: metadata.iterations,
71
+ memorySize: metadata.memorySize,
72
+ parallelism: metadata.parallelism,
73
+ saltLength: metadata.saltLength,
74
+ };
75
+ const computedHash = await this.hash(password, salt, options);
76
+ // Use constant-time comparison to prevent timing attacks
77
+ return constantTimeEqual(hash, computedHash);
78
+ }
79
+ /**
80
+ * Hash with Argon2 (recommended)
81
+ */
82
+ async hashWithArgon2(password, salt, options, variant) {
83
+ // Try to use native Argon2 implementation
84
+ try {
85
+ const argon2 = await import('argon2').catch(() => null);
86
+ if (argon2) {
87
+ const argon2Options = {
88
+ type: variant === "i"
89
+ ? argon2.argon2i
90
+ : variant === "d"
91
+ ? argon2.argon2d
92
+ : argon2.argon2id,
93
+ memoryCost: options.memorySize || 65536,
94
+ timeCost: Math.floor((options.iterations || 100000) / 1000),
95
+ parallelism: options.parallelism || 4,
96
+ salt: Buffer.from(salt),
97
+ hashLength: 32,
98
+ };
99
+ const fullHash = await argon2.hash(password, argon2Options);
100
+ // Extract just the hash part from the full Argon2 format
101
+ return this.extractHashValue(fullHash);
102
+ }
103
+ }
104
+ catch (error) {
105
+ // Fall back to custom implementation
106
+ }
107
+ // Fallback: Use PBKDF2 with enhanced security
108
+ return this.hashWithEnhancedPBKDF2(password, salt, options, `argon2${variant}-fallback`);
109
+ }
110
+ /**
111
+ * Hash with scrypt
112
+ */
113
+ async hashWithScrypt(password, salt, options) {
114
+ try {
115
+ // Use Node.js built-in crypto.scrypt
116
+ const crypto = await import('crypto');
117
+ const scryptOptions = {
118
+ N: Math.pow(2, 14), // CPU/memory cost (16384 - more reasonable)
119
+ r: 8, // Block size
120
+ p: options.parallelism || 1,
121
+ };
122
+ // Use promisified scrypt
123
+ const result = await new Promise((resolve, reject) => {
124
+ crypto.scrypt(password, Buffer.from(salt), 32, scryptOptions, (err, derivedKey) => {
125
+ if (err)
126
+ reject(err);
127
+ else
128
+ resolve(derivedKey);
129
+ });
130
+ });
131
+ return result.toString("hex");
132
+ }
133
+ catch (error) {
134
+ // Fall back to enhanced PBKDF2
135
+ }
136
+ return this.hashWithEnhancedPBKDF2(password, salt, options, "scrypt-fallback");
137
+ }
138
+ /**
139
+ * Hash with PBKDF2-SHA512
140
+ */
141
+ async hashWithPBKDF2(password, salt, options) {
142
+ const iterations = options.iterations || 100000;
143
+ // Use XyPrissSecurity Hash module for PBKDF2
144
+ const hash = Hash.createSecureHash(password, salt, {
145
+ algorithm: HashAlgorithm.PBKDF2,
146
+ iterations,
147
+ outputFormat: "hex",
148
+ strength: HashStrength.MILITARY,
149
+ memoryHard: false, // Explicitly disable memory-hard hashing
150
+ quantumResistant: false, // Explicitly disable quantum-resistant hashing
151
+ timingSafe: false, // Explicitly disable timing-safe hashing
152
+ });
153
+ // Extract just the hash part using our helper method
154
+ return this.extractHashValue(hash);
155
+ }
156
+ /**
157
+ * Enhanced PBKDF2 with multiple rounds and algorithms
158
+ */
159
+ async hashWithEnhancedPBKDF2(password, salt, options, prefix = "enhanced") {
160
+ const iterations = options.iterations || 100000;
161
+ // First round: PBKDF2-SHA512
162
+ let round1 = Hash.createSecureHash(password, salt, {
163
+ algorithm: HashAlgorithm.PBKDF2,
164
+ iterations: Math.floor(iterations / 3),
165
+ outputFormat: "hex",
166
+ memoryHard: false,
167
+ quantumResistant: false,
168
+ timingSafe: false,
169
+ });
170
+ // Extract just the hash using our helper method
171
+ round1 = this.extractHashValue(round1);
172
+ // Second round: SHA3-512
173
+ let round2 = Hash.createSecureHash(round1, salt, {
174
+ algorithm: HashAlgorithm.SHA3_512,
175
+ iterations: Math.floor(iterations / 3),
176
+ outputFormat: "hex",
177
+ memoryHard: false,
178
+ quantumResistant: false,
179
+ timingSafe: false,
180
+ });
181
+ // Extract just the hash using our helper method
182
+ round2 = this.extractHashValue(round2);
183
+ // Third round: BLAKE3
184
+ let finalHash = Hash.createSecureHash(round2, salt, {
185
+ algorithm: HashAlgorithm.BLAKE3,
186
+ iterations: Math.floor(iterations / 3),
187
+ outputFormat: "hex",
188
+ memoryHard: false,
189
+ quantumResistant: false,
190
+ timingSafe: false,
191
+ });
192
+ // Extract just the hash using our helper method
193
+ finalHash = this.extractHashValue(finalHash);
194
+ return `${prefix}:${finalHash}`;
195
+ }
196
+ /**
197
+ * Enhanced bcrypt with additional security layers
198
+ */
199
+ async hashWithBcryptPlus(password, salt, options) {
200
+ try {
201
+ const bcrypt = await import('bcrypt').catch(() => null);
202
+ if (bcrypt) {
203
+ // First layer: Standard bcrypt
204
+ const rounds = Math.min(15, Math.max(10, Math.floor((options.iterations || 100000) / 10000)));
205
+ const bcryptHash = await bcrypt.hash(password, rounds);
206
+ // Second layer: PBKDF2 on bcrypt result
207
+ let enhancedHash = Hash.createSecureHash(bcryptHash, salt, {
208
+ algorithm: HashAlgorithm.PBKDF2,
209
+ iterations: 50000,
210
+ outputFormat: "hex",
211
+ memoryHard: false,
212
+ quantumResistant: false,
213
+ timingSafe: false,
214
+ });
215
+ // Extract just the hash using our helper method
216
+ enhancedHash = this.extractHashValue(enhancedHash);
217
+ return `bcrypt-plus:${enhancedHash}`;
218
+ }
219
+ }
220
+ catch (error) {
221
+ // Fall back to enhanced PBKDF2
222
+ }
223
+ return this.hashWithEnhancedPBKDF2(password, salt, options, "bcrypt-plus-fallback");
224
+ }
225
+ /**
226
+ * Military-grade multi-layer hashing
227
+ */
228
+ async hashWithMilitary(password, salt, options) {
229
+ const iterations = options.iterations || 200000;
230
+ // Layer 1: Key stretching with PBKDF2-SHA512
231
+ let layer1 = Hash.createSecureHash(password, salt, {
232
+ algorithm: HashAlgorithm.PBKDF2,
233
+ iterations: Math.floor(iterations / 4),
234
+ outputFormat: "hex",
235
+ memoryHard: false,
236
+ quantumResistant: false,
237
+ timingSafe: false,
238
+ });
239
+ // Extract just the hash using our helper method
240
+ layer1 = this.extractHashValue(layer1);
241
+ // Layer 2: Memory-hard function simulation
242
+ let layer2 = layer1;
243
+ for (let i = 0; i < 1000; i++) {
244
+ const tempSalt = SecureRandom.generateSalt(32);
245
+ let tempHash = Hash.createSecureHash(layer2, tempSalt, {
246
+ algorithm: HashAlgorithm.SHA3_512,
247
+ outputFormat: "hex",
248
+ memoryHard: false,
249
+ quantumResistant: false,
250
+ timingSafe: false,
251
+ });
252
+ // Extract just the hash using our helper method
253
+ layer2 = this.extractHashValue(tempHash);
254
+ }
255
+ // Layer 3: BLAKE3 with high iterations
256
+ let layer3 = Hash.createSecureHash(layer2, salt, {
257
+ algorithm: HashAlgorithm.BLAKE3,
258
+ iterations: Math.floor(iterations / 4),
259
+ outputFormat: "hex",
260
+ memoryHard: false,
261
+ quantumResistant: false,
262
+ timingSafe: false,
263
+ });
264
+ // Extract just the hash using our helper method
265
+ layer3 = this.extractHashValue(layer3);
266
+ // Layer 4: Final hardening with SHA3-512
267
+ let finalHash = Hash.createSecureHash(layer3, salt, {
268
+ algorithm: HashAlgorithm.SHA3_512,
269
+ iterations: Math.floor(iterations / 4),
270
+ outputFormat: "hex",
271
+ strength: HashStrength.MILITARY,
272
+ memoryHard: false,
273
+ quantumResistant: false,
274
+ timingSafe: false,
275
+ });
276
+ // Extract just the hash using our helper method
277
+ finalHash = this.extractHashValue(finalHash);
278
+ return `military:${finalHash}`;
279
+ }
280
+ // ===== PRIVATE HELPER METHODS =====
281
+ /**
282
+ * Extract just the hash value from complex hash formats
283
+ */
284
+ extractHashValue(hashResult) {
285
+ // Handle Argon2 format: $argon2id$v=19$m=65536,t=3,p=4$salt$hash
286
+ if (hashResult.startsWith("$argon2")) {
287
+ const parts = hashResult.split("$");
288
+ if (parts.length >= 6) {
289
+ return parts[5]; // The actual hash is the last part
290
+ }
291
+ }
292
+ // Handle PBKDF2 format: $pbkdf2$rounds$salt$hash
293
+ if (hashResult.startsWith("$pbkdf2")) {
294
+ const parts = hashResult.split("$");
295
+ if (parts.length >= 5) {
296
+ return parts[4]; // The actual hash
297
+ }
298
+ }
299
+ // Handle bcrypt format: $2b$rounds$salthash (extract hash part)
300
+ if (hashResult.startsWith("$2")) {
301
+ const parts = hashResult.split("$");
302
+ if (parts.length >= 4) {
303
+ const saltAndHash = parts[3];
304
+ if (saltAndHash.length > 22) {
305
+ return saltAndHash.substring(22); // bcrypt hash after 22-char salt
306
+ }
307
+ }
308
+ }
309
+ // Handle scrypt format: $scrypt$N$r$p$salt$hash
310
+ if (hashResult.startsWith("$scrypt")) {
311
+ const parts = hashResult.split("$");
312
+ if (parts.length >= 7) {
313
+ return parts[6]; // The actual hash
314
+ }
315
+ }
316
+ // Handle any other $ delimited format - take the last part
317
+ if (hashResult.includes("$")) {
318
+ const parts = hashResult.split("$");
319
+ return parts[parts.length - 1];
320
+ }
321
+ // If no special format, return as-is
322
+ return hashResult;
323
+ }
324
+ /**
325
+ * Get algorithm-specific default options
326
+ */
327
+ getAlgorithmDefaults(algorithm) {
328
+ switch (algorithm) {
329
+ case PasswordAlgorithm.ARGON2ID:
330
+ case PasswordAlgorithm.ARGON2I:
331
+ case PasswordAlgorithm.ARGON2D:
332
+ return {
333
+ iterations: 3,
334
+ memorySize: 65536, // 64MB
335
+ parallelism: 4,
336
+ saltLength: 32,
337
+ };
338
+ case PasswordAlgorithm.SCRYPT:
339
+ return {
340
+ iterations: 32768, // N parameter
341
+ memorySize: 8, // r parameter
342
+ parallelism: 1, // p parameter
343
+ saltLength: 32,
344
+ };
345
+ case PasswordAlgorithm.PBKDF2_SHA512:
346
+ return {
347
+ iterations: 100000,
348
+ saltLength: 32,
349
+ };
350
+ case PasswordAlgorithm.BCRYPT_PLUS:
351
+ return {
352
+ iterations: 120000, // Equivalent to bcrypt rounds + PBKDF2
353
+ saltLength: 32,
354
+ };
355
+ case PasswordAlgorithm.MILITARY:
356
+ return {
357
+ iterations: 200000,
358
+ memorySize: 131072, // 128MB equivalent
359
+ parallelism: 8,
360
+ saltLength: 64,
361
+ };
362
+ default:
363
+ return {
364
+ iterations: 100000,
365
+ saltLength: 32,
366
+ };
367
+ }
368
+ }
369
+ /**
370
+ * Estimate hashing time for algorithm
371
+ */
372
+ estimateHashingTime(algorithm, options) {
373
+ // Rough estimates in milliseconds
374
+ switch (algorithm) {
375
+ case PasswordAlgorithm.ARGON2ID:
376
+ case PasswordAlgorithm.ARGON2I:
377
+ case PasswordAlgorithm.ARGON2D:
378
+ return ((options.memorySize || 65536) / 1000 +
379
+ (options.iterations || 3) * 100);
380
+ case PasswordAlgorithm.SCRYPT:
381
+ return (options.iterations || 32768) / 100;
382
+ case PasswordAlgorithm.PBKDF2_SHA512:
383
+ return (options.iterations || 100000) / 1000;
384
+ case PasswordAlgorithm.BCRYPT_PLUS:
385
+ return (options.iterations || 120000) / 500;
386
+ case PasswordAlgorithm.MILITARY:
387
+ return (options.iterations || 200000) / 200;
388
+ default:
389
+ return 100; // Default estimate
390
+ }
391
+ }
392
+ }
393
+
394
+ export { PasswordAlgorithms };
395
+ //# sourceMappingURL=password-algorithms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-algorithms.js","sources":["../../../../../../../mods/security/src/core/password/password-algorithms.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}